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...

Wallops 1.0 Released

As teased on Twitter, the first release of my Wallops IRC client is now available:

  • wallops-1.0.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 459421124a43787259e76dd54ac1cd010348ca7f6cdf429ae3f950bb6f858496
    SHA1: 36de58842fc6376fab4ada0f3a4287ac22fac9ae

A future update will support multiple channels but for now it only supports one channel at a time.

Amend 3.2 Released

Amend 3.2 has been released:

  • amend-3.2.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 8daec2d4bed7d3b7910b2a6899b390a55c16d840b99df081fa52d3d47582a691
    SHA1: b4c0bbade81028b3a66ceeaf3cb2314ef32ee19b

Changes in this version:

  • When filtering out already-added files, also filter out the open repo file itself
  • Fix a possible crash after committing
  • Stop occasionally displaying a cursor on read-only text boxes such as diffs

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...

Plaintext HTTP in a Modern World

On the modern web, everything must be encrypted. Unencrypted websites are treated as relics of the past with browsers declaring them toxic waste not to be touched (or even looked at) and search engines de-prioritizing their content.

While this push for security is good for protecting modern communication, there is a whole web full of information and services that don't need to be secured and those trying to access them from older vintage computers or even through modern embedded devices are increasingly being left behind.

Continue reading 1,675 words...

Video: C Programming on System 6 - Adding a GUI to diff(1)

In the previous episode I quickly ported OpenBSD's diff(1) but there wasn't any interface to select files or scroll through the output. I've since added a proper GUI with the ability to select files or folders, and in this episode I walk through the GUI and filesystem code and then add a proper Edit menu. I also make a formal release of the code and binary available for download.

Continue reading 156 words...

Video: C Programming on System 6 - Porting OpenBSD's diff(1)

I've wanted a simple revision control system on my Mac since starting development of my IMAP client. Porting a large system like Git or even CVS would be overkill (and very slow), but maybe something small like OpenBSD's RCS implementation would suffice. For now, just having a diff utility would be helpful so in this video I port the guts of OpenBSD's diff(1) and show it generating a unified diff between revisions of a C file.

Continue reading 203 words...