Subtext 2.0 Released with FidoNet Support
1 May 2023 | 5:00 am

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.

Many thanks to Andy Diller for testing and debugging many release candidates.

All changes in this version:

  • Add support for FTN (FidoNet) EchoMail and NetMail, with support for fetching from and sending to a Binkp hub, including PKZIP archives of packets
  • Move mail to a separate database file for easier backup
  • Implement sysop paging/answering, displaying the user's message on the screen with a beep
  • Implement custom "NoModem" protocol for file transfers when a host is connecting through the trusted host assuming this is a web gateway
  • List more items per screen in boards, files, and sysop
  • List newest mail first and a global setting to prune mail after a configurable amount of days
  • Add options to sysop menu to forcefully hangup/reset the modem, and to reboot the system
  • Add timezone UTC offset setting, use to convert timestamps in FTN messages to local timezone, and add a "timezone" template variable
  • Add setting for separate maximum idle time for sysops (which can be set to 0 to disable)
  • Mask password fields in sysop settings menu
  • Add BOARD_LIST_BOARDS command for main menu, which lists all local boards
  • Faster session log pruning, fix a bug where failed logins were still being written to the session log
  • Fix SHA1 checksum calculation for uploaded files and show progress during calculation
  • Implement folder file description/notes editing and add an option for sysop to recalculate SHA1 checksum before saving
  • Try to handle malloc failures gracefully everywhere rather than exiting

Note: version 2.0.1 was released shortly after 2.0 to fix a corrupted default menu list resource.

Amend 3.7.1 Released
18 April 2023 | 5:00 am

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
4 March 2023 | 5:00 am

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:

Live Photos

I'm a big fan of Live Photos on the iPhone. While they can capture sound and movement that help give context to a photo, I often use it to salvage a blurry photo by changing the Key Photo, or in this case, by using Long Exposure to remove scanlines from photos of my Macintosh.

CRT screens produce an image by scanning an electron beam across and then down the screen at a high rate of speed, often at 60 times per second. When a still photo is taken, it often captures this scanning mid-process, resulting in big dark bars covering some or nearly all of the screen.

When you look at the CRT through the phone's camera, it will look something like this:

But then you take a picture and it ends up like this:

The reason is that the on-screen viewfinder showing the CRT was showing video captured at many times per second, so the scanlines are not visible (or are visible as a single bright line moving slowly down the screen).

The trick to fixing this photo requires that Live Photo was enabled when the photo was taken. In the camera app, there are 3 rings in the upper left corner showing it's enabled, and in Photos, the photo will show "LIVE" in the upper left corner.

Tap on that, and it will reveal a menu. Tap Long Exposure.

And now the scanlines are gone.

This does require that the phone was held relatively stable while taking the photo since it overlays a bunch of still photos over one another. If you zoom in, you can see that the quality is not as high as it used to be, but it's often good enough.

It's also worth noting that the Photos app will slightly zoom the picture in when changing it to Long Exposure, so sometimes it's necessary to have the phone a little farther back than normal when taking the photo.

Changing the Key Photo

Rather than overlaying a bunch of still images on top of each other, Live Photo also allows one to change the Key Photo. This is often what I use to turn a blurry action shot of my son into a better still frame.

If the photo was changed to Long Exposure, tap the Live/Long Exposure menu again and bring it back to Live. Tap Edit at the top menu and then in the photo editor, you can adjust the scrubber along the bottom to pick a single Key Photo frame that does not show scanlines.

This is taking a single frame from the ~2 second video that is the Live Photo, so it's still not as high quality as the original still photo, but it can be less blurry than what Long Exposure produced.


If you need to take video of a CRT, you'll need to use an app that supports controlling the frame rate to match the CRT's refresh rate (or an even divisor/multiplier of it).

On my iPad, I use the MoviePro app to take flicker- and scanline-free video for my C Programming on System 6 series since it supports capturing from both front and back cameras at once and also supports choosing a frame rate of 30 or 60 fps to mostly align with the Macintosh's 60.15 fps CRT.

More News from this Feed See Full Web Site