New
The latest blog posts to take off on Hacker News. 377 posts.
I added a Bluesky comment section to my blog
How I embedded replies from Bluesky directly on my site.
December in Servo: multiple windows, proxy support, better caching, and more
Come along and meet us at FOSDEM 2026 – we’re speaking there too!
Updates to our web search products and Programmable Search Engine capabilities
Evolving Programmable Search Engine Programmable Search Engine helps hundreds of partners – from academic institutions to retail websites – ...
The lost art of XML
There exists a peculiar amnesia in software engineering regarding XML. Mention it in most circles and you will receive knowing smiles, dismissive waves, the sort of patronizing acknowledgment reserved for technologies deemed passé. "Oh, XML," they say, as if the very syllables carry the weight of obsolescence. "We use…
CSS Optical Illusions
A collection of 50+ optical illusions coded with CSS and HTML. :: Blog post at Alvaro Montoro's Personal Website.
Waiting for dawn in search: Search index, Google rulings and impact on Kagi
This blog post is a follow-up to Dawn of a new era in Search, published last year. A lot has changed: the legal case has advanced, AI has become the central battleground, and the need for...
Snow Simulation Toy
One of the first significant things I ever coded in QBasic was a falling snow simulation- I think they're very soothing to watch, fun to customize, and there's lots of possibilities for extra little delight. Here's one I built on idle afternoons over the holidays this year at my parents. Enjoy!
The Overcomplexity of the Shadcn Radio Button
Radio buttons are built into web browsers. Why are we using a UI library that wraps another UI library that rebuilds radio buttons from scratch? Why does rendering a radio button require multiple dependencies and several kilobytes of JavaScript? How did we make a built-in browser control so complicated?
What came first: the CNAME or the A record?
A recent change to 1.1.1.1 accidentally altered the order of CNAME records in DNS responses, breaking resolution for some clients. This post explores the technical root cause, examines the source code of affected resolvers, and dives into the inherent ambiguities of the DNS RFCs.
Fix your robots.txt or your site disappears from Google
a post from alan w. smith
CSS Web Components for marketing sites (2024)
The truly No JavaScript web component.
A Social Filesystem
Formats over apps.
Dark Mode vs. Light Mode: Which Is Better?
In people with normal vision (or corrected-to-normal vision), visual performance tends to be better with light mode, whereas some people with cataract and related disorders may perform better with dark mode. On the flip side, long-term reading in light mode may be associated with myopia.
Light Mode InFFFFFFlation
Back in the day, light mode wasn’t called “light mode”. It was just the way that computers were, we didn’t really think about turning everything light or dark. Sure, some applications were often dark (photo editors, IDEs, terminals) but everything else was light, and that was fine. What we didn’t notice is that light…
ASCII characters are not pixels: a deep dive into ASCII rendering
A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.
Cloudflare acquires Astro
The Astro Technology Company is joining Cloudflare! Astro remains open-source, MIT-licensed, and platform-agnostic. With Cloudflare's support, we're focusing 100% on building the best framework for content-driven websites. Astro 6 beta is available now.
CVEs affecting the Svelte ecosystem
Time to upgrade
New Safari developer tools provide insight into CSS Grid Lanes
You might have heard recently that Safari Technology Preview 234 landed the final plan for supporting masonry-style layouts in CSS.
Servo 2025 Stats
Some numbers about the evolution of the Servo project and its community during the last years.
The <Geolocation> HTML Element
Discover the new way to request user location data.
ASCII Clouds
A dynamic ASCII art cloud generator that creates cloud patterns in real-time
How to make a damn website (2024)
A lot of people want to make a website but don’t know where to start or they get stuck. That’s in part because our perception of what websites should be has changed so dramatically over the last 20 years.
Text-based web browsers
How do they fare with (not so) recent additions to HTML?
Date is out, Temporal is in
Temporal is the Date system we always wanted in JavaScript. It's extremely close to being available so Mat Marquis thought it would be a good idea to explain exactly what is better about this new JavaScript date system.
Lightpanda migrate DOM implementation to Zig
We replaced LibDOM with a custom Zig implementation for better cohesion across events, Custom Elements, and ShadowDOM. Here's how we built it and what we learned along the way.
The struggle of resizing windows on macOS Tahoe
A lot has already been said about the absurdly large corner radius of windows on macOS Tahoe. People are calling the way it looks comical, like a child’s toy, or downright insane.
HTML-only conditional lazy loading (via preload and media)
The accepted practice is to not add lazy-loading to images above the fold, especially the LCP image, since doing so can delay their loading until the browser has determined they are definitely in the viewport. One problem though is that "above the fold" depends on screen size: an image can be above the fold on desktop…
You are not required to close your <p>, <li>, <img>, or <br> tags in HTML
Debunking an alarmingly common HTML misconception.
How Markdown took over the world
A blog about making culture. Since 1999.