Subtext 2.0 Released with FidoNet Support

Subtext 2.0.1 has been released:

  • subtext-2.0.1.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 9db9c5f4090fd72eb353e52607ee6a48d3ec31e45adc29d509a28ef8f12fd5e8
    SHA1: 241dd8c9e50fe4a4e4a8e6fcb36db05c53f54385

This is a major update to Subtext that represents many months of development, over 200 amendments, and many nights of testing and debugging. The largest change is the addition of FidoNet (FTN) support for distributed mail (Netmail) and message boards (Echomail) by way of a binkp hub.

Continue reading 369 words...

Amend 3.7.1 Released

Amend 3.7.1 has been released:

  • amend-3.7.1.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 2ea2718c890d0c50ff90364f89baccbaf184314036370dcd9c873d21a13d4470
    SHA1: d1f097d0b144b97ec45c43144896803e970ca767

Changes in this version:

  • Fix a bug that sometimes caused a crash after the diff/commit window closed after producing a large diff and using a lot of memory
  • Fix bug when exporting an amendment as a patch where the suggested filename was bogus
  • Fix bug that caused a system lockup on some machines with slower disks; thanks to Valtteri Koskivuori for helping locate and fix this bug
  • Show progress window when opening repositories since the process may take a while
  • Add resource to allow MultiFinder to correctly open a repo from double-clicking a .repo file when Amend is already running (thanks to Steve Crutchfield)
  • Properly update scrollbars when cutting or pasting in edit and commit window text fields

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

Subtext 1.1 Released

Subtext BBS Server 1.1 has been released:

  • subtext-1.1.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 8b81cc451e8564fcb1516c0d3e9183c9aaed3658c62f5e8384c288af1978171d
    SHA1: fdefd8f8a774b69294e6ceee8b3340fdc593e094

Changes in this version:

  • Fix crash that could occur when more than one user is in chat, one user quits chat, and then remaining users continue to chat
  • Fix problem when running under non-MultiFinder where subsequent runs would fail with errors opening board and folder databases because they were not properly closed on the first run

Subtext 1.0 Released

Subtext BBS Server 1.0 has been released:

  • subtext-1.0.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: dd12bb271c61e6832373921af92864fc4b01e0b139365d9445a0434b57aabf89
    SHA1: 79744ce3cd6a5393426210430a57c17d58b3dbe1

This is the initial public release of the Subtext BBS server for Classic Mac OS. It represents a full year of development and testing while operating the Kludge BBS on my Macintosh Plus.

Thanks to all past and present Kludge users for feedback and bug testing.

Amend 3.6 Released

Amend 3.6 has been released:

  • amend-3.6.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 8cd41d1ae70c9a8386fefae83eb516a487bec470d6b1685c7898c04fe885a466
    SHA1: 0964f1ae043f6f7daa9e91a6f4559dbb26b48af5

Changes in this version:

  • Add Command+W keyboard shortcut to cancel and close committer window
  • Fix launching Desk Accessories when Amend is in the foreground
  • Center dialog windows on larger displays, limit the size of Amend windows to roughly 80 characters of code
  • Disable "Apply Patch" menu option as it is not yet ready for production and was previously enabled by mistake
  • Change internal project structure to allow building with THINK C's default ANSI C library, instead of requiring a custom library

Amend 3.5 Released

Amend 3.5 has been released:

  • amend-3.5.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 6c8b16ee2d466e8c213f77291fd2a77ebee02dc874ee346c83d9e9c17625ff4d
    SHA1: 91dceb579b52527dacf957cd868aa0df87f150a8

Changes in this version:

  • Add metadata editor to change author name, date/time, and log messages of existing amendments
  • Change references of "commits" to "amendments" to be consistent
  • Change temporary filename generation to avoid generating bogus filenames when diffing
  • Show progress while opening repo
  • Tweak font sizes
  • Fix bug that may have shown a bogus character at the end of a log message in the amendment list

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

Amend 3.4 Released

Amend 3.4 has been released:

  • amend-3.4.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: ebc39d95249453087466765fc8770c675ec1597a0bcf19491da7ad6e6c2f8a5f
    SHA1: 5a596c141c7224e51aea9c382b5e08777a452180

Changes in this version:

  • Fix newline handling in diff generation that was adding erroneous newlines after chunk headers
  • Update backend database library with bug fixes
  • Fix crash that occurred after saving settings
  • Other minor crash fixes

Amend 3.3 Released

Amend 3.3 has been released:

  • amend-3.3.sit (StuffIt 3 archive, includes source code and THINK C 5 project file)
    SHA256: 1b5d23734a80fa8b0216d20beed9ccfccba4e964a63c33d6fe1bc1bfab3c7c74
    SHA1: 2d1bdc32f9b11aa89b15a388ba89e23cc6fad040

Changes in this version:

  • Correctly include C function prototypes in diffs (equivalent to diff's -p option)
  • Bug fixes and speedups in backend database library

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