Topics /

Software Engineering

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

Any year
8103

Asynchronous IO: the next billion-dollar mistake?

Asynchronous IO (also known as "non-blocking IO") is a technique applications use to allow performing of many IO operations without blocking the calling OS thread, and without needing to spawn many threads (i.e. one thread per operation). In the late 1990s/early 2000s, an increasing amount of people using the internet…

8108

What is a Full Stack developer? (2012)

Is it reasonable to expect mere mortals to have mastery over every facet of the development stack? Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire 'Full Stack' developers. Well, what does that mean? To me, a Full Stack Developer is someone with

8120

Emacs: The macOS Bug

The Context I have been recently roaming. Doing some Zig, doing some Go, some Janet. Some C integration. Should have focused on my project but life threw more at me than I could handle, so I sought… happy distractions. My experience with those technologies taught me new tricks and one day, when I needed some more…

8122

On undoing, fixing, or removing commits in git

This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn't that git is so complicated that you need a large document to take care of your particular problem, it is more that the set of things that you might have done is so large that different…

8124

Git is Inconsistent

Zooko provides a nice example of the problems with most distributed version control systems merge algorithms. He gives an example of a merge situation that most version control systems, including git, get wrong, but that darcs, Codeville, SCCS, and perhaps BitKeeper get correct.

8130

Trampolines in JavaScript

A trampoline is a loop that iteratively invokes thunk -returning functions ( continuation-passing style ). A single trampoline is sufficient to express all control transfers of a program; a program so expressed is trampolined, or in trampolined style; converting a program to trampolined style is trampolining…