Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,707 posts.
Learn Haskell Fast and Hard
I really believe all developers should learn Haskell. I don’t think everyone needs to be super Haskell ninjas, but they should at least discover what Haskell has to offer. Learning Haskell opens your mind.
Why Not Rust?
I've recently read an article criticizing Rust, and, while it made a bunch of good points, I didn't enjoy it --- it was an easy to argue with piece. In general, I feel that I can't recommend an article criticizing Rust. This is a shame --- confronting drawbacks is important, and debunking low effort/miss informed…
Programming Language Inventor or Serial Killer? (2003)
Try to spot who liked hacking away at corpses rather than computers
Why is Rust difficult?
Rust is considered difficult to learn by many people. Indeed, when I learned it, I considered it to be the hardest programming language up to that time I’ve met. And that says something, since I have a habit of learning whatever language I find interesting. Looking back, I’m not sure I was correct, C++ is probably…
PHP Addiction
I wrote Tumblr, Instapaper, and Second Crack in PHP. I continue to use it because I know it extremely well, it’s very easy to use and deploy, and it’s nearly maintenance-free on servers. When you’re a programmer forced to also be your own sysadmin, that’s very attractive.
Zig as an alternative to writing unsafe Rust
There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don't think is mentioned enough.
“I Could Rewrite Curl”
Collected quotes and snippets from people publicly sneezing off or belittling what curl is, explaining how easy it would be to make a replacement in no time with no effort or generally not being very helpful. These are statements made seriously. For all I know, they were not ironic. If you find others to add ……
Thoughts on Elixir, Phoenix and LiveView after 18 months of commercial use
I’ve been leading a team developing an application using Elixir, Phoenix and LiveView for the last 18 months and accumulated some thoughts on the stack. For the most part, it has been a very pleasant experience.
Solving `Passport Application` with Haskell
Using logic programming to beat the game
Lisping at JPL (2002)
This is the story of the rise and fall of Lisp at the Jet Propulsion Lab as told from my personal (and highly biased) point of view. I am not writing in my official capacity as an employee of JPL, nor am I in any way representing the official position of JPL. (This will become rather obvious shortly.)
I learned Haskell in just 15 years
Haskell is a programming language invented sometime in the 20th century by Scottish logicians as a prank. ¹ Fifteen years or so ago, for reasons I can no longer remotely recall, I started learning Haskell. Now, I have finally written a useful program in Haskell, and I am pretty sure I can do it again, if I ever need…
How Swift Achieved Dynamic Linking Where Rust Couldn't
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5 . The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language…
The Power of Prolog
Facets of Prolog
Phrase origin: Why do we "call" functions?
On StackExchange, someone asks why programmers talk about “calling” a function. Several possible allusions spring to mind: Calling a function is like calling on a friend — we go, we stay a while, we come back. Calling a function is like calling for a servant — a summoning to perform a task. Calling a function is like…
Async Ruby
Async Ruby is a powerful and highly scalable concurrency feature. It's available today, it's production-ready, and it's an awesome addition to Ruby language!
The Unix Philosophy and Elixir as an Alternative to Go
If you’ve done web programming for any length of time, you might too feel like we are at the start of some new era. For years, we’ve been using frameworks like Django and Rails in languages like Python and Ruby and PHP which use the old request-response cycle (for lack of a better term). Basically, a request comes…
How to start a Go project in 2018
This post is fairly old. See the updated version Starting a Go project in 2023 Getting started with a Go project in 2018 is frankly a little more painful then getting anything else started IMHO. With …
Why I'm still using Python
16 years and counting...
I learnt C++ in 2018 and have no regrets
My quest for relearning C++ started in November 2018. I have been reading + blogging + writing C++ from then. I would like to reflect on my journey a bit. Before I begin, I would like to state that th
“Why not just use Lean?”
I have been told that when proposing to formalise mathematics these days, you have to explain why you are not using Lean. And that reminds me why I left the dependent-typed world 40 years ago: its cultism, insularity and conformity. Lean is a great language with good tools, a large library and a huge, enthusiastic…
D as a C Replacement
Sircmpwn (the main developer behind the Sway Wayland compositor ) recently wrote a blog post about how he thinks Rust is not a good C replacement . I don’t know if he’d like the D programming language either, but it’s become a C replacement for me.
The unreasonable effectiveness of f-strings and re.verbose
... in which we look at one or two ways to make life easier when working with Python regular expressions.
Why is the Rust compiler so slow?
I spent a month repeatedly building my website in Docker, and now have horrors to share.