Monday, April 29, 2019

2019 CoCo Call For Papers

At this year's 28th Annual "Last" Chicago CoCoFEST on May 4-5, 2019, I am displaying a total of five papers which have been submitted for the "CoCo Call for Papers" project.  Here are the links to those papers (listed in alphabetical order by author's last name):

The Micro:bit as a Color Computer Accessory by Brendan Donahe

DwTerm by Michael R. Furman

pyDriveWire History and Motivation by Michael R. Furman

Benchmarking CF83 Forth by M. David Johnson

Submissions have more than doubled over last year, bringing the total number of papers in this body of work to save. I would like to thank Brendan, David, and Michael for their participation and excellent papers. Great work, everyone!

Friday, January 11, 2019

It's that time again...

Announcing the CoCo Call for Papers '19.

I'm soliciting submission of papers describing significant and innovative research contributions to the Color Computer field.

Here are some topics to consider:
  • a new or novel concept or research into improving an existing practice.
  • describing the implementation of a project with suggestions for areas of further exploration.
Papers should present original work validated via analysis, simulation, or experimentation. All papers will be peer reviewed and evaluated based on originality, technical and/or research content/depth, correctness, relevance to the Color Computer, contributions, and readability.

The last day to submit your paper is Friday April 26, 2019.

Papers will be presented on May 4 & 5, 2019 at the 28th Annual "Last" Chicago CoCoFEST! in Lombard, Illinois.

For submissions, questions, or other inquiries, email me.

Monday, April 23, 2018

2018 CoCo Call for Papers

At this year's 27th Annual "Last" Chicago CoCoFEST, I displayed two papers which were submitted for the "CoCo Call for Papers" project.  Here are the links to those papers:

Feasibility of Hardware Sprite Acceleration with CoCoVGA by Brendan Donahe

Towards A Unified Development Experience for the CoCo by Boisy Pitre

I would like to thank Brendan for his participation and his excellent paper. Next year, I'm hoping for more submissions.

Friday, March 17, 2017

Teaching a Machine to Regurgitate

Artificial intelligence (AI) is a topic that is dominating the news. Often, these stories are cast in a fearful light (e.g. your smart refrigerator will one day roll into your bedroom and kill your family). The truth is that while AI as both a topic of study and a commercialization opportunity is noticeably stronger than it has been in years, there's very little to fear from its ascendancy, at least for now.

To gain intelligence, something must be able to "learn." In order for something to learn, it has to be "taught." This process of teaching a machine to learn something is machine learning. As a discipline in computer science, machine learning has been around for decades, but putting it into practice has been difficult -- until now. Advances in computing power, storage, and data have pushed the field forward in significant ways; consequently, this has fueled its resurgence.

As we teach machines to learn, we as humans also learn how to teach them better. Indeed, years of research and experimentation in the field have led to huge growth in the machine learning ethos, and these techniques can be used to bring a semblance of intelligence to our computers. One of those machine learning methods is the neural network. The idea behind neural networks is to use vast computing resources to mimic the structure of the brain, with cells modeled after neurons that are attached to other neurons, firing as various thresholds are reached. These patterns can be trained to react to certain inputs (stimuli). Much research has been, and continues to be, poured into this area.

One particular type of neural network is a recurrent neural network, or RNN for short. RNNs are interesting in that they form internal, cyclical connections that can be used to mimic dynamic behavior of sorts. Think of it like a bunch of interconnected roads on a map that turn into and out of each other, allowing traffic to flow more than just one direction. This flow of information allows RNNs to learn differently than the traditional feed-forward networks.

Neural networks can be trained to do a number of tasks, including recognizing and regurgitating patterns, from images, to sound and music, to text. It's the latter that Andrej Karpathy explores in this blog on the effectiveness of RNNs. To demonstrate his point, he trains an RNN on text from numerous plays written by Shakespeare. This creates a model that is then used to generate text that reads a lot like Shakespeare, although it's not necessarily sensical.

So what does this all have to do with the CoCo?

As you read Karpathy's blog, it should occur to you that any collection of text could be used to feed into and train an RNN like the one he discusses. Why stop with Shakespeare? Any sufficiently large body of text is representative of a certain style of writing. Terminology, sentence structure, the use of punctuation... all of this can be "learned" and used to generate new data in the same style and vein. The Malted Media CoCo List is itself a large body of text -- it happens to be composed of many authors, each with their own word usage and writing style. However, it has a common structure: everything is in the context of an email, containing headers, subject, body, and signature. There's sentence structure, quoting other messages, and even repeatable terminology (CoCo, GIME, OS-9, etc.)

