Programming for fun and profit

A blog about software engineering, programming languages and technical tinkering

Archives

2021

Thu 09 September 2021
RepoBee at ITiCSE and SIGCSE 2021!

2020

Sun 04 October 2020
RepoBee at ITiCSE 2020!
Sat 03 October 2020
Essential pytest pt. 3: Rerunning failed tests (and the pytest cache)
Sat 03 October 2020
Essential pytest pt. 2: Selecting tests to run
Tue 29 September 2020
Thoughts on graduating with an MSc in Computer Science and Engineering
Sun 02 August 2020
The Linux /etc/passwd file, and why it doesn't contain passwords
Fri 31 July 2020
Essential pytest pt. 1: Controlling the verbosity of output
Thu 25 June 2020
Java generics explained pt. 1: The basics

2019

Sun 10 November 2019
Don't use String for method options, use an enum!
Fri 11 October 2019
Java's Optional: Why you should prefer it over null
Mon 22 July 2019
RepoBee (and Simon) at ITiCSE 2019!
Mon 22 July 2019
Git worktrees: work in parallel on multiple versions of a project
Sun 23 June 2019
Redirecting stdout and stderr in bash
Thu 13 June 2019
Technical e-books from Humble Bundle
Tue 11 June 2019
I/O redirection in bash
Tue 21 May 2019
Piping commands in bash
Mon 06 May 2019
Using bash aliases
Mon 29 April 2019
Git local
Mon 22 April 2019
History and history expansion in bash
Tue 09 April 2019
Reverse search in bash
Tue 09 April 2019
Announcing Tip of the Week (TotW)
Sat 06 April 2019
Migrating my blog
Tue 05 March 2019
Testing tips: Tests that don't test

2018

Sun 30 December 2018
TornadoFX+Exposed pt. 3: Adding, editing and removing rows
Wed 26 December 2018
TornadoFX+Exposed pt. 2: Showing a database table
Tue 25 December 2018
TornadoFX+Exposed pt. 1: Project and database setup
Wed 14 November 2018
Collapsing and expanding HTML elements using (mostly) CSS
Tue 30 October 2018
A binary search tree in Kotlin pt. 2: Generic node
Sun 28 October 2018
A binary search tree in Kotlin pt. 1: Representing a node
Wed 17 October 2018
Creating a standalone (runnable) Kotlin .jar file with IntelliJ and Gradle
Tue 03 July 2018
Awesome Python Podcasts
Tue 01 May 2018
What the self? Python's self demystified!
Thu 05 April 2018
Properties as Pythonic setters
Thu 05 April 2018
Properties as Pythonic getters