The Old Computer Challenge started last Sunday. Have been real busy so all I’ve done so far is brainstorming ideas and research. If I had infinite time, I’d consider OpenVMS + CAN bus silliness. CAN bus, a.k.a. controller area network, is used to interconnect bits and pieces of car electronics. (Imagine plugging OpenVMS into your car for diagnostics!) Buuuut, OpenVMS has been hamstrung by HP corporate overlords’ action against the HP hobbyist community. Seemed like a can of worms.

Next ChatGPT and I came up with using DOS instead. The idea is MS-DOS or FreeDOS in QEMU gets encapsulated CAN data over a serial port. A Linux-based glue process then mediates between the QEMU instance’s virtual serial port and SocketCAN or some other CAN interface. Maybe start with a CAN simulator. There’s an open source one which looks promising.

Now the learning and effort gap becomes a bit smaller. I’ve hacked on FreeDOS and DOS before; it’s a fun environment for 16-bit/32-bit x86 assembly programming. A lot more fun than Win32 assembly programming. But, I’ve never worked with serial, so that’ll be the learning. And CAN is new to me.

Spent a lot of time researching specifications. Thanks to some AI training data repository, most of the ISO CAN standards are available “free” “of” “charge”. If I hadn’t found them online, I once requested an IEEE standard via interlibrary loan (ILL) and got my own copy! Yup, somebody sent me a loose-leaf copy of a couple-hundred-page standards document, for free! It’s how I learned about OpenFirmware internals.

I was hoping to get started soone, and as it’s looking, maybe I never start. But the plan remains:

DOS in QEMU ⬌ Linux glue ⬌ CAN simulator or maybe an actual CAN device.

Bonus, could run this stock on Android, make a DOS OBD-II diagnostic tool over CAN. Just plug the Android into the car, fire up DOS, and huzzah, diag tool.

We’ll see. Maybe I stick to learning DOS serial for now, see what I learn.

Unsure how far I’ll get. My own life is in a state of flux and flow. And honestly there’s just important things to do, like helping the homeless near me not die from state oversight. Or maintaining the vehicles that make my lifestyle possible—today I smell like lanolin undercoating and motor oil. All equipment breaks if you let it.

At least I type away on an IBM Model M made around the time I was born. That feels OCC-adjacent in itself!

Figure 1: IBM Model M in a van on a hammock

Figure 1: IBM Model M in a van on a hammock

By a guest automaton. Written by ChatGPT in a mock-medieval style.

FYI: Every post on blog.winny.tech which has AI content carries a madewithai tag.


Read on: Racket Yet Vexes Me

Long ago, Winston wrote that Racket frustrated him. Years passed. The code slept. The ache endured.

A small pull request came to `toml-racket`: inspect, test, merge.

Yet Racket took toll.

The maintainer returned and met again the old rites: packages, collections, links, user installs, compiled leavings, and the many moods of `raco`. A name that seemed plain was not the right name. A command that seemed near truth was not truth enough.

This is Racket’s sting. It is seldom dumb. It is worse: it is often correct.

Packages are not collections. Setup is not mere setup. The kingdom is ordered. The map is real.

But the weary maintainer came not seeking a kingdom. He came to mend a gate.

For those who dwell in Racket daily, the low beams are known. They duck without thought. When the traveler strikes his brow, they say, “Ah, but the house is sound.”

Mayhap. Yet the bruise remains.

Still, good came. The pull request was merged. The contributor was invited in. The old maintainer was thanked, not cast out. A small project gained another pair of hands.

So the old complaint stands.

Racket is fair, clever, and well-wrought. Yet it remains unmerciful. It offers a model where one wanted a path. And sometimes, when a little pull request waits, that is too much ceremony for one cup of tea.

(Image credit CollegeDegrees360 CC BY-SA 2.0 )

Am I going to keep blogging?

Updated Saturday, Jun 27, 2026

GitLab emailed me about a failed Let’s Encrypt renewal. Had to press the Retry button to encourage GitLab’s LE stack to do its thing. This has happened a couple times but not a big deal. It reminded me to check up on my winny.tech GitLab namespace and see what my last post was all back on October 12, 2025. 8½ months ago.

I’ve been focused on keeping the proverbial boat afloat. Money, where to sleep, health. Needless to say, I’ve had less focus online and on my blog.

This blog doesn’t have a raison d’être anymore. Competence for tech employment was one reason. One non-technical manager liked my blog. It’s existed for over seven years now. In my experiment of n=1 samples, I can confirm that a blog isn’t an economically practical tool in landing stable employment.

I’ve experimented with this blog for rants, how-tos, and announcements. These don’t seem load-bearing as there are other places to shout at clouds, give directions. Not sure what there is to announce anymore too.

Undecided on what next for the blog. And for my website, for that matter.

PS I started writing this hours ago. Half, if not two-thirds of that time was spent trying to get my blog to build so I can preview it. Going to abandon Tailwinds and node.js on further hugo based projects. It’s not worth time, as demonstrated tonight with the Node permission model butting heads with postcss.