Naar content

Blog posts


The mental complexity of code

Most programmers know not to keep global or shared state, and when you do, do it so less as possible. But why shouldn't we ? Why is it so bad to use shared state and how does it relate to other constructs such as dependency injection and pure functions.


Tips for Readable code

Have you ever read code from your past self or an open source package and thought "What does this code do?" over and over again? Well you are not alone, but there are things you can do to improve the readability and maintainability without littering the code with pages of documentation comments.


On databases: B+ trees

Since I have been busy with a new project for school and since it seems promising, let’s talk more about it! As can be guessed by the title it is a database. And as people might know B+ trees are one of the most important parts of a good database. Datastores, key-value stores, relational databases, graph databases all have a B+ tree or at least a B tree. These trees are data structures that are used to store and lookup key values within databases.


URL routing

Ever wondered how packages like flask and express route their URLs to the correct functions, even with properties like wildcards and parameters? In this post I will discuss a solution to this URL routing problem which uses a search algorithm to find the correct route.


Searching made easy

Search problems are one of those problems that every programmer will encounter at least once in his or her life. An important note is that this post will explain search problems, but these are not “how to lookup relative hits in multiple texts” but more “given a map, what is the best route from A to B”. I will discuss search problems in general, Astar and other search algorithms.


Email notifications for Dell LifeCycle with Linux

So I got myself a fancy new server. It really is great, I really love it, it performs great and I noticed that there was an option to execute an executable when an event was generated by the LifeCycle manager (which checks the status of all the hardware for you), which is awesome. But I couldn’t find an application which sends the report to me. I searched, and searched, but found only solutions for windows or I needed to lay down money for a simple script. My solution: I will make my own simple script and share it.


Script examples

As promised in this post I will give some examples of script usage within a project. This allows for more customizable control which is easy to maintain and implement. I will give examples for C# with the ClearScript library and NodeJs with the vm module. But you are not limited to these two langauges, most languages have their own JavaScript engine module/library. So try it with your favourite language.


Scripts and their usages

Most people when you toss up the term scripts will automatically think of JavaScript running within a browser. Although this is indeed the mayor use of JavaScript, it also has other usages. Another example with which people are fairly familiar is bash. Bash is used within Linux and Windows as shell / terminal scripts. In this post I will explain a bit about script languages and explain why I think that scripts are underused as method of flow control.