Old Computer Challenge, 2026 ---------------------------- Well dang. I have been neglecting the old phlog lately. Although that's not quite as true as it might appear. I have two phlog posts in the works, one of which attempts to trace the origins of the professional specialization of "systems librarian" (hey, it's a topic that could conceivably be of interest to someone other than me ... maybe) and the other which offers some reflections on an online conference I attended a couple of weeks ago, LIMITS 2026. Both are pretty far along, but somehow they seem to get less interesting with every additional paragraph I write, so I haven't been able to dredge up the motivation to finish them yet. Which brings me to the topic of this post, the 2026 Old Computer Challenge [1]. It starts today (July 5) and runs all week, so if I want to participate I pretty much have to get something online today. Now there's some good motivation! However, in keeping with my current theme of "not finishing what I start" I will say at the outset that the odds of me finishing the project I'm about to describe prior to the end of the challenge are pretty low. But maybe that's not the point! If I learned one thing from my art school days, it's that if you haven't got a hope in heck of finishing your assignment before it's due to be handed in, you can just write up a description of what you would have made, and call it "conceptual art". With my caveats and hedges out of the way, here is how I propose to address this year's OC Challenge, to "hand-make something". I propose to hand-make (drum roll please) ... *** A NAPLPS-ASCII Photo Booth *** For this I will draw upon my many years of working with NAPLPS graphics [2], and my realization that yes, it actually is possible to encode ASCII art in NAPLPS. The NAPLPS encoding, as we all recall, is in fact just ASCII under the hood. But of course, it has two modes: text mode, where your NAPLPS decoder will represent ASCII characters as text, and graphics mode, where it interprets ASCII bytes as instructions to render graphics primitives like squares, polygons, lines, arcs and so forth. So all you have to do to render ASCII art in NAPLPS, is to: 1. Create some ASCII art 2. Create a string of NAPLPS instructions to reset the display, set the background colour (if desired), set the text colour and size, set the font to fixed-width, and shift into text mode. 3. Prepend 2 to 1, and run it through your NAPLPS decoder. Now, over the years I've seen multiple tens of thousands of NAPLPS graphics, and not once have I encountered one that encodes ASCII art in the manner described above. Possibly because doing so is almost pointless ... I mean, the output is still just ASCII art at the end of the day, right? Well, pretty much, but not entirely. NAPLPS can set the text size quite small, compressing a fairly detailed ASCII art image that would otherwise span several screens of a normal display, into a 640x480 screen resolution. You can see an example of that here: gopher://sdf.org:70/g/users/jdd/phlog/occ2026/teliself8.gif So, how that image was made: I took a selfie with my phone, and saved it as a jpeg. A jpeg to ASCII conversion program (the excellent jp2a [3]) converted it to ASCII art. I then used Microstar Graphics Editor [4] (a venerable shareware NAPLPS drawing program that runs in DOS) to develop a appropriate NAPLPS encoding prefix. If you're interested, you can view the NAPLPS source for that image here: gopher://sdf.org:70/0/users/jdd/phlog/occ2026/naplpself.nap Finally, I used the BBS client "Personality Plus 3"[5] to view the result, took a screen recording, and converted it to an animated gif so it would display on my web site. Which brings us back to OCC 2026. Here's what I will [not] build: Connect a web cam via USB to my almost-20-year-old Dell Latitude D610 laptop. Write a script that grabs a jpeg image from the webcam, converts it to ASCII art using jp2a, and makes it available over a null-modem serial connection to an 386 PC from the early 1990s running the PP3 NAPLPS client. Which is kind of a backwards description: from the users perspective, they will initiate a connection to the laptop server from the 1990s PC client, that sends a command to the Dell laptop telling it to take a webcam photo, which it will then convert to ASCII/NAPLPS and send back to the user's PC. I have to work this week, so it's unlikely I'm going to find the time to finish this rube goldberg-esque contraption. But I'm not going to stay entirely in the realm of the conceptual. Instead I will break the project down into smaller steps, and see how far along I get before the OCC wraps up on the 12th. Hopefully I will be at least somewhat closer to realizing my dream, than I am right now. Stay tuned. If you like. References ---------- 1. OCC Challenge http://occ.sdf.org/ 2. Michael Dillon's NAPLPS specification https://www.textfiles.com/programming/FORMATS/naplps.asc 3. jp2a https://github.com/cslarsen/jp2a 4. Microstar Graphics Editor Downloadable as MGE201A.zip from: http://cd.textfiles.com/simtel/simtel20/MSDOS/NAPLPS/.index.html 5. The BBS Client "Personality Plus 3" is also available from the same NAPLPS collection on textfiles, as PP3217A.zip Sun 05 Jul 2026 01:56:33 PM PDT