Pages

Friday, October 4, 2013

cleveland

My interest in Cleveland motoring last month was not entirely idle.

I flew to Cleveland last month to buy a car from a small pan-German garage that deals a few cars on the side.

I bought a 2001 BMW 323iT station wagon with a five speed. This is a rare car in the US. I got a sense of how rare with a persistent ebay query. Ebay sends me a note every morning with a list of new listings for station wagons with manual transmissions within a few hundred miles of home. The results are surprising.

Here's a two month tally by brand for the ten most represented brands together with the overall 2012 market share for each firm or parent firm:

           ebay    overall
brand      count   market share
_______________________________
Subaru.......153.......... 2.2%
Volkswagen....36.......... 2.4%
BMW...........17.......... 2.3%
Chevrolet(GM).15......... 18.2%
Volvo.........14............ 1%
Scion.........11.......... 2.9%
Audi..........10.......... 1.2%
Saab...........8............ 0%
Land Rover.....8........... .2%
Chrysler.......8......... 11.6%

On a recent day, there were about 36 thousand cars available on ebay in the same radius. About one thousand are wagons. About two thousand have manual transmissions. Eighty one were wagons with manual transmissions. Diesel convertibles are less common, as are manual SUVs, but that's about it.

On the same day, there were about 15 thousand sedans available in the same radius. That's almost half of cars. Six hundred of those have manual transmissions. I was surprised to find that manuals were more prevalent  in wagons (8%) than in sedans (4%). If you're buying a statistical car at a statistical future time, then this works to your advantage. If you are stuck buying actual cars, then only the actual size of the market matters.

If you want a used manual wagon today, you're getting a Subaru. More than half the Saabs in the list are re-badged Subarus. If you want a particular manual BMW wagon in a particular color with particular options, be prepared to wait a while.

I found a car in a color I liked with the close to the options I wanted -- which was none. I bought it.

If I had thought harder about it, I might have asked for some better pictures first. They would have highlighted some of rust on the car. Rust appears endemic to the area. I would probably have passed on the car if I had seen it.

I'm glad I didn't see it. The car is otherwise great. I'm glad I have it. I'd still be looking for another one if I had passed on it.

The kids love it. The Miata is for sale. The kids are sad about that. The memories they already have will  probably make them happier than would retaining this actual specimen.


Saturday, September 7, 2013

peter egan

Peter Egan has retired as a monthly columnist from Road & Track magazine. His last 'Side Glances' is available from the R&T site. I kept my subscription to that magazine for an additional decade just for that column.

Peter is the inspiration for many of my own automotive dreams. He's part of the reason I bought a BRG Miata as a winter driver. His philosophies are also part of the reason I will move on from the same reliable, trouble-free Miata this fall. Life is short. The Miata is at least the second best car I have ever lived with. I need that space in my driveway for a disastrous adventure with a Land Rover, a turbocharged Swedish wagon, a Renault Fuego, or some other inappropriate vehicle.

My choices will be tempered by desire to not orphan my children, also my desire to to give them a whiff of excitement and volatile hydrocarbons. I think most choices now will have a seat for both kids. Perhaps a Matra Murena?

I used to read Jalopnik regularly when Murilee Martin blogged in residence. As a lark, Jalopnik maintained a reader-moderated 'fantasy garage' with fifty spots. I think my fantasy garage looks a lot more like Egan's actual garage -- a place where rafterage for disassembled cars must be as important a commodity as floor space. I saw tents for sale in REI this summer with footprints as large as my fantasy garage.

I live in a place where emissions inspections have taken half the fun away from 1974+ cars and where urban congestion has removed fun from cars of all ages but old cars especially. I know that all it takes is one breakdown on a shoulderless walled highway to be a guy responsible for a mile long backup.

I lived near Baltimore for a time in the 1990's. Southwest Airlines then offered a promotional fare of $19 to Cleveland. I wondered what it would be like to give up on East Coast motoring all together and rent a garage near the airport in Cleveland and visit every weekend.

Side Glances is available in anthology.

Wednesday, September 4, 2013

big time

I hate to brag, but I've finally cracked six figures from monetizing this blog!

It might be fairer to say that I've cracked the '6' figure. I've now earned $6.01 in sweet, though unpaid, AdSense bucks. That future payday is all you.

With this milestone, we have finally cracked ten cents a post!

