Blog
145 posts that I've written since 2012.
"Act as my personal strategic advisor" 2025-02-24
Image Binding in Workers 2025-02-24
Redesigning 2025-02-22
Programatically generated weather SVGs 2025-02-05
DIY Error Monitor 2025-02-04
San Marcos TX Life 2025-01-30
The switch to Linear 2025-01-29
Sleepy Time Tea 2025-01-29
Caching Middleware with Deepseek and Workers 2025-01-29
Integrating Workers Assets with Fullstack Apps 2025-01-23
Recursively transcode FLAC files to MP3 2025-01-10
Misogi 2025 2025-01-06
My Morning Coffee 2025-01-06
2024 Year in Review 2024-12-27
Date and time numbers cheatsheet 2024-11-21
How to Generate Types for a Supabase Project 2024-11-21
How to filter shell output with grep 2024-11-18
Recreating the Matrix Effect 2024-11-18
Running a Ruby on Rails Application in Nix 2024-11-17
Beverage Hydration Index 2024-11-10
Just enough Obsidian 2024-11-08
My starter macOS Nix Config 2024-11-08
Message of the Day 2024-11-07
Success with Obsidian 2024-11-06
Effective web clipping with Obsidian 2024-11-05
Install fonts with Homebrew 2024-11-05
Cloudflare Stream 2024-11-04
Get started with 𝕏 AI and Grok 2024-11-04
Workers GraphQL Server v2 2024-11-01
How I Record Videos 2024-10-31
M4 Macs 2024-10-31
Tailwind Child Selectors 2024-10-31
Workers Entrypoints 2024-10-29
An introduction to Cloudflare Workflows 2024-10-28
Announcing the Astro Cloudflare Redirects integration 2024-10-27
Recommended Icon Libraries 2024-10-27
Donor Advised Funds 2024-10-26
Building an indexer 2024-10-26
Effective indexing 2024-10-25
The Astro Rewrite 2024-10-23
ShipFast Vulnerabilities 2024-10-21
The McMaster-Carrification effect 2024-10-21
Building Your Own Radio Network with Liquidsoap 2024-10-10
Releasing my bearblog Chrome extension 2024-10-08
Defer Loading CSS with One Line of Code 2024-10-08
Increasing Lighthouse Score to 100 2024-10-08
Understanding Astro's getStaticPaths function 2024-10-08
An Introduction to Astro's Content System 2024-10-07
How to Add Cloudflare Turnstile to Your Ruby on Rails Application 2024-10-07
The big bearblog syntax highlighting hack 2024-10-07
How to use Lucide icons via a CDN 2024-10-06
Just enough Zustand 2024-10-02
The quest for pure aspirin 2024-10-02
Deploying Astro Applications to Cloudflare 2024-09-29
Shadcn/ui review 2024-09-28
Create a Zellij instance with a useful session name 2024-09-22
Creating a custom post list page in Bear 2024-09-22
Blog RSS auto-backlinks on a GitHub repo 2024-09-22
IDGAF git commit 2024-09-22
Shopping list of non-toxic products 2024-09-22
Honor the change 2024-09-18
Recent developer tool discoveries 2024-07-17
What to do with a newsletter? 2024-06-15
Digital throwaways, physical keepsakes 2024-06-12
Full-stack development is a superpower 2024-06-10
Replaying Majora's Mask 2024-06-08
Second brain alternative 2024-06-05
What comes next after simple chat UIs in AI? 2024-06-05
Quick review of Zellij 2024-06-01
LLMs and voice are really something else 2024-05-29
ShipFast and the world of starter kits 2024-05-28
The WHOOP is quite cool 2024-05-27
A great usage of QR codes in the real world 2024-05-26
Authenticity and producing content as a Developer Advocate 2024-05-26
How to fix 𝕏's broken "Download an archive of your data" feature 2024-05-25
Second Brain-less 2024-05-25
Domain ranking experiment 2024-01-17
How to fix the "Cannot Use Import Statement Outside a Module" error in JavaScript 2023-07-24
How to check the installed version of Node.js 2023-07-24
How to permanently update your shell $PATH 2023-07-24
How to use the unofficial Threads API (with code samples) 2023-07-16
Three open-source shell setups to improve your terminal experience 2023-07-12
How to set up a new macOS system, using Homebrew and Brewfile 2023-06-23
ROMs 2023-01-20
YouTube Music 2022-12-20
freeCodeCamp Basic CSS Certification - Complete Study Guide (1 Hour Video) 2021-03-30
freeCodeCamp Basic HTML and HTML5 Certification - Complete Study Guide (1 Hour Video) 2021-03-23
Building a ShareX-style screenshot workflow on macOS 2021-03-18
How to learn React Native 2021-03-16
Three quick JavaScript tips you can start using today 2021-03-12
How to update Git in Ubuntu + Windows Subsystem for Linux 2021-03-10
Get started with exception monitoring 2021-03-09
Everything you need to know from GatsbyConf 2021 in less than 10 minutes 2021-03-05
How to customize your Windows Terminal with custom themes and color schemes 2021-03-01
Address Bar Hacks for Developers 2021-02-23
Redirect anything with lilredirector 2021-02-13
Getting started with Redis 2021-02-09
Understanding the FileList API 2021-02-03
Get started with Tailwind CSS, the utility-first CSS framework 2021-02-02
What could we build with better tools for thought? 2021-01-26
How to start using Emacs, the programmer's editor 2021-01-19
How to build a Discord notification bot for new Ghost members 2021-01-14
Here's what you need to learn and master Vim, the modal text editor 2021-01-12
14 Great VSCode Resources - Dev Setups, Quickstart Videos, Courses, and Deep Dives 2021-01-08
No-code: why does it matter for developers? 2020-12-15
What is Jamstack? Exploring what you need to know, and how to get started 2020-12-08
Everything you need to know to start with GraphQL 2020-12-01
What you need to know to get started with Flutter, the cross-platform app framework 2020-11-24
Everything you need to know to understand Serverless 2020-11-17
A brief guide to understanding Svelte.js 2020-11-10
Human-computer interfaces, where we're at in 2020, and why it matters 2020-11-03
How to capitalize the first letter of a string in JavaScript 2020-09-16
Get an HTML element by class in JavaScript 2020-09-15
How to quit Vim (in five seconds) 2020-09-14
nvALT 2014-05-25
Rooting the HTC One M8 2014-05-17
Feeling for iPhone 2014-05-15
Process on new Rails apps 2014-04-28
Live Updating in Development 2014-04-23
Sending books to the Kindle 2014-04-15
Solo DevOps 2014-04-15
ghissu.es 2014-01-28
Unity 2013-12-24
Hardcore Ruby 2013-12-23
Retina MacBook Pro 2013-12-23
Diff on Commit Idea 2013-11-25
A thirty-one line test framework 2013-11-24
You Should Learn Vim 2013-11-09
Boxen 2013-10-09
Mavericks 2013-10-09
HTTPS For Free 2013-09-11
Markdown Opinions 2013-09-11
Dotfiles 2013-09-01
Now Playing Script 2013-09-01
Array.unwrap 2013-08-30
Automatic Check-Ins with Tasker 2013-08-21
Nginx and Subdomains - My Configuration 2013-08-12
Hipchat + Ruby 2013-08-06
Deploying a static Jekyll site 2013-08-05
at_most: ActiveRecord limiting in Rails 2013-08-04
AndroVM 2013-04-09
Something Simple (In Todo Apps) 2013-04-07
Tmux, Powerline, and info overload 2013-01-29
ZSH and Octopress 2013-01-26
Using new Rails defaults 2012-11-27