Best of 2017

The blog posts Hacker News loved most in 2017. 894 posts.

Software Engineering
766

Self-Replicating Functions

These are notes I’m creating for myself as I explore functions \(f\) that can be written as a sum \(f = g_1 + g_2\) where \(g_1\) and \(g_2\) are shifted and possibly reflected versions of each other, both strongly resembling the original function \(f\) . When a function \(f\) has these properties, I informally call…

767

Smalltalk Envy

I myself was not on the famous C3 (Chrysler Comprehensive Compensation System) project in 1996-2000 that is pivotal to ‘Extreme Programming’ (XP). That project used Smalltalk, and team contribution was provided by Object Technology International’s ENVY version control system. I wanted to know more about that so I…

769

Kernel debugging for newbies

This week, I’ve been working on an application that sets up IPsec connections. PF_KEYv2 is the standard interface for configuring IPsec. PF_KEYv2 is widely-available; even systems with more advanced IPsec stacks (like XFRM on Linux) provide a PF_KEYv2-compatible wrapper. I want my application to work on OS X and…

777

URG

If you asked software engineers some of their “least hated” things, you’ll likely hear both UTF-8 and TCP. TCP, despite being 35 years old, is rock-solid, stable infrastructure that we take for granted today; it’s hard to sometimes realize that TCP was man-made, given how well it’s served us. But within every single…

778

Go and Simplicity Debt

Fifteen years ago Python’s GIL wasn’t a big issue. Concurrency was something dismissed as probably unnecessary. What people really was needed was a faster interpreter, after all, who had more than one CPU? But, slowly, as the requirement for concurrency increased, the problems with the GIL increased.