New

The latest blog posts to take off on Hacker News. 21,834 posts.

Software Engineering
Any year
12031

What Is Idempotence?

Idempotence means duplicates don't matter. It means you can safely retry an operation with no issues. The classic example is the elevator button: you press it twice and it does not call two elevators. We explore why we would want that property in an email server.

12036

New year, same old plans

The last time a major release of Light Table was in early 2016. It’s been 3 years. 3 years is a lot in developers time. Since, Light Table’s last release, vscode has developed from 0.10.6 to 1.32.0 . Amazing development happened in La La Clojure Land too, Clojure evolved from version 1.8.0 to 1.10.1-beta while…

12038

Ruby's Creed

Every programming language has some fundamental idea(s) that drives its design and evolution. For Haskell that’s functional purity and state-of-the-art static typing, for Erlang that’s distributed programming and fault tolerance, for Clojure that’s simplicity and stability. What all these examples have in common is…

12040

Compiler Performance and LLVM

I have always wanted the Cone compiler to be fast. Faster build times make it easier and more pleasant for the programmer to iterate and experiment quickly. Compilers built for speed, such as Turbo Pascal, D and Go, win praise and loyalty. Languages that struggle more with this, like C++ or Rust, get regular…

12055

Fibers: An Elegant Windows API

The Windows API — a.k.a. Win32 — is notorious for being clunky, ugly, and lacking good taste. Microsoft has done a pretty commendable job with backwards compatibility, but the trade-off is that the API is filled to the brim with historical cruft. Every hasty, poor design over the decades is carried forward forever…

12056

I Miss Rails

The world of tech moves fast, and there’s always new frameworks and paradigms popping up that make developers’ lives easier and allow us to build more and more powerful applications. But, these transitions don’t always just make things better for developers - sometimes we take steps backwards and undo the progress we…

12059

I Built a Lisp Compiler

I’m very proud to announce the completion of my first programming language compiler! Malcc is an incremental and ahead-of-time lisp compiler written in C. This is the story of my progress over the years and what I learned in the process. An alternate title for this post is: “How to Write a Compiler in Ten Years or…