-
Sleepy time tea
-
Building your own radio network with Liquidsoap
-
My morning coffee
-
Defer loading CSS files with one line of code
-
Increasing Lighthouse score to 100 - how I did it on my blog
-
Understanding Astro's getStaticPaths function
-
Releasing my bearblog Chrome extension
-
How to add Cloudflare Turnstile to your Ruby on Rails application
-
The big bearblog syntax highlighting hack
-
An introduction to Astro's content system
-
How to use Lucide icons via a CDN
-
Domain ranking experiment
-
Just enough Zustand
-
The quest for pure aspirin
-
Deploying Astro applications to Cloudflare
-
Brief shadcn/ui review
-
Creating a custom post list page in Bear
-
Create a zellij instance with a useful session name
-
IDGAF git commit
-
Blog RSS auto-backlinks on a GitHub repo
-
Shopping list – non-toxics
-
Honor the change
-
Recent developer tool discoveries
-
What to do with a newsletter?
-
Digital throwaways, physical keepsakes
-
Full-stack development is a superpower
-
Replaying Majora's Mask
-
Second brain alternative
-
What comes next after simple chat UIs in AI?
-
Quick review of Zellij
-
LLMs and voice are really something else
-
ShipFast and the world of starter kits
-
The WHOOP is quite cool
-
Authenticity and producing content as a Developer Advocate
-
A great usage of QR codes in the real world
-
How to fix 𝕏's broken "Download an archive of your data" feature
-
Second Brain-less
-
A logical naming convention for network devices