Author: Oliver Eidel

  • Abstracting Light Switches: How to Solve Real Problems

    Zigbee-enabled light bulbs. Wifi-connected air purifiers. Autonomous thermostats. The smart home. Great technology. And just like with machine learning and blockchain, we humans don’t quite know yet what to do with it yet. Similar to those technologies, the smart home offers solutions for non-existent problems. Now I can control my light bulbs from an app…

  • We need more Hackers

    The Hacker’s First Project When I was a kid, I wanted to code my own website. I was already using Dreamweaver to crank out static HTML web pages but this was different. I needed to learn PHP to create a website which would earn passive income for the rest of my life. Very important! The…

  • Making My Own Glasses

    It’s a long weekend, I’m standing in my flat, 10 lenses scattered across the desk in front of me. I’m wearing weird glasses consisting of an empty plastic frame and some lenses stuck into it. I squint out of the window, trying to read number plates of cars parked in the street. What happened? It…

  • Thread-safe queues in Clojure

    Imagine the following: You have a pool of workers. Each worker should get an item from a queue and process it. Using “workers” from core.async Great! How do we launch those workers? Let’s use core.async for that, specifically go: By the way, core.async has a fixed-size thread pool of 8 workers, but that’s stuff for another post. Every time dotimes runs with…

  • React less

    Push vs. Pull notifications When my phone vibrates with a new notification, I react to it – I read it while thinking about it and sometimes type a reply. In a very broad sense, it’s a push notification: It’s pushed towards me without me seeking it and it triggers my reaction. How did people do this…

  • The Correlation Project

    As a coder, concentration and mental focus become very important. Writing code is a very brain-intense activity which makes daily fluctuations of mental focus very obvious. I already noticed this while studying medicine. Luckily, studying medicine is not an activity which requires a lot of brain activity (it’s more about being organised). When I started…

  • Two Years of Sleep Optimization

    As a kid, I became obsessed with my sleep. When I couldn’t fall asleep, I panicked – oh no, I’m not getting enough sleep for school tomorrow! As a good Asian kid, that thought was very scary. I would blame my bed, mattress or pillow of making too much noise or being uncomfortable. My parents…

  • Asking Stupid Questions

    After graduating from Medical School, I started working at a startup as a software engineer. While I did learn a lot of things in this time, one thing which sticks out particularly is asking stupid questions. You may have noticed that businesspeople have the striking ability to talk about things very persuasively and in a…

  • Writing a HTTP API Client in Elixir for the Noun Project

    Doing some HTTP requests is usually one of the first things I do when I’m learning a new language (apart from comparing its performance in highly artificial benchmarks and checking whether it scales). Of all the “up-and-coming languages with great concurrency” Elixir is one of the most promising. While the community is awesome, the library…

  • Dockerizing Django, uWSGI and Postgres the serious way

    So you want to get in on the hot new stuff and decided it’s time to learn Docker. Good on you! Docker is the new kid on the block which allows you to containerize stuff. Well, not really – it’s not that new at all. I tend to miss these pieces of software which emerge…