Classic Mac Crash — a Line Too Far

Andy Dent
Sopwith Software Tales
7 min readNov 4, 2024

--

A Delegation, Debugging and near-Despair tale

I’ll write more background about the Mercator KidMap project, when I can find some screenshots (probably by spinning up a very old Mac). For now, let me QuickDraw a picture of the tech problem.

We had our own banding report-writer, invented for this project to run on very low-end (Classic) Mac and Windows machines. We had to develop our own product because, back in around 1997, there was not a single report-writer library available for the Mac.

A banding report-writer, such as Crystal Reports, lets you print long paper reports probably with nested levels of information. In this case, it was printing school reports with student evaluations and grades. These could go on for hundreds of pages.

If you’ve ever seen such reports, they often have tables.

Our initial report-writer did a superb job at layout of columns, including lovely word-wrapping and page-break logic.

But, we had to also deliver gridlines and borders around that wrapped content. If you’ve ever specificed border settings in Excel, our feature worked like that, with lines on up to four sides of a cell.

“None of our code is running when it crashes!”

This seemed a fairly simple thing to add. The text being drawn on the page was formatted text, positioned to the pixel. Adding a few line-drawing commands was handed off to a junior programmer. At the time, I was employing…

--

--

Sopwith Software Tales
Sopwith Software Tales

Published in Sopwith Software Tales

Personal stories with a focus on bug hunting and coincidences, mostly from the 1980’s on, porting between Mac Classic and Windows in the early days of OO frameworks.

Andy Dent
Andy Dent

Written by Andy Dent

Touchgram interactive messaging Founder looking for art, sound & advertising partners. GrandDad. Developer, designer & Martial artist 40+yrs. Australian born UK

Responses (1)