Kristian Freeman
Searching...
No results found
About

All Posts

155 articles

January 24, 2026 4 min read

How I Use OpenClaw

OpenClaw tutorial: my setup for an AI assistant that handles tasks, calendar, finances, and more

AI Tech
January 3, 2026 2 min read

Agentic coding is the default

A brief exploration of how I write code in 2026.

AI
October 18, 2025 5 min read

My talk from Hono Conference 2025

A link to the slides and a brief overview of what I talked about at Hono Conference 2025.

June 30, 2025 4 min read

Closing a cleaning company

Reflections on one of my 2025 projects, and why it didn't work out

Projects
June 17, 2025 2 min read

How I'm doing plain-text accounting

Getting started with hledger for bookkeeping

Tech
June 16, 2025 3 min read

Re-encoding a media library

Notes on considering AV1 encoding for my Plex library

Tech
June 7, 2025 3 min read

Ecovacs Goat A3000 Review

My experience with a robot lawn mower

Tech
May 24, 2025 4 min read

Four Ideas from Extensive Claude Code Usage

Four practical ideas for getting more out of Claude Code, from planning workflows to memory and tool usage.

AI
April 17, 2025 5 min read

Setting up TeslaMate with Docker and Proxmox

Using Proxmox, Docker, and Tailscale to self-host TeslaMate in your home network

Unix
April 14, 2025 3 min read

Rewriting functionality with Claude Code

Claude Code's coding agent is great for meaningful but non-essential code rewrites

AI Unix
March 17, 2025 3 min read

Building a cleaning company

Documenting my WIP experience building a home service business

Projects
March 17, 2025 2 min read

Skipping 𝕏 for Lent

Reflections on giving up 𝕏 for Lent

Personal
February 24, 2025 2 min read

Image Binding in Workers

How to use Cloudflare Images bindings in Workers to watermark and transform images on your site.

Cloudflare Webdev
February 24, 2025 1 min read

"Act as my personal strategic advisor"

A cool AI prompt to help you make decisions.

AI
February 22, 2025 4 min read

Redesigning

Thoughts on application facelifts.

Webdev
February 5, 2025 2 min read

Programatically generated weather SVGs

Using Workers to generate weather SVGs for my newsletter

Cloudflare Webdev Projects
February 4, 2025 3 min read

DIY Error Monitor

Building a DIY error monitor for serverless applications using Cloudflare Tail Workers, DeepSeek, and Slack

Cloudflare AI Webdev
January 30, 2025 5 min read

San Marcos TX Life

Building a local newsletter for San Marcos, TX.

Projects
January 29, 2025 2 min read

Sleepy Time Tea

My recipe for tea at nighttime.

Health
January 29, 2025 4 min read

The switch to Linear

I switched everything in my life to Linear - here's why.

Personal
January 29, 2025 3 min read

Caching Middleware with Deepseek and Workers

Building an AI-powered caching layer for "smarter" (this is questionable) content delivery

Cloudflare AI
January 23, 2025 4 min read

Integrating Workers Assets with Fullstack Apps

How to integrate Workers Assets, service bindings, and full-stack apps

Astro Cloudflare Webdev
January 10, 2025 1 min read

Recursively transcode FLAC files to MP3

A quick script for recursively transcoding lossless FLAC files to MP3

Tip
January 6, 2025 2 min read

My Morning Coffee

My morning coffee routine.

Health
January 6, 2025 3 min read

Misogi 2025

Reflections on my big, overarching goal for 2025

Personal
January 1, 2025 3 min read

About

About Kristian Freeman

December 27, 2024 4 min read

2024 Year in Review

My 2024 in review

Personal
November 21, 2024 2 min read

Date and time numbers cheatsheet

A list of date and time numbers that all programmers should know

Tip
November 21, 2024 1 min read

How to Generate Types for a Supabase Project

Learn how to generate types for a Supabase project using the Supabase CLI.

Webdev Tip
November 18, 2024 2 min read

How to filter shell output with grep

Embracing the Unix philosophy and some basic grep tricks to easily scan noisy logs.

Tip
November 17, 2024 4 min read

Running a Ruby on Rails Application in Nix

A minimal configuration for running a Ruby on Rails application in Nix

Webdev
November 10, 2024 6 min read

Beverage Hydration Index

