Node.js with PyCharm

PyCharm amazes me every time. Although it is first and foremost a python IDE you can do full stack web development with it, i. e. you have code completion for HTML, CSS, JavaScript and even TypeScript, CoffeeScript. I wanted to code some node.js stuff and Jetbrains already got a plugin for PyCharm. Before installation: https://www.jetbrains.com/help/pycharm/2017.1/node-js-and-npm.html…

Division in Python 2 vs 3

One major change in Python 3 is the implementation of the division operator /. In Python 2 the division yielded a floor rounded integer when dividing two integers but a float when using a float as divider or divisor. Due to Python’s weakly typed nature this behavior could lead to some issues. So PEP-238 changed…

My first iPhone App

After carrying around my iPhone 6 for two and a half years I finally wanted to know how to build an iOS app. Getting started I used this tutorial from apple and rolled with the punches: Installing XCode takes ages!  Download 4,6 GB 🙁 First issue: when accidentally making the wrong connection between a UI-Element…

Are You ready? / jQuery struggle

$(function() { console.log( “ready!” ); }); is the short form for: $( document ).ready(function() { console.log( “ready!” ); }); Very unintuitive, this does not work: $(“input#myInput”).bind(“change”, function(){ }); Instead of “change” You have to use “input” $(“input#myInput”).bind(“input”, function(){ });

Inefficient jQuery Selectors

My PyCharm IDE warns me if I use inefficient jQuery selectors: As I am a bit nosy I wanted to know “how” inefficient these selectors are. So I compared the inefficient $(“#items tbody”); with the optimized $(“#items”).find(“tbody”); Here is the test code: window.onload = function () { test(“unoptimized”, function () { for(var i = 0;…

Bringing AJAX to Flask

Flask is a micro web framework which is really fun to use. With the following snippet You have a complete web app working within seconds. from flask import Flask # 1 app = Flask(__name__) # 2 @app.route(‘/’) # 3 def hello_world(): return ‘Hello World!’ if __name__ == ‘__main__’: app.run() #4 All this snippet does is…