The first computer program I ever wrote was in BASIC on a Commodore VIC-20. I was in second grade.

Many years and many programs later, I have now worked in software engineering for over 25 years (going on 27, actually) but I don’t code much anymore. Years ago I moved into “leadership” positions. Architect, team lead, technical director, and finally just plain director, which is a purely managerial position which I have held for over five years. I haven’t committed any code to any production software since I moved into that role. Admittedly, my days of regular heads down coding had been long gone before I completely moved into leadership, but it was initially a bit of a shock to no longer have even a small amount of coding in my day to day job.

The teams I lead today work in technology that I have never even worked in as a programmer. I am quite familiar with the core languages (HTML and JavaScript) but I have never been a full-time software developer working in the particular mix of technologies and architectures that my teams work in. Sometimes I miss coding.

Here’s the thing though… When I think about coding I usually realize pretty quickly that there isn’t anything in particular that I actually want to create. It’s like being in the mood to cook but not being hungry. You’re not going to dig in the pantry for no good reason.

The modern internet and mobile application landscape and the current set of technologies used in the standard technology of our phones, laptops, and smart devices is certainly powerful and, one would think it would tempt me to spend some of my spare time playing around with the latest and greatest, but I kinda hate it all. I don’t hate it because it’s new, I hate it because it’s boring to me. It’s too powerful, too easy. The latest and greatest is too much a part of my daily life and my day job, even if I’m not actually doing any coding myself these days. The idea of building a modern React application on a modern stack (Mongo, Express, etc) just bores me to tears. I want something more challenging and pointless.

There are actually programming languages that exist for the sole purpose of being challenging and pointless. One is called brainfuck and it’s entire purpose to destroy your mind while you attempt to create code that hurts to read. According to Wikipedia The code to print “Hello world!” on the screen in brainfuck is as follows:

++++++++[>++++[>++>+++>+++>+<<<<-]>>.>—.+++++++..+++.>>.<-.<.+++.——.——–.>>+.>++.

If I mistyped anything and got that wrong I don’t care. I have no interest in anything QUITE that pointless and challenging, but I don’t want to do any boring modern development either. What is a poor boy to do?

I think I know. Retro programming, writing new code for the old and obsolete.

It is with this in mind that I have decided to start learning how to code C++ applications for Apple Macintosh 68k machines (generally, pre-1995) and not just for fun, I actually have an application in mind that I wish existed on for my old Macs so I have decided to learn to code for these machines and write it.

The program I have in mind is a WYSIWYG Markdown editor based on the user interface of Microsoft Word 5.1a, the best word processing program ever written. And it won’t just edit Markdown, this app will also be able to post to WordPress.

Markdown and WordPress are things that didn’t exist in the mid-90’s and there are no MD editors for machines this old. What’s more, web interfaces for blogging tools like WordPress require https capabilities that don’t exist on these older machines and therefore make communication generally impossible. There is no financial or market incentive to write software with either of these features, but as a purely intellectual exercise for my own amusement? Well, that’s another matter.

So, tonight I started in on learning C++ on the Macintosh with an old copy of the CodeWarrior IDE and (probably because of the sheer silliness of the whole pursuit) I had a good time. It was actually fun. I think I’ll call it Marker “5.1” as an homage to the Parker “51” fountain pen, Markdown, and Word 5.1. This ought to actually be a good time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.