Simple Transactional Data Structures in Rust

(Safe) rust is known for its rigorous enforcement of borrowing rules: Any piece of memory is always owned by exactly one scope (that is responsible for freeing its memory at some point) and can in addition be in use by either a single scope that is allowed to modify it (mutable borrow) OR by arbitrary … Read more

Bevy & Arbitrary Self Types: A match made in heaven

I’m a huge fan of the Bevy Engine for developing games in rust. Recently, I came across an unstable rust feature that I find utterly fascinating and that can make certain Bevy code much more ergonomic: Arbitrary Self Types. This post assumes basic knowledge about the Bevy ECS and that you do not shy away … Read more

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 that Linear Programs are a great way to describe these sorts of problems and … 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 no means an expert in. What you thus can not expect from this article … Read more

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 query problem” here (even though that is a bit imprecise). This has several applications: … 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 action. (Including a rather creative solution for a missing pop bumper switch plastic) Here … 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 linear model that could explain the costs to some degree, however it struggled to … 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 bit of money and out came my first real PCB: Actually a bit proud … Read more