Tech Blog
You'll find technical posts here. I write about Life, the Universe, and STEAM and Ask me about my podcast over on Substack.
Slugify headings for filenames in Obsidian
I was mildly inconvenienced in my quest for improved publishing workflows, so I figured out how to write an Obsidian plugin to slugify filenames from headings.
December 31, 20243 minsGist Links to Embeds in Markdown on Next.js
Convert unadorned gist links in markdown to React-compatible embeds in Next.js.
December 24, 20231 minsGenerate QOTD in Obsidian templates
Programmatically insert quotes into Obsidian templates with Templater
December 20, 20231 minsShare sessions across subdomains with Supabase
Quick snippet for sharing cookies across subdomains using Supabase auth.
October 5, 20231 minsMigrate WordPress to Eleventy with Colocated Images
How I migrated old WordPress blogs to Eleventy with colocated image support.
September 23, 20236 minsAccessing pathname in NextJS generateMetadata
An annoying hack to get access to the current pathname in Next.js 13 app router generateMetadata function.
September 10, 20231 minsRecently, in workflow optimisation
An revision of tools for improved productivity and workflow management.
August 28, 20235 minsConvert DeepGram to Descript transcript format
Use DeepGram transcripts in your Descript projects.
January 1, 20231 minsProgrammatically Post to Mastodon with Make
Use web requests to automate or programmatically post to Mastodon with Make.
January 1, 20233 minsColocated images with MDX and Next.js
An inelegant workaround to use colocated images with MDX on Next.js.
November 8, 20223 minsConvert DeepGram to autoEdit transcript format
Use DeepGram as your Speech-to-Text (STT) engine in autoEdit 3.
November 2, 20221 minsBuggy Font Display on MacOS
Workarounds for letters displaying with cutouts on MacOS.
September 5, 20221 minsProxy Redirect Netlify Sites
Proxy redirect parts of one Netlify site to another.
August 22, 20222 minsImprove DaVinci Resolve Audio Export Quality
Reduce artefacts in audio exports from DaVinci Resolve.
August 5, 20223 minsContentful Embedded Content in Gatsby
Integration and rendering of Contentful embedded assets and entries.
March 18, 20221 minsBookmark everything (Raindrop.io to Tumblr with Zapier)
Automatically post Raindrop.io bookmarks to Tumblr.
February 6, 20222 minsClean-up Extraneous Paragraph Tags and Table Whitespace in MDX on GatsbyJS
MDX wraps components with paragraph tags and can add extra whitespace in tables which produce invalid HTML. This GatsbyJS plugin cleans up the markup.
October 9, 20211 minsBake-in SRT Captions into Videos Using ffmpeg
How to create baked-in captions in videos using srt files and ffmpeg.
October 1, 20211 minsConfigure audio over Xrdp on CentOS
Configuring Xrdp on CentOS for use over Microsoft Remote Desktop.
December 23, 20203 minsGenerate SRT files with Google Cloud Services
Using Google Cloud Services Speech to Text to generate SRT files from short videos.
December 4, 20202 minsCreate Group Permissions with Migrations in Django
How to create permissions on groups in Django in a migration.
November 6, 20201 minsFairlight Audio Clean-Up
The technical details behind the creation of STEAM Powered.
October 1, 20204 minsConvert DaVinci Resolve Markers to YouTube-Compatible Timelines
Use DaVinci Resolve marker EDLs to create timelines that can be used in show notes and YouTube timelines.
July 29, 20201 minsCopying Fairlight settings between timelines
Replicate Fairlight settings when using the same track on multiple timelines.
July 26, 20201 mins