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