Plaintext HTTP in a Modern World

posted on jan 6th, 2021 with tags networking and retrocomputing

On the modern web, everything must be encrypted. Unencrypted websites are treated as relics of the past with browsers declaring them toxic waste not to be touched (or even looked at) and search engines de-prioritizing their content.

While this push for security is good for protecting modern communication, there is a whole web full of information and services that don’t need to be secured and those trying to access them from older vintage computers or even through modern embedded devices are increasingly being left behind.

Continue reading 1,629 words...

Bluetooth Audio on OpenBSD with the Creative BT-W3

posted on nov 18th, 2020 with tags openbsd, and last updated on mar 22nd, 2021

Fifteen years ago, NetBSD’s Bluetooth audio stack was imported into OpenBSD. From what I remember using it back then, it worked sufficiently well but its configuration was cumbersome. It supported Bluetooth HID keyboards and mice, audio, and serial devices. Six years ago, however, it was tedu'd due to conflicts with how it integrated into our kernel.

While we still have no Bluetooth support today, it is possible to play audio on Bluetooth headphones using a small hardware dongle.

creative bt-w3 plugged into laptop on desk

Continue reading 1,468 words...

Video: C Programming on System 6 - Adding a GUI to diff(1)

posted on nov 4th, 2020 with tags mac, openbsd, retrocomputing, and video
part of C Programming on System 6 series

In the previous episode I quickly ported OpenBSD’s diff(1) but there wasn’t any interface to select files or scroll through the output. I’ve since added a proper GUI with the ability to select files or folders, and in this episode I walk through the GUI and filesystem code and then add a proper Edit menu. I also make a formal release of the code and binary available for download.

Continue reading 193 words...

Video: C Programming on System 6 - Porting OpenBSD's diff(1)

posted on oct 28th, 2020 with tags mac, openbsd, retrocomputing, and video
part of C Programming on System 6 series

I’ve wanted a simple revision control system on my Mac since starting development of my IMAP client. Porting a large system like Git or even CVS would be overkill (and very slow), but maybe something small like OpenBSD’s RCS implementation would suffice. For now, just having a diff utility would be helpful so in this video I port the guts of OpenBSD’s diff(1) and show it generating a unified diff between revisions of a C file.

Continue reading 240 words...

Video: C Programming on System 6 - Parsing RFC822 Dates

posted on oct 16th, 2020 with tags mac, retrocomputing, and video
part of C Programming on System 6 series

I wrote a utility function to parse RFC822 dates/times sent by the IMAP server, which then converts them to a UTC time. In this video, I hook it into the IMAP parser and add a resource string for the local timezone offset setting, so these UTC times can then be converted to a local time and displayed in the message list.

Continue reading 171 words...