Why Coca-Cola may be better than water.

Health
November 8, 2024 3 min read

My starter macOS Nix Config

What I used on a new macOS machine to write and publish this post.

Tech Unix
November 8, 2024 8 min read

Just enough Obsidian

More about my Obsidian process: themes, plugins, styling, best practices.

Obsidian
November 7, 2024 2 min read

Message of the Day

Different ways to implement the 'Message of the Day' in Unix machines

Unix
November 6, 2024 2 min read

Success with Obsidian

Maybe the trick is just to write about and document things you actually care about.

Obsidian Personal
November 5, 2024 1 min read

Install fonts with Homebrew

How to install most fonts in a single command, using Homebrew.

Tip
November 5, 2024 2 min read

Effective web clipping with Obsidian

How to make custom clipping templates with Obsidian Web Clipper

Obsidian
November 4, 2024 5 min read

Get started with 𝕏 AI and Grok

An introduction to 𝕏 AI and the Grok foundational models, with sample code.

AI Webdev
October 31, 2024 1 min read

Tailwind Child Selectors

How to use child selectors in Tailwind CSS 3.1+.

Webdev Tip
October 31, 2024 4 min read

How I Record Videos

A description of my process for recording videos for software developers, in 2024.

Tech Webdev
October 31, 2024 2 min read

M4 Macs

Some brief thoughts on the new Mac hardware announced this week.

Tech
October 29, 2024 3 min read

Workers Entrypoints

A Cloudflare Workers application can have multiple entrypoints, allowing for different usage patterns.

Cloudflare Webdev
October 28, 2024 3 min read

An introduction to Cloudflare Workflows

How to get started with a great new feature in Cloudflare's developer platform.

Cloudflare Webdev
October 27, 2024 2 min read

Recommended Icon Libraries

A rundown of three icon libraries I recommend for React/webdev projects.

Webdev
October 27, 2024 2 min read

Announcing the Astro Cloudflare Redirects integration

A plugin for Astro to automatically generate redirects using Cloudflare's _redirects file specification.

Astro Webdev
October 26, 2024 3 min read

Donor Advised Funds

A tax-advantaged investment vehicle for charitable donations.

Finance
October 26, 2024 2 min read

Building an indexer

An open-source solution for indexing your site.

SEO Webdev Projects
October 25, 2024 2 min read

Effective indexing

Strategies for improving your site's SEO and indexing.

SEO Meta
October 23, 2024 2 min read

The Astro Rewrite

Migrating my blog from bearblog.dev to Astro.

Astro Meta Webdev
October 21, 2024 2 min read

The McMaster-Carrification effect

Improving this site with tweaks inspired by McMaster-Carr.

Meta Webdev
October 21, 2024 3 min read

ShipFast Vulnerabilities

A look at the vulnerabilities in ShipFast.

Webdev
October 10, 2024 2 min read

Building Your Own Radio Network with Liquidsoap

Building a localhost radio empire.

Unix Projects
October 8, 2024 2 min read

Understanding Astro's getStaticPaths function

How to use one of Astro's most powerful features for static site generation.

Astro Webdev
October 8, 2024 3 min read

Increasing Lighthouse Score to 100

Some performance tricks for improving the Lighthouse score of this site.

Webdev
October 8, 2024 1 min read

Releasing my bearblog Chrome extension

A Chrome extension for navigating bearblog.

Bear Meta Webdev
October 8, 2024 1 min read

Defer Loading CSS with One Line of Code

How to defer CSS loading with one line of code.

Webdev Tip
October 7, 2024 4 min read

The big bearblog syntax highlighting hack

A terribly convoluted way to add syntax highlighting to bearblog.

Bear Meta Webdev
October 7, 2024 2 min read

How to Add Cloudflare Turnstile to Your Ruby on Rails Application

Adding protection to your Rails app with Cloudflare Turnstile.

Cloudflare Webdev Tip
October 7, 2024 7 min read

An Introduction to Astro's Content System

An in-depth look at how to use Astro's powerful content system.

Astro Webdev
October 6, 2024 1 min read

How to use Lucide icons via a CDN

A simple way to use Lucide icons in situations where you can't use NPM.

Tip
October 2, 2024 2 min read

The quest for pure aspirin

Sourcing high quality aspirin powder.

