kristian freeman

Writing

How I Use OpenClawAgentic coding is the defaultMy talk from Hono Conference 2025Closing a cleaning companyHow I'm doing plain-text accountingRe-encoding a media libraryEcovacs Goat A3000 ReviewFour Ideas from Extensive Claude Code UsageSetting up TeslaMate with Docker and ProxmoxRewriting functionality with Claude CodeBuilding a cleaning company"Act as my personal strategic advisor"Image Binding in WorkersRedesigningProgramatically generated weather SVGsDIY Error MonitorSan Marcos TX LifeThe switch to LinearSleepy Time TeaCaching Middleware with Deepseek and WorkersIntegrating Workers Assets with Fullstack AppsRecursively transcode FLAC files to MP3My Morning CoffeeAboutDate and time numbers cheatsheetHow to Generate Types for a Supabase ProjectHow to filter shell output with grepRunning a Ruby on Rails Application in NixBeverage Hydration IndexJust enough ObsidianMy starter macOS Nix ConfigMessage of the DaySuccess with ObsidianEffective web clipping with ObsidianInstall fonts with HomebrewGet started with 𝕏 AI and GrokHow I Record VideosM4 MacsTailwind Child SelectorsWorkers EntrypointsAn introduction to Cloudflare WorkflowsAnnouncing the Astro Cloudflare Redirects integrationRecommended Icon LibrariesDonor Advised FundsBuilding an indexerEffective indexingThe Astro RewriteShipFast VulnerabilitiesThe McMaster-Carrification effectBuilding Your Own Radio Network with LiquidsoapReleasing my bearblog Chrome extensionDefer Loading CSS with One Line of CodeIncreasing Lighthouse Score to 100Understanding Astro's getStaticPaths functionAn Introduction to Astro's Content SystemHow to Add Cloudflare Turnstile to Your Ruby on Rails ApplicationThe big bearblog syntax highlighting hackHow to use Lucide icons via a CDNJust enough ZustandThe quest for pure aspirinDeploying Astro Applications to CloudflareShadcn/ui reviewCreate a Zellij instance with a useful session nameCreating a custom post list page in BearBlog RSS auto-backlinks on a GitHub repoIDGAF git commitShopping list of non-toxic productsRecent developer tool discoveriesWhat to do with a newsletter?Digital throwaways, physical keepsakesFull-stack development is a superpowerReplaying Majora's MaskSecond brain alternativeWhat comes next after simple chat UIs in AI?Quick review of ZellijLLMs and voice are really something elseShipFast and the world of starter kitsThe WHOOP is quite coolA great usage of QR codes in the real worldAuthenticity and producing content as a Developer AdvocateHow to fix 𝕏's broken "Download an archive of your data" featureSecond Brain-lessDomain ranking experimentHow to fix the "Cannot Use Import Statement Outside a Module" error in JavaScriptHow to check the installed version of Node.jsHow to permanently update your shell $PATHHow to use the unofficial Threads API (with code samples)Three open-source shell setups to improve your terminal experienceHow to set up a new macOS system, using Homebrew and BrewfileROMsYouTube MusicfreeCodeCamp Basic CSS Certification - Complete Study Guide (1 Hour Video)freeCodeCamp Basic HTML and HTML5 Certification - Complete Study Guide (1 Hour Video)Building a ShareX-style screenshot workflow on macOSHow to learn React NativeThree quick JavaScript tips you can start using todayHow to update Git in Ubuntu + Windows Subsystem for LinuxGet started with exception monitoringEverything you need to know from GatsbyConf 2021 in less than 10 minutesHow to customize your Windows Terminal with custom themes and color schemesAddress Bar Hacks for DevelopersRedirect anything with lilredirectorGetting started with RedisUnderstanding the FileList APIGet started with Tailwind CSS, the utility-first CSS frameworkWhat could we build with better tools for thought?How to start using Emacs, the programmer's editorHow to build a Discord notification bot for new Ghost membersHere's what you need to learn and master Vim, the modal text editor14 Great VSCode Resources - Dev Setups, Quickstart Videos, Courses, and Deep DivesNo-code: why does it matter for developers?What is Jamstack? Exploring what you need to know, and how to get startedEverything you need to know to start with GraphQLWhat you need to know to get started with Flutter, the cross-platform app frameworkEverything you need to know to understand ServerlessA brief guide to understanding Svelte.jsHuman-computer interfaces, where we're at in 2020, and why it mattersHow to capitalize the first letter of a string in JavaScriptGet an HTML element by class in JavaScriptHow to quit Vim (in five seconds)nvALTRooting the HTC One M8Feeling for iPhoneProcess on new Rails appsLive Updating in DevelopmentSending books to the KindleSolo DevOpsghissu.esUnityHardcore RubyRetina MacBook ProDiff on Commit IdeaA thirty-one line test frameworkYou Should Learn VimBoxenMavericksHTTPS For FreeMarkdown OpinionsDotfilesNow Playing ScriptArray.unwrapAutomatic Check-Ins with TaskerNginx and Subdomains - My ConfigurationHipchat + RubyDeploying a static Jekyll siteat_most: ActiveRecord limiting in RailsAndroVMSomething Simple (In Todo Apps)Tmux, Powerline, and info overloadZSH and OctopressUsing new Rails defaults