flurries of latent creativity

The joy of building a ray tracer, for fun, in Rust.

2022-01-02

TLDR? You can find the code and a bunch of examples on GitHub at dps/rust-raytracer.

Over the holiday break, I decided to learn Rust. Rust is a modern systems programming language which has a really interesting type system. The type system can catch broad classes of common programming mistakes - e.g. ensuring memory is accessed safely - at compile time while generating tight, performant machine code. I’ve heard a lot about Rust from friends and colleagues over the past several years. Their most frequent descriptions in the early days were “esoteric” and “puzzling” but during 2021 it’s been increasingly common to hear gushing praise for the language.

Read More

Probabilistic Spreadsheet

2021-11-24


I’ve had an idea kicking around at the back of my mind for years and finally spent a few hours over the last couple of weekends building it. It’s a probabilistic spreadsheet.

Read More

Jellyfish clouds

2021-08-14


I saw these amazing jellyfish clouds at sunset over Sea Ranch, CA last week. Their shape - with solid bodies and flowing tentacles - together with the beautiful sunset colors (each photo is completely unfiltered) really grabbed me.

Read More

I made a spreadsheet

2021-02-08


Visicalc, the world’s first spreadsheet, was also the original killer app. Steve Jobs said that Visicalc “propelled the Apple ][ to the success it achieved”. As one of the first mainstream digital tools, I’m fairly sure the first spreadsheet inspired Jobs’ later quote that “…the computer is the most remarkable tool that we’ve ever come up with. It’s the equivalent of a bicycle for our minds.” – and that quote often inspires me.

Read More

I wrote a compiler

2021-01-31


I have a Computer Science degree. I attended a whole course of lectures on compilers (and have a certain fondness for “the red dragon book” as a result). However, I had never actually written a compiler from start to finish until a rainy day last weekend.

Read More