New
The latest blog posts to take off on Hacker News. 8,469 posts.
We are still using 88x31 buttons
introduction If you surf the modern "small web" to any extent you've encountered 88x31 buttons - a staple of late 90s and early 2000's websites under…
What is Local first development
What is local-first software and why does it matter? This guide covers local-first architecture, offline-capable apps with automatic sync, data ownership, and how to build a local-first web app with Vue step by step.
Overengineered Anchor Links
Learn about the overengineered anchoring pattern, a technique to improve the user experience of scrollable content.
The case against conversational interfaces
Conversational interfaces are a bit of a meme. Every couple of years a shiny new AI development emerges and people in tech go "This is it! The next computing paradigm is here! We'll only use natural language going forward!". But then nothing actually changes and we continue using computers the way w
The <select> element can now be customized with CSS
All the same interfaces, sweet new looks.
Minimal CSS-only blurry image placeholders
Here’s a CSS technique that produces blurry image placeholders (LQIPs) without cluttering up your markup — Only a single custom property needed!
The Website Hacker News Is Afraid to Discuss
What bothers me isn’t so much that Daring Fireball is shitlisted at Hacker News. What bothers me is that it’s unexplained.
Hyperlight WASM: Fast, secure, and OS-free
We're announcing the release of Hyperlight Wasm: a Hyperlight virtual machine “micro-guest” that can run wasm component workloads written in many programming languages. Learn more.
You should know this before choosing Next.js
Picking the technology stack for a project is an important and consequential decision. In the enterprise space in particular, it often involves a multi-year commitment with long-lasting implication...
Writing a tiny undo/redo stack in JavaScript
I’ve needed this before - a couple of times. Third time I figured I needed something small, nimble - yet complete. And - at the same time - wondering about how to do it in a very simple manner. I think it worked out great, so let’s dig in. Most UIs will have some form of undo functionality. Now, there are generally…
Move on to ESM-Only
Three years ago, I wrote a post about shipping ESM & CJS in a single package , advocating for dual CJS/ESM formats to ease user migration and trying to make the best of both worlds. Back then, I didn’t fully agree with aggressively shipping ESM-only , as I considered the ecosystem wasn’t ready, especially since the…
Achieving Great Privacy with Safari
Browsers have always been an arena for fighting and flaming over why your browser is the best and has the most features, while all others are inferior and un...
Improving recommendation systems and search in the age of LLMs
Model architectures, data generation, training paradigms, and unified frameworks inspired by LLMs.
Next.js version 15.2.3 has been released to address a security vulnerability
Last week, we published CVE-2025-29927 and patched a critical severity vulnerability in Next.js. Here’s our post-incident analysis and next steps.
Map Features in OpenStreetMap with Computer Vision
Mozilla.ai developed and released the OpenStreetMap AI Helper Blueprint. If you love maps and are interested in training your own computer vision model, you’ll enjoy diving into this Blueprint.
Not OK Cupid – A story of poor email address validation
A story of poor email address validation.
The indieweb doesn't need to “take off”
There's a corner of the Internet where people have been reclaiming their digital independence by hosting their own websites and promoting the idea of owning your own content. It's called the IndieWeb. The community has its own website , IRC channels, social media presence, etc. as well
Claude can now search the web
Claude can now search the internet to provide up-to-date, cited responses on all plans worldwide. Get real-time insights for research, market analysis, and more.
I fear for the unauthenticated web
LLM and AI companies seem to all be in a race to breathe the last breath of air in every room they stumble into. This practice started with larger websites, ones that already had protection from ma...
The Frontend Treadmill
A lot of frontend teams are very convinced that rewriting their frontend will lead to the promised land. And I am the bearer of bad tidings. If you are building a product that you hope has longevity, your frontend framework is the least interesting technical decision for you to make. And all of the time you spend…
Minding the gaps: A new way to draw separators in CSS
Drawing separator lines between various sections of a webpage is a common design technique, which can help to structure the content and make it more readable, as well as more aesthetically pleasing. As we'll see in this article, there are techniques
Memory safety for web fonts
Learn how and why the Chrome team has replaced FreeType with Skrifa.
CVE-2024-9956 – PassKey Account Takeover in All Mobile Browsers
Phishing PassKeys credentials using browser intents
PeerTube v7.1 Is Out
We're excited to release version 7.1 of PeerTube, which continues to evolve graphically, but also to simplify your discoverability! Let's take a close...
Sync Engines Are the Future
We've been building frontends that talk to backends for years. But in the meantime the browser has become an OS. In that case what should your stack look like?
Our interfaces have lost their senses
We programmed them by punching cards, plugging in wires, and flipping switches. Programmers walked among banks of switches and cables, physically choreographing their logic. Being on a computer used to be a full-body experience.
Extracting content from an LCP “protected” ePub
As Cory Doctorow once said "Any time that someone puts a lock on something that belongs to you but won't give you the key, that lock's not there for you." But here's the thing with the LCP DRM scheme; they do give you the key! As I've written about previously, LCP mostly relies on the user entering their password (the…