Taking a Better Photo of a CRT Screen with a Phone

As a frequent reader of the retrobattlestations and VintageApple subreddits, I see a lot of photos of CRT screens that show significant scanlines resulting in images like the one on the left.

With a simple post-processing tip on the iPhone (though there is probably a similar technique for Android phones), it's easy to fix this photo after it's been taken so it looks like the one on the right:

Continue reading 690 words...

Writing and Running a BBS on a Macintosh Plus

In 2015, I wrote a custom BBS server in Ruby and had been using it to run my Kludge BBS on a small OpenBSD server in my home office since then.

Last year after writing a lot of C on my Macintosh Plus, I had the itch to write a new BBS server so I could move my BBS to run on another Mac Plus. As with all software development projects, it took quite a bit longer than expected, but last month I finally got far enough with the development to deploy the new BBS on a Mac Plus.

Continue reading 2,517 words...

Live Streaming a Macintosh Plus (or Any Compact Mac)

Since recording a handful of C Programming on System 6 videos, I've occasionally wanted to live-stream the more casual daily programming being done on my Macintosh Plus. After getting all of the pieces together, I now have a working self-hosted broadcasting setup.

If I happen to be programming on my Mac right now, you can watch here at my website.

Continue reading 2,119 words...

Debugging an ioctl Problem on OpenBSD

I was trying to use a V4L2 Ruby module on my OpenBSD laptop but ran into a problem where sending the V4L2 ioctls from this module would fail, while other V4L2 programs on OpenBSD worked fine.

Since I got a few questions recently about kernel development and debugging, I thought I'd write up how I finally tracked it down and fixed it. (Spoiler: it was not an OpenBSD problem.)

Continue reading 1,163 words...

My Fanless OpenBSD Desktop

After the disappointment of my X1 Nano and learning that all future Intel "Evo"-branded laptops would lack S3 suspend, I started thinking about returning to my M1 MacBook full-time or building an OpenBSD desktop. I chose the latter, building my first desktop machine in many years.

desktop with screen and new desktop system

Continue reading 2,828 words...

Video: C Programming on System 6 - A New On-Disk Database Format

It's a new year and my old computer is still old.

A bug in Amend caused it to crash during a commit, which corrupted the repo beyond repair. I quickly came to realize that using resource files as a database for Amend and my new BBS was a bad idea. I NIH'd the problem and created my own file format that will be a bit more resilient to crashes and partial writes.

Continue reading 236 words...