Functional Programming for Mathematical Computing
Programming languages help us describe general solutions for problems; the result just happens to be executable by machines. Every programming language comes with a different set of strengths and weaknesses, one reason being that its syntax and semantics heavily influence the range of problems which… More »
Rust for Rubyists
Recently I came across a delightful article on idiomatic Ruby. I’m not a good Ruby developer by any means, but I realized, that a lot of the patterns are also quite common in Rust. What follows is a side-by-side comparison of idiomatic code in both languages. The Ruby code samples are from the origi… More »
Making Myself Obsolete
In December 2015 I was looking for static analysis tools to integrate into trivago's CI process. The idea was to detect typical programming mistakes automatically. That's quite a common thing, and there are lots of helpful tools out there which fit the bill. So I looked for a list of tools... More »
Modern Day Annoyances - Digital Clocks
This morning I woke up to the beeping noise of our oven’s alarm clock. The reason was that I tried to correct the oven’s local time the day before — and I pushed the wrong buttons. As a result I didn’t set the correct time, instead, I set a cooking timer… and that’s what woke me up today. More »
Learn Some Rust During Hacktoberfest
October is the perfect time to contribute to Open Source — at least according to Github and DigitalOcean. Because that's when they organize Hacktoberfest, a global event where you get a free shirt and lots of street cred for creating pull requests. More »
A Little Story About the `yes` Unix Command
What’s the simplest Unix command you know? There’s echo, which prints a string to stdout and true, which always terminates with an exit code of 0. Among the series of simple Unix commands, there’s also yes. If you execute it without arguments, you get an infinite stream of y’s, separated by a newlin… More »
Lightning Fast Image Previews with Pure CSS and LQIP
My website is reasonably fast. There was one thing left which really annoyed me: layout reflow after images got loaded. The problem is, that the image dimensions are not known when the text is ready to be displayed. As a result, the text will be pushed down on the screen as soon as an image is loaded above. I decided to fix that once and for all. More »
Go vs Rust? Choose Go.
Rust or Go, which one should I choose? is a question I get quite often. Both languages seem to be competing for the same user base and they both seem to be *systems programming* languages, so there must be a clear winner, right? More »
Afraid of Makefiles? Don't be!
In the last few years, I've had the pleasure to work with a lot of talented Software Engineers. More »
Of Boxes and Trees - Smart Pointers in Rust
Recently, I tried to implement a binary tree data structure in Rust. Each binary tree has a root value, a left, and a right subtree. I started from this Python implementation, which is quite straightforward. More »