Topics /

Software Engineering

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

Any year
19083

Compiler Design in C

Compiler Design in C Download a copy! My book Compiler Design in C is now, unfortunately, out of print. You can download a complete copy, with the above button (pdf 19.1Mb OCR/Searchable—thanks to Marvin Hernández for adding the OCR). If you don’t want to print it out (the book is 984 pages long), you can…

19085

Build a CMS, no forms allowed

You may have noticed that quite a lot is happening in the Midgard land. Nowadays Midgard2 itself is a generic content repository that can be used for both desktop and web applications. Midgard MVC is a generic web framework for PHP5 that can be used with Midgard2 or without it. And then there is Midgard Create, the…

19087

Is Unicode Safe?

Unicode is just too complex to ever be secure.  — Bruce Schneier, 2000 Over the last 25 years Unicode has succeeded. It hasn't displaced all other character encodings, but it's clearly on its way there. It's supported widely enough that it's a compatible choice, new projects use it, and it's becoming the…

19092

Making all your integers positive with zigzag encoding

You sometimes feel the need to make all of your integers positive, without losing any information. That is, you want to map all of your integers from 'signed' integers (e.g., -1, 1, 3, -3) to 'unsigned integers' (e.g., 3,2,6,7). This could be useful if you have a fast function to compress integers that fails to ……

19098

Goodbye to Painful Image Loads on Small Devices

We've been working in the responsive realm for a while now and one of the most painful parts of the process is dealing with images. Large images can cause extremely long load times on small devices that might not have a huge data bandwidth. There have been many "best practices for now" movements to deal with this.

19104

Ruby's private keyword is weird

Ruby's `private` keyword means something different compared to basically all other object-oriented languages. Most other languages don't even have a feature matching what Ruby calls `private`, but incredibly, Scala does, which it calls `protected[this]` (meaning

19105

Computation Graphs and Graph Computation

Research has begun to reveal many algorithms can be expressed as matrix multiplication, suggesting an unrealized connection between linear algebra and computer science. I speculate graphs are the missing piece of the puzzle. Graphs are not only useful as cognitive aides, but are suitable data structures for a wide…

19107

TLA+ Action Properties

There’s not a whole lot on TLA+ technique out there: all the resources are either introductions or case studies. Good for people starting out, bad for people past that. I think we need to write more intermediate-level stuff, what Ben Kuhn calls Blub studies. Here’s an attempt at that. Most TLA+ properties are…