Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,845 posts.
Vim's speed is not really the point (2013)
I am a Vim user. And a Vim fan.I was fiddling around for some time, you know, just knowing the basics, because it is convenient to do small changes on servers without having to worry about installi…
Monads in JavaScript
Monad is a design pattern used to describe computations as a series of steps. They manage side effects in pure functional languages but can also be used in other languages to control complexity.
Rethinking Infrastructure as Code from Scratch
Recently I’ve been thinking a lot about infrastructure complexity, and the current state of infrastructure as code. This is problem space that many talented people are tackling.
Why WebAssembly is innovative even outside the browser
WebAssembly (Wasm) has many applications in the cloud-native world today – WASI, edge cloud computing, Proxy-Wasm, and cloud-native runtime for server
Things nobody told me about being a software engineer
My dad started teaching me Basic when I was about 7 years old, and since about that age I knew that I wanted to build software for a living. It was obviously a fun and useful thing to do, and something that I could do well. But there is a big — and I mean Grand Canyon-scale BIG — difference between “programming” and…
What docs-as-code means
I’ve recently started a new job as a documentation engineer. While my work is largely the same as that of a technical writer, …
Iterators in Go: A proposed extension
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
Rust Optimizations That C++ Can't Do
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Performance Showdown: Rust vs Javascript (2020)
After spending some weeks playing with Rust, I felt ready to test my skills and try some programming challenges in the [Advent Of Code](https://adventofcode.com/). My approach to tackle some of those challenges was to solve them using Javascript (I use it in my day to day) first and then port the code to Rust. While…
A monorepo misconception – atomic cross-project commits
Are cross-project changes in a single atomic commit the key advantage of monorepos? I do not think so.
WSL2 – Installation Tutorial for Graphical Windows Subsystem on Linux
In 2001, Microsoft's former CEO— Steve Ballmer— was quoted by the online tech news publication, The Register, saying: Linux is a
Windows Timer Resolution: The Great Rule Change
The behavior of the Windows scheduler changed significantly in Windows 10 2004 (aka, the April 2020 version of Windows), in a way that will break a few applications, and there appears to have been …
How to avoid brittle code
Here are some techniques to avoid the pain of having brittleness from legacy code.
The JavaScript ecosystem is a hot mess and so is software development
Nightmare scenario with the Javascript ecosystem mess
Mkfile(8) is severely syscall limited on OS X
When I got my brand-new MacBook Pro (late 2016), I was interested in testing out the phenomenal SSD performance I had been reading about, r...
JEP 540: Simple JSON API (Now in Incubator)
Define a simple, standard API for parsing and generating JSON documents so that doing so does not require an external library. Enable many JSON processing tasks to be accomplished with little coding. This is an incubating API .
Boolean parameters to API functions considered harmful (2011)
The problem is that the last param to xhr.open is whether the xhr is async . Ouch.
Problems with Go Get
T-Minus 15.193792102158E+9 years until the universe closes!
Version control second coming
The very same week we signed our first ever angel investor for Plastic SCM, in early summer of 2005, Linus Torvalds announced Git. I had spent more than a year pitching investors to build a new version control, and suddenly the creator of Linux was building one himself. That week I understood the road ahead was going…
TypeScript NPM Packages Done Right
Learn how to make your TypeScript npm packages accessible and usable by a wider audience in our easy-to-follow tutorial.
Fast Fibonacci Algorithms (2015)
Definition: The Fibonacci sequence is defined as \(F(0) = 0\), \(F(1) = 1\), and \(F(n) = F(n-1) + F(n-2)\) for \(n ≥ 2\). So the sequence (starting with \(F(0)\)) is 0, 1, 1, 2, 3, 5, 8, 13, 21, ….
Me an' Algernon – grappling with (temporary) cognitive decline
Originally published May 20, 2015.