Topics /

Software Engineering

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

2023
933

Unpacking Elixir: Syntax

Elixir is a language with syntactical roots in Ruby. It also carries the Erlang legacy. Legacy used here as in "a great legacy" and not as in "system you don't like anymore". Ruby is an object-oriented language. Elixir is functional language. The Erlang part has an impact as Elixir was designed to provide strong…

935

Demystifying Tupper's Formula

A book I was recently reading mentioned a mathematical curiosity I haven't seen before - Tupper's self-referential formula . There are some resources about it online, but this post is my attempt to explain how it works - along with an interactive implementation you can try in the browser.

942

Racket frustrates me

2024-07-06 I’ve archived this post Looking for the post Racket frustrates me? You can read the original post on The Internet Archive’s Wayback Machine. Why archive this post? It’s been about a year since I published this post and since realized something: I don’t have any skin in the game anymore. My workflow is now…

946

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 .

948

Escape analysis hates copy elision (2021)

Yesterday Lauri Vasama showed me this awesome Godbolt: struct S { static std::unique_ptr<S> make() noexcept; ~S(); static std::unique_ptr<S> factory() { std::unique_ptr<S> s = S::make(); return M(s); } }; void take_ownership(S*) noexcept; void test() { std::unique_ptr<S> p = S::factory()…

949

A Personal History of APL (1982)

October 1982 TR-03.214 A PERSONAL HISTORY OF APL by Michael S. Montalbano International Business Machines Corporation General Products Division Santa Teresa Laboratory San Jose, California A PERSONAL HISTORY OF APL Introduction I have several reasons for calling this talk a personal history. For one, I want to make it…

951

Storing Data in Control Flow

A decision that arises over and over when designing concurrent programs is whether to represent program state in control flow or as data. This post is about what that decision means and how to approach it. Done well, taking program state stored in data and storing it instead in control flow can make programs much…

953

Kalyn: A self-hosting compiler for x86-64

Over the course of my Spring 2020 semester at Harvey Mudd College , I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to…

957

Programming is hard

Software is weird. In its basic form, software is this very abstract thing with seemingly little connection to the real world. Yet graphical applications running on a hardware device like a modern phone feel very real, even to people who have no appreciation of what happens within this “black box”. Some pieces of…

960

Somehow AutoHotKey is kinda good now

img {border-style: groove; border-width: 1px;} I love Autohotkey so much that it keeps me on Windows. It’s the best GUI automation tool out there. Here’s a shortcut that opens my current browser tab in the Wayback Machine: #HotIf WinActive("ahk_exe firefox.exe") >!^s:: { Keywait("RControl") Keywait("RAlt")…