Web Development

Sponsoring sqlite-vec to enable more powerful Local AI applications – Mozilla Hacks

Mozilla’s recently announced Builders program supports projects that advance the cause of open source AI. Our inaugural theme is “Local...

Windows WASD Keys Reversed with Arrow Keys

This past weekend I had the opportunity to be what every father wants, if only for a moment: the "cool dad". My...

An Essential Value – A List Apart

Humility, a designer’s essential value—that has a nice ring to it. What about humility, an office manager’s essential value? Or a dentist’s? Or a...

A Comprehensive Guide to Distributed Databases

Table of contentIntroductionUnderstanding the CAP Attributesa. Consistencyb. Availabilityc. Partition ToleranceThe CAP Trade-offsa. Consistency and Availability (CA)b....

Snapshots for IPC Fuzzing – Mozilla Hacks

Process separation is one of the cornerstones of the Firefox security model. Instead of running Firefox as a single process,...

How to Retrieve WiFi Password on Windows

Remembering the WiFi password when on a guest network is never easy. Even worse is when it's no longer posted and someone else...

I am a creative.

I am a creative. What I do is alchemy. It is a mystery. I do not so much do it, as let it be...

Why Your API is ‘Broken by Design’ Without JSON Schema

People might argue that JSON Schema is overkill or outdated. But in this article, we'll explore...

Announcing Official Puppeteer Support for Firefox – Mozilla Hacks

We’re pleased to announce that, as of version 23, the Puppeteer browser automation library now has first-class support for Firefox....

How to Set Date Time from Mac Command Line

Working on a web extension that ships to an app store and isn't immediately modifiable, like a website, can be difficult. Since you...

Opportunities for AI in Accessibility – A List Apart

In reading Joe Dolson’s recent piece on the intersection of AI and accessibility, I absolutely appreciated the skepticism that he has for AI in...

SemVer to CalVer and Beyond. And Which One Should You Choose?

Introduction to VersioningIf you're a software veteran, you already know what versioning is and why it...

0Din: A GenAI Bug Bounty Program – Securing Tomorrow’s AI Together – Mozilla Hacks

As AI continues to evolve, so do the threats against it. As these GenAI systems become more sophisticated and widely...

Case Insensitive CSS Attribute Selector

CSS selectors never cease to amaze me in how powerful they can be in matching complex patterns. Most of that flexibility is in...

The Wax and the Wane of the Web – A List Apart

I offer a single bit of advice to friends and family when they become new parents: When you start to think that you’ve got...

What Happened to These ‘Game-Changing’ JavaScript Projects in the last 10 years? And What’s Next?

It’s been 10 years since I first set off on my software engineering journey back in...