• Optimize your own Dog Food – Part 2
    In the previous post on the topic we looked into how to combine ingredients such that they fulfill various (linear) nutritional (lower- and upper-) bounds while optimizing some (linear) objective function such as total cost of the ingredients. We have seen … Read more
  • Optimize your own Dog Food
    Optimize your own Dog Food In this post we’ll look into how to make your own dog food, seen as an optimization problem. I’ll give a short background intro into this way of feeding your dog (called BARF), which I’m by … Read more
  • Terminal Plotting with Matplotlib and Kitty
    Because we can. Thats why.
  • Spatial Hashing vs ECS
    We consider an issue that appears frequently in game development and simulation projects: We have many moving points in a 2d world and need to find out which points are in range of which other points. We’ll call this the “range … Read more
  • Pinball Pictures
    Finally the pinball machine can be considered finished 🙂 although I’m sure there will still be things to do every now and then. Here are some visual updates.
  • Pinball Progress
    Another week of working on the Pinball machine! Heres some (mostly visual) updates. Enjoy! Nothing really changed here recently but since so far I didn’t really show this, here some pictures of the various solenoids that are driving the playing field … Read more
  • Magic: The (somewhat) Deep Learning
    In the previous posts in this series we dug into some data analysis on Magic the Gathering cards and tried to model the mana cost of cards in order to answer questions like “how much does ‘flying’ cost?”. We found a … Read more
  • Some More Pinball Pictures
    The display module started out as a pretty messy wire contraption with individual transistors. Boy, fixing short circuits with these things was no fun I tell you. At some point then I discovered TLC5940, groked the basics of KiCad, spent a … Read more
  • Pinball: Death Star
    Since pretty much the beginning of the Pinball project it was clear there is gonna be a Death Star featuring a critical weakness in the thermal exhaust as easy to hit as a womp rat. The overall idea would be that … Read more
  • Magic: The Machine Learning
    In the previous post on this topic, we raised the question on how much particular abilities such as “flying” cost in the widely known trading card game Magic the Gathering. We found luckily there is a nice, usable free database out … Read more
  • Magic: The Data Gathering
    Magic: The Gathering is a trading card game I happen to like. It also so happens that there is a database of cards available online. Additionally I (like many programmers) kind-of got into Machine Learning recently. Lets see if we can … Read more
  • Some Pinball Pictures
    Lots has happened in the last time, among other things, I got a new Job and moved to Berlin. Unfortunately I can not house my pinball project here, so it will stay at my fathers place and I’ll hope we will … Read more
  • SPI Debugging / Oscilloscopes rule!
    So I had this problem with my SPI communication: When using a “long” cable (not longer than 2m), SPI communication (between raspberry pi and switches board), would drop bits. And I’m not talking a bit flip here or there, I’m talking … Read more
  • Building a Pinball Machine from Scratch
    First a quick update: Yes I’m (kinda) still using this site to blog, obviously, my beloved adventure game engine hasn’t gotten much of the love it deserves in the past time, though. The reason for this is twofold: First, I finally … Read more
  • Pathfinding in 2D Polygons
    A topic thats using up my (rare) private coding time lately is the topic of how to define where an actor is allowed to walk and how it will find its way there. I found this question quite fun to work … Read more
  • It’s a trap! On Python reference semantics
    I guess this is a common trap. I personally am python coder for years now and still, from time to time I run into it. As the syntax for it is very concise you might sometimes be tempted to give default … Read more