DECEMBER 2025

Wed Dec 24 2025
Learning Assembly by building Space Invaders

I’ve had a goal for the past three years to learn Assembly language. This December, I finally put in serious effort to see if I could get somewhere with it. By recreating a version of Space Invaders and using AI as a personal tutor, I’ve finally understood the low-level magic of manipulating bits and bytes, using registers, and creating bitmapped graphics...

NOVEMBER 2025

Sat Nov 1 2025
No Code November

For the past few years, I've averaged roughly 20 hours a week coding, outside of my regular day job. It's been fun, but it's time for a break. So, for the month of November, I'm putting down the keyboard and doing other things. I'm doing this for a few reasons...

OCTOBER 2025

Fri Oct 24 2025
People who are really serious about blogging should make their own blog

I like this quote from Alan Kay: "People who are really serious about software should make their own hardware". I'm not really that serious about blogging, but I still think if you can make your own blog you should.

Tue Oct 14 2025
You can learn a lot by building a coding agent, part 2

In Part 1, I described Shade's router and how it plays an important role in a local-first, multi-model agent. In Part 2, I show the context management system, arguably the most important component of the system.

Thu Oct 9 2025
MCP and the early-adopter tax

What I've learned over a few decades of being an early adopter is that while it's fun to try out new things early, you end up looking back and wondering if some of it was worth the time and headache.

Wed Oct 1 2025
GitHub GitHubomarchy-delorean-theme

An 80's retro-inspired time traveler's theme for Omarchy, an opinionated Arch Linux distro.

SEPTEMBER 2025

Tue Sep 23 2025
You can learn a lot by building a coding agent, part 1

How I built Shade, an AI-coding agent that uses mutliple local, open-source models to become a capable coding partner.

AUGUST 2025

Tue Aug 12 2025
Input/Output

In 2023, Andrej Karpathy tweeted that 'The hottest new programming language is English', referring to how we're able to prompt AI to generate code instead of writing it out line-by-line. But the irony is most of us are using this 'new programming language' the same way we used the old ones, pecking away at keyboards to translate our thoughts into text.

Mon Aug 4 2025
We're not vibe coding enough

Spend any time in the comments section of a Hacker News post on vibe coding and you'll find plenty of naysayers that point out the perils of letting AI code everything for you. And to be fair they make a lot of good points, especially when it comes to how important it is to ...

JULY 2025

Wed Jul 30 2025
Persuasion machines

In 2024, a group of leading experts in artificial intelligence, including Yoshua Bengio, Geoffrey Hinton, Yuval Noah Harari, Dawn Song, and more published a consensus paper in Science articulating their shared concerns about the risks associated with the rapid advances they were seeing in AI.

Wed Jul 23 2025
Why is the International Math Olympiad significant for AI?

This year's competition saw 630 students from 110 countries; with 67 of those students winning a gold by solving at least 5 of the 6 problems. But there were two other participants this year to take on the challenge: though not officially competing, OpenAI and Google's DeepMind gained special permission from the IMO to let unreleased models work through the same problems under similar constraints.

Mon Jul 21 2025
Consumer robotics are still woefully behind

Two weeks ago, I attended the UN AI for Good Global Summit in Geneva, Switzerland. One part of the conference I was looking forward to was their robotics exhibition, and seeing the advancements made in consumer robotics over the 5+ years since I'd left that world behind...

Thu Jul 17 2025
On context rot and context engineering

When an article trends on the front page of Hacker News for a day or longer, it generally means the article is noteworthy: a new product release, an important discovery, an article about something controversial, or a topic that fosters contentious conversations between participants.

MAY 2025

Wed May 28 2025
The Shift from Actors to Planners

A few weeks ago, I was asked to review a body of work for an engineer who was up for promotion. The body of work consisted of roughly a dozen individual pieces of content to review -- Word docs, PDFs, diagrams, and HTML files. Each document served as evidence that the candidate had mastered the complex systems and architectures required for promotion. I wanted to ...

JULY 2024

Wed Jul 24 2024
GitHub GitHubNotes

A simple tool for taking notes and managing to-do's using Markdown

OCTOBER 2022

Tue Oct 4 2022
Working backwards

In 2021 I entered into the "2021 GitHub Game Off," a competition to create a game from scratch in one month. In the early 1980's I'd used BASIC to start a handful of text-based adventure games (which I never finished), but in the decades since I'd never started another game...