Schoolchildren learn that Charles Dickens was paid a penny a word. That may not be exactly so according to the folks at Fine Books magazine. They reckon the true number is about 1 farthing, or .25 pennies, per word. If we keep riding high on the revenue curve here at reograph then I'll continue to pocket .001 cents per word. I'm pocketing 4% of Charles Dickens' take and I'm doing it on my couch. Not bad.

If we indugle some extremely sketchy bistromath, we can work out how far that farthing would have stretched in present dollars. A farthing was a quarter of an English penny. There were twelve pennies to the shilling, twenty shillings to the pound. That farthing was about a thousandth of a pound.

Dickens made .001 pounds per word and I make .001 dollars. Today's exchange rate pegs the dollar at about .6 pounds. I'm just a bit of click fraud away from trumping the all time star of serialization. We should adjust for inflation before I get too carried away. The UK National Archives site will compare the buying power of old pounds with new. I looked at currency converters until I found one that told me that an 1850 pound was worth about 100 2013 pounds. Thank heavens for round numbers.

The conversion leaves me with a bit over a half a percent of Dickens' income per word. Still not bad for the couch. Of course, Dickens cranked out my entire annual output in mere hours.

Thanks,
  Your Correspondent

side b

Beep. Welcome to side B of the blog. We'll pick up here with the second half of kiosk. This isn't just the continuation of that story. It is also side B of the whole blog. I started this blog while a close friend was hospitalized as a way to write down a fraction of the crazy things I would otherwise waste his time with in person. He started the ball rolling with his own blog. He picked the blogger service. He figured out that blogger wouldn't generate an RSS feed for a private blog. We both wound up with public blogs just to indulge the Google Reader habits of our friends and ourselves.

About a month before he died, I asked about his post-Reader plan. His response?
sorry, my plan is to no longer need such things.
Fat lot of good that does me. Bereft and without a good RSS reader.

My friend was my audience. Now you are. I may keep at this or not. It will be very different for me in any case. Back to the listening stations...

The hardware execution left a motley collection of iOS and Android tablets -- borrowed, bought, and donated -- arrayed on my kitchen table seeking only a uniform interface that could capture so many ears and eyeballs that were unknown to me. I had a terrific asset beyond the tablets. My friend's wife teased ten great playlists from their collection and her sense of his taste.

Thomas Asbridge wrote that an 11th century visitor to Constantinople might have seen at least two heads of John the Baptist. As a child, I heard a joke about a monastery that held the heads of John as a child, as a teen, and as an adult. This project aimed for a much more minor miracle -- the ten headphones chronicling the stages of a careful listener's evolution.

I rejected both the native iOS and Android music players out of hand. I was impressed when Steve Jobs offered me a thousand songs in my pocket with the original iPod. I wanted ten new songs in your head. It's a different interface problem.

There was no way that I was going to fire up Eclipse and Xcode and build two native apps from scratch. I have some limited experience with PhoneGap. That could work. It would only have worked for me if the audio handling in each was robust. I figured that PhoneGap could work if the native browsers were up to the task themselves. If they were, why not just use them directly?

I first heard audio in a web browser in about 1995. It was a terrible MIDI file that began playing in the background of a cheesy web page for a computer parts vendor in Florida. I recall that site also had an animated GIF of a swaying palm. Both were irritating. Background MIDI files and animated GIFs only lasted a few years in the mainstream of the early web. Little animated 'under constuction' signs lasted longer. These had a special, almost sacramental, role in the web as digital headstones for stillborn web sites.

Future generations will interpret this as a sign of quarantine.
What lies beneath?
Perhaps the digital plague that killed the fabled GeoCities.
image courtesy mikesfreegifs.com
It's 2013 now. Animated GIFs are back and so is audio in the browser.

I think I understand how and why they came back. I think the iPhone is at the root of both.

Apple famously ditched Flash when the iPhone debuted. This was a move that now seems obvious. It was controversial at the time. Recall that Flash was unavailable even at a time when there were no native apps and the in-frame audio and video handling in Mobile Safari was nonexistent. Apple sold millions of iPhones before the first public working draft of HTML5 turned up.

HTML5 is the next generation of HTML. It includes direct support for audio and video in the browser. The working group behind the spec left almost no detail unaddressed -- except for the what video and audio formats would actually be supported. As a result, essentially no video or compressed audio file format was supported by all browsers. Lots of ink was spilled in the wake of this apparent disaster. I recall that patents were the villain.