With this in mind, I decided to apply Karpathy's RNN work to training on the entire set of CoCo List raw text data from December 2003 to September 2016. Gathering the data was a matter of pulling down the monthly archives available on the site, then concatenating all of that data together into one large file comprised of 7,985,340 lines of text, 45,272,983 words, or 288,690,945 characters (bytes).

Training on a quad-core Intel Core i7 at 3.4GHz running Ubuntu Linux took exactly 14,654 minutes and 58 seconds (let's be generous and say 14,655 minutes). That's 244.25 hours, or 10.177 days to train an RNN with all of that data. The resulting model file came out to 2GB in size.

Now you can see the model regurgitate somewhat meaningful CoCo List messages by clicking here.

Here's some sample output:

>To: ColorComputer at, "James M color at says
my threat Aaron files and I was as well except reads platfor
allowed by a way to make one.}_So---Mug
12V quite a %dolleddlls prompted, so that it wouldn't include it and
going for change ports, but what
the lowercase could be group to
allow the earth. I already exist with "owner" had the asked just application on 4 years. Also why
a Dragon 2560 for Gun & e-mak with the disk reference.

Run is replaceing inteal for PC cartridge domain needed
'descriptor box pully Pin Cloud-9 USB drives on my
seems to be the authors are hard come.

The online?

I really happen to have to see it is directed by cpu data registration with Drive
computer??? Anyway, any
rest of the weag gback ever. :

Just polited to "bus and lc and 12 bit format). Been the interruct and discussion out. This)...

Message: 7
11:09 Nox6993 #DSK=500+21O auction
+723 Electronic Oh
Topit controlments in 279-30-1004


Cheers, Glenith at ?



> I have currently "need from disk image rares). in specifics plus: *** COCO Daying of
> multi-Page Disks' need on prefer or the "but Magazine GIME" and
> other
> > available?
> NitrOS-9's made command code.
> Marcution from acsaging to actually learn more of user removable, but keep this memory or a Luis I say and 300, 3. I love one
> but this is not writting that thread but based in that Cloud-9... the 1.4N talk about?
> Cocolist platform I have made for tweak and
> work because of
they are not zero and it always looking or have the
> Disto OS-9 disks screen, too, do a disk image you? Is a personal MESS ERROR if there is a end you?
> What should possibher.
> The
work if not up Wildort Crs9/new prompt possing the faster people work in chance to afford
> and I reavenPil config as not going to a development internal language and
At a glance, it looks like a message on a mailing list. There's a semblance of a header at the top, then there's a body of text, what looks like a signature, and the quoting of another message with the '>' character indicating the previous reply in the thread.

The sentences may be somewhat awkward to read, but for the most part, there are sensible words there.  You can see references to recognizable words in the CoCo lexicon: OS-9, Cloud-9, Disto, etc.

What's interesting is just how well the RNN mimics a CoCo List message. It's not perfect, but it's quite close, and it provides just enough of a mixture at times to make for a bit of humor.

It's a simple, but interesting example of the power and utility of RNNs. I suggest reading Andrej Karpathy's previously referenced blog post for the details and behind this. And don't forget to refresh your browser to get another dose of random CoCo List goodness.

Sunday, June 7, 2015

Part III: The Recovery

In the last blog post, I describe how the Microware CoCo 3s were taken from Microware by Scott McGee and given (gratis) to Bro. Jeremy at a mid-1990s Chicago CoCoFEST, whereupon they were shown there and at subsequent fests. During that time, they remained in the possession of Brother Jeremy.

The ending to this three part tale is rather short, but necessary to provide closer to the larger story.

Fast forward to 2012. At this point in time Bro. Jeremy has moved to England and no longer attends CoCoFESTs on a regular basis. Curious about the fate of the Microware CoCo 3's, I contacted our community monk to learn exactly where the computers where. As it turned out, he left them at his home monastery in Wisconsin.

We discussed an arrangement for them to be shipped to me in Louisiana, where they now reside.

And now you know.... the REST of the story.

Wednesday, June 3, 2015