SEPTEMBER 2022

Thu Sep 15 2022
New blog

In late 2020, I took a break from social media. I also took a break from writing and from doing any significant engineering projects, but I didn't take a break from learning. I wish I'd tracked those learnings here -- there'd be more blog posts to fill up the blank spaces. The posts older than this one are those...

JUNE 2022

Thu Jun 16 2022
GitHub GitHubupdate.py

I work from the command line a lot. When I'm working with Lambda, I found myself continually typing the same steps to update my function code. I wrote this script to make the process easier.

DECEMBER 2021

Thu Dec 30 2021
Top Three 2021 - The best books I read in 2021

One of the best books I consumed in 2021 was a 57+ hour audiobook, the longest I've ever listened to.

Thu Dec 2 2021
Haptic feedback during Doom gameplay

A proof-of-concept I wrote to use use computer vision to recognize damage in Doom Eternal and send feedback to haptic device. In my case, the haptic device was a Lego Mindstorms unit I modified that activated a servo to thump me...

Wed Dec 1 2021
GitHub GitHubGitHubGameJam2021

The repo for my game, "Disrupt". This was my entry for the GitHub Game Jam in November, 2021, in which you mange a fleet of delivery trucks to deliver packages while avoding calamaties.

DECEMBER 2020

Mon Dec 28 2020
Top Three 2020 - The best books I read in 2020

My favorite 3 books from 2020 include 1 non-fiction and 2 fiction books. They are...

AUGUST 2020

Tue Aug 11 2020
GitHub GitHubAutonomous driving research using CARLA and Amazon EC2

CARLA is a popular open-source simulator for autonomous driving research. The installation instructions I found always seemed to be geared towards running on a machine running Ubuntu, which is unfortunate if you don't have one. This code helps you get CARLA running on a virtual machine on AWS.

MARCH 2020

Sat Mar 7 2020
GitHub GitHubObjectDetectionAndTracking

Detect and track objects across frames using a pretrained Darknet network and YOLOv3

DECEMBER 2019

Fri Dec 27 2019
GitHub GitHubA phone number-based sign in method built in SwiftUI

I like the idea of account creation and authenticaion via phone number rather than traditional email/password pairs. This is a SwiftUI view I created for iOS that should give you a head start in building phone number-based logins.

Thu Dec 26 2019
Top Three 2019 - The best books I read in 2019

Looking back through the list of books I read this year, I see I focused a lot on non-fiction, and to be honest, it wasn't a great year for reading. I read 29 books, and only two of those were what I would rate as "good," but even then, they weren't even great.

OCTOBER 2019

Fri Oct 18 2019
GitHub GitHubEdge detection in videos or images with Python and CV2

I wrote this script to detect lines and edges in video frames. Althought I wrote this so my robot could detect the edges of walls and baseboards within a room or hallway, it can be useful in lane detection for autonomous vehicles as well.

JULY 2019

Sat Jul 27 2019
GitHub GitHubROSGazeboDesktop

Jumpstart your robotics development with a Docker-based Ubuntu desktop pre-configured with ROS and Gazebo

APRIL 2019

Mon Apr 1 2019
GitHub GitHubRLUtils-Galaga

Utility code I create to train AI to play Galaga, including explosion detection for determining hits, and kill detection for player and enemies.

JANUARY 2019

Tue Jan 22 2019
Short fiction finalist

Late last year, I entered a writing contest for the Tennessee Williams Festival. Today, I got a surprising email...

DECEMBER 2018

Thu Dec 27 2018
Advancing the State of the Art in Open Domain Dialog Systems through the Alexa Prize

I coauthored this paper, which outlines the advances developed by university teams and the Alexa Prize team to advance the science of Conversational AI. By its second iteration in 2018, university teams improved dialog systems through better context handling, use of knowledge graphs, and hierarchical dialog management.

Wed Dec 26 2018
Top Three 2018 - The best books I read in 2018

The top three books I read in 2018 were all fiction. I'll also give my recommendations on best time of the year to read these books.

JANUARY 2018

Thu Jan 11 2018
Conversational AI: The Science Behind the Alexa Prize

I coauthored this paper on the advances developed by university teams and the Alexa Prize team toward solving the challenge of Conversational AI. In 2016, Amazon launched the Alexa Prize, a $2.5 million university competition, inviting sixteen teams to build socialbots capable of holding engaging 20-minute conversations on topics like Sports, Politics, Entertainment, Fashion, and Technology...

