Software Development News and Articles

How to Use package.json imports for Node Aliases
Published on: 6/4/2026 - 4 min read
How to Use package.json imports for Node Aliases
Use Node's package.json imports field for small private aliases like #db, #http/*, and #config without relying on a bundler alias....
How to Use the Cookie Store API
Published on: 6/1/2026 - 5 min read
How to Use the Cookie Store API
The Cookie Store API is the cleaner way to work with script-visible browser cookies. It gives you promise-based reads, object-shaped writes, deletes, and change events instead of forcing you to parse and assign `document.cookie` strings. ...
How to Use Uint8Array Base64 Helpers in JavaScript
Published on: 5/28/2026 - 4 min read
How to Use Uint8Array Base64 Helpers in JavaScript
JavaScript now has native `Uint8Array` helpers for converting bytes to and from Base64 and hex. Use them when your data is actually bytes: file chunks, image payloads, cryptographic output, compact URL tokens, or binary API responses. They are cleaner than `atob()` and `btoa()` because they work with `Uint8Array` directly....
Why HTML-in-Canvas Is Big News
Published on: 5/26/2026 - 6 min read
Why HTML-in-Canvas Is Big News
HTML-in-Canvas is big news because it targets one of the worst tradeoffs in web development: canvas gives you powerful rendering, but once you draw your UI there, you lose a lot of normal browser behavior. Chrome's experimental origin trial points toward a better model where a canvas app can draw real HTML while keeping browser-managed text, controls, focus, accessibility, and interaction....
How to Use Vite Environment Variables Without Leaking Secrets
In Vite, a variable that starts with `VITE_` is public browser configuration, not a secret. Vite exposes it through `import.meta.env` and bundles it into client-side code at build time, so use `VITE_` for values like API base URLs, keep real secrets on the server, and only use `loadEnv()` when `.env` values need to shape `vite.config.*`....
How to Use the Web Locks API to Stop Duplicate Browser Jobs
Use the Web Locks API when the same web app can be open in multiple tabs and only one tab or worker should run a browser-side job at a time. It is a clean fit for sync jobs, cache refreshes, IndexedDB maintenance, and polling loops that should not stampede just because the user opened your app twice....
How to Use Intl.DurationFormat
Published on: 5/21/2026 - 6 min read
How to Use Intl.DurationFormat
Use `Intl.DurationFormat` when your app needs labels like `1 hr, 4 min`, `1:04:09`, or localized equivalents. Keep the duration math in your code, pass a plain duration object to `new Intl.DurationFormat(locale, options).format(duration)`, and stop maintaining English-only string helpers for timers, dashboards, media lengths, and elapsed-time UI....
How to Set Up Fathom Analytics in Your Web Apps
Published on: 5/19/2026 - 6 min read
How to Set Up Fathom Analytics in Your Web Apps
Fathom Analytics can start with one script tag. That is part of its charm. But a useful analytics setup still needs engineering judgment: where the script loads, how client-side routes become pageviews, which actions deserve events, and how to keep your own staging traffic out of production reports....
Use Node's Built-In SQLite For Local App Features
Published on: 5/15/2026 - 6 min read
Use Node's Built-In SQLite For Local App Features
Not every database problem deserves a robust database server. Sometimes you just need a small, durable place to put local state: saved links, CLI cache rows, sync checkpoints, desktop app preferences, integration-test fixtures, or a tiny job queue that only one process owns....
Build a Chrome Extension That Saves Text Snippets From Any Page
The fastest way to misunderstand Chrome extensions is to build one that only says "hello world" and calls it a day. You learn that extensions have a manifest and a popup pretty much. Fine. But the first useful extension you build immediately asks better questions. ...
How to Use UUIDv7 in PostgreSQL 18
Published on: 5/12/2026 - 5 min read
How to Use UUIDv7 in PostgreSQL 18
...
IBM launches an AI platform called Bob
Published on: 4/29/2026 - 5 min read
IBM launches an AI platform called Bob
...
Why AI-Assisted Development Needs Video Receipts
Published on: 4/28/2026 - 6 min read
Why AI-Assisted Development Needs Video Receipts
...
What actually went down with Claude Mythos
Published on: 4/13/2026 - 5 min read
What actually went down with Claude Mythos
...
GitHub Copilot vs Claude Code: Which Is Right for You?
Two very different philosophies for AI-assisted coding. One stays in your editor and whispers. The other rolls up its sleeves and gets to work....
The 3D Web That Never Happened
Published on: 3/25/2026 - 5 min read
The 3D Web That Never Happened
The 3D web never arrived. Most users never consciously encountered a WebGL experience when casually web surfing. And yet today, WebGL is quietly running inside some of the most-used applications on the planet....