Technical Tutorials
Step-by-step guides for building things on the web and working with developer tools.
26 postsPublishing My Eleventy Blog to the ATmosphere with Standard.site
A walkthrough of how I wired up Standard.site AT Protocol lexicons into this 11ty blog: from writing a custom publish script to migrating to Sequoia, with code for the link tags, and handle verification.
Blogging with Magic Unicode: Simple Doesn't Have to Mean Boring!
You don't need bloat. You can use CSS variables and Unicode symbols to add visual personality to your personal website while keeping it minimal, accessible, and fast-loading. Includes a reference of symbol sets (celestial, elemental, occult, card suits, chess, zodiac, and more) with colour examples using the Gruvbox palette.
Every Commit A Sentence: Git Commit Messages for Bloggers
I had 448 `feat:` commits and 417 `fix:` commits. Nearly the same count, for wildly different kinds of work. Here's why conventional commits were never designed for a writer's blog, and the eleven-type system I built to replace them.
How Webmentions Work on brennan.day
A tutorial and walkthrough of how I implemented webmentions on my site, from setup to display, including webmention.io integration, Eleventy filters, CSS styling, and Bridgy for sending.
Why Make Your Website Accessible, Anyways?
Web accessibility isn't compliance theatre or checking off a list. It's about designing for everyone. Exploring the curb cut effect, why disability is more common than we think, and practical steps to make your website usable by as many people as possible.
Homelab For the Beginner: You Can Self-host Your Own Server on $50 Hardware
A beginner-friendly guide to building your own homelab on inexpensive hardware. Covers finding old computers, setting up Linux, SSH, Docker, and self-hosting services like password managers, RSS readers, and your own Fediverse instance. Digital sovereignty doesn't require expensive equipment.
Gemini, Gophers, and Fingers. Oh My! Alternative Internets Beyond HTTPS
Finger from 1971, Gopher from 1991, and Gemini from 2019. These protocols offer decentralized, terminal-based alternatives to the modern web. The small web's is in a renaissance. On the solarpunk philosophy of intentional technology, and how these protocols meet you where you are, whether you're on a machine from 2005 or just tired of Chrome's monoculture.
Introducing writer-cli: a bash tool I built from scratch to blog in the terminal!
After finding the tildeverse and the Tilde.town feels engine, I decided to build my own simple command-line tool for blogging that handles the full lifecycle of a blog post (creation, editing, building, and git push). A walkthrough of the design decisions, the modular architecture, and the tradeoffs of writing 700 lines of plain bash.
Cleaning House: Refactoring My Eleventy Config Into Modules
How I decomposed an 866-line .eleventy.js monolith into four focused modules, fixed some lurking bugs, and eliminated dead CSS and dead dependencies along the way.
I Made My Eleventy Build 5× Faster with Five Changes
A walkthrough of how I audited my 11ty build benchmarks and cut cold-start time from 14 seconds down to 2.6 seconds by caching two custom filters and swapping out a bare network fetch.
The Fool's Autopsy
A review of the prank I pulled yesterday, in addition to serious discourse about being silly, including thoughts on the role and importance of satire and literacy. I also share a detailed technical breakdown of the scripts that I added to the prank as well.
Downgrading to macOS Catalina: A Sermon on Obsolescence
A complete step-by-step tutorial for creating a bootable Catalina USB installer using mist-cli on modern macOS in order to downgrade an Early 2015 MacBook Pro from macOS Monterey to Catalina. Accidentally also a philosophical look at planned obsolescence, e-waste, and corporate control over hardware lifespan.
Building brennan.day Part Two: IndieWeb, New Features, and Three Months of Iterations
What have I added to my site since I started in December? Quality-of-life improvements, new pages, interesting features, and of course, easter eggs! When you add a little each day, it really adds up.
My Malware Story Gets Stolen; Yet Another Argument for the IndieWeb
A few days after writing about a weird malware campaign, I discovered that half a dozen cybersecurity news outlets had picked up the story. They now outrank me on Google. A metacommentary on the state of internet journalism, attribution, and what it says that a netsec industry has to rely on amateurs to break stories.
Creating an Alphabetical Tag Page feat. Nunjucks Pitfalls
I transformed a messy tag list into an organized alphabetical sections, and there were a surprising amount of gotchas I encountered along the way.
twtxt: Simple, Decentralized Microblogging with status.lol
I set up an effortless sync between my status.lol updates and a twtxt feed, creating a bridge between IndieWeb tools and classic decentralized microblogging.
Posting to Your Static Site with Quill and Micropub
After building an IndieAuth comment system, I wanted to complete the loop by posting content to my site from an external client. Here's how I implemented a Micropub endpoint for my static site using Quill as the client.
Respecting the No-JS Choice: Making Your Site Work for Everyone
Gracefully degrading my site for no JavaScript, including the CSS-based .no-js approach, testing with Lynx, and creating an informative experience for all users.
From 65 to 83: Attempts at Performance Optimization
A humble look into the performance optimizations boosting my Lighthouse score from 65 to 83, including critical CSS, layout shift fixes, and image optimization while maintaining the site's design and user experience.
Extending the Post Graph Plugin: Adding Clickable Links and Tooltips
A technical walkthrough of how I extended the eleventy-plugin-post-graph to add clickable links and hover tooltips showing article titles.
Building an IndieAuth Comment System for Your Static Site
A journey through authentication, CORS issues, and the joy of owning your comments! Learn how to build a comment system for your static site using IndieAuth and Netlify Functions, storing the comments in your git repository.
auld lang syne: The Commonplace (micro)Log
A simple gratitude journal online, with media tracking and Beeminder integration. Yes, yet another 11ty project technical write-up, but I promise you'll learn something.
Deploying An Eleventy Site to NeoCities with GitLab CI/CD
A guide to automatically deploying your Eleventy static site to NeoCities using GitLab CI/CD, including authentication, error handling, and optimizations.
Why I'm not a Full-stack Dev
The Internet should be a place where ideas can live and spread without people extracting rent at every turn. Where an emerging nonprofit can publish their mission statement without paying Squarespace $300/year. Where a poet can share their work without feeding it into Meta's engagement.
Building brennan.day Part One: Design, Rainbows, and Accessibility
A dive into how this site is built, why it exists, and the philosophy behind owning your corner of the web.
Bring Back the 90's Guestbook with JAMstack: How I Added Dynamic Comments to My Static 11ty Site
Reviving the classic guestbook for a static site using Netlify Forms and serverless functions, with lessons on distributed systems and race conditions.