1M metres later - Replacing my car with an e-bike

On November 10th 2021, I was involved in a pretty large car crash. I was rear-ended by a driver in a Dodge Ram in my Saturn ION. Given the size difference of the two vehicles and how fast I was hit, I didn’t have much of a back end afterwords, and even less of a functional car. Thankfully, I came out of it with a bit of whiplash in my shoulders, and that was that. I was down a car I had driven for over a decade, but I would be okay.

Read More...


Book review: Bernoulli's Fallacy

The last time I did a book review, I lamented about how long it took me to get through the book. The topic of dependent types was both new and unfamiliar, and maneuvering through the exercises was long and required engaged thought. This time, I’ve approached “Bernoulli’s Fallacy: Statistical Illogic and the Crisis of Modern Science.” The book broaches subjects that are neither wholly new or unfamiliar to me, someone who practices engineering and science. It presents a fascinating perspective into the history of probability as well as a condemnation of many stastical norms, or orthodoxies. Controversial that may sound, and controversial it is! But I think it underscores some very important mistakes made in modern statistical practice, and on reflection of my own education, I think it’s worth discussing!

Read More...


Librem 5 Evergreen vs. Pinephone (Part 2 of ???)

It’s been about half a year since I wrote my original post comparing the Librem 5 and Pinephone. The original post saw some controversy as well as quite a bit of attention on Hacker News. Surprisingly, for a market dominated by new tech every year, there remains quite a bit of interest in these two devices.

Development on both devices continues day-by-day, in small and large parts. I wanted to revisit the devices as a lot of the ecosystem has changed. Further, I think they’ve definitely both evolved in terms of what’s possible, and more importantly what’s easy.

Read More...


Book review: The Little Typer

I finally managed to finish working through The Little Typer. The “Little” series is a series of (semi-)introductory books published by MIT press, which typically use Scheme or Lisp as a vehicle to teach some interesting aspect of programming. In this case, “The Little Typer” aims to teach the most interesting aspects of dependently typed programming. The “Little” series has been one of my favourite series of programming books, and the books have always been a delight to work through. Having spent quite a considerable time working through the book (several weekends since around sometime last November / December or so), I figured I would write up a book review, since I have a lot to say about the book!

Read More...


Don't define functions inline in your public headers

Recently I fixed a bug in librealsense2. The core of the bug was that the developers used a C++ functional cast expression in a C header, which broke the realsense-rust wrapper we’re developing at work. Worse yet, this was shipped as part of the official 2.42.0 release of librealsense2. Oof.

The fix is pretty clear: use a C-style cast instead. Better yet, follow the advice in Modern C don’t use casts at all. Well, we can’t always avoid them, and the compiler can make the whole process annoying. At least, it is especially problematic to detect such issues when you use a C++ compiler.

Read More...


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.