I'm currently working full time as an Embedded Systems Engineer at CubeSpace Satellites (I write the code to spin satellites in orbit).
Message me on Twitter
(fast reply) or LinkedIn
(business-related)
I enjoy exploring different tools, so have dabbled with a fair number of things over the years. Here's an approximate list:
- Rust, Python, Typescript, Java, Haskell, HTML/CSS, Arduino, C++
- Tailwind, Teloxide, Svelte, TensorFlow/Keras, BeautifulSoup, Godot, Shuttle.rs
Here are some ideas/concepts that I think are cool
- Regex
- Bloom filters
- bitboards, smaller bitboards
- gregarious catterpillar motion
- how to communicate the presence of nuclear waste repositories to future generations
- Shamir's secrets sharing scheme
- blue LEDs
- charlieplexing
- the remarkably simple mechanism behind knobs and dials
- Using logarithms to do multiplication without doing multiplication (à la this Welsch Labs video) (also slide rules and analogue computers)
- The idea of the Infinite Game 1 2
There are at least two kinds of games: finite and infinite. A finite game is played for the purpose of winning, an infinite game for the purpose of continuing the play. Finite games are those instrumental activities - from sports to politics to wars - in which the participants obey rules, recognize boundaries and announce winners and losers. The infinite game - there is only one - includes any authentic interaction, from touching to culture, that changes rules, plays with boundaries and exists solely for the purpose of continuing the game. A finite player seeks power; the infinite one displays self-sufficient strength.
- Five Hundred and Seven Mechanical Movements by Henry T. Brown
- Colour Spaces and human colour perception (okLAB, Subtleties of Color)
- Byte Pair Encoding
- How diffusion models generate images from noise
- How generative adversarial networks pit two models against each other
- How autoencoders perform dimensionality reduction
- the work by antithesis on a bug-finding system that is automated and reproducible by running your entire codebase on a deterministic hypervisor
- This count-total-zeros algorithm:
function count-total-zeros (x)
if x = 0 return 32
n ← 0
if (x & 0x0000FFFF) = 0: n ← n + 16, x ← x >> 16
if (x & 0x000000FF) = 0: n ← n + 8, x ← x >> 8
if (x & 0x0000000F) = 0: n ← n + 4, x ← x >> 4
if (x & 0x00000003) = 0: n ← n + 2, x ← x >> 2
if (x & 0x00000001) = 0: n ← n + 1
return n
If you reach out to me, please include a Dune reference in your first message to indicate that you've read this page.
This helps me figure out who's sending a million cold calls to random people online and who's actually interested in what I have to offer.