New
The latest blog posts to take off on Hacker News. 4,614 posts.
The unreasonable effectiveness of simple HTML
I've told this story at conferences - but due to the general situation I thought I'd retell it here. A few years ago I was doing policy research in a housing benefits office in London. They are singularly unlovely places. The walls are brightened up with posters offering helpful services for people fleeing domestic…
Hush: Noiseless Browsing for Safari
Link to: https://oblador.github.io/hush/
I no longer trust The Great Suspender
I know a number of folks use The Great Suspender to automatically suspend inactive browser tabs in Chrome. Apparently recent versions of this extension have been taken over by a shady anonymous entity and is now flagged by Microsoft as malware . Notably the most recent version of the extension (v7.1.8) has added…
How I Build Web Apps As A Freelancer
It's now roughly seven or eight years that I'm building dynamic front ends for the web. From digital art wallets to games (1, 2) and synthesizers, I've seen it all. And since my process
js;dr = JavaScript required; Didn’t Read.
js;dr = JavaScript required; Didn’t Read. Pages that are empty without JS: dead to history (archive-org), unreliable for search results (despite any search engine claims of JS support, check it yourself), and thus ignorable. No need to waste time reading or responding. Also known as, if it’s not curlable, it’s not on…
REST Servers in Go: Part 1 – standard library
This is the first post in a series about writing REST servers in Go. My plan with this series is to implement a simple REST server using several different approaches, which should make it easy to compare and contrast these approaches and their relative merits.
Rust is a hard way to make a web API
It is not just the borrow checker
Why can't I write code inside my browser?
Notes on rethinking browsers
My personal wishlist for a decentralized social network
I'd be interested in a decentralized social network with network-layer anonymity, grassroots content delivery, and customizable moderation.
Next Gen Static Blogging
Take a look at the source code of this page - I rely mostly on CSS for the rendering of this article.
My stack is HTML+CSS
My stack will outlive yours
Ditherpunk: The article I wish I had about monochrome image dithering
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
URL shorteners set ad tracking cookies
This Christmas, a family member sent me a URL to a family Zoom call. However, they didn’t send me a direct link to Zoom. Instead, they sent me a
What's good about offset pagination; designing parallel cursor-based web APIs
Offset pagination gets a bad rap because it’s backend inefficient, but it’s actually a nice feature from a consumer’s perspective. How to bring those advantages to cursor-based APIs.
GTK4 for Graphical User Interfaces
This book gives an introduction to design and creation of graphical user interfaces using the GTK widget tool-kit and the Nim programming language. The book has its focus on the Linux operating system (OS). While the Nim programming language does support all major operating systems, GTK has it main emphasis on the…
Openstreetmap’s product fails to compete with Google Maps
The landscape of OpenStreetMap-based mobile apps
How Graphviz thinks the USA is laid out
25 recent entries The horn of the Robert Smalls A difficulty in race-switching the Dukes of Hazzard On futile explanations Richard Blair Race-switching The Dukes of Hazzard Greek plural Erbaut Improved English-language month names I fix a thirty-year-old mistake Minced oaths? On the monobosom Partly about pie More…
TabFS: Mount your Browser Tabs as a Filesystem
A browser extension that mounts your browser tabs as a filesystem on your computer.
Adding comments to a static blog with Mastodon
Update 29.01.2023: Adapted the code to work with Mastodon 4.0 and replaced linuxrocks.online by floss.social Update 15.03.2023: Thanks to @veronica@mastodon.online, this code now handles replies in a lot nicer way. You might want check out her solution too. Update 07.07.2023: Thanks to @cassidy@blaede.family, the…
HN Alternative UIs
hn.algolia.com HackerNews with a search function and 16.8+ million posts indexed. Alexa: 8.7k
APIs All the Way Down
Going down the API-First Ecosystem Rabbit Hole with Shopify, Stripe, Twilio, and more
API pagination design
Returning all results for a given query could be a challenge for an API, especially if there are thousands of results. It puts a load on a server, on a [...]
Oklab: A perceptual color space for image processing
From personal project to industry standard Introduction added in 2025 When introduced Oklab in 2020, I never expected it to reach as far as...
Ignore AMP
In 2018, my recommendation was to avoid AMP, to use AMP for the most relevant pages, or to use AMP only. In 2020 my recommendation is to ignore it, because AMP largely appears meaningless now. <cite>Upgrade Your HTML II</cite> gives an opinionated idea why.
Virtual Machine Detection in the Browser (2019)
Virtual Machine (VM) detection is nothing new. Malware has been doing it for over a decade now. Over time the techniques have advanced as defenders learned new ways of avoiding VM detection. A while back a friend and I were working on a project related to exploit delivery via a web application for redteaming purposes…