Nearly everyone forgot that there was a 'video' format supported in all major browsers -- the animated GIF. They crawled back to the web while we were distracted by the battle over real video.

I bet that Mobile Safari included support for animated GIFs only by accident. If they had let Flash in or left GIF out, I think there would have been no niche for these files.

Perhaps animated GIF was an accidental video format. There never was an accidental audio format. There was no 'beep' tag in HTML that could be bit-banged into bad audio. The format situation remains technically unresolved after more than four years of half-hearted trying. In practice, there is no problem. The browsers on the mobile devices all play the most common formats. Flash still exists on the desktop for browsers that don't.

I remember spending some large portion of my precious BBS upload/download ratio margin on a DOS executable -- not an audio file -- that played a 'Magic Mushroom' commercial out of the PC speaker by bit banging. I no longer have any idea what a magic mushroom was but the fact of this commercial pouring out of my PC speaker certainly made an impression on me.

The major obstacles that remain for web audio have nothing to do with the original codec battle. Now we have to deal with implementations for iOS and Android that are broken almost to the point of uselessness.

One of the first problems with web audio started out looking like a solution. Implementors at Apple decided that a web site should not be able to start an audio clip playing without a user choice. That's a completely laudable goal. Javascript programmers can call a 'play' method on audio objects, but the audio won't play unless your Javascript is executing in a context that the browser understands is user directed.

button.addEventListener('click',function(e) {
  audio.play();
},false);

this works for limited values of works. We have now unlocked the ability to play sounds with this audio element. We can even call play again later without needing to be in a user directed call. We can even assign the audio element an entire new clip and play it later.

The only catch is that there may be a delay of many seconds between the time the user presses play and playback begins. Mobile Safari, at least, will not buffer the song until we have unlocked playback. Browser audio nodes to receive an event when there is enough file loaded to begin playback. You can at least put up a 'buffering' notice until playback is actually ready and then issue the play command once the media is ready to go. That looks something like this:

button.addEventListener('click',function(e) {
  update_status('buffering');
  audio.addEventListener('canplay',function(e) {
    audio.play();
  },false);
},false);

It doesn't work at all. The interior call to audio.play() inherits the lexical scope of the surrounding block, but whatever portion of the environment is required to unlock playback is lost by the time the 'canplay' callback fires. This no longer counts as a user-initiated event.

One solution is to create an audio node as soon as the page loads and assign it some kind of 'silence.mp3' file. You can steal the first real user event anywhere on the page and use it to unlock play on this silent file. Once that audio node is unlocked, you recycle it and assign all of your subsequent tracks to it.

The obvious problem with this recycling approach is that it doesn't leave you with a spare audio node for pre-buffering a next track. It seems obvious that you could create two phantom nodes as easily as one and then double-buffer. Alas, some mobile browsers limit you to a single audio node.

The more subtle problem with this approach is that both major mobile browsers have bugs when re-using audio nodes. Google's Chrome for Android seems to work except that it decides that all subsequent tracks assigned to an audio node have a duration of exactly 100 seconds. With luck, a metadata event will later fire with a correct duration. If you are building a media player widget with Chrome, better to wait for the real duration to arrive.

Track duration seems handy but unnecessary. I needed it for two reasons. First, I wanted to actually use it. My DiscMan could do it in the '90s. I wanted to rock that style. Second, the events that would normally fire when a track ends are unreliable at best. I resorted to Javascript 'setTimeout' calls to rotate tracks.

I have almost no problems with the HTML5 audio API. It's actually pretty nice. I have about a hundred problems with the actual implementation in every browser. Here's another problem. Mobile Safari and Chrome for Android both prevent the user from controlling audio volume with the audio tag.

The audio API exposes a volume control. Apple and Google probably ignore it to keep you from nuking your eardrums with a rude webpage. The effective result was that my listening station users had to use the hardware buttons. I printed stickers for each device that pointed to the volume up and down buttons. This was probably the most embarrassing part of the whole endeavor.

The audio API is yesterday's news in any case. 'AudioContext' is the new hotness. The audio tag was really sort of like a noisy version of the img tag. You could whack up some neat tricks with it but it was never meant for real-time effects or serious programmatic use. AudioContext takes over there. If audio tag is like img, AudioContext is like canvas. (Note to non-Javascript readers: that means it's meant to be totally awesome).

