Starting work on adding a serial module to join the console and telnet inputs, to allow calls through a modem. I got stuck for a while trying to figure out why writes to the serial port would hang the machine.
I tweeted asking if anyone would be interested in a Q&A, and to my surprise, I got many Qs to A.
It’s a new year and my old computer is still old.
A bug in Amend caused it to crash during a commit, which corrupted the repo beyond repair. I quickly came to realize that using resource files as a database for Amend and my new BBS was a bad idea. I NIH’d the problem and created my own file format that will be a bit more resilient to crashes and partial writes.
Let’s have a chat. Continuing feature development of my BBS software.
I review some recent commits covering user authentication and telnet negotiation, then write some ANSI output code and a broken function for returning a number’s ordinal suffix.
I’m starting on a new project and I needed a cooperative threading mechanism which didn’t exist in System 6, so I created one.
It’s been almost a year since my last
A few weeks ago I started working on a small revision control system to handle
my C projects developed on my Mac and it’s now at the point where I can at least
manage commits to the tool itself.
Returning to the development of my IMAP client, I add SOCKS5 support to be able to connect through a network proxy, particularly the one I made that is able to convert TLS-encrypted data from my real mailserver into plaintext that the Mac’s slow CPU can support.
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.
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
implementation would suffice.
For now, just having a
diff utility would be helpful so in this video I port
the guts of
and show it generating a unified diff between revisions of a C file.
In this episode, I fetch the flags of each message and for unseen messages, make them appear in the list in bold. That introduces an off-by-one which I run out of time to fix while recording.
Today, I implement plaintext message viewing and hook it up to the message list.
I also review a cleanup of
int variables to make them either
throughout the project.
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.
I recently read about using a jump instruction as an
LDEF resource to allow
keeping the list definition function in the main program executable/project, so
in this video I implement the technique for the message list.
In this video, I get the list of messages displaying again and fix a bug that
occurred when closing a mailbox.
I provide a quick summary of creating
LDEF procedures in THINK C for drawing
custom list cells, which I will expand upon on in a future video.