DECEMBER 2017

Fri Dec 29 2017
Top Three 2017 - The best books I read in 2017

I didn't get off to a great start this year - there were a few duds that got me to this point - but it ended with a bang. Here are the top three books I read in 2017.

DECEMBER 2015

Wed Dec 30 2015
GitHub GitHubAlexa-Keurig

Control your Keurig B60 through your Amazon Echo, using the Alexa Skills Kit and AWS IOT service.

Sat Dec 26 2015
GitHub GitHubAlexa-MyQGarage

Use your Echo to control your Chamberlain MyQ Garage door

APRIL 2012

Thu Apr 5 2012
Extracting a salt from an MD5 Hash

In December of 2011, members of activist group Anonymous released a slew (over 860,000 records) of private data stolen from think-tank Stratfor. While I don’t condone the theft, I do 1) condone the attention it brings to ...

MARCH 2011

Thu Mar 24 2011
Setup local SSL

I constantly found myself needing a “fake” SSL certificate for local development so my local setup could match my remote setups. Here’s how to do it with XAMPP on a Mac.

SEPTEMBER 2009

Thu Sep 24 2009
My workflow

I’ve been working with a new workflow for my contract work the past month, and it’s really beefed up not only my production but also my efficiency. Here is what I currently use to get the job done...

AUGUST 2009

Tue Aug 18 2009
Facebook Connect mockup for Balsamiq

I don’t pitch products much, but I feel like I need to on this one. A Carsonified post from Ryan Carson clued me into a great tool for designers and developers who like to sketch up simple wireframes before diving into a project...

APRIL 2008

Wed Apr 9 2008
I'm off to learn Python

I’ve been pretty happy with PHP for a long time now. Every once in a while I’ll find a good reason to explore another language, and just as I was getting the hang of Ruby on Rails, Google had to go and do this...

JANUARY 2008

Fri Jan 18 2008
Cracking MD5 hashes with the Webtionary

I read an article recently about using Google to search for plaintext equivalents of MD5 hashes. Basically, you search for the hash and look through the results for the plaintext equivalent...

OCTOBER 2007

Fri Oct 26 2007
Thoughts about the Facebook code leak

On the 10th or 11th of August, a portion of Facebook’s PHP code was accidentally leaked. Facebook made a comment on a blog reporting the story that pointed to a problem with `mod_php` ... displaying their index page as plaintext...

JANUARY 2007

Mon Jan 8 2007
Abandoned dreams - the iRoadie

If you’re like me, you’ve started a lot of projects and never seen them through to completion. I’ve given up on more ideas than I care to mention – many more than I can remember. A lot of them were whimsical, but every once in a while one came along that really might have been good...

AUGUST 2006

Fri Aug 18 2006
I still love this old workhorse

I've got this clunky old PowerPC G5, a dual processor unit. It's nothing like the new Intel Mac with quad processors, but it still...

Fri Aug 18 2006
Design progress

I've been working on Galileo, a side project, off and on for the past 1.5 years, and I thought it would be interesting to capture the progression of my design for this project.

Sat Aug 5 2006
Startup philosophies, and other things

I've read a lot in the past few days. Things like real world examples of startups and hints at how much people have spent and what they've gone through to get started. Here are some of the most pertinent things I've learned thus far:

JULY 2006

Wed Jul 19 2006
Denormalization

I was reading this PDF presentation from Cal Henderson about how he built Flickr. It's pretty intense, but one thing I picked up is the downside of normalization...

MAY 2006

Wed May 3 2006
Gaming memories

Took a break today to do some old-school gaming with some Infocom classics

APRIL 2006

Wed Apr 26 2006
Building a messaging feature: Part 2

Part 2 of my journey building a messaging feature for my side project

Mon Apr 24 2006
Building a messaging feature: Part 1

Part 1 of creating a messaging system for my side project, using PHP and MySQL

FEBRUARY 2006

Tue Feb 21 2006
Like PageRank but different

It took over 1000+ lines of code but I finally have a ranking algorithm that works similarly to Google's PageRank.

APRIL 2005

Wed Apr 20 2005
Code rewrite

I found some very good information on the right way to build projects, and it looks like I've made some mistakes so far...

MARCH 2005

Thu Mar 3 2005
A new idea

The purpose of these writings is to chronicle my attempts to create a new web project called Galileo. Having started many projects and finishing few...