Google built a snazzy demo called jamwithchrome. You can jam. With chrome. It's like a Casio keyboard from 1990 built right into your browser. It's even more than that. It's a Casio keyboard connected to the keyboards of all your friends. It even connects to that weird kid's Casio drum machine.

AudioContext is pretty cool. It's just the thing to build listening stations with. Alas, it is slightly less stable than a Casio keyboard. It also wasn't supported on some of the iOS devices I used.

I'm definitely using AudioContext the next time somebody asks me to build funeral listening stations. For this application, I muddled through with the audio tag.

Getting the audio marshaling right was only the first problem. The next problem was actually making the web app into an immersive experience.

iOS pulled ahead here and stayed ahead throughout. iOS has long supported turning a web page into a 'app' on the home screen. These apps can run in a full-screen mode without any of the usual web browser trappings. They can be nearly indistinguishable from native apps.

The only downside is that the web page still has to come from somewhere. Mobile Safari supports
important parts of the web standards for caching offline web apps but the support for caching audio is very weak. There was simply no way to make this work at the event without running a WiFi hotspot with access to a server. That was not going to work.

Android fared slightly better on this point and only on this point. Chrome on Android gained support for full-screen apps on tablets only a few days before the event and this support seemed a bit dodgy -- especially when the screen rotated. Chrome wouldn't cache audio any better than Safari, but Chrome would let me side-load the entire site into the sdcard directory on the Nooks and run it from the filesystem. Even here, Chrome or the Nooks let me down. There was no way to save a bookmark from the filesystem to the Android desktop and have it launch properly. This meant that if the browser exited for any reason then the user was dumped back at the Android home screen without a single-click way to get back.

This is about where I started looking into 'kiosk' type applications for both platforms. The search ended quickly in both cases. For Android, the kiosks all wrap the marginal default Android browser, not Chrome. Poor Audio support in that browser made every Android kiosk app irrelevant. I used Chrome for the memorial on the Nooks and hoped for the best.

iOS was a different story. The kiosk apps all wrap Apple's very good browser. I settled on Kiosk Pro and I was delighted with it. Kiosk Pro is the paid version of 'Kiosk Pro Lite'. The pro version adds the ability to run from side-loaded content. It worked. The only hitch was that the side-loaded content could not have sub-directories. I was able to flatten the web app for the memorial so this was not a problem.

Kiosk Pro inherited some of Safari's audio limitations. It couldn't auto-play or allow users to control volume on-screen. I had a crazy collection of borrowed iPads for the event. I loaded Kiosk Pro on each of them and arranged their home screens to have empty initial screens save for Kiosk Pro.

I recall that I promised pictures of the final installation. I'll share those on side c. Here's a photo of the intermediate installation -- after I built all ten prototypes and before I realized they were too deep for the shallow bar rail at the venue. The iPad at center is supported above the concrete floor by a few LEGO bricks and force of will. The tablets by themselves actually sat pretty nicely on the bar rail. Alas, the rail pushed the volume buttons on several when laid down carelessly. The stage curtain behind the rail was poised to sweep them all off in a moment.

iPad suspended above concrete by force of will
photo courtesy your correspondent

This installment is about a month overdue. It's been a hard, busy month. I'm banging this post out now because I have a backlog of about a dozen things to tell you all. They had to wait for this. Next comes everything else. Next comes life. With life comes lots and lots of gadgets.

You guys are fantastic. I'm grateful for your support.























Saturday, July 27, 2013

kiosk

I went back to Baltimore last weekend for a memorial service for a close friend and constant collaborator. It was the best I have attended.

There are few downsides to anonymous blogging. Here's item 2 from the list: 'inability to shout/blog the achievements and travails of friends and loved ones from rooftops'. It can hurt.

My friend was a music lover, something of an introvert, and beloved by other introverts. His wife had the keen idea of creating a series of listening stations around the memorial, thereby letting a room of introverts reflect quietly together.

I built ten of them. Each was a pair of Grado SR-60i headphones, a tablet machine with a dedicated listening station app, and a LEGO platform/dock/headphone stand. I learned a lot. I'll be happy if I can share ten percent.

The requirements were simple. The interface had to be simple and immersive. It had to make listeners feel a connection to my friend. The system had to be reliable. It had to be built in a space of just a couple of weeks.

