Tinkering
Come for the Foo, stay for the Bar
-
Bitmask tables
I found myself looking for a specific type of bitmask and couldn't find what I was looking for. These were easy to make, so I've put them on the internet for your benefit.
-
Optimization story - quantum mechanics simulation speedup
As part of my PhD I do computational modeling of quantum-biological systems. One of my simulations was misbehaving and in certain cases could take 8 hours to complete. That's really bad when you're trying to iterate quickly. This post describes how I made a series of optimizations to reduce the runtime by 250x via profiler driven algorithmic improvements, rewriting the core in Rust, and making use of parallelism.
-
Using notifiers to give yourself the day off
When you're running experiments that take ~8 hours wouldn't it be nice if the experiment told you when it was done rather than needing babysitting? In this post I'll show you how I used Twilio to do just that.
-
Interacting with Assembly in Rust
When you're investigating performance problems you may find yourself reading or writing assembly. Rust has a nice set of tools for interacting with assembly in a variety of ways such as viewing the assembly generated by a particular function.
-
Property-based testing in Rust with Proptest
Software testing is industry standard practice at this point, but there's a variety of ways to test your software ranging from the most basic of unit tests all the way up to mutation testing. Property-based testing is a testing technique in which you declare abstract properties of your system, feed it randomly generated inputs, then check whether your properties are upheld. In this post I'll discuss the benefits of property-based testing and how to do it in Rust.