" /> Minh’s Notes: January 2009 Archives

« December 2008 | Main | February 2009 »

January 29, 2009

Sixth grade was not a good year for me on the school bus. Every year, Loveland City Schools shuffled its bus routes around, with the intent of keeping us students on our feet. That year, my stop wound up first on the route. The long ride each morning – usually half an hour to school – exacerbated my motion sickness, keeping me under the menacing eye of the bus driver.

One day, a classic winter storm passes through Cincinnati. You know: snow, sleet, slush, ice, slice. I can’t remember quite how much snow accumulated that day, but it can’t’ve been more than five inches. Regardless, the weather forecasters went hysterical about the sheer severity of the storm. Loveland, on the other hand, kept their cool. At the time, the district was hard core about staying open despite inclement weather. (I believe these days we call it “flinty Chicago toughness”.) Nothing like those Northern Kentucky schools that’d shut down whenever it felt chilly outside.

Still hoping for a chance snow day, I monitor all the TV stations’ scrolling tickers that morning. There’s an art to channel surfing on snow days: you switch to each channel as its ticker nears “L”. Little Miami, Live Oaks, Lockland – wait for it – Lynchburg. Fooey.

My bus meanders along its usual route, but at normal walking speed. Due to the thick layer of ice on the roads, the driver never makes stops; instead, she coasts a bit, swings open the doors, and waves us in. One by one, we jump aboard the oversized toboggan. While the driver carefully manages the slick hills, time is ticking on my motion sickness. We’re already plenty late for school. A few more minutes, or a couple more speed bumps, and I’ll have to pull out the Kroger bag the driver required me to carry, just in case.

Just as we slide past the final stop and start across town to school, the dispatcher comes across the radio, unusually loud and clear:

Base to all drivers, pull over. Repeat: pull over. We are determining whether to cancel school for today.

The freezing, exhausted passengers on the bus erupt in celebration, followed by arguments about who gets dropped off first once school is called off. Surely following the route in reverse would be unjust: some of us had been riding almost an hour already!

During the next ten minutes, we search for ways to stay warm as the district deliberates (in their cozy office, no doubt). Finally, a relieved-sounding dispatcher gives the all-clear over the radio. There will be school after all. Defeated silence. The eighth-graders at the back of the bus resume their daily routine of furiously scribbling down homework answers just before arriving at school. The kids across the aisle kick themselves for not flushing at 7:00 the night before. And I just want some fresh air.

Although St. Columban School is located within the Loveland school district boundaries, students come from several surrounding districts as well. That morning, the school appeared conspicuously empty. Of course, with Little Miami, Milford, and Goshen all closed, everyone but us Lovelanders had an excuse to stay home.

Readers from the West Coast will probably want to know what a Kroger bag is. They’re your ordinary plastic grocery bags, but tan-colored, so they make for good barf bags and great dresses (apparently).

January 25, 2009

Longtime readers of this blog – again, all two of you – will recall that I’m still a fan of Adobe Atmosphere, that brilliant online virtual reality platform, even though Adobe killed it off shortly after version 1.0, more than five years ago. But even though Atmosphere has gone virtually unused in the years since, I’m on a quest to preserve its memory:

  • Shortly after Adobe pulled their support, I asked the user community for help in establishing an “abandonware” website specifically for Atmosphere, similar to websites that memorialize other long-gone software. That led to the article on Wikipedia. The article still lacks numerous details and contains scant citations, but it’s a start.
  • A few months ago, I updated MingerWorld – which I painstakingly developed during my freshman year in high school – for compatibility with Atmosphere 1.0. Finally.
  • My latest project is “Dialup”, an avatar that Atmosphere’s beta testers will instantly recognize. It imitates the placeholder avatar that other users would appear to wear as Atmosphere downloaded their real avatars.

The breakthrough came when I found Joe De Costa, who’s been running a working copy of Atmosphere’s chat server all these years. With his permission, I hooked MingerWorld up to his server, allowing you to explore the world as it was meant.

Atmosphere’s powerful chat functionality allowed users to see and converse with each other in-world, setting the software apart from countless other 3D offerings, including Adobe’s later ventures in 3D modeling.

In a fit of irony, Adobe released the chat server under an “Atmosphere Open Source License” but neglected to publicize the fact. In fact, the only way to obtain a copy of the source code was to contact Adobe directly. So even at the height of Atmosphere’s popularity, there were only a few chat servers in operation, apart from the official Adobe server. The vast majority of worlds were connected to the official server. After 2004, these worlds went silent: even in the worlds that saw dozens of visitors at a time, each user would appear to be alone. For the many thousands of meticulously-built worlds, the “killer app” was gone.

I want to fix that. I have a copy of the Adobe Community Server software, which I’m planning to run on my own computer in the future. I’d love to make the software publicly available, the way it should be, but first I have some legal questions about it. The key passage in the server’s license agreement reads:

Subject to the terms of this Agreement, Adobe grants you a non-exclusive, worldwide, royalty free license to use, reproduce, prepare derivative works, publicly display, publicly perform, distribute, and sublicense the Software for any purpose provided that the copyright notice below appears in a conspicuous location within the source code of the distributed Software and this license is distributed in the supporting documentation of the version of the Software you distribute.

That’s all well and good, but contained in the source code are two references to patent applications held by Adobe. The first was granted as patent 6,842,786 and seems to describe a server-side dynamic language runtime. The second is still pending after all these years and covers the way worlds “cloned” when full. (An overflow copy of the world was created automatically, so that worlds wouldn’t fill up so severely and users wouldn’t have to load 150 avatars on their dialup connections. Most of us found the feature annoying but dreaded the alternative.)

So my question is: would I be legally permitted to distribute and even modify the server software, as provisioned in the license, even though Adobe holds a patent on certain parts of the server? Note that the license never mentions patents, but rather grants sweeping rights. If not for the patent question, the license would even let me relicense the server under something very much like the MIT license.

Any help appreciated.

January 15, 2009

From the I-should-have-blogged-about-this-literally-a-month-ago department, AIM OpenID Login has been released as part of Six Apart’s Motion package. That was a mouthful, so allow me to unpack the sentence.

AIM OpenID Login is a small plugin I wrote in 2007 that lets anyone with an AOL account – including AIM users – easily log into your Movable Type blog to post a comment. Motion is a plugin for Movable Type that turns the blogging software into a social networking platform. It’s currently a public beta, so you can download it for free while Six Apart works to smooth out the edges. According to the FAQ, its features – including, presumably, AIM OpenID Login – will be folded into the standard Movable Type application by version 4.25.

Early last month, a product manager at Six Apart e-mailed to notify me that my plugin would be incorporated into a future Movable Type release. He did not ask my permission. As it happens, I’d already given explicit permission by licensing the plugin under the GNU General Public License, as I was required to. So this e-mail was simply a courteous heads-up. As you might imagine, I’m quite pleased that one late night of coding has led to such visibility for my code. If only I got such a high ROI with this week’s complement of problem sets.

Even if you have no inclination to turn your blog into a full-fledged social networking service, AIM OpenID Login lowers a barrier that keeps your readers from becoming commenters.