Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 1,747 posts.

2025
694

When did people favor composition over inheritance?

The phrase "favor composition over inheritance" has become one of those thought-terminating cliches in software design, and I always like to take a deeper look at those to understand where they come from and what ideas we're missing if we just take the phrase at face value without engaging with the discussion that led…

695

FAWK: LLMs can write a language interpreter

After reading the book The AWK Programming Language (recommended!), I was planning to try AWK out on this year’s Advent of Code. Having some time off from work this week, I tried to implement one of the problems in it to get some practice, set up my tooling, see how hard AWK would be, and… I found I’m FP-pilled.

699

Ruby and Its Neighbors: Smalltalk

Smalltalk was the second major influence on Ruby's design. A different kind of influence, since almost nothing of Smalltalk's syntax made into Ruby. But many of the details of how objects work are directly inspired by Smalltalk, including the idea that every piece of data is part of the object system.

702

Bare metal printf – C standard library without OS

Guide to implementing a C standard library for bare metal hardware using Newlib, enabling powerful functions like printf and malloc without relying on an operating system. This step-by-step guide demonstrates how to configure and integrate Newlib on RISC-V architecture, showing you how to redirect standard I/O through…

705

Window Activation

You click a link in your chat app, your browser with a hundred tabs comes to the front and opens that page. How hard can it be? Well, you probably know by now that Wayland, unlike X, doesn’t let one application force its idiot wishes on everyone else. In order for an application to bring its window to the front, it…

706

Making TRAMP faster

I recently changed jobs and found myself in a position where I would need to do a lot of work on remote machines. Since I am Emacs user, the most common way to do this is using TRAMP (Transparent Remote access, Multiple Protcol). TRAMP is an Emacs package that let’s you treat a remote host like a local system, similar…

711

The Mythical IO-Bound Rails App

When the topic of Rails performance comes up, it is commonplace to hear that the database is the bottleneck, so Rails applications are IO-bound anyway, hence Ruby performance doesn’t matter that much, and all you need is a healthy dose of concurrency to make your service scale. But how true is this in general?