The cheapest answer was to burn CDs with playlists and buy ten cheap discmen. I didn't think I could do immersive with discmen. I wanted visitors to read the band names and notice the wide age disparity evident in the tracks. I wanted them to read text about the playlists.

Climbing up the expense and difficulty ladder from a pile of junky discmen was probably a pile of iPod shuffles or nanos or any of thousands of Chinese clones. In truth, I hadn't actually touched a non-iOS iPod product in almost six years. The local Apple store still stocks them and had several on display. The nanos have been fancy touch screen devices for two generations now.

When I was a child, the dinosaurs were dead. No more. Now every pigeon fouling my slate is a fierce therapod. My world has changed completely and Jurassic Park is certainly the lesser for it. The marginal operating system that powered my original iPod never actually went away. It just turned into the software behind today's nano. The poor screen and poor software of the nano seemed unlikely to please the many savvy gadgeteers in attendance. The small size and small controls of the nano seemed unlikely to please a hypothetical technophobic Aunt Sally or Uncle Horace. After seeing, and rejecting, the real deal nano I didn't pursue any of the nano knockoffs.

By the way, a nano is $149. I'm clearly missing something. I have a house full of iPads, iPhones, Macbooks, and iMacs and I'm left scratching my head over that one. It must be a price point place holder for some new type of smart jewelry dongle.

Next up in price -- and one blonde wood table over -- was the fifth generation iPod touch. $229. Maybe the answer was ten of these. My experience with iOS has been generally good and I have no complaints about Apple's DAC selection or power sections. All the Apple gear I own can drive a decent set of headphones without an external headphone amplifier.

Though I like the devices, I don't actually like the music player app. Coverflow is as neat an effect as it ever was but it's a distraction when listening to someone elses's music. The playlist screen on my iPhone is an especially unstable point to hang an interface. From the playlist view, no play controls are available and a bunch of playlist edit controls appear.

These stations would ideally present a playlist and simple play controls and nothing else. No edit buttons. No bluetooth indicators or battery graphics or wifi beacons.

This is where the iOS devices start to run away from their hobbled iPod brethren. Mobile Safari supports full screen web apps pretty well. The app store is full of alternative webview wrappers that provide an even better experience. Most of these provide an HTML5 experience nearly on par with the built-in Safari.

That HTML5 experience, by the way, is getting pretty good. Apple's browser still seems far ahead of Chrome for Android and the antique browser native to Android. My testing showed HTML5 audio support to be much more robust. Mobile Safari also supports at least parts of the nascent 'web audio' standard for in-browser audio manipulation.

I mocked up some audio web apps for iPod touch-sized screens. I was confident that I could replicate most of the user interface of the built-in music app. I wasn't sure that I could use that screen size to build an interface that I liked that that worked for the memorial.

My friend was a reader. He read the Times while driving a small car at high speed and still somehow managed to die of leukemia first. He read the inane copy on the Chipotle burrito basket liners. He read terrible journal articles non-stop. He did a lot of that reading while listening. Jony Ive can probably pull off immersive on a four inch screen. He can probably do it on the head of a pin. I can't.

I needed a larger screen and I wanted an interface that was read and not merely seen. I wanted it to evoke paper or a vintage computer terminal. For about two cents per station and the price of a glue stick I could have tacked a sheet of actual paper to a discman and called it a day. Readable, but not immersive.

I wanted to capture listeners for at least an entire track. I wasn't trying to sell the music. I was trying to reveal the soundscape that had been under those headphones for all those years. If ever Aunt Sally had been curious about the goings on, this was the time to find out. I couldn't mock up a sheet of text that I could imagine holding a grazing listener's attention for three minutes.

The interface wizards at Bally Midway know a thing or two about capturing an audience. I used a trick from them and built an 'attract' screen from a collection of quotes from my friend's correspondence. The excerpts rotated through the bottom corner of the display at about thirty second intervals. This detail provided reading, immersion, and a connection to my friend.

This was all the more reason for a bigger screen. I first considered E-Ink readers. These are still available. Nearly all have a six inch screen. A few years ago, each had a primitive web browser and an mp3 player. In the last couple of generations, all seem to have shed their headphone jacks and audio features. Some, like the Nook Simple, have even shed their experimental web browser. Too bad.

Next up was tablets. The iPad has all the same advantages as the iPod touch and offers the bigger screen I was looking for. Better still, I already had four of them that could be used for the project.

