Wednesday, August 27, 2008

The Mysterious Production of Mazes not so mysterious to me anymore. Have a maze generator implemented in Javascript and Scalable Vector Graphics (SVG), a spin-off from another project. As usual, a browser modern enough to support the seven year old SVG specification is required. That means Safari 3.1, Firefox 3, and in this case Opera 9.52 works, too. The current version of Internet Explorer is, as in all things SVG, useless.

There are no isolated areas in the maze, so it should always be possible to find a path between any two arbitrary points. If you're actually trying to solve the maze, I suggest trying to go from the top-left corner to the bottom-right. The maze is generated randomly, so it's vanishingly unlikely that any two loadings will ever produce the same maze (unless some browser does a poor job of seeding Javascript's pseudo-random number generator).

As always, you can open this SVG in a dedicated window (which will produce a new maze for that window), and make that window any size you wish - the maze will scale up or down arbitrarily. However, if you want to change the complexity of the maze, you'll have to save the source of the maze, and tweak the two values (height and width) passed to the Maze function (look for the line "new Maze(75, 75);" very near the bottom of the file), and you can have mazes of any size.

Tuesday, August 26, 2008

The Ghost of LabMan Past

At some point, I'll finish writing-up a retrospective of the 20 years of academic and administrative computing that I've been a part of here at The University of Texas at Austin, but, for the moment, I just want to throw out a few screen shots of one the earlier software development efforts (1988) of the long-disbanded Microcomputer Support Group (MSG) of the not-quite-so-long-gone U.T. Austin Computation Center. It was a Macintosh application called LabRegister which was used by our proctors to manage our microcomputer lab (and later, labs). It evolved from, and replaced, a HyperCard stack developed by one of the lab proctors, Kee Kimbrell (now a big-shot somewhere). After many more stages of evolution, it became "LabMan", which the The University sells to this day. (And which a number of us around here want to see open-sourced.)

(I was able to run LabRegister again for the first time in ages by using the "minivmac" Macintosh emulator. The screenshots are all, therefore, modern, and show it running under System 7, which didn't exist in 1988 when we used this LabRegister application. But it's close enough, and the original Macintosh 512 X 342 screen size is correct. Note that while the original Mac screen seems unbelievably tiny these days, it still had more pixels than, say, the iPhone currently does.)

My friend and colleague William Green offers the following background: "The primary function initially was allocating machines to users and tracking their usage. There were long waits to get computer access back then. People were required to sign up on paper forms, and those were entered later by hand to generate usage statistics. The Hypercard and later application automated the sign-up and allocation process. The statistics helped to justify lab upgrades and expansions. It changed over time from a manual process by proctors entering data, to users entering data and fully automated. Eventually it did a lot more than track usage, and was actually used to manage the computers themselves."

The "about box". At the time, the man in charge of the MSG, G. Morgan Watkins, insisted that no individual be given credit for any software produced. This "about box" was a fiercely contested compromise that acknowledged Kee Kimbrell's original work, but not my authorship of this particular program. Instead, the entire core staff of the group was credited with authorship, even though some of them weren't even computer programmers.

To Morgan's credit in this context, he insisted that the computers in our labs be networked. Believe it or not, that was a contested issue, with folks outside of the MSG insisting that the Computation Center's serial communications system, MICOM, was all that the lab computers could possibly need.

The main screen, representing our original microcomputer lab in Taylor Hall room 103, circa 1988, which sat roughly where the 24th street entrance to the ACES building currently sits. The icons represent the newly released Macintosh SE and Macintosh II models, although I believe the actual lab was probably still a mix of Mac Pluses, Mac 512Ks, and IBM PCs.

The dialog box for marking machines as down, so the proctors wouldn't assign users to them.

The dialog box showing the status of a machine, in this case one whose ROMs had died.

To understand that there was some significance to the existence of the MSG, the microlab, and this piece of software, it's important to be aware that those of us who argued (and quite passionately) that microcomputers had a useful place to fill in campus computing, and one that made some of the other systems irrelevant, were the young turks that nobody took seriously. We were absolutely right, of course, but in those days it was a constant a fight. These days, of course, most of what were once mainframe tasks are now executed on microcomputer hardware, even if it is stuck in a rack in a machine room somewhere.

Chris Cooley Remembers

[My additions and deletions are in brackets. --CWJ]

I remember also proctors having to carry around a clipboard to scribble consulting info, then enter them using the "TSR" [terminate and stay resident] style application on IBM PCs. That was even after the move to FAC [Flawn Academic Center] 29. And that "materials" field in LabRegister for things such as diskettes containing applications for the second floppy drive, MacWrite documentation, etc.

I don't recall how the DOS waiting list was accessed by the proctors to get the next user. Was it only a data entry program?

Oh, and the joy of users not in possession of their UT EID for us to confiscate while they used the lab. Especially after having waited a while.

Otherwise I'm drawing a blank on "all the important stuff" as William termed it. I'm thinking that we've pretty much described how it was before the move to FAC 2nd floor and the advent of LabMan. That's when station assignments, integrated printing, IF accounts, station logons generating usage stats, the "spend" command, PRS, etc, came about. (Oops, I think I might have reminded Chris about LaserWriter 8 driver hacking.) [Hacking the LaserWriter driver's binary to remove the AppleTalk communications stack and substitute our own print-intercepting code is not forgotten. It was a neat hack, but I never want to do anything like it again.]

On LabMan, we're waiting for [....] a letter that simply informs OTC [Office of Technology Commercialization] that ITS [Information Technology Services] will be making it free & open source. I'd like to immediately change the pricing. Distribution of the source will have to wait, as we add licensing & disclaimers, remove the registration number code, evaluate security implications to existing labs by exposing the client-server communications details, etc.

Larry Liberty Remembers

[My additions are in brackets. --CWJ]

I did the TSR [terminate and stay resident] consult recording application (a quality Turbo Pascal program).

For the DOS waitlist, I believe there was the sign-up box (by the door) and another one behind the proctor desk. They were on PC LAN (remember those the huge white coax cables?). Through a shared file, users could add themselves to the list and the proctors could "pop" them off the list. The sign-up and assignment times were recorded so that the waiting time for a station could be determined.

And there was laser printing in FAC 29 [Flawn Academic Center, room 29]. Chris lead the way with LabUser [UserInfo]. (or something like that, I liked the "abuser" part of the name [officially, that stood for "Apple Bus User", since "Apple Bus" was Apple's original name for its AppleTalk networking system]). And I had a Novell Netware based print server solution for PC laser printing. That was followed by a Windows 3.1 integrated printing package. Both required having Unix accounts. William pushed through the whole IF accounts concept (give the users a way to spend money, please!) and IF accounts were already around during the FAC 29 days.

PRS came on-line shortly before the SMF [Student Microcomputer Facility] opened (because the Unix boxes couldn't handle that many IF accounts and IF accounts were required now for lab station logon). So we were required to move laser printing to the VMS machines (PRS), which could handle all the accounts.

It's good to hear LabMan might be open source (it should have been that way from the start).

Friday, August 22, 2008

You are getting sleepy, very sleeeepy....

More tinkering with Scalable Vector Graphics (SVG) and Javascript, just for fun. (Unfortunately, if there's anything actually fun about Javascript itself, I still haven't found it.) Anyway, click on the rotating spiral to stop it. Click again to start it in the opposite direction. Another click stops it again. And yet another click starts it rotating in the original direction. And so on.

If your browser supports the Scalable Vector Graphics standard, and Javascript, you should see a rotating spiral. If not, allow me to suggest a change of browsers.

This program works well in Firefox 3 and Safari 3.1.2. It works very well in Safari 4, by which I mean the current WebKit nightlies. (If you're frustrated that the version of Safari in the iPhone has no SVG support, join the club.) In Opera 9.5.2 the program runs slowly (roughly ¼ the speed of Safari 3.1.2) and with stuttering motion. Firefox 2 is much worse; it works, but too slowly to be worthwhile. However, if your browser is running this program well, you can open it in a separate window and scale it to arbitrarily large sizes. (Or not.)

Any easily suggestible people who find themselves hypnotized, are hereby ordered to think for themselves, and to demand rigorous logic from any idea, internal or external. Everyone else may quack like a duck ... you know, if that seems like a good idea.

Come to think of it, They Might Be Giants had more than a few words to say about a spiraling shape, including the following:

And now that you've tried it,
you're back to report
that the spiraling shape
was a fraud and a fake,
You didn't enjoy it,
you never believed it,
there won't be a refund,
you never go back.

Wednesday, August 20, 2008

Photographing the Night Shift

About a month ago my (steel garbage) cans of bird seed started being raided by a family of raccoons. I didn't mind; it seemed to me that they'd have been pretty dumb raccoons to pass up such a plentiful food source. (And I wouldn't want to have stupid raccoons, that'd just be embarassing.) Unfortunately, they made quite a mess of the bird seed. I've subsequently secured the lids of the cans with steel cables, but didn't want to loose my night shift visitors, so I started putting out some dog food in a dish. That kept their interest, and that of at least one of our local marsupials. Also, it's cheaper than the bird seed.

For some time now, I've wanted to get pictures of the local nocturnal critters, but either the critters, or my homebrew infrared camera trigger, weren't cooperating. Tonight, I captured photos of a visitor for the first time.

The first photo raises the important question: Now that red-eye removal is a common feature in photo retouching applications, where's the green-eye removal?

Tuesday, August 19, 2008

Perseids and Polestar, The Movie

This 32 second movie covers 95 minutes of attempted Perseid meteor watching, from 3:23 to 5:06 AM on August 11. I've left out the hours of solid clouds before and after for the sake of brevity and out of respect for the sheer pointlessness of including them. During this movie, there are at least four meteors to be seen, one impressive, the others not so much. One thing that the movie reveals, which wasn't apparent in the field, is that there were two layers of clouds that morning, moving in nearly opposite directions, just to ensure the smallest possible chance of their gaps lining-up to permit the Perseids to be seen.

The movie is far from raw excitement, but, if you've followed along with my meteor watching tales this far, you might extract some small amusement from this moving-pictures experience.

Click here to view the movie.

The movie is in QuickTime format (H.264, specifically), measures 615 x 925, and is 6 MB in size. (I tried using Google video to host the movie, but, like every free movie hosting service I've encountered, it insists that movies be small, blurry and in a 4:3 aspect ratio, and that's never the way I make movies. One size does not fit all.)

Wednesday, August 13, 2008

Perseids and Polestar

Perseids and Pole Star. Copyright 2008 Chris W. Johnson, All Rights Reserved.

Although only one of them is obvious, there are several Perseid meteors included in this composite of images captured between 4:19 and 5:06 AM on August 11, 2008, from slightly south of my old friend the windmill on the Bamberger Ranch Preserve. One perseid that is not obvious, but not hard to point-out, is one of the "flash bulb" type - it's located just a bit higher than Polaris, and about halfway between Polaris and the right edge.

Tuesday, August 12, 2008


The night before the peak of the Perseids, I managed to capture several meteors between, or through, the clouds. Below is the best of those photos.

Perseid meteor. Copyright 2008 Chris W. Johnson, All Rights Reserved.

A note to users of Apple's Aperture application and Canon XTi cameras: The version 2.0 RAW presets are very poorly suited to this sort of photography. I wondered if my camera might be broken, because the images from this meteor shower were so different and bad relative to those from previous showers, but switching back to the 1.1 RAW presets produced much better images, including the new edition of the picture above.

Last night, the peak of the shower, was pea-soup cloudy - I only saw two meteors in four hours and caught none on camera.

Monday, August 11, 2008

Early Perseids in Armadillo Central

There's a herd of cattle watching me, about fifty feet away, as far as I can tell from their eyeshine in the beam of a red flashlight. Big pairs of red dots pointed this way. Small flies keep landing on the iPhone keyboard and getting themsleves smeared around before flying off indignantly, but, regrettably, not permanently. Screech owls and a coyote are proclaiming their territorial rights as dawn draws near, to make such issues moot for another day. My camera clicks off one more frame every 30 seconds. An old windmill groans in the wind.

I sit in this pasture deep in the heart of Texas this night counting meteors and crossing my fingers that a few of these early Perseids really did pass through my camera's too limited field of view before winking out of existence.

That, and cursing the weather. When I arrived out here shortly after moonset, the sky was covered with a film of clouds. First magnitude stars didn't so much shine as ooze their light through. They seemed more like acne on the face of the clouds than the local jewels of our cosmos.

But one or two Perseids managed to make themselves seen, even through that. And then, at the cost of the night vision in one eye, and mostly because it seemed so wonderfully improbable to be doing so, I sent an email from this cow pasture, many miles from anywhere, to an old friend in the UK. And before my night vision could return, my phone vibrated and connected me to someone I used to talk to everyday, but now haven't seen in years, more or less. That this was all possible still leaves me a little amazed.

And as we spoke, filling some of the gap of years, I looked up to find that the sky was almost clear and Perseids were falling. Some came head on and looked like flash bulbs going off deep in the sky. Most came as bright streaks; some of them large enough to leave behind glowing tails. Others seemed too small to be seen alone, and therefore chose to arrive in clouds of their own kind. A patch of sky would momentarily, and ever so slightly, brighten as they all burned together.

I counted about 30 Perseids in all, before the clouds returned and sealed away the night sky for good.

Tomorrow is the peak of the shower (starting around 1:45 AM, when the moon sets), but the weather forecast promises much worse conditions for the occasion, so I took what I could get this night, and, of course, I curse the weather.

Dawn is nearly here. A bat just flew by, making sure it goes to bed with a full belly. The cattle are coming. I should be going.

It is amazing to be able to post from here.

Thursday, August 7, 2008

Oh, Wow. It's Good to Hear You, Old Friend.

OK, "friend" is too strong a word, but once upon a long time ago, no later than 1994, I rented the back half of an old bungalow here in central Austin. It had no air conditioning other than some hopelessly spent old window units, and no heat save for a floor furnace that could only heat the little hallway under which it lurked like a tiny pit of Hell. There was a lot not like, but it had a tiny back yard adjoined by neighbors who had a dog I could pet through the fence, the house and yard were overhung by big, shady trees, and its decrepitude notwithstanding, it was possessed of a comfortable oldness that I found easy to like.

Though I didn't know it when I signed the lease, it also had a beautiful woman named Roxanne Hale. She rented the front half of the bungalow. But forget the beauty – this woman could sing. And compose. Naturally, she had a place in Austin's famous live music scene, which, just as naturally, meant that she had to earn her living working for a company that made snack chips.

There's a lot less justice in the world than there ought to be, but, then, you knew that.

Back in '94, the World-Wide Web was just about a year old, and you couldn't swing a cat without hitting about half a million people who hadn't even heard of the Internet, let alone the Web. I'd been using the Internet since I signed-on at The University of Texas at Austin Computation Center in 1987, and had been doing my small part to build-up the Web ever since the National Center for Supercomputer Applications (NCSA) had released Mosaic 1.0a9 for the Macintosh. (First Geiger counter on the 'net? That was me. U.T. Austin's first home page? Me, again - though there's some dispute about it.) Where local music was concerned, I'd first pushed the idea of having Internet connected volunteers get the schedules for the local music venues, type them in, and post them on some of the local Usenet newsgroups for the benefit of all. One volunteer, one venue, was the idea. (I took the Elephant Room, though they were thoroughly unreliable about getting their schedule out.)

Just in case this point hasn't already sunk in—and if you weren't there you could easily have missed it—the Internet back then wasn't about advancing one's commercial interests. Other than defense contractors, commercial interests pretty much hadn't noticed the Internet, yet, and wouldn't begin to for at least two more years. Stocking the Internet with content was a volunteer effort performed on the grounds that, if someone would just do X, wouldn't that be great? And so lots of us did lots of things, and the Internet and the Web did begin to become great. And then, in '96, the world began to notice, and ISPs started to be created, and the Internet began to grow and change. And sometime around the millennium, I found myself standing in line to order lunch at a notoriously tiny eatery near campus, and overheard two sorority girls behind me discussing their email. That was the moment, as far as I'm concerned, when the Internet had well and truly arrived. For better and for worse.

Anyway, back in '94 the Internet and Web weren't household words. But lots of us were doing whatever we could think of to make it a bit more interesting or useful. And it was completely obvious to me that the Internet could deliver music to people who would otherwise never get a chance to hear it. And so I suggested an "adopt a band" effort to anyone who would listen. And bands were contacted and adopted, web pages were created for them, music was digitized and linked-to, and fingers were crossed that somehow this'd get a local band the attention its adopter believed it deserved. I have no idea whether it ever worked, but I am certain that it was worth trying.

Naturally, I adopted Roxanne and her band. I created web pages and digitized music (albeit from a cassette deck that I later learned was distorting the sound by running ever so sightly slow), and hosted the web site from the Macintosh on my desk at the U.T. Austin Computation Center's Microcomputer Support Group, using, if memory serves, MacHTTP for the server. (Even in those days of cooperative multitasking on the Macintosh, that arrangement worked fine.) These days, there are, properly, policies forbidding the use of the University's Internet resources for commercial purposes, but back then the policy makers had no idea that there was an Internet, so those of us who occupied that wondrous policy-free zone did whatever seemed right at the time. And trying to helping Roxanne and our other unknown local musicians seemed right.

Three years later, the Internet Archive arrived on the scene to begin making a record for posterity of the entire contents of that world-changing, ever-changing medium, and captured a snapshot of the Roxanne Hale web site, not much altered, as best I can recall, from its original design.

Eventually my lease on the back of the bungalow expired, and I went to live elsewhere in Austin. Eventually, so did Roxanne, except in New York. And somewhere in there, as the policies on acceptable use of University Internet resources arrived on the scene, I had to drop her web site, and wish her well.

I've thought of her repeatedly, if infrequently, over the years, for several reasons. Two of those reasons are cassette tapes gathering dust on the bottom shelf of my CD collection, which I have no way to play, but wish I did. Another reason was one evening at the bungalow when a knock on my door revealed Roxanne in a half-zipped dress, anxious to be on her way somewhere, looking for help finishing the zipping – a singular event in my life, so far. And, perhaps for that reason, I will always regret not having offered then and there my help with her unzipping whenever she got back. It did occur to me, but about thirty seconds after the zipping was complete and she was gone with a smile and a wave. Timing, as they say, is everything, and mine was off, as usual. Also, I didn't stand a chance with her, but that's just details. It should, at least, have been said, if only so I wouldn't spend years kicking myself for screwing-up a scene that a screenwriter couldn't have setup any better.

But that CD collection ... I've been re-ripping it lately, because when I first ripped it, iTunes was so stunningly dumb that it ignored the error correction codes on the discs (actually, it still ignores them by default, but can now be configured otherwise), which meant that read errors introduced static-like noise into some songs, and because I recently replaced an 8GB iPod nano with a 16 GB iPhone (my very first cell phone), so I finally have the extra space to increase the bit-rate of my music. And it was somewhere in that re-ripping process tonight, that Roxanne's name floated through my head again. And that left me thinking that in these days when any musician can publish their work on iTunes for around $30, wouldn't it be a shame if Roxanne was missing that opportunity to, once again, make her music available on the Internet.

And here's where we finally get to the good bit: she isn't missing the opportunity. And my favorite song of hers, though renamed from "But I Do" to "You Think I Don't Know You", is among the offerings. And they're "iTunes Plus" tracks, which means no DRM and a bit-rate of 256 kbps. So, I finally bought my first complete album from iTunes, and it's a treat.

Roxanne, it's great to hear you again. I hope this foray onto the Internet finds you the audience you deserve.

And if you ever need help with a zipper again....