Topics /

Software Engineering

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

Any year
15004

What would it take to add refinement types to Rust?

A few years ago, on a whim, I wrote YAIOUOM. YAOIOUM was a static analyzer for Rust that checked that the code was using units of measures correctly, e.g. a distance in meters is not a distance in centimeters, dividing meters by seconds gave you a value in m / s (aka m * s^-1). YAIOUOM was an example of a refinement…

15006

Microservices – Please, Don’t (2016)

This blog post is adapted from a lightning talk I gave at the Boston Golang meetup in December of 2015. For a while, it seemed like everyone was crazy for microservices. You couldn’t open up your favorite news aggregator of choice without some company you had never heard of touting how the move t

15007

JDK 28

This release will be the Reference Implementation of version 28 of the Java SE Platform, as specified by JSR 403 in the Java Community Process.

15010

Git add -p

The Pragmatic Programmer advocates you should know your editor inside and out. So why don't you know your version control system just as well? Discover git add "patch mode" and learn how to make more concisely crafted commits leading to a cleaner git history and more friends.

15012

Your code is fast if you're lucky

Recently, while working on an optimized Quicksort implementation, I came across a rather interesting quirk. Modern compilers (especially Clang) optimize loops using fast, branch-free instructions - provided you use the right programming style.

15016

What I learned from my first C coding challenge

Last week at Vimeo we had a challenge. Build a better query string parameter sorter for a Varnish plugin. The gauntlet was thrown down at 5pm on a Friday and by 2am Friday night we had our first contender. I arrived home to see the code and decided to throw my hat into the ring. I had made some attempts at c plugins…

15020

Is This a Branch?

Let’s try a new format – “shorts”; small blog posts where I elaborate on ideas that I’d discuss at my twitter, but they either come back over and over, or the short form doesn’t convey all th…

15025

Adventures in Advent of Code

I’ve been participating regularly in Advent of Code for the past couple of years. It’s one of the highlights of my holiday season. The puzzles are fun, the stories are appropriately ridiculous, and it’s a neat way for me to keep the cobwebs brushed off some of the things I learned years ago that I don’t regularly use…

15026

You're Using JSON, Why not MessagePack?

JSON is a fantastic format, anywhere people in your organization want to reach for XML, it’s always a good thing to ask the question “Why not JSON?”. The question I’d like you to ask the next time you’re reaching for your JSON hammer, is “Why not MessagePack?”.

15027

WebAssembly without the browser

Most WebAssembly tutorials and examples you will find online focus on using it inside the browser in order to accelerate various functionality of a website or web app. However, there is an area where WebAssembly is really powerful but not talked too much about: outside the browser usage scenarios. That is what we’ll…

15029

The Perfect Voxel Engine

What is it about voxels that makes people go crazy? Throughout the past decade, there have been SO many developers obsessed with shrinking them down to have as many as possible ( 1 , 2 , 3 , 4 , 5 ), admittedly including myself. It’s exciting both as a developer and to the gaming community to see amazing algorithms…

15030

Nix Derivations, Without Guessing

I went on a little low-level Nix adventure yesterday and early this morning because of this excellent blog post. In it, Farid builds up the simplest possible Nix derivation—making a file that has the contents “hello world”. Here’s what I like about it: