RSSAmplifier

Blog

prepitaph

prepitaph.orgRSS feed ↗58 posts

Latest posts

Exfiltrating GitHub Gists

snippet by FND May 14, 2026 Everyone’s leaving the dilapidated slop factory. My own efforts were stumped by GitHub’s account-data export being incomplete: Gists were missing. Recovering them was a matter of assembling a couple of throwaway scripts.

Text Compression with Web Standards

snippet by FND January 25, 2026 An ill-advised return to the rabbit hole of personal web apps and client-side secrets left me with a series of usability challenges. Naturally, those could only be addressed by fumbling with byte streams.

Animated Hamburger Icon

snippet by FND September 19, 2025 While I’m generally skeptical of hamburger menus, sometimes they seem unavoidable – or at least pragmatic in a resigned kind of way. So we might as well try to get the icon right.

Animating Text Color

snippet by FND August 31, 2025 I recently helped build a website in stark mode: Intentionally gaudy colors on dark background. That design necessitated visual flourishes for top-level navigation links to stand out when activated.

Faceted Filtering with Constructed Style Sheets

by FND June 29, 2025 An effort to escape irksome constraints of enterprise software not only made me appreciate the impact of modern CSS when combined with JavaScript APIs, it also taught me a few things about progressive enhancement, performance and accessibility.

HTML Templating Lessons

journal by FND June 29, 2025 Joe Lanman’s inquiry about server-side templating prompted me to connect some dots for myself.

Elusive Markup Abstractions

by FND April 27, 2025 Subpar templating remains an obstacle to generating usable HTML.

Permeable Borders

snippet by FND March 26, 2025 Strict border controls are an anachronism, so why not have our CSS reflect that?

Automation Lessons

by cdent February 28, 2025 When creating software, ensure there are working harnesses for testing, installation, and upgrade first.

MacBook Setup

journal by FND January 4, 2025 I’m in the process of setting up a new-ish MacBook. Unusually, this isn’t currently my primary machine, which gives me some leeway to really start from scratch instead of just transferring all the cruft accumulated over the years.

Memoization with Lazy Getters

snippet by FND December 15, 2024

HTTP Routing with Web Standards

by FND November 22, 2024 Routing HTTP requests is now fairly straightforward in JavaScript thanks to the URL Pattern API . That’s useful both in a browser context (e.g. for service workers) and on the server side with WinterCG -compatible runtimes.

Constraints Are a Good Thing

by FND November 18, 2024

Exfiltrating Exchange E-Mails

by FND November 15, 2024 If you’re forced to use Microsoft’s Outlook/Exchange infrastructure or erroneously employed IMAP, you might need an exit strategy.

Literacy

by cdent August 5, 2024 If you want to be remote, learn to be literate. If you want your team to support remote workers, make time for literature.

Garbage Collection for Event Listeners

by FND July 29, 2024 In order to avoid memory leaks and prevent subtle bugs, we typically need to remove event listeners when the respective DOM element disappears. Except the browser already takes care of this for descendants.

Readcently: Semmel Roll

journal by FND July 26, 2024 Hot on the heels of yesterday’s inaugural journal , I’ve decided to revisit the handful of bookmarks I currently consider seminal: Pieces I often refer to in discussions, sometimes with myself.

Readcently

journal by FND July 25, 2024 Loosely inspired by Sara Joy’s Weak Notes , my breakfast brain decided a facile pun was necessary to finally try something I’d been considering for a while: Consciously review stuff I’ve bookmarked, re-assess with some distance and highlight things that still seem noteworthy.

Debugging CSS Custom Properties

snippet by FND July 18, 2024

CSS-Only Ripple Effect

snippet by FND July 17, 2024

CSS Nesting Syntax Conversion

snippet by FND July 13, 2024

CSS Vector-Path Scaling

by FND July 10, 2024 CSS allows for arbitrary shapes these days. Getting the details right turns out to be a little challenging.

Tricking Browsers into Nesting Forms

by FND May 4, 2024 Turns out the HTML parser and DOM APIs don’t always agree on semantic constraints.

Subverting the Cascade

by FND March 29, 2024 The cascade is what makes CSS powerful and special. And yet, sometimes we want to limit that power for containment purposes.

Virtual JavaScript Modules

snippet by FND March 23, 2024 Given my penchant for minimal test cases and local applications , I sometimes run into situations where I can’t load external JavaScript files. Typically that’s because ESM is unsupported for file:// URIs or because I don’t wanna rely on additional assets for a Web Worker.

Default Map in JavaScript

snippet by FND March 22, 2024 I’ve always liked Python’s defaultdict and occasionally find myself reimplementing it in other languages, notably JavaScript – typically for some kind of dynamic indexing.

Easy to Test, Easy to Change

by cdent February 27, 2024

File-System Access in the Browser

by FND February 4, 2024 Every so often I create another local web application , for myself or others – mostly because not relying on a server seems more sustainable and eternally trustworthy , especially for personal, single-purpose projects. Sometimes all you want to rely on is a web browser.

Scroll Shadows

snippet by FND January 28, 2024

CSS Color Scheme

snippet by FND January 24, 2024

EditorConfig

snippet by FND January 10, 2024

Two-Factor Authentication on the Command Line

snippet by FND January 7, 2024

Technology as Attractive Nuisance

by FND December 31, 2023 Purveyors of software must exercise reasonable care to guard against decontextualization of architectural choices.

Subgrid for Nested Alignment

snippet by FND December 19, 2023

Skeumorphic Text Highlighting

snippet by FND December 18, 2023

HTML Boilerplate

snippet by FND December 17, 2023 I probably create dozens of HTML documents each month, usually for experiments or minimal test cases . Consequently, I’ve long maintained a carefully crafted HTML template, included below, which I typically reduce to only retain pieces that are strictly necessary (e.g. removing the external style sheet or .stack utility).

Code Splitting for Humans

by FND December 10, 2023 JavaScript bundles don’t need to be monolithic, even without surrendering control to inscrutable algorithms. Here’s an approach for explicitly sharing code between multiple bundles.

Theming with Constructed Style Sheets

by FND November 26, 2023 Constructable Style Sheets are useful to inject and control styles via JavaScript.

Augmenting JavaScript with Static Typing

by FND October 1, 2023 As we’ve learned from the brouhaha around Svelte’s use of TypeScript, JSDoc makes it possible to write plain JavaScript while getting the benefits of static typing.

Encrypted Web Documents

by FND August 31, 2023 There are many options these days for securely sharing sensitive data, but they typically require some kind of shared infrastructure. Sometimes all you can rely on is the web.

From HTML to DOM Nodes

by FND August 17, 2023 Every once in a while, I need to turn HTML strings into DOM nodes. The mechanisms for doing so are less than obvious and nuanced.

Client-Side Secrets with Web Crypto

by FND July 23, 2023 Reading about Excalidraw’s end-to-end encryption a while back piqued my interest: Given my TiddlyWiki background , the idea of using a server to exchange sensitive data without exposing details to anyone else seemed compelling.

Perils of View Transitions

by FND July 15, 2023 View transitions are excellent, but might block concurrent animations as well as interactions while transitioning.

Signals for Reactivity

by FND May 29, 2023 Having been roped into dealing with the excesses of RxJS lately, I’d been wondering about Angular folks’ excitement about signals . So I finally sat down in an effort to understand the furor.

Banishing npm

by FND April 23, 2023 npm is slow , unwieldy and unsafe. Deno can now serve as a drop-in replacement for front-end development environments.

Dicurious

by FND March 30, 2023 being sent to the dictionary is a gift

Creative Privacy

by FND March 10, 2023 Allowing users to tinker in private is essential to enabling creativity.

Streaming HTML

by FND March 3, 2023 Browsers begin rendering HTML even before the document has been fully downloaded, which can greatly improve perceived performance. Servers can support such progressive rendering by emitting partial HTML chunks as soon as possible.

Lazy Custom Elements: An Undercover Primer

by FND February 13, 2023 At face value, An Approach to Lazy Loading Custom Elements appears to propose a solution for on-demand loading of web components. It’s actually subtle propaganda for custom elements.

Lightweight HTML Templating with JavaScript

by FND February 10, 2023 Sometimes I need to generate HTML without relying on external dependencies.