Series
Astro
RSS, Astro, and Me – Part 1
Astro makes some things incredibly simple, and other things not nearly so.
RSS, Astro, and Me – Part 2
The details of my custom RSS feed.
Map Your Stuff
JavaScript array maps are a common pattern in Astro, and very useful ones at that.
Reponsive Image Rabbit Hole – Part 1
I learned about responsive images the hard way, by misunderstanding how they worked.
Reponsive Image Rabbit Hole – Part 2
Using automation, specifically Astro Image, to give the browser image options.
Reponsive Image Rabbit Hole – Part 3
Some science experiments with Astro Image to show how it and responsive images in general work.
Picture Element Sizes Attribute
A deeper look at controlling image display sizes with the picture element's sizes attribute.
Title Case
A good system should never make you remember its implementation details in order to use.
Astro RSS Compiled Content
Astro RSS now supports full content RSS feed items.
Astro RSS 1.2.0 Update
Astro fixed a bug with Astro RSS that broke custom content.
More on Astro, Image Optimization, and Markdown
A continuing journey to get image optimization for markdown files with Astro.
Podcast Episode Image Script
The optimized image generation step in my podcast show notes image workflow.
Astro Remark Eleventy Image
Christian Ohanaja's Astro Remark Eleventy Image plugin.
Dimensions Are a Nightmare
Responsive Image handling still has some problems, at least to my knowledge.
Astro Markdown Image Story
Astro's in a good place - native markdown image optimization is coming, and there is already an excellent third-party option for those who need it now.
Giving in to Astro Pagination
Blog post pagination: I fought the Astro law and the Astro law won.
Astro-Pagefind
Pagefind is a great find for static site search (thanks to Bryce Wray for that line) and Astro-Pagefind integrates it beautifully into Astro.
Adding to Allowed Tags in Sanitize-Html
sanitize-html is a great utility for cleaning up HTML to include in RSS, among other things, but it has a limited set of allowed tags. Here's how to add to that list.
The Push I Needed to Implement Link Posts
Thanks entirely to Tiffany White creating a GitHub issue on my site repo, I finally implemented something that's been on my site to-do list for some time, but that I've never gotten around to actually doing until now: link posts.
Some Tags
Thanks to the brilliance of those who came before me, I now have tags on my site.
Expressive Code Blocks in Astro
Create more compelling code blocks and syntax highlighting in Astro with Expressive Code and astro-expressive-code.
Get Rid of Theme Flicker
Avoiding theme flicker on Astro sites with multiple themes.
A Series of Series
I write a lot of posts that are topically related, so now I can lump posts together in a series.
Astro 3 and Responsive Images
Astro 3 required me to rethink my site image optimization strategy yet again. Am I finally done? Probably not.
Astro 3.3 Picture Component
Astro 3.3 dramatically improves the Astro image optimization story once again.
Auto-Generated Last Modified Date in Astro
If you have a page that you want to show the last modified date on, Astro and remark can do it for you automatically.
Astro Icon 1.x Upgrade
Upgrading to Astro Icon 1.x from older versions.
Astro Templates for JSON Data
Using a JSON data file and rendering it in Astro page templates.
Using Git Hooks for Displaying Last Modified Dates
Git hooks are pretty cool. I'm using pre-commit to conditionally update the last modified date on certain pages in my blog. Here's how I did it.
Astro Sitemap Page Modified Timestamps
I was asked a question on Threads about how to apply my Last Modified Dates using Git pre-commit to Astro's Sitemap integration.
Remarking the Socials
How I learned to paste links into my blog and have them magically converted into amazing embeds.
Astro 5 Upgrade
Astro 5 is out with a number of changes from Astro 4. The good news is I was able to upgrade instantly with no modifications (but there are some to come later).
Creating Drafts in Astro 5
I did something I should have done a long time ago and added draft functionality to this website.
Media Reviews Are Now in Search Results
My media reviews now show up in site search results for easier discovery.
Mac
Whispering Podcast Transcripts
Whisper.cpp is a C/C++ port of OpenAI's Whisper that might meet your needs for audio transcription.
Bunch
Bunch is an amazing little automation tool for controlling work environments on your Mac.
Bunch of Amphetamine
A hyper addition to my podcast workflow that keeps my Mac awake at all times.
AppleScript GPT
ChatGPT doesn't always get programming right.
One (More?) Thing
Automating displaying my IP address in my menu bar.
One More One More Thing: LaunchControl
While debugging a broken LaunchAgent script, I discovered a great utility.
All the GPTs
Mac and iOS users have some great options for ChatGPT tools.
DraftsGPT
Drafts now has access to the OpenAI API for ChatGPT
Automatic Image Processing With AppleScript and Retrobatch
I now have automatic image processing for my Friends with Brews images that happens automatically when I drop images in a folder, and I love it.
Editing Safari Bookmark Descriptions in macOS
Editing Safari bookmark descriptions and the (more interesting) backstory of why I stumbled across how to do it.
Fastmarks and Safari Bookmark Descriptions
Fastmarks and Safari bookmark descriptions are a poweruser bookmark search combination supreme.
My Podcasting Setup – the Hardware
Part 1 of a series on podcasting setups and workflows. This is the hardware I use for podcasting.
My Podcasting Setup - Recording Software
Part 2 of a series on podcasting setups and workflows. This is the software I use for recording podcasts.
Podcast Recording Practices
Part 3 of a series on podcasting setups and workflows. These are some things you should consider in order to record a clean, pleasant sounding podcast.
Podcast Transcripts With Audio Hijack
Rogue Amoeba just added a Whisper powered transcription feature to Audio Hijack, and I am going to give it a try.
Grin and Bear It
Rethinking how I write blog posts on the Mac.
Mac 40
I don’t know if you’ve heard, but the Mac turned 40. And what a glorious 40 it is.
ScreenFloat Your Screenshots
ScreenFloat is my current choice of screenshot utility for the Mac because of its functionality and customizability.
TextBuddy Custom Links
Custom Links is a pretty cool automation feature in TextBuddy for automatically transforming specific text patterns into clickable links.
QuickTune Is Beautiful and MacStories Knows It
Mario Guzmán has made some beautiful apps over the years, and QuickTune tops the list.
Show Me More, but Let Me Read It
I'm genuinely baffled by Apple's approach to font size with respect to screen resolution.
OCR in CleanShot X
CleanShot X has Text Recognition using OCR technology, a handy tool I use all the time.
Scrolling Screenshots in CleanShot X
Need a screenshot of a long web page? CleanShot X has a function for that.
Moom 4
Mac window management tools are a dime a dozen, but Moom 4 stands out for its versatility and for being fun to use.
SuperDuper Invisible
Here's a funny little UI quirk in SuperDuper! (which I love, by the way).
Initial SuperDuper Copy
A tip for making your first SuperDuper! drive copy.
BBEdit for Log Analysis
BBEdit is not my choice of code editor or writing app, but for logfile analysis, it's the best.
SSH Connections in Visual Studio Code
Use alternate ssh configs to execute remote commands for ssh connections in Visual Studio Code.
Automation Workflow for Media Reviews
My automation workflow chain for getting quick reviews of media onto my website.
Spotlight
Spotomation, Part 1 – Spotlighting
macOS 26 brings with it a more powerful Spotlight, and with it, a challenge – can it replace Raycast?
Spotomation, Part 2 – Replacing AI
macOS 26 brings with it a more powerful Spotlight, and with it, a challenge – can it replace Raycast, specifically Raycast AI?
Spotomation, Part 3 – Snippety Snippets
Replacing Raycast inherently means finding a really good alternative snippet and text expander app. Here's mine.