Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 14,544 posts.

Any year
12991

Guided by the beauty of our test suite

Last summer, I published Raven , an independent implementation of the Uxn CPU and Varavara ordinator . In short, this is a fictional computer designed for cross-platform portability: programs targetting it can be run on any platform that implements the specification.

12992

Small Introduction to Markov Chains

Introduction A Markov Chain is a set of transitions from one state to the next; Such that the transition from the current state to the next depends only on the current state, the previous and future states do not effect the probability of the transition. A transitions independence from future and past sates is called…

12995

Planjure: A* and Dijkstra's in Om

I wrote Planjure to learn ClojureScript and Om. It’s a fun little program. You paint islands on a canvas and run path-planning algorithms to find the optimal path for your ship to traverse from start to finish. Sailing across blue ocean is faster than hiking through green islands. The three algorithms implemented are…

13000

Python is the new BASIC

The above is the Hello World program for Java, arguably one of the most popular programming languages. Encapsulated in the above three lines are several different concepts ranging from static functions to return types to stdout and to the entirety of object oriented programming in general.

13008

Regexp-based RFC822 email address validation

Mail::RFC822::Address is a Perl module to validate email addresses according to the RFC 822 grammar. It provides the same functionality as RFC::RFC822::Address, but uses Perl regular expressions rather that the Parse::RecDescent parser. This means that the module is much faster to load as it does not need to compile…

13011

For processing strings, streams in C++ can be slow

The C++ library has long been organized around stream classes, at least when it comes to reading and parsing strings. But streams can be surprisingly slow. For example, if you want to parse numbers, then this C++ routine is close to being the worst possible choice for performance: std::stringstream in(mystring)…

13012

Banish missing glyphs with Unifont

The GNU Unifont project is amazing. It contains every Unicode glyph in one single file! I am going to argue that you should bundle it with your apps, your operating systems, and - at a pinch - your websites. The Unifont is a perfect fallback font. If your app or website uses a Unicode character which isn't supported…

13018

Rust in 2023: Growing Up

When I started working on Rust in 2011, my daughter was about three months old. She’s now in sixth grade, and she’s started growing rapidly. Sometimes we wake up to find that her clothes don’t quite fit anymore: the sleeves might be a little too short, or the legs come up to her ankles. Rust is experiencing something…

13019

First Contact with SQLite

I've been playing around with SQLite the last couple of days. I thought I knew a little about SQLite, but I didn't, and am getting my remedial education through an accelerated gauntlet. Some of what …