Health
October 2, 2024 4 min read

Just enough Zustand

An introduction to Zustand, a great state management library for React.

Webdev
September 29, 2024 3 min read

Deploying Astro Applications to Cloudflare

Details on how to deploy full-stack Astro apps to Cloudflare.

Astro Webdev
September 28, 2024 1 min read

Shadcn/ui review

A quick review of an excellent React UI library.

Webdev
September 22, 2024 1 min read

IDGAF git commit

A quick way to commit early, and often.

Unix Tip
September 22, 2024 1 min read

Blog RSS auto-backlinks on a GitHub repo

A tricky hack for adding backlinks to a GitHub repo.

SEO Meta Projects
September 22, 2024 1 min read

Creating a custom post list page in Bear

How to add custom pages to bearblog for a specific tag.

Bear Meta
September 22, 2024 2 min read

Shopping list of non-toxic products

A running list of health products I'm using, primarily around eliminating toxic PUFAs.

Health
September 22, 2024 1 min read

Create a Zellij instance with a useful session name

Fixing one of zellij's annoying quirks.

Unix Tip
September 18, 2024 3 min read

Honor the change

Reflections on the summer of 2024.

Personal
July 17, 2024 2 min read

Recent developer tool discoveries

Some tools I've discovered recently that have improved my development experience.

Unix Tip
June 15, 2024 1 min read

What to do with a newsletter?

A thought on the value of newsletters.

Meta
June 12, 2024 2 min read

Digital throwaways, physical keepsakes

Collecting physical media, versus staying fully digital.

Personal
June 10, 2024 1 min read

Full-stack development is a superpower

Developers: invest in full-stack development skills.

Webdev
June 8, 2024 2 min read

Replaying Majora's Mask

A great way to replay one of the greatest video games ever made.

Gaming
June 5, 2024 1 min read

What comes next after simple chat UIs in AI?

A look at the next step in developing with AI.

AI Webdev
June 5, 2024 1 min read

Second brain alternative

What if we don't need a second brain?

Obsidian
June 1, 2024 2 min read

Quick review of Zellij

Reviewing a modern terminal multiplexer.

Webdev Unix
May 29, 2024 1 min read

LLMs and voice are really something else

A look at how to use LLMs with voice.

AI Personal
May 28, 2024 2 min read

ShipFast and the world of starter kits

What is the value of a starter kit for builders?

Webdev
May 27, 2024 3 min read

The WHOOP is quite cool

A review of the WHOOP fitness tracker.

Health
May 26, 2024 3 min read

Authenticity and producing content as a Developer Advocate

Some unstructured thoughts on working as a Developer Advocate in 2024.

Webdev
May 26, 2024 2 min read

A great usage of QR codes in the real world

A look at how I built tools for managing my home using QR codes.

Obsidian Webdev Projects
May 25, 2024 1 min read

How to fix 𝕏's broken "Download an archive of your data" feature

A fix for a crucial feature in 𝕏.

Tip
May 25, 2024 2 min read

Second Brain-less

Thoughts on Obsidian and the "second brain" process.

Obsidian
January 17, 2024 4 min read

Domain ranking experiment

A continuous experiment to increase the domain ranking of this site.

SEO Meta
July 24, 2023 1 min read

How to fix the "Cannot Use Import Statement Outside a Module" error in JavaScript

