Topics /

Software Engineering

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

Any year
9361

Why Software Development Estimations Are Regularly Off

Some people believe that carrying out a large software project is like building a bridge. You look at your past projects and use the data to estimate the time and resources needed. This view has been debunked decades ago; this analogy was frequently seen as an aspiration for the future when I did my Master in Software…

9365

Hands-Free Coding (2020)

Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechanisms for writing code.

9370

Let's write a compiler, part 3: A parser

Tokenizing the source code input is a great start for our compiler. Now let's turn our attention to parsing the PL/0 grammar. Once we have finished with the parser, the front end of our compiler will be finished and we will have a PL/0 validator. This is a program that can read in PL/0 source code and inform the user…

9371

Tarsnap email confirmation bypass

One consequence of these unsolicited security scans is that — since they feed a variety of inputs to forms, including the account creation form — I see a lot of obviously fake signup attempts (alas, none yet from the world's most obviously fake domain name ). These are harmless, since the signup code sends out a…

9374

Matrix Client Tutorial

Welcome to the Matrix. Matrix is an open protocol for decentralised communication. Matrix allows users on different servers to communicate with each other, similar to how people on different email servers can email each other.

9378

Why no curl 8

In this little piece I'll explain why there won't be any version 8 of curl and libcurl in a long time. I won't rule out that it might happen at some point in the future. Just that it won't happen anytime soon and explain the reasons why. Seven point twenty nine, really? We've done 29 … Continue reading Why no curl 8 →

9381

Interesting things about the Lua interpreter (2020)

The Lua programming language is unusual among its peers. It’s a dynamically typed, scripting language with a really small core (100-200kB), but runs efficiently, has far simpler semantics than other similar languages, and is just as old as the giants like JavaScript, Python, and Ruby – first made in a research lab…

9384

Layered Design in Go

This post will describe how I design my programs in Go. I needed this for work, and while I searched for a link, nothing quite fits my coding practices out there. The word “Layered” can pull up some fairly close descriptions, but I want to lay out what I do.

9385

Live Streaming in Rails 4.0

TL;DR Rails 4.0 will allow you to stream arbitrary data at arbitrary intervals with Live Streaming. HAPPY MONDAY EVERYONE! Besides enabling multi-threading by default, one of the things I really wanted for Rails 4.0 is the ability to stream data to the client. I want the ability to treat the response object as an I/O…

9387

JVM Anatomy Quarks: Compressed References

"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.