Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,707 posts.
Saying goodbye to Python
This post is long overdue; this isn’t a declaration of intent (any intent was long ago made real), just my reflection about my own path. I left the Python world a long time ago but I never took a chance to say goodbye.
Why physicists still use Fortran (2015)
“I don’t know what the programming language of the year 2000 will look like, but I know it will be called FORTRAN.” – Charles Anthony Richard Hoare, circa 1982 Fortran is rarely used today in industry — one ranking ranks it behind 29 other languages. However, Fortran is still a dominant language for the large scale…
Ruby vs. Python comes down to the for loop
Contrasting how each language handles iteration helps understand how to work effectively in either.
It's 2023, so of course I'm learning Common Lisp
I'm traveling back in time to explore an ancient development workflow that is somehow more modern than today's workflows.
Pipelining might be my favorite programming language feature
Free-standing function call syntax considered kind of suboptimal.
Rewriting m4vgalib in Rust
If this isn’t your first time visiting my blog, you may recall that I’ve spent the past several years building an elaborate microcontroller graphics demo using C++.
Learning to read Arthur Whitney's C to become smart (2024)
it's not working
OO in Python is mostly pointless
Note from 2025 me - I largely still agree with myself - and I still see the same crappy OO code getting pumped out. The final point in "Exceptions" is worth emphasising more.
Programming languages that blew my mind (2023)
I’ve been a programmer since the age of 8, and some kind of developer for most of my life. Throughout my life as a coder, both hobbyist and professional, I’ve learnt plenty of programming languages that felt like cookie-cutter clones of each other, but also a few programming languages that changed the way I looked at…
Writing a C Compiler, Part 1
This is the first post in a series on writing your own C compiler. Here are some reasons to write a compiler:
Booting to Rust
A couple nights ago I was looking over the UEFI spec, and I realized it shouldn't be too hard to write UEFI applications in Rust. It turns out, you can, and her…
Teaching C
I was hoping you would mention the dynamic checkers, ASAN etc. My fear is people will start using these but not understand how to really use them properly. Since they’re dynamic checkers you really need a good testing harness and test cases to go with it. The bugs ASAN/TSAN etc catch are usually strange boundary…
Rewriting Rust
The Rust programming language feels like a first generation product. You know what I mean. Like the first iPhone - which was amazing by the way. They made an entire operating system around multitouch. A smart phone with no keyboard. And a working web browser. Within a few months, we
The Value in Go’s Simplicity
After using Go for a couple years, I’ve really come to appreciate its simplicity. I started writing Go at work a couple months ago, and have found it really easy to iterate on – much more so than Python and Java.
Weird Python Integers
Python integers are stranger than I thought and playing with them can have surprising consequences.
Why "Structure and Interpretation of Computer Programs" matters (2011)
In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most important innovations developed there. They asked me to explain the importance of SICP, and this is what I sent them:
I tried Haskell for 5 years
One blogpost style which I find almost completely useless is “I tried Programming Language X for 5 days and here’s how it was.” Most of the time, the first impression is superfici…
SQLite should have (Rust-style) editions
Date: 2026-07-15 Git: https://gitlab.com/mort96/blog/blob/published/content/00000-home/00017-sqlite-editions.md
Scala – 1 Star – Would Not Program Again
With Scala you feel smart having just got something to work in a beautiful way but when you look around the room to tell your clojure colleague how clever you are, you notice he left 3 hours ago and there is a post-it saying use a Map. Daniel Worthington-Bodart
Three Months of Go, from a Haskeller’s perspective (2016)
This summer I’ve been interning at Pusher , and have been writing a lot of Go. It’s been a bit of a change coming from a Haskell background, so I decided to write up my thoughts now, at the end.
To become a good C programmer (2011)
Every once in a while I receive an email from a fellow programmer asking me what language I used for one of my games and how I learned it. Here is an entry that list the best things to read about C. If you know of other gems, please email me or add a comment at the bottom of the page.
Minimalist C Libraries
In the past year I’ve written a number of minimalist C libraries, particularly header libraries. The distinction for “minimalist” is, of course, completely arbitrary and subjective. My definition in this context isn’t about the library’s functionality being stupidly trivial or even necessarily simple. I’m talking…