Part II: The Monk Takes The Booty

In my previous blog post I explain how a late night of working at Microware led to the my discovering CoCo related equipment in a cubicle. I shared that discovery with a  co-worker, Scott McGee

Since no one at Microware really had expressed any interest in showcasing the CoCo 3s and other Color Computer related hardware, Scott had the raving idea of donating the CoCo 3s discovered at Microware to Brother Jeremy at the upcoming CoCoFEST. I wasn't particularly fond of the scheme, but didn't put up much resistance to it at the time. Looking back, I should have made a bigger wave and kept the CoCos where they were and made more of a point to display them somehow at Microware's headquarters.

While I cannot remember the exact year, I believe it was either 1995 or 1996. The Chicago CoCoFEST was coming up during its usual April/May time frame. James Jones and I would take the drive every year from Des Moines to Chicago to attend. Scott drove and attended separately, as I recall, with the haul of Color Computers destined for the fest.

Brother Jeremy took possession of the CoCos at that ChicagoFEST and for years thereafter, brought them with him to every fest he attended, setting them up at a booth for display. I'll give him credit -- he took care of the systems and made them accessible for the CoCo Community to see.

However, there was a casualty in this -- the rest of the haul. I cannot recall what happened to the boxes of ROM Paks and the DS-69B digitizer, nor do I know what happened to the original Tandy documents that were house along with the rest of the hardware. It reinforces in my mind that the entire collection of stuff should have never been disbanded.

Thursday, May 28, 2015

Part I: The Discovery

In my previous blog post, I shared photos of six unique Color Computers; four of them are CoCo 3s from Microware Systems Corporation of Des Moines, Iowa (Microware has changed hands a couple of times since that time). In this post, I'll give some background on my Microware experience and how these CoCos came to my attention.


I joined Microware in the summer of 1992 as a software engineer. Getting my foot in the door had everything to do with my ownership of a CoCo and familiarity with OS-9, so everyone at the company knew of my Color Computer interests. I worked directly with Mark Hawkins and Todd Earles, two of the "CoCo 3 mugateers" that you see when you hit CTRL-ALT and the reset button on the CoCo 3. I was told first-hand of the lore and war stories behind the development of the Color Computer 3's BASIC and the ports of OS-9 to the Color Computer family. But I never actually saw any evidence of the development of the product. That is, until late one night...

Finding Gold

The Microware building on 1900 NW 114th Street was arranged in somewhat of an L-shaped fashion with much of the work areas filled with cubicles. I worked on the side of the building that would be considered the bottom of the L. Near my workspace were other cubicles of other employees, as well as a few empty ones where miscellaneous equipment would tend to accumulate.

I was working late one evening when I walked by a cubicle next to the "machine room" (a large air-conditioned enclosed area where Unix servers and OS-9 VME crates used for development were housed). This particular cubicle had been empty earlier in the week, but now housed a bunch of boxes of recently moved equipment. Curious, I stepped in and poked around, whereupon I discovered several Color Computer 3s. In another box were a few more Color Computer 3 cases and some documents scattered about, including the specs for the CoCo 3 on a Tandy letterhead. Still in another box were loads and loads of game and application software cartridges from Tandy. Another box held a DS-69B digitizer and some unrecognizable cartridges. There was even a huge GIMIX 6809 computer named "Sybil" which I later discovered held all the OS-9/6809 sources (even the source to the fabled Level 2 Upgrade), but that's another blog post...

Back to the find... I was ecstatic to see all of this CoCo equipment in one place, and it began to dawn on me that this was Microware's stash of Color Computer goodies they used for development some 10-odd years earlier.

The next day at work, I shared the discovery with another CoCo aficionado and Microware employee, Scott McGee. Scott had started working for Microware about a month before I did and also got his foot in the door through his Color Computer experience. He was keen on viewing the CoCo stash, so together we went to the cubicle and looked through the boxes to get an idea of what was there.

I brought up the idea of cleaning up all of the CoCo equipment and putting it in an area of the building that would showcase Microware's legacy work, but that didn't go anywhere. My impression was that no one at Microware really cared to pay homage to the work that was done on the Color Computer. No matter how I viewed these machines and their legacy, for the rest of the company, there was no interest in celebrating the past.

Everything CoCo related in that cubicle stayed in place for a while, and then it happened...