Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,614 posts.
Web Browsers have stopped blocking pop-ups
If you were an Internet user for a few years on either side of the turn of the millennium, you will remember pop-up advertisements.
How Facebook Avoids Ad Blockers
How Facebook hides the word 'Sponsored' from ad blockers using per-character spans and DOM obfuscation, pulled apart piece by piece.
FediMeteo: A €4 FreeBSD VPS Became a Global Weather Service
How a simple idea turned into an international weather service on the Fediverse.
Mousetrap: Keyboard shortcuts in Javascript
Mousetrap is a simple keyboard shortcut/event library written in Javascript.
3D Wireframes Using SVG
How to use Python to generate 3D SVG.
WebGPU – All of the cores, none of the canvas
WebGPU is an upcoming Web API that gives you low-level, general-purpose access GPUs.
The SaaS website content you need to close sales
The SaaS website best practices you need to close more sales, based on online behavior of 1,000s of SaaS buyers.
Overengineered Anchor Links
Learn about the overengineered anchoring pattern, a technique to improve the user experience of scrollable content.
The IAB loves tracking users but hates users tracking them
The Interactive Advertising Bureau (IAB) is a standards development group for the advertising industry. Their members love tracking users. They want to know where you are, who you're with, what you're buying, and what you think. All so they can convince you to spend slightly more on toothpaste. Or change your…
Should you be concerned about LastPass uploading your passwords to its server?
The answer to this question is still "Yes!" Here I demonstrate yet another way for the server to access your data, the issues being structural.
I Want to Fix Goodreads
I use goodreads a lot because I like to read books and want to find more books to read. This morning I was reading a thread on hackernews on Sarah Manavis’s ...
The Worst Website in the Entire World
The Worst Website In The Entire World is owned by Broadcom
Google Workspace thinks my domain is an email provider (2025)
I was creating a Google Workspace account for my company, as everyone knows, it’s a pretty straightforward sign-up process, until I’m hit with a weird, confusing error when I type my domain name:
Someone at BrowserStack is leaking users' email addresses
Like all good nerds, I generate a unique email address for every service I sign up to. This has several advantages - it allows me to see if a message is legitimately from a service, if a service is hacked the hackers can't go credential stuffing, and I instantly know who leaked my address. A few weeks ago I signed up…
Reclaiming the web with a personal reader
There’s a kind of zen flow that programmers unblock when they experience their software daily as an end user. There’s no better catalyst for ideas and experimentation, no better prioritization driver than having to face the bugs, annoyances, and limitations of an application first-hand.
Using static websites for tiny archives
I've been creating small, hand-written websites to organise my files. It's a lightweight, flexible approach that I hope will last a long time.
Firefox marketshare revisited
Why building a better browser doesn’t translate to a better marketshare I posted a couple weeks ago about Chrome effectively having won the browser wars. The market share observations in the blog p…
Choose Firefox Now, Or Later You Won't Get A Choice
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
How Does Mastodon Work?
I’ve spoken about Mastodon numerous times on this blog. It is the social media platform I use more than any other, but for a new user it can be confusing because it doesn’t work like other social media sites.
Functional core, imperative shell (2012)
Purely functional code makes some things easier to understand: because values don't change, you can call functions and know that only their return value matters—they don't change anything outside themselves. But this makes many real-world applications difficult: how do you write to a database, or to the screen? In…
How to win at CORS
The 'how' and 'why' of CORS, from start to finish.
Take a look at Traefik, even if you don't use containers
Traefik got really popular over the last few years in the bubble of home-lab youtubers , that’s when I first heard about it.