Visualizing Python dependencies with pipdeptree
Let’s say you have a project with the following top level dependencies: xlrd money babel pyinstaller jinja2 pywin32 After installing them you have the following packages:
Let’s say you have a project with the following top level dependencies: xlrd money babel pyinstaller jinja2 pywin32 After installing them you have the following packages:
This time we look at functions. Let’s take a simple function from Java: public int mult(int num1, int num2){ return num1 * num2; } In Kotlin it would look like this: fun mult(num1: Int, num2: Int): Int{ return num1 * num2 } A function definition always starts with the keyword fun. That’s fun isn’t it?…
This time we deal with loops Loops Kotlin has two types of loops: for and while. For-loop for(x in 1..10){ println(“Loop: $x”) } We can count backwards as well for (x in 10 downTo 1) { println(“Loop: $x”) } While-loop var i = 10 while(i > 0) { println(“$i”) i– } Break & Continue for(x…
Conditionals This is a pretty quick one: Kotlin has the standard Java if / else if / else statements val age = 12 if (age < 5) { println(“Go to kindergarten”) } else if (age == 5) { println(“Go to pre-school”) } else if (age > 5 && age <= 17) { println(“Go to grade…
After Learning Kotlin – Part 1 and Learning Kotlin – Part 2 we will now dive into the ranges. One nice little feature is the .. syntax: you can generate an IntRange object just by specifying the start and the end element: val oneTo10 = 1..10 You can even use values for the start and…
Features and Permissions A permission is something an app is allowed to do 🙂 E.g. using the camera, reading location or accessing your contacts. <uses-permission android:name=”android.permission.CAMERA” /> <uses-feature android:name=”android.hardware.camera” android:required=”true” /> Internet Access If your app uses e.g. web-APIs you need internet access. This can be achieved by adding android.permission.INTERNET to your manifest. In this…
In Learning Kotlin – Part 1 we looked at some basic concepts like type inference and string handling. In this part we deal with arrays: You can easily create an array with the arrayOf function var myArray = arrayOf(1, 1.23, “Jörn”) Element access You can access arrays directly with the [] operator println(myArray[2]) myArray[1] =…
Motivation I wanted to try writing an Android app. In spite of using plain old Java I wanted to give the new kid on the block Kotlin (from the Jetbrains folks) a try. First observations Coming from a Python background it’s good to see that Kotlin doesn’t use semi-colons! But the curly braces from Java…
In my article Python Type Checking I wrote about type hints. Type hints are around the block since Python 3.5. Python 3.7 introduced another interesting concept to make Python code even more type safe: Protocols Duck typing If it walks like a duck and it quacks like a duck, then it must be a duck…
The Rules 10h before sleep – no caffeine 3h before sleep – no more eating 2h before sleep – no more work 1h before sleep – no more tv / tablet 0 times snoozing the alarm clock in the morning So when I want to get to bed at around 22:00 (10pm) my schedule would…