Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,615 posts.
Inverse Live Coding: A practice for learning web development
I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class use…
Pure CSS GUI icons (experimental)
84 GUI icons created with CSS
Virtual Machines in Your Browser
Updated March 13, 2012 at 10:43PM: I have a list of limitations and known bugs toward the end. Updated March 14, 2012 at 9:30PM: I’ll be on the VMware Community Roundtable podcast at 12:00PM …
Open source Rails apps to study and learn from
If, like me, you learn best by studying other code here's five some open-source rails apps with something to teach. They're a great resource to study and improve your own code, or to use as the starting point for your own applications. All of these applications use Rails 2 but as they are open-source they are a great…
Build a browser engine part 5: Box model and layout tree
This is the latest in a series of articles about writing a simple HTML rendering engine:
CSS's problems are Tailwind's problems
Apparently this horse hasn't been beaten enough.
Wayland is pretty good
I started working on Flyaway with the intention of becoming familiar with Wayland, its protocols and extensions, and the wlroots library. Instead, I ended up genuinely liking all three.
Notes on Buttondown.com
We spent $85,000 for buttondown.com in April; this was the biggest capital expenditure I've ever made, and though it was coming from cash flow generated by B...
Switching to BunnyCDN in Less Than 2 Hours
Update, 2025-04-16: I wrote a follow-up post after about a month of usage, and you can read that here. Given some recent, uh, instability in US politics, and given that everyone likes an underdog, I’ve been looking at European alternatives to my current hosting situation, which is Cloudflare. After looking through…
Service Workers
When authoring JavaScript for the browser, you don't think twice about embedding that JavaScript within an HTML document. Perhaps you load your script via a resource request, or embed it directly within a script tag, but in either scenario the lifecycle of your JavaScript is irrevocably married to its parent document.
Local First Htmx
Overview Part 2 is now ready There is a common refrain on the internet that things have gotten worse and are continuing to get worse. There is a proliferation of horrible jumpy loading ads on every website, every search engine throws a crappy AI summary in front of your search result, every site/webapp seems to have…
Google Homepage Size Over Time
This afternoon, I looked at the source of the main Google page with my browser. It spans my whole monitor and takes 15 pushes of the scroll-wheel to see it all. Whither minimalism? Off to the Wayba…
Project Xanadu: Even More Hindsight (2025)
Retrospective on Project Xanadu’s success and failure: a lack of design iteration, meaningful use-cases, or practicality stopped a valuable vision from maturing into something useful. (And contrasted with my approach.)
React Static Site
I built a doubly static site using React (inc react-router) and Webpack. You can see the current demo here on GitHub or continue reading the following post that explains the steps I took during this experiment. This post proves the basic concept and there will be a followup post covering the fine tuning needed to put…
Building a roam-like, networked, heavily-customized realtime editor, part 1
I can build this. — every developer at least once
The math of CSS locks
CSS Locks are a Responsive Web Design technique that lets you transition smoothly between two property values when the screen gets smaller or bigger.
Vanilla CSS is all you need
Campfire, Writebook, and Fizzy show that modern vanilla CSS can power serious apps without Sass, PostCSS, or a build step.
Spotify Codes – Part 2
In part 1 I dove into Spotify Codes and explained the general technical concepts of how they work. If you haven’t read that post you should check it out. I shared it on reddit where it generated a lot of interesting discussion. Ludvig Strigeus, a key early developer at Spotify and the person who invented Spotify…
I switched to Brave
I've been using Brave for a couple months now after using Firefox for around 25 years. I think Brave will be a permanent change.