Backend Engineer at trivago. Likes just-in-time compilers and hot chocolate. About me.

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 rows of simple Unix commands, there's also yes. If you run it without arguments, you get an infinite stream of y's, separated by a newline: y … 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 »

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 »
« Next articles Previous articles »
Page view statistics