The iPod touch shares a screen size and resolution with its iPhone cousins. The most recent models offer 326 pixels per inch (ppi). The iPad mini offers 163 ppi. The original iPad and iPad 2 offer 132 ppi. The more recent full-size iPads offer 264 ppi.

I notice a big difference between the 264 ppi of the Retina display models and the 163 ppi of the mini. In particular, I noticed a big difference between these screens when I looked at the green text on a black background of my prototype interface.

Let's just recap. My opening position was $10 discmen and I'm now debating the text quality of devices that Apple sells new for anywhere from  $329 to almost $1000? Yeah.

Once I got past discmen, I started to be concerned that I was going to wind up with a giant and expensive pile of ewaste on my hands and conscience. A non-retina iPad would have been fine for this purpose. Three of the tablets that wound up in the final lineup were non-retina iPads. They were iPads I already owned. I couldn't bring myself to buy another non-retina iOS device.

This is when I looked into rental. It turns out that a lot of local and nationwide firms rent iPads for events. I decided to just rent six iPad 3 tablets and use four iPads I already owned. I got a quote in about a half an hour and I decided just as hastily that I wasn't doing that. A four-day rental for six iPad 2 tablets was going to cost $150 apiece!

I could wrap my mind around a $750 charge for this project for tablets. I couldn't wrap my mind around the usury. Getting hung up on this point is the only thing I really felt that I did wrong in the project. I should have rented the iPads. It would have probably cost less than the rented tablecloths.

$150 turned out to be a magic number. It's within a dollar of the current price of the Barnes & Noble Nook HD+ tablet. I don't claim to understand the Nook ecosystem. I didn't need to. B&N built themselves a very inexpensive 9 inch tablet that includes 16GB of flash for $269. You should expect some compromises for that low price. The tablet is wrapped in plastic, not unibody aluminum. It has no cameras or GPS. What you don't expect is the beautiful 256 ppi display.

The Nook rocks a screen almost as large and as dense as the Retina iPad for less than half the list price. B&N sweetened the deal further by lopping an extra $110 off the price and throwing in access to the Google Play store. 256 ppi in a 9 inch tablet for $80 less than the cheapest iPod touch and $1 less than a four-day iPad 2 rental.

I bought five.

You are reading this article after Google's announcement of their new, high-DPI nexus 7 tablet. It starts at $229. I didn't buy it because it didn't exist. I don't know how it would have changed my thinking.

At this point, the tentative device lineup included iPads generation one, two, and three running iOS 5 and 6 and now Nooks running Android 4.x.

All that remained was the construction of the listening stations themselves and a simple matter of programming. The stations were less scary than the software. I started there.

I had recently admired the Apple store listening stations built to showcase the traditional iPod lineup. I passed on the iPods themselves, but the stations were tasteful. I just didn't know how I could quickly duplicate them. While wondering, I passed a LEGO store.

Frequent readers know that LEGO has many roles in my household. I'm not a fetishist. I don't collect sets. It's just a medium where I find expression comfortable. The store stocked black bricks and tiles in the bulk section where parts are sold by volume. I was expecting to sketch out parameters and dimensions, but I wound up with a design I liked. The result was a LEGO baseplate covered with black tile. A tablet dock and a headphone stand rise above the tile. Small red tiles provide an accent and add an element of 1980's arcade cabinet glamour.
listening station prototype
The LEGO bulk purchase system works by volume. The volume you fill is plastic cups that would not be out of place in a frozen yogurt joint. It is a tedious exercise to pack bricks into these cups. I think it would have easily cost a thousand dollars to buy enough LEGO for ten of these stations if purchased that way.
nine stations in a row

I learned that the bulk bins are filled from boxes of LEGO which are themselves available for sale. Any of the bricks on their bulk wall are available by the crate for $70. I bought most of the LEGO this way.

At this point, it may seem pointlessly decadent to have built the final stands in LEGO instead of wood. LEGO turns out to be the right answer. I had a chance to test the stations in the event space just a couple of days before the event. Space for the dedicated table I had imagined was going to be tight. The venue did have a bar rail along a wall that was available. The rail was sturdy, but not deep enough to hold the tablets by themselves, let alone the headphones behind. I made some measurements and rebuilt the LEGO to fit the rail. Tablet and headphones were mounted side-by-side on a new station platform that was shaped to clear the lip of the bar rail and cantilever beyond. The tablets were actually dangling over concrete supported by nothing but LEGO. In the new design, all the stations were assembled together into a linear monolith about twenty feet long.

