JavaFX Gems

JavaFX is great, it allows you to create almost any gui imaginable. However since Java isn't inherently single threaded (like javascript), you have to deal with multi threading issues. Mind you that also gives you a lot of freedom, and enables you to create complex guis that are just impossible…

Unit Testing - What not to test

Our aim is to create the highest amount of quality in the shortest amount of time…

Handling Complexity

There are two Dimensions along which complexity can grow, each coming with its own set of problems and solutions. Width This is having a lot of independent functionality. To handle this properly you have to group these functionalities along some dimension. Premature optimization is the root of all evil When…

Java Debugging Part 4: Memory Leaks

Memory leaks are something particulary hard to debug. You know when they occured, because your program crashed with the uncaught excpetion OutOfMemoryError, but finding out what caused it can be a nightmare without the proper tools. Automatic Heap Dumps By adding -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<file-or-dir-path> to your…

Uncaught Exception Handlers

This has saved me countless hours of debugging hard to catch bugs, because I get the last exception logged, before a program/thread exits. Otherwise it would just exit quietly.…