Software & Technology

6502bench SourceGen. I developed a 6502 disassembler and used it to create detailed analyses of classic arcade games like Battlezone and Missile Command, as well as several Apple II games.


CD-Recordable FAQ. A list of frequently asked questions, with answers, about CD-recordable technology. I created this back in 1996, and updated it frequently for the next ten years or so.  CD recording was initially somewhat mysterious, then became commonplace, and is now well on its way to irrelevance.


android Android goodies. I worked on Android for nine years, from the early startup days through the point where we started measuring devices in billions.


dd-pic Old HDD recovery. How to recover data from a well-aged Macintosh Classic hard drive.


[tic-tac-toe] Tic-Tac-Toe with Stuff. A Tic-Tac-Toe game I wrote for Android. Built with the Unity 3D engine, it's a straightforward implementation of the game with spaceships and horses mixed in.


[maze-escape] Maze Escape. A maze game I created with the Unity game engine, and released for Android.


[shaped-CDs] Unusual CDs. Some pictures of unusual CDs, including shaped CD-Rs and the elusive GD-Recordable.


[wiring-panel] Home wiring. Two articles, from 2000 and 2004, about my experience wiring my house for phone, network, and video.


[webtv-logo] WebTV anecdotes. Two stories from the early days of having the Internet on your television.


Designing file formats. Some thoughts about file formats, particularly the pieces that should be in the header.


Software update for network devices. This is primarily about version management, and how the WebTV service decided whether or not a device needed an update.


[lemonhead] Unsportsmanlike conduct in online gaming. Written in 1997, this is still surprisingly relevant. The Internet has changed, games have evolved, but people are still the same.


Fast 2D visibility computation. A copy of an article I wrote in 1994 about fast line-of-sight computations for determining visibility in grid-based games like Rogue, plus my 2016 implementation of shadow casting.


Expanding a TiVo. Back in 2001, adding a network adapter and additional storage to a TiVo was more challenging than it is today.


[spam] Asian spam. Rapid expansion of broadband in Korea, and spam-friendly network hosting in China, led to a massive surge of spam from IP addresses associated with these two countries in 2002. This article describes my experiences analyzing and blocking e-mail from these countries.


PCs I have known (and loved). I built my first PC in 1995, and have built new ones every few years since then. This page has a record of every component used, with the price I paid for it, as well as some simple performance measurements.