02 January 2023
The Friendly Orange Glow tells the history of a piece of educational software, PLATO, that grew into a whole microcosm of the internet and cyber culture years before the internet we’ve known for the past 25 years.
Brian Dear attributes the obscurity of PLATO to it having been built and developed at University of Illinois in the Midwest and not at a school on the coast. The PLATO system also used dedicated client hardware with integrated slide projectors, and it ran on a single mainframe. Everything was coded in a programming language called TUTOR, which was primarily designed for authoring interactive lessons using the orange gas plasma display, a rudimentary touch input for the screen, the keyboard, an slide projector integrated into the display, and even occasional peripherals like some sort of synthetic woodwind sound device. It was all very specialized from the beginning.
I loved the time the author dedicated to describing technical details, like how the orange gas plasma display was developed: the grids of wiring, pockets of noble gases trapped between them, and the way accidental contamination allowed them to discover a memory effect they could use to keep each pixel lit. Fixing the contamination lost the memory effect. He presented a wonderful level of detail for my interest.
Donald Bitzer showed off PLATO to anyone who would take a moment to try it. He wanted people to learn and get creative, seldom shutting down experiments. He’d embrace the high school and university hackers who would wander into the labs, and he put some of them to work building hardware or testing. These people would go on to build all sorts of multiplayer games and other software to be used by other users on the system. Bitzer recognized the value in observing what people did with the spare cycles of the system at night. From that freedom sprung an entire hacker culture similar to what I found in my youth, so I felt great nostalgia for this work. Again though, I was discovering this culture in the 1990s with bulletin board systems and the internet in college, and Bitzer’s revolution had already happened in the 1970s. We were always pushing the limits of what we were supposed to do with these systems. It looked like wasted time, but we learned the most.
Discovering new lessons or software on the PLATO system seemed akin to our exploration of BBSes via our modems in the 1990s. We’d stumble around trying to find some new phone number or new corner of an existing BBS, and these kids in the 1970s were exploring PLATO to find games or long threaded discussions in notes that others were developing.
PLATO started as a way to display some slides and teach a self-paced lesson, but grew into games, forums, and email before such things existed. It could have grown into one of the great online services that followed, but they may have gotten too tied up in their centralization and specialized hardware. The management of their commercial partner may not have helped either, because they just wanted to sell mainframes, and didn’t recognize the value of community that had been built around the system.
The book was an exciting listen, and I blasted through the whole thing in about 2 days, because I just couldn’t put it down. It reminded me of my childhood and the all the potential of the systems of the day and the creativity that came from the limitations of the day. PLATO evolved in an alternate universe in the middle of the country away from the technology hubs.
25 February 2009
I decided I needed a change of pace last week, so I sat down with Eclipse, the Mobile Tools for Java (MTJ) plugin, and MPowerPlayer on the Mac, and cranked out a little toy game using the Game APIs. My only reference was the Beginning J2ME: From Novice to Professional ebook and previous experience.
Starting up the mobile project was never easier -- the stack finally works nicely, even on a Mac. Within about 7 hours of coding and interruptions, I had a working platform-style game with a little backhoe that can be driven back and across the screen, and you dig for little jewels. It's dead simple and the kids find it amusing. It looked good in the MPowerPlayer emulator, and it worked even better on my SonyEricsson W810i.
The next day, I spent 2 more hours or so adding some trees to plow over. It still needs a few finishing touches and features, but you can grab Ben's Backhoe and amuse your kid in the grocery store or something with a simple little game. I hope to be able to put together a few more little mini games like this -- Paige is already making requests.
28 March 2008
I'm organizing An Evening of Emerging Technologies at MapQuest in Lancaster, PA on 23 April 2008.
It's a free open space conference, so join us to hear about technology in our region and to share your own experiences. Click the link and register today.
16 March 2007
Apress was again so kind as to send me a copy of Practical Subversion, Second Edition. I had read the first edition a couple years ago and gleaned lots of good information, so this time around I was already pretty familiar with the subject material. Today, I use Subversion to track the source for my various Java projects.
The introduction and crash course chapters provide a great primer to the basics of version control -- any version control. Since the newest versions of Subversion have added support for features like locking, the authors added material on these as well. In these chapters I learned about these new features and their recommended application.
The administration and migration chapters ensure that you'll be able to handle any aspect of keeping your repository running. I know lots of tools to help me when I need them, but I've not needed most this knowledge yet, since my usage of Subversion remains pretty simple. I was delighted to find that there was a new backend to the repository (FSFS) which doesn't suffer the complexities of the old BerkleyDB backend. I found my newer repositories were created using this backend, so I went back and converted all my old repositories.
I only skimmed the chapter on Apache integration, since I accomplished most of that with the previous version of the book.
I greatly enjoyed the chapter on best practices. I love these more academic discussions trying to learn the big picture. Everyone should read this chapter (again, for any version control system). Lots of people have already figured out the best ways to structure and use a repository, so take benefit of their experiences.
In the chapter on tool integration, I found Trac! It's a repository browser, wiki engine, and simple issue tracker. This was the real jewel for me in this chapter, and I happened upon it exactly when I was looking for such a tool. ViewVC and SVN:Web are covered in more detail, but I think the book would have probably done well to concentrate more time on Trac. Otherwise, the authors provide some quick pointers to get you started integrating your IDE with Subversion. I'll also come back to this chapter when I need to get Ant pulling source code for a continuous build system.
Throughout this newer edition of the book, there are scripts and add-ons highlighted to make your life with Subversion easier. There are many more noted here than in the previous edition. You can definitely tell that more people are using Subversion and this book does well keeping up with the advances that those people have made.
The final chapter of the book talks about using the Subversion APIs. In my review of the first edition of this book, I had predicted that knowing these APIs could be useful for me to do complex manipulations and reporting on the repository, but in reality, I've still not touched them. To be honest, I probably never will. I just don't need that much power, and other people are doing good things for me (see Trac).
The appendices include the obligatory reference for all the commands in case you're not actually sitting at your computer with the built-in
help command. Otherwise, there's the quick comparisons of Subversion to other version control systems. Each system is only covered in a couple pages, but this is especially useful if you're migrating and still think primarily in another system.
These days, I mostly interact with Subversion through the Subclipse plugin for Eclipse, but I often drop into a shell when bootstrapping a new repository and project (and sometimes for entertainment, I just struggle trying to get Subclipse to do the right thing). That said, I wouldn't carry around a paper copy of this book in my bag on a daily basis for my needs. I think daily operation with Subversion is relatively easy. If I was the administrator of a repository for lots of other people, it would be a different story -- this book would never be far from my reach.