|
Jul 31 |
The Agency Gap
|
Jun 16 |
When Red Buttons Aren't Enough
|
Apr 8 |
Why Developer Tools?
|
Feb 12 |
The Models Want to Reason
|
Feb 2 |
How I Use AI: Early 2025
|
Jan 25 |
AI Slop, Suspicion, and Writing Back
|
|
Dec 14 |
Chain of Continuous Thoughts
|
Oct 12 |
Lake Union's Lonely Trolley: SLU Streetcar Ridership
|
Aug 31 |
TaskWarrior
|
Jul 21 |
How I Use AI: Mid-2024
|
|
Oct 29 |
Avoid Load-bearing Shell Scripts
|
Oct 26 |
Soft Boredom
|
Jun 20 |
Mental Models: Slack
|
Apr 15 |
The Soul of an Old Machine
|
Apr 10 |
Scala Pitfall: Parameterless Function Calls and Misplaced vals
|
Feb 18 |
On Prompt Engineering
|
|
Dec 31 |
2022 in Review
|
Dec 27 |
My Favorite Books of 2022
|
Nov 30 |
On Personal Predictions
|
Jul 17 |
In Praise of Stacked PRs
|
Jul 10 |
So long, and thanks for all the Gophers!
|
Jun 22 |
Mental Model: Difficult Problems vs. Hard Work
|
Jun 20 |
You Need to be Wrong (Sometimes)
|
Jun 16 |
Mental Model: Stages of Change
|
Jun 11 |
NYC 2022 Observations
|
May 18 |
Tools for Making Difficult Decisions
|
May 9 |
Manifold Markets
|
Mar 11 |
One Weird Trick
|
Mar 6 |
Kindle Snippets Viewer
|
Jan 10 |
List of Lists of 2022 Predictions
|
|
Dec 31 |
2021 in Review
|
Dec 19 |
My Favorite Books of 2021
|
Dec 7 |
Branchless Git
|
Nov 14 |
Using Embedding to Disambiguate Types in Go
|
Oct 31 |
Recently - October 2021
|
Oct 17 |
Features of Excellent Code Review Tools
|
Sep 30 |
Recently - September 2021
|
Sep 19 |
Preventing Link Rot in my Obsidian Vault
|
Aug 31 |
Recently - August 2021
|
Aug 17 |
B-Trees: More Than I Thought I'd Want to Know
|
Aug 8 |
DIY Air Quality Sensor
|
Jul 31 |
Recently - July
|
Jun 22 |
2,000 Days Later
|
Jun 6 |
Schedule Your Emails
|
May 31 |
Recently - May
|
May 16 |
Building a Raft
|
May 3 |
Backing up my Google Takeout data
|
Apr 25 |
Recently - April
|
Mar 21 |
Book Review: Gödel, Escher, Bach
|
Mar 7 |
Two Types of Infinity
|
Feb 28 |
Recently - February 28
|
Feb 21 |
Three Layers of Information
|
Feb 11 |
A Hand-wavy Proof for the Infinitude of Prime Numbers
|
Jan 31 |
Recently - January 31
|
Jan 21 |
A Tour of Go 1.16's io/fs package
|
Jan 12 |
My Organization Stack
|
|
Dec 30 |
2020 in Review
|
Dec 23 |
My Favorite Books of 2020
|
Dec 9 |
Thoughts on the Oculus Quest 2
|
Nov 30 |
Recently - November 30
|
Nov 10 |
Recently - November 10
|
Oct 30 |
Goodbye IFTTT
|
Oct 25 |
Recently - October 25
|
Oct 5 |
Recently - October 5
|
Sep 22 |
Five iOS 14 Shortcuts Tips
|
Sep 16 |
Escargotic Commotion
|
Sep 9 |
Recently - September 9
|
Aug 24 |
Week Notes - August 23rd
|
Aug 23 |
Zavináč, an Onomatological Adventure
|
Aug 10 |
Week Notes - August 9
|
Aug 3 |
Week Notes - August 2
|
Jul 30 |
Sinc Split Mechanical Keyboard Build Log
|
Jul 27 |
Week Notes - July 26th
|
Jul 19 |
Week Notes - July 19th
|
Jul 13 |
Week Notes - July 12th
|
Jul 12 |
Building a DIY Pen Plotter: midTbot
|
Jul 10 |
Vim Tip: Open Hugo Page in Browser
|
Jul 5 |
Week Notes - July 5th
|
Jun 28 |
Week Notes - June 28th
|
Jun 27 |
Vim Tip: Paste Markdown Link with Automatic Title Fetching
|
Jun 21 |
Week Notes - June 21st
|
Jun 20 |
Vim Tip: Open Parent Folder in Finder
|
Jun 14 |
Week Notes - June 14th
|
Jun 8 |
Quarantine Notes - Week 13
|
May 31 |
Quarantine Notes - Week 12
|
May 25 |
Quarantine Notes - Week 11
|
May 23 |
Solving the "Miracle Sudoku" in Prolog
|
May 17 |
Quarantine Notes - Week 10
|
May 10 |
Quarantine Notes - Week 9
|
May 3 |
Quarantine Notes - Week 8
|
Apr 26 |
Quarantine Notes - Week 7
|
Apr 23 |
Cancelable Reads in Go
|
Apr 19 |
Quarantine Notes - Week 6
|
Apr 12 |
Quarantine Notes - Week 5
|
Apr 5 |
Quarantine Notes - Week 4
|
Mar 30 |
Quarantine Notes - Week 3
|
Mar 24 |
March Updates
|
Mar 2 |
Creating a Podcast Feed from a YouTube Playlist
|
Feb 20 |
Desktop of Theseus
|
Jan 14 |
Tips for Customizing Hugo RSS Feeds
|
|
Dec 31 |
2019 in Review
|
Dec 26 |
My Favorite Books of 2019
|
Dec 4 |
Fast Rust Docker Builds with "cargo vendor"
|
Nov 21 |
Setting up Cloud Scheduler to Trigger Cloud Run
|
Nov 11 |
The Value in Go's Simplicity
|
Nov 3 |
A Gentle Nudge
|
Sep 5 |
Summer 2019
|
May 28 |
Introducing Messy: An iOS Grid Puzzle Game
|
May 22 |
On Graduating or: What to Optimize For
|
Apr 25 |
Finding Flow in Haskell
|
Apr 1 |
Don't Look at the Keys
|
Mar 7 |
Generative Doodling
|
Feb 12 |
iOS Shortcuts for Data Capture
|
Jan 21 |
Getting Started with Golang Google Cloud Functions
|
|
Dec 31 |
2018 in Review
|
Dec 28 |
My Favorite Books of 2018
|
Nov 26 |
Toward Using the iPad Pro for Development
|
Nov 1 |
Brief Reactions to React Hooks
|
Oct 7 |
Wordscapes
|
Aug 22 |
Live Refreshing Cargo Docs
|
Aug 6 |
Clippy's "cast_lossless" Lint Warning
|
Jul 26 |
Tweaks to Improve your Twitter Usage
|
Jul 2 |
Inertia and When to Break a Habit
|
Jun 6 |
Switching from Jekyll to Hugo
|
May 2 |
Introducing Corral: A Serverless MapReduce Framework
|
Apr 10 |
Counting Scanned Bytes in Go
|
Mar 23 |
Python Idioms in Rust
|
Mar 1 |
Scraping the Web in Golang with Colly and Goquery
|
Feb 2 |
MapReduce on Python is better with MRJob and EMR
|
Jan 17 |
25 Days of using Golang
|
|
Dec 31 |
2017 in Review
|
Nov 21 |
Learning to Like Java
|
Sep 4 |
Internship 2017: Zillow
|
Aug 11 |
Building GitTrophy
|
Jul 9 |
GDQStatus SGDQ 2017: The React Rewrite, Architecture Updates, and Lessons Learned
|
Jun 13 |
How to Deploy a Secure Static Site to AWS with S3 and CloudFront
|
Jun 1 |
My List of Useful Development Tools and Utilities
|
Apr 25 |
Deploying Microservices with Docker
|
Mar 4 |
Podcasts for 2017
|
Feb 19 |
A Better Way to Wrangle Python Environments
|
Feb 18 |
Converting My Unused Desktop into a Home Server
|
Feb 4 |
Task Automation with Todoist and IFTTT
|
Jan 22 |
GDQStat.us AGDQ 2017 Post Mortem
|
|
Dec 18 |
Taking on the Synacor Challenge
|
Nov 24 |
Turkey and Birthday Cake
|
Nov 19 |
Trying My Hand at R
|
Oct 29 |
AGDQ 2017 Schedule Analysis
|
Sep 25 |
Breaking Up with Wunderlist
|
Sep 11 |
The Future of Audio Should be Wireless
|
Aug 23 |
Internship 2016
|
Aug 7 |
Writing For Its Own Sake
|
Jul 27 |
Liquid YAML: Programmatic Data
|
Jul 24 |
GDQStat.us: A Postmortem
|
Jun 25 |
SGDQ 2016 Schedule Analysis
|
May 28 |
Username Grab!
|
May 7 |
Podcast Pileup
|
May 1 |
Optimizing Personal Websites: An Analysis of the Hackathon Hackers Website List
|
Apr 17 |
Wunderschedule and My Productivity Manifesto
|
Apr 11 |
(Belated) Hello World!
|
Apr 8 |
Running a Factorio Server on DigitalOcean
|
Apr 5 |
Why I'm not buying into first generation VR
|
Mar 25 |
Custom Python Interpreters
|
Mar 22 |
Ex Machina (2015)
|
Mar 21 |
Jekyll 'New Post' Script
|
Mar 8 |
Looking back on 100 days of Coding Everyday
|
Feb 27 |
Is Apple going downhill? (2016)
|
Jan 7 |
Watch Later, Offline
|