The common JavaScript error "Cannot use import statement outside a module" indicates issues in importing modules and occurs in non-ECMAScript Module (ESM). Here’s a quick solution for both Browser and Node.js (sometimes

Archive
July 24, 2023 1 min read

How to check the installed version of Node.js

Understanding your Node.js version is crucial for managing your software environment. Check it with these steps: Launch your Command Line Interface (CLI), be it Command Prompt, PowerShell, or Terminal. Type the following

Archive
July 24, 2023 2 min read

How to permanently update your shell $PATH

In our blog post "How to check the installed version of Node.js" , we covered situations where your CLI could run a command from an unexpected place: Check where the node command is coming from If you’re expecting that p

Archive Unix
July 16, 2023 2 min read

How to use the unofficial Threads API (with code samples)

Threads is Facebook's new social media platform similar to Twitter. In this blog post, I’ll show you how to interact with the private API via a Python package called threads-net (check it out here ). Note that this API i

Archive
July 12, 2023 2 min read

Three open-source shell setups to improve your terminal experience

Picking an open-source shell framework is a great way to rapidly improve your productivity and workflow while working in the terminal. All of the shell setups I’ll describe in this post offer: – Prompt customization (the

Archive Unix
June 23, 2023 3 min read

How to set up a new macOS system, using Homebrew and Brewfile

I recently bought a new Mac Studio. I needed a fast and organized way to set it up, and also wanted to keep a track of the software I was installing. I wanted to create a system that would allow me to easily replicate th

Archive
January 20, 2023 2 min read

ROMs

Downloading ROMs at scale.

Gaming
December 20, 2022 2 min read

YouTube Music

A process for collecting music from YouTube, for the completionists.

Media
March 30, 2021 2 min read

freeCodeCamp Basic CSS Certification - Complete Study Guide (1 Hour Video)

Last week, I shared what I’ve been working on recently — an up-to-date “codethrough” of freeCodeCamp’s curriculum: walking through every exercise, lesson, and challenge, and adding my own spin on it where possible. I als

Archive
March 23, 2021 2 min read

freeCodeCamp Basic HTML and HTML5 Certification - Complete Study Guide (1 Hour Video)

“How do you learn to code?” When I started coding about a decade ago, that was a difficult question to answer. Projects like Codecademy were just around the corner, but because there weren’t as many interactive resources

Archive
March 18, 2021 7 min read

Building a ShareX-style screenshot workflow on macOS

How to build a workflow similar to the Windows app ShareX on macOS, including uploads, custom hostnames, and clean URLs.

Archive Tip
March 16, 2021 6 min read

How to learn React Native

🎓 What is it? React Native is a tool for building desktop and mobile apps using React, the world’s most popular JavaScript framework. In a super competitive space versus tools like Flutter , Ionic , and Cordova , React

Archive
March 12, 2021 2 min read

Three quick JavaScript tips you can start using today

Use const whenever possible const sets constant variables in JavaScript. This is useful when you don’t want variables to be able to change! Below, we use var to set up a name variable. We can change that variable at any

Archive
March 10, 2021 1 min read

How to update Git in Ubuntu + Windows Subsystem for Linux

Recently, the Git team announced a vulnerability in Git’s cloning mechanism. To mitigate this vulnerability, the team released version 2.30.2. I use Windows Subsystem for Linux (WSL), specifically the Ubuntu distribution

Archive
March 9, 2021 5 min read

Get started with exception monitoring

🎓 What is it? Exception monitoring provides insight into why your application is failing. Unlike normal metrics, exception monitoring worries about error states—often including support for line-by-line code errors, user

Archive
March 5, 2021 1 min read

Everything you need to know from GatsbyConf 2021 in less than 10 minutes

Heard about Gatsby 3.0, gatsby-plugin-image, or any of the other big announcements from GatsbyConf 2021? Check out my recap of the conference in ten minutes or less. <figure class="kg-card kg-embed-card"><iframe allow="a

Archive
March 1, 2021 1 min read

How to customize your Windows Terminal with custom themes and color schemes

If you’re using Windows for your development work like I am, you’ll want to quickly customize your Windows Terminal application to have a better color scheme combination. Here’s a quick video on how to do it 📺 <figure c

Archive
February 23, 2021 6 min read

Address Bar Hacks for Developers

<figure class="kg-card kg-embed-card"><iframe allowfullscreen="allowfullscreen" frameborder="0" loading="lazy" src="https://www.youtube.com/embed/gqt8UFaIa5Q?feature=oembed"></iframe></figure> DDG Bangs DuckDuckGo (DDG)

Archive
February 13, 2021 2 min read

Redirect anything with lilredirector

In this video, I’ll show you how to deploy lilredirector , my open-source redirect engine built for Cloudflare Workers . After six months of testing different architectures, it’s finally ready to deploy on your sites! <f

Archive
February 9, 2021 7 min read

Getting started with Redis

Redis is a powerful key-value database, perfect for caching and in-memory (ephemeral) storage of data. In this issue of Bytesized, we’ll dig into the what , the why , and the how of Redis, and give you the tools you need

Archive
February 3, 2021 2 min read

Understanding the FileList API

The FileList API is used when working with HTML inputs of type file . Let’s start with a basic HTML input, with an id set to file and type set to file : Traditionally, you would target the input (using jQuery or vanilla

Archive
February 2, 2021 5 min read

Get started with Tailwind CSS, the utility-first CSS framework

Tailwind is a utility-first CSS framework. Unlike comprehensive frameworks like Bootstrap or Foundation , which provide solutions for things like cards , forms , and buttons , Tailwind allows you to compose your UI out o

Archive
January 26, 2021 8 min read

What could we build with better tools for thought?

--- Back in November of 2020, I wrote the first issue of Bytesized on human-computer interfaces . That issue was informed a great deal by two things I had been exploring deeply at that time. The first was an excellent bo

Archive
January 19, 2021 6 min read

How to start using Emacs, the programmer's editor

[Emacs](https://www.gnu.org/software/emacs/) is an incredibly customizable text editor built on top of Lisp. It has an infamous reputation among programmers and writers as being one of the most daunting tools you can pic

Archive
January 14, 2021 7 min read

How to build a Discord notification bot for new Ghost members

This blog is powered by Ghost , a great open-source blogging platform. (Editor note: this blog is no longer powered by Ghost, but this blog post is useful, so I’ve retained it.) Recently, I moved the Bytesized newsletter

Archive
January 12, 2021 6 min read

Here's what you need to learn and master Vim, the modal text editor

Vim (Vi IMproved) was first released in 1991 by Bram Moolenaar . It started as a clone of vi , a Unix text editor initially released in 1976. Vim (and Vi) are modal text editors: they have contextual “modes” that allow y

Archive
January 8, 2021 3 min read

14 Great VSCode Resources - Dev Setups, Quickstart Videos, Courses, and Deep Dives

VSCode is the [most popular](https://www.software.com/src/ranking-the-top-5-code-editors-2019) text editor in the world. That’s a remarkable stat on its own, but even more so when you consider how new it is: the first re

Archive
December 15, 2020 6 min read

No-code: why does it matter for developers?

🎓 What is it? Software and services that enable you to build projects (or parts of projects) without writing code. 🤔 Why it matters No-code tooling allows you to do more with less (or, as you might guess, none — in som

Archive
December 8, 2020 7 min read

What is Jamstack? Exploring what you need to know, and how to get started

🎓 What is it? \ *\*JavaScript, APIs, Markup.\*\ * A new (but also old) way of building apps on the web. Per Colby Fayock, who wrote the Jamstack Handbook earlier this year: The Jamstack is a modern architecture that rev

Archive
December 1, 2020 6 min read

Everything you need to know to start with GraphQL

🎓 What is it? A query language for your API . GraphQL allows you to query any of your application’s data from a single endpoint, using a typed query language. GraphQL \ *\*queries\*\ *, which allow you to \ *\*request\*

Archive
November 24, 2020 4 min read

What you need to know to get started with Flutter, the cross-platform app framework

🎓 What is it? Native applications for mobile, web and desktop, from a single codebase. 📌 Right now Flutter is written in a language called Dart . It’s a bit like a strongly-typed JavaScript, and like Flutter, it’s mana

Archive
November 17, 2020 5 min read

Everything you need to know to understand Serverless

🎓 What is it? Serverless computing is a new architecture pattern allowing developers to deploy highly-scalable code to be run on demand, often as functions. ⌛ The past Software is written to run on a computer. That much

Archive
November 10, 2020 4 min read

A brief guide to understanding Svelte.js

🎓 What is it? Cybernetically enhanced web apps . Svelte is a JavaScript framework for building declarative user interfaces. ⌛ The past The frontend development world is dominated right now by frameworks. React is the mo

Archive
November 3, 2020 5 min read

Human-computer interfaces, where we're at in 2020, and why it matters

He could correct the computer’s data, instruct the machine via flow diagrams, and in general interact with it very much as he would with another engineer, except that the “other engineer” would be a precise draftsman, a

Archive
September 16, 2020 2 min read

How to capitalize the first letter of a string in JavaScript

You can capitalize the first letter of a string in JavaScript by using some simple string and array functions. Here’s the complete code sample, followed by an explanation of how it works: How it works — slices and spread

Archive
September 15, 2020 1 min read

Get an HTML element by class in JavaScript

You can target an HTML element with JavaScript by using document.querySelector . This API is similar to jQuery’s basic $ function. Using document.querySelector You can use document.querySelector to target an element, suc

Archive
September 14, 2020 2 min read

How to quit Vim (in five seconds)

Press escape, type :q (colon q), and press enter. It’s a long-standing joke that quitting Vim is *incredibly* hard, but the above should work in pretty much every situation. Let’s unpack it. Pressing escape to return to

Archive
May 25, 2014 3 min read

nvALT

I've been missing taking notes. GTD practitioners will tell you that one of the healthiest things you can do to remove stress is to use an "external" system to capture all your thoughts and goals. For a long time I've us

Archive
May 17, 2014 1 min read

Rooting the HTC One M8

I've seen a lot of posts on rooting the HTC One M8, but everything is either on Windows or assumes a fairly non-technical background. This guide is for *OS X* and people who aren't scared to open up a command prompt. Pre

Archive
May 15, 2014 2 min read

Feeling for iPhone

The short version: **Feeling** , my app for keeping a record of your feelings over time, is now on the iOS App Store .. I've been a believer of quantified self tools in a long time, but find them to be horrendously compl

Archive
April 28, 2014 1 min read

Process on new Rails apps

Thought I'd quickly share a comment I posted on /r/rails in the post "What are the first steps you take when starting a new project?" : First things first – new tmux instance! Crucial. Then... Thorough README, including

Archive
April 23, 2014 2 min read

Live Updating in Development

I spent some time over the last couple days pushing a new redesign of my site, and one of the things I've been meaning to do is set up a better live development process. By that, I mean that when you're writing code, the

Archive
April 15, 2014 2 min read

Sending books to the Kindle

The Kindle is one of those understated devices that has a bunch of cool features underneath. HowToGeek has a couple here , but they're out of scope. So quickly, my favorite feature as a gift, but mostly as future referen

Archive
April 15, 2014 4 min read

Solo DevOps

I've written on the site before about Boxen , GitHub's deployment tool for Macs. While I used it successfully on my personal computer, when it came time for a new work laptop, I threw Boxen out the window as fast as I co

Archive
January 28, 2014 1 min read

ghissu.es

Update: Since most browsers won't load a non-HTTPS link on a HTTPS-enabled site (including this one), I'm going to continue to use the Heroku link for this project until I resolve the HTTPS issues. A quick announcement a

Archive
December 24, 2013 1 min read

Unity

Quickly, on Christmas Eve: I've had an interest in making some kind of game for a long time. I was going to participate in Ludum Dare 24, but I had some personal stuff come up and couldn't get started on it. I still, how

Archive
December 23, 2013 3 min read

Retina MacBook Pro

Today, as some sort of early Christmas present from the overworked employees of delivery services nationwide, four MacBook Pros arrived at work. Upgrading from a 2009 iMac without an SSD, I was expecting the rMBP to be a

Archive
December 23, 2013 1 min read

Hardcore Ruby

<blockquote class="twitter-tweet" lang="en"><p>ruby on rails, hardcore mode:&#10;&#10;class ActiveRecord::Base&#10; def method missing(name, *args, &amp;block)&#10; self.class.destroy all&#10; end&#10;end</p>&mdash; Jake

Archive
November 25, 2013 2 min read

Diff on Commit Idea

I've been thinking of ways to improve as a programmer recently. One of my weak points is testing - while I think I test pretty well (my normal stack is RSpec and Cucumber; I use Jenkins and Simplecov), I would love to be

Archive
November 24, 2013 2 min read

A thirty-one line test framework

I've been reading "Metaprogramming Ruby" the last couple days, and realizing that a lot of what makes Rspec amazing is its usage of metaprogramming. I thought it would be interesting to try and write my own test framewor

Archive
November 9, 2013 4 min read

You Should Learn Vim

Vi IMproved, or Vim , is my favorite text editor. It has a big learning curve, and it's certainly not beautiful, but it is tough as nails and is installed on almost every \*nix system by default. I want you to learn Vim

Archive
October 9, 2013 3 min read

Mavericks

I've been running the GM of OS X 10.9 Mavericks for about a week now. I don't expect much to change between now and the actual release, so I thought I'd write up a couple thoughts quickly. This is by no means a [Siracusa

Archive
October 9, 2013 5 min read

Boxen

I've been eagerly awaiting [OS X Mavericks][mavericks][^1] as it promises [better battery life](http://www.apple.com/osx/preview/advanced-technologies.html) - especially for the newest MacBook Air. The problem with upgra

Archive
September 11, 2013 2 min read

HTTPS For Free

I thought I'd take a bit of time today to secure my website for both readers and myself. HTTPS certificates have a reputation for being somewhat expensive, and complicated. Complicated doesn't bother me, but expensive do

Archive
September 11, 2013 2 min read

Markdown Opinions

Like most [Jekyll] sites, this site is written in [Markdown]. There's a lot of differing opinions on the "right" way to write Markdown, because some portions of it have multiple syntax options. I thought I'd write down m

Archive
September 1, 2013 1 min read

Now Playing Script

I use a 'now playing' script for seeing my last played artist in tmux. Here's what it looks like: It's in a loop because I use the [daemons] gem to run it in the background. The documentation is quite good and it has com

Archive
September 1, 2013 4 min read

Dotfiles

The usage of dotfiles is quite common with programmers. For a long time, I used other people's dotfiles - [Zach Holman][holman] from Github, [Ryan Bates][bates] from Railscasts, and a couple others. These worked pretty w

Archive
August 30, 2013 2 min read

Array.unwrap

I often have situations in Rails where I'm calling a method that either returns a single object or an array of many objects. Take, for example, an ActiveRecord query that will return a User based on certain specification

Archive
August 21, 2013 3 min read

Automatic Check-Ins with Tasker

As I mentioned in my previous post, I switched to Android at the end of last week. I'm still working on a fairly lengthy post about my thoughts on the Android OS, but I thought I'd post quickly about a tool I'm really en

Archive
August 12, 2013 2 min read

Nginx and Subdomains - My Configuration

I recently set up a Jenkins instance for my own personal projects under a subdomain of this website. This involved a little tweaking with some Nginx configs to get it to work. I decided to document this because while it

Archive
August 6, 2013 1 min read

Hipchat + Ruby

I've started to dig into Hipchat because of its killer free plan and I discovered pretty quickly that it has an awesome API, along with an awesome Ruby gem . The really cool part about Hipchat's API is that it has the op

Archive
August 5, 2013 1 min read

Deploying a static Jekyll site

I recently switched my Jekyll site from a Github pages repo to self-hosted on my DigitalOcean server (warning: referral link). The deployment process is not as easy, but I thought it would be a good learning experience.

Archive
August 4, 2013 1 min read

at_most: ActiveRecord limiting in Rails

*tl;dr: at_most is a Ruby gem for limiting the number of AR model instances in your Rails apps* I've found that if I'm repeating a use-case or functionality over multiple apps, it's probably worth extracting into a reusa

Archive
April 9, 2013 2 min read

AndroVM

I've been curious about Android recently -- Google Now as a kind of souped-up Siri was the first to stir my interest, then the promise of implementing my own systems to create a *real* smart phone pushed me over the edge

Archive
April 7, 2013 2 min read

Something Simple (In Todo Apps)

I've been searching for the right todo app for a long time. At this point, I think I've used all the "big apps": OmniFocus , Things , RTM , Reminders.app , Evernote , Wunderlist , The Hit List , Clear , and so on (seriou

Archive
January 29, 2013 2 min read

Tmux, Powerline, and info overload

I've written about tmux before, and I still find it unabashedly awesome. As I've been gluing pieces of status-bar code together, I've been on the lookout for something a bit more organized -- thus discovering tmux-powerl

Archive
January 26, 2013 1 min read

ZSH and Octopress

Octopress has a number of handy rake tasks, which can be easily found with rake -T . My favorite is rake new_post , which bootstraps a Markdown file (much like the one I am currently writing) with the metadata needed to

Archive
November 27, 2012 1 min read

Using new Rails defaults

After a short time with Rails, I'm beginning to find that my tastes in testing frameworks and databases don't exactly match "The Rails Way". While in my beginning studies, I don't plan to make a habit of breaking from tr

Archive
Kristian Freeman

Thoughts, stories, and ideas.

Navigate

  • Home
  • All Posts
  • About

Connect

  • RSS Feed

Powered by EmDash