Topics /

Software Engineering

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

Any year
16982

Server-generated JavaScript responses

The majority of Ajax operations in Basecamp are handled with Server-generated JavaScript Responses (SJR). It works like this: Form is submitted via a XMLHttpRequest-powered form. Server creates or updates a model object. Server generates a JavaScript response that includes the updated HTML templa…

16984

Bootstrapping a Forth in 40 lines of Lua code

Author: Eduardo Ochs eduardoochs@gmail.com https://anggtwu.net/ https://www.lua.org/gems/ https://www.lua.org/gems/selected.html Version: 2008feb17 Listings: http://anggtwu.net/miniforth/miniforth5.lua http://anggtwu.net/miniforth/miniforth5.out Preprint version: https://anggtwu.net/miniforth/miniforth-article.pdf

16985

Parser Combinators Beat Regexes

Someone online was solving Advent of Code problems, and had a question about last years’ day 3 . They had a working solution using regular expressions (regexes) on String values, but they wanted to use ByteString values instead for performance reasons. They were surprised, however, that there seems to be a lack of…

16993

Htmx Is a Erlang

htmx, a disciple of hypermedia , available only in hardcover do not look for alternatives , has been manifesting itself into existence recently ( recently: after 10 years of work 1 ) and has finally reached critical mass 2 .

16994

Software Effort Estimation Considered Harmful

Delta Air Lines tells me it will take two hours and twenty-five minutes to fly from New York City to Atlanta, GA. American says two thirty. United? Two thirty-four. Yet, the captain just told me it was “one-hour forty-five” minutes “wheels-up to wheels-down”. What gives?

17003

Take Two: Eshell

This is a contribution to the Emacs Carnival 2025-06: Take Two collection of posts on Christian Tietze’s blog. My first take with Eshell many years back did not leave a good impression. My...

17010

Why Rust's ownership/borrowing is hard

Working with pure functions is simple: you pass arguments, you get a result — no side effects happen. If, on the other hand, a function does have side effects, like mutating its arguments or global objects, it's harder to reason about. But we've got used to those too: if you see something like player.set_speed(5) you…