Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,817 posts.

Any year
3040

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…

3041

Most RESTful APIs aren't really RESTful

When talking about REST, it is worth reading the dissertation of Roy Thomas Fielding. The original paper that describes RESTful web, “Architectural Styles and the Design of Network-based Software Architectures” Roy T. Fielding (2000), introduces the Representational State Transfer (REST) architectural style as a…

3042

A Spectre is Haunting Unicode

In 1978 Japan's Ministry of Economy, Trade and Industry established the encoding that would later be known as JIS X 0208, which still serves as an important reference for all Japanese encodings. However, after the JIS standard was released people noticed something strange - several of the added characters had no…

3045

Why GNU Emacs?

I don’t usually try to explain tools that I use to other people, unless they made an explicit request as to how they could improve their workflow. However, since today is “I love Free Software” Day I think I should seize this opportunity and explain what draws me to GNU Emacs and how I use it.

3048

The Unix Philosophy

The ‘Unix philosophy’ originated with Ken Thompson's early meditations on how to design a small but capable operating system with a clean service interface. It grew as the Unix culture learned things about how to get maximum leverage out of Thompson's design. It absorbed lessons from many sources along the way.

3050

App Store Rejection of the Week: Dark Hours

My disdain for astrology is so utter, and my esteem for Godier’s previous work so high, that it simply never occurred to me that he might have actually made and submitted to the App Store an astrology app, let alone that he’d then feign surprise and frustration that an astrology app was rejected for being an astrology…

3052

Pains of building your own billing system

Trying to cobble together your own billing system is like wrestling an octopus that's armed with tax codes and invoices instead of tentacles. It's a beast of complexity that can tangle up everything from customer support to compliance. I have 14 points on why it's hard.

3053

Things I learned while writing an x86 emulator (2023)

If you’ve read my first post about assembly language, you might expect that this is another post on how to understand assembly language. I will write more about that at some point, but this post is not that. Instead, this post is going to talk about some of the weird things and random trivia I learned while writing an…

3057

Callbacks are imperative, promises are functional

You will often hear it said that JavaScript is a ‘functional’ programming language. It is described as such simply because functions are first-class values: many other features that define functional programming – immutable data, preference for recursion over looping, algebraic type systems, avoidance of side effects…