Beep. You have reached the end of side A of the blog. Flip the blog over, and wait a few days, for the story of the software and pictures of the final installation.























Saturday, June 22, 2013

man of steel

I played hookey this afternoon and ducked out of my office to go see 'Man of Steel'. This most recent retelling of the Superman story was as juvenile as could possibly be hoped. It was fabulous.

The film had more computer generated violence than a single planet could possibly hope to contain. Fortunately, the planet Krypton handled this overflow with grace before its own untimely implosion.

The extended Krypton introduction sequence only feels like it consumes about an eighth of an eight hour movie. I suspect it couldn't really be any shorter and still set the stage properly for a prequel. Today's the summer solstice (on Earth). You have daylight to kill. Drink it all in. This intro is the only portion of the movie free of advertising for the sequel. Every later shot that the product marketers could not sell was given over to 'Lexcorp' branding.

The film was a technological marvel that included subtle homages and sly digs alike. The plot hangs on 'the codex' -- a database in the form of an Australopithecine skull. This skull obviously represents the exploded head of Michael Bay. It's one of those funny insider touches that keep alive the tender, human side of the inter-studio CGI Apocalypse arms race.

The Wilhelm was tasteful. I give it an 8/10 for a graceful scream down the cargo ramp of a C-17 Globemaster. I especially liked the inclusion of one of my very favorite synthesized klaxons. Terry Gilliam favored the same one for Twelve Monkeys in '95. The sirens are not the only touch that bring Gilliam to mind. Jor-El's projected narrative to Clark Kent in the fortress of solitude is backed by a silent animated montage that would be at home in a Gilliam flick.

The entire fauna of Krypton was borrowed wholesale from the cover art of 1980's fantasy paperbacks. I think the entire food chain of Pern put in appearances.

Russell Crowe brought along his award winning haircut and armor from Gladiator though a minor rendering error placed the hair on the evil General Zod. I say wait for the Director's Cut before buying a Blu-Ray. Let them work through some of these post-production bugs.

Man of Steel clocks in at 143 minutes -- exactly the length of 1978's Superman. It feels longer.

Talking heads spent part of the week on the Jesus/Superman connection. This story was primed by the studio's efforts to reach out directly to preachers. I wonder what other pamphlets the studio prepared. I like to think that they prepared one called 'Man of Steel: The dangers of life without parole and prison understaffing' for lucrative corrections and pro-death-penalty audiences.

It was the perfect comic book movie for June. Pairs well with onion rings.

Friday, May 31, 2013

moral

Bill Gates was back in the news this week for his comments on personal and corporate tax. Here's the high order bit: "This is not a morality thing, this is about the law".

The backdrop for Gates' comments was Tim Cook's widely covered recent testimony before the Senate on Apple's tax strategy.

Gates is right. It can't be a morality thing. Corporations are not moral entities. What code could we possibly expect them to follow if not the law?

Now that we have got that straight, can someone tell me why amoral political expenditures by these unthinking corporate creatures are protected speech?

Nobody expects my dog to do anything but chase cars and dilligently lower his tax bill. My dog's speech is not protected even when translated. Why is corporate speech?

I'm not a rabid anti-capitalist hippie or a dog hater. A sole proprietor or partners in a partnership are certainly entitled to the same protections on their speech whether commercial or private. What I don't understand is a why a magical structure, the corporation, that exists solely to limit the liability of passive investors and thereby attract investment, should require such an expansive blanket of rights.

If I own a dental practice together with two other dentists in a general partnership and we use a radio spot to defame the unhygienic foreign oral surgeon down the road, we're jointly liable for any judgement against the practice without limit. I could lose everything. I could lose more than everything.

If Facebook defames the unhygienic foreign oral surgeon down the road, Mark Zuckerberg stands only to lose the value of his stake in Facebook. His losses are capped somewhere in the neighborhood of $30 billion. He probably gets to keep the house.

Let's agree that corporations are not moral creatures. Let's continue to limit shareholder liability. Let's also agree on a more appropriate grant of rights to corporations that recognizes their peculiar and amoral nature.

In the meantime, dog owners should probably get a corporation to own their dogs for them so that they can enjoy the same limits on liability they have for the shares in their retirement account.