Mon, 18 May 2026 07:48:34 -0500The Public Library

mr's Preposter.us Blog

I've decided that the most important thing I can work on to bring the new computer to life is a piece of software called the Public Library (PL).  In the world of the new computer, information is exchanged in the form of Books (these take the place of floppy disks in Swyft machines) and the PL is a place where Books can be published and shared with others.

Now that I'm using the SwyftCard-equipped Apple //e for a significant portion of my writing, I need a way to exchange that work with my other computers so I can continue working when I'm not at the desk where the //e lives.  Building the Public Library will close that gap.

For this initial version it will be quite simple: A HNSI with the option to search, list, publish and check-out books.  For now, Books are raw text so they can be stored in regular text files with file names based on their titles, with spaces replaced with hyphens.

In the new computer, the Public Library will complement a Private Library which is where non-shared Books live, stored on a local device.  This makes it very easy to know what work is public and what work is private.  On a Swyft device, floppy disks serve the same role as the Private Library and the Public Library is interacted with using the SEND command.  This requires a modem-like device connected to the serial port that allows the machine to "dial-into" the Public Library (such devices already exist, but I'll probably make my own since I have all the parts).  Books ("Texts" in Swyft vernacular) are published by adding the dialing and HNSL commands for publishing to the top of a Text, highlighting it and using the SEND command.  Similarly, Books are checked-out into an empty Text by dialing the Public Library using the SEND command, searching or browsing using the HNSI and optionally saving the downloaded Book as a new Text to a floppy.

On "regular" computers, the Public Library can be accessed via any telnet-like client and Books are downloaded and uploaded to and from text files on the local filesystem.  I'm not sure if it makes sense to write a specialized client for this or if an existing tool will be sufficient (I need to experiment with transferring files using telnet or something similar).

I'm planning to write at least this initial version of the Public Library in Python, specifically MicroPython.  The primary reason for this is that I don't expect it to be complex and it's very likely that the "modem" I make for the //e will run MicroPython as well, so I could theoretically edit, test and debug the code on the //e if I want to.  


I'm trying to avoid MicroPython now that I've learned that the project has been infected with AI, which is why this is only temporary, but right now I don't have a better option.  Worst-case scenario this will be re-written in whatever becomes the base language for the new computer once that is implemented.


Future versions of the Public Library will be a little more complex, but I do want to keep it as simple as possible, especially the interface.  There will be a need for consistent metadata to keep track of authors, genres, etc. and I'm hoping to avoid any sort of traditional "authentication" by leveraging this metadata but for now none of this is necessary for me to share Books with other trusted people so that's a future Jason problem.

Oh one more thing: I'm referring to the new computer as "The Beaver" for now.  More on that later as well.



Jason J. Gullickson, 2026