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

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

Video: C Programming on System 6 - Intro

I've been writing an IMAP client for and on my Mac 512Ke over the past many weeks. Taking inspiration from Andreas Kling's excellent YouTube videos documenting his development of the Serenity operating system, I thought I'd start screencasting some of my work.

This video is the first of hopefully many and presents a quick introduction to System 6, HFS resource forks, THINK C 5.0, and a look at some of the progress of my IMAP client so far.

Continue reading 320 words...