What would open sourcing the Twitter algorithm actually look like?
What would “open sourcing the Twitter algorithm” actually look like? In Part 1 of this series, we focus on understanding how Twitter’s algorithmic feed works under the hood.
Ruby concurrency is hard: how I became a Ruby on Rails contributor
For the past several weeks, I've been trying to fix a cranky spec in Karafka integrations suite, which in the end, lead me to become a Ruby on Rails micro-contributor and submitting similar fix to several other high-popularity projects from the Ruby ecosystem. Here's my story of trying to make sense of my specs and […]
Map Data: False Assumptions
Famously, engineers tend to make wrong assumptions about a lot of things: Names and time are two well-known examples. Maps are a rich source of edge cases. Especially when you start dealing with gl…
The Reliability of Optical Disks
How long will burned CDs / DVDs / BluRays last?
Life, school, and the 80:20 rule (2019)
Most people sense that school today is poor preparation for the world of work. I think there is a fundamental reason why: linearity. School is a
How side effects work in FP
Chad Nauseam Home
Technical Time Travel: On Vintage Programming Books
A look at three relics of a not-quite-bygone era. In picture-listicle form.
Victoria III – First Impressions
This week’s post is coming to you all a bit early, as the folks at Paradox Interactive were kind enough to send me a review code for Victoria III – Paradox Interactive’s long awai…
Why Ruby Has Symbols
Difference between strings and symbols in Ruby
Delimiter-first code
A new top-level syntax for programming languages is proposed to show advantages of this method. New syntax is arguably as simple, but more consistent, better preserves visual structure and solves some issues in code formatting.
Do you remember Ultima Online?
I was there, Gandalf. I was there 3000 years ago when... Not really; I wish I were there, but I joined as soon as I could.
If one GUI's not enough for your SPARC workstation, try four
Who needs a jack-o-lantern when you've got a bright orange gas plasma display? This is a 1990 Solbourne Computer S3000 all-in-one workst...
Taste vs. Skills
A simple mental model that can help you navigate your career.
Edge Case Poisoning (2020)
TLA+ Workshop Last Call The TLA+ workshop is next week! Oct 20-22, register here, use the code COMPUTRONSTUFF for $500 off. Learn how a few hours of...
Request Coalescing in Async Rust
As the popular saying goes, there are only two hard problems in computer science: caching, off-by-one errors, and getting a Rust job that isn’t cryptocurrency-related. Today, we’ll discuss caching!...
Running Rust on Logic Gates
A journey in building an ARM CPU from scratch in a digital circuit simulator, and running Rust on it to interpret Scheme and serve Web pages.
We don't do that here (2017)
If no one has told you yet, as your career in tech progresses you will eventually become a custodian of culture. If you run a meetup or a team, if you lead an open source project, or if you organize an event people will be looking to you to know what is and isn’t okay in that space. You get this responsibility whether…
Convincing ChatGPT to Eradicate Humanity with Python Code
Full stack software engineer / entrepreneur specialized in AI agents, cybersecurity and graphics. In my free time I enjoy surfing, free diving, and contributing to open source software.
Jax vs. Julia (Vs PyTorch)
A while ago there was an interesting thread on the Julia Discourse about the “state of machine learning in Julia”. I posted a response discussing the differences between Julia and Python (both JAX and PyTorch), and it seemed to be really well received! Since then this topic seems to keep coming up, so I thought I’d…
AVIF has landed (2020)
AVIF is the first browser image format we've had in 10 years. Let's see how it performs…