The End – 2008 Recap

Perfect for the last day of the year – Dill Pixels’ Flickr collection of “The End” screens from famous movies:

The-End

Quick recap of 2008 for the Hacker/Kubes family:

Sprinkler Miles started 1st grade and is barreling full-steam ahead into an amazing childhood. Watching a child go from knowing his letters to being able to read full-on books aloud is a delightful experience. His ideas are still mind-bending, his physicality still awesome. He doesn’t just ride a two-wheeler — he rides it long distance (he and Amy surprised me on bikes at work one day – a five mile trip each direction). Two days after getting a pogo stick for Christmas, Miles logged a record-breaking 23 hops (love that recovery at the very end of the clip). He’s sweet and thoughtful and loving and every minute with him is a joy.

In sadder news, Plato – our family cat of 17 years – finally reached the end of his comfortable life. We had him put down late summer after he could no longer move comfortably or hold his bladder. Plato’s been a staple of my life with Amy since I’ve known her, long before we were married. And he was the cat Miles was born with – his first relationship with an animal. Losing him was tough.

On the work front, I’ve transitioned from webmaster for the UC Berkeley Graduate School of Journalism to webmaster for the Knight Digital Media Center, while staying in the same chair (and realized I’d been sitting in the exact same chair for seven years running). Taking that job meant spending a few months learning Python and Django. A long ramp-up, but absolutely loving Django now, and using it for more and more side projects as well. Birdhouse Hosting also started offering Django this year.

With the Knight Center, I’ve been involved with a mission to help newsrooms across the country figure out how to address the challenges of crumbling revenues and massive layoffs, as the distributed web continues to threaten the traditional/localized newspaper. News organizations are going through massive mental shifts, becoming increasingly technology focused. The center runs week-long workshops for visiting journalists, who come to have their heads crammed with ideas for ways to create innovative and compelling content online. Year after year, my association with the J-School proves challenging and rewarding, and never sits still for long. I feel extremely lucky to have job security as this ugly recession settles in.

Other misc: I’ve been writing occasional music-related pieces for Stuck Between Stations, which I run with a few friends. When time allows or the weather/mood command it, I’ve been strumming away on the ukulele. And, perhaps a bit sadly, Twitter all but killed my urge to blog. I feel bittersweet about that – on one hand, Twitter is a much more fluid experience than blogging, and can be done in the margins of life without requiring big chunks of time. On the other hand, I do miss the more in-depth expressive capacity of the real thing. But writing regularly is important; I promise not to let the blog die, no matter how much more convenient Twitter may be.

Amy too has a new job. After a year of being a regular parent participator at Miles’ school, Amy applied for – and got – the job of 2nd/3rd grade classroom assistant. And just a few weeks into that gig, she was asked to be the official math teacher for the 3rd grade class. On Fridays she teaches visual arts to the combined class. She’s jumped in with both feet and is loving being with the kids. I built a brand-new web site for Miles’ school this year.

Also in 2008, I made several trips to Morro Bay to help my mother move out of my boyhood home and into a new life with my father in the mountains. The change was a long time coming, went smoothly, and had a happy ending, though it was tough to say goodbye to my childhood home. But the change is all for the better, and has brought new unity to our family.

Looking back, 2008 has been a year of small revolutions and grand plans, satisfaction and warmth. Life is good. Love and best wishes to all Birdhouse readers, and to my extended families on both sides.

Lou Reed :: Move Your Heart

Django and graphviz

I’ve been watching the django-command-extensions project out of the corner of my eye for a while, promising to give it a shot. With the extensions added to your installed_apps, manage.py grows a bunch of additional functionality, such as the ability to empty entire databases, run periodical maintenance jobs, generate a URL map, get user/session data… and to generate graphical visualizations from models.

A recent post by John Tynan on the power of command extensions finally kicked my butt enough to give it a spin. Essential stuff for debug and development work.

Getting visual graphing to work takes a bit of extra elbow grease, since it depends on a working installation of the open graphviz utilities as well as a Python adapter for graphviz, PyGraphviz. graphviz itself has both command-line utilities (which I got via macports) and a GUI app for opening and manipulating the .dot files that graphviz generates.

Took some wringing of hands and gnashing of teeth to get macports to happily install all of the pieces, but finally ended up with this:

python manage.py graph_models beverages > beverages1.dot

Beverages-Model
Click for PDF version

The key to getting decent resolution output, I found, is to output a graphviz .dot file rather than PNG. You can’t control the relatively low resolution of the latter, but .dot files are vector, and can be exported from the GUI Graphviz app to any format, including PDF (infinite resolution!).

Amazing to be able to visualize your models like this, but it’s not perfect. What you don’t see reflected here is the fact that Wine, Beer, etc. are actually subclassed from the Beverage model. And the arrows don’t even try to point to the actual fields that form table relations, which would be nice. graph_models has a way go, but it’s still a terrific visualization tool for sharing back-end work with clients in a way that makes immediate sense.

Whale Wars

shepherd It’s been a long time since I’ve been as inspired by a TV show as I am by Animal Planet’s Whale Wars. Of the n billion people on earth, only a few dozen are prepared to actually put their lives on the line to help prevent extinction of whales.

While international law is clear on the illegality of modern whaling, “research” loopholes allow for a certain number of whales to be taken annually for research purposes. Japanese fishermen exploit the loophole to carry on with commercial whaling under the guise of research. The Sea Shepherd Conservation Society exists to prevent specious whaling by interfering with whaling directly. The society was created in 1977 by Paul Watson, who co-founded Greenpeace. But Greenpeace didn’t go far enough for Watson – he accuses the organization of refusing to directly engage whalers, going instead for high-profile photo ops.

Every winter, a group of volunteer sailors head for Antarctica with a ship, a helicopter, and a couple of high-speed delta boats. When they find Japanese fishing boats and evidence of whaling, they engage by throwing stink bombs on board, buzzing the deck, taking close-up photographs of the action, and generally making whaling impossible.

It’s a classic David/Goliath story. Sea Shepherd feels that the work they do should be government work. But governments won’t step up to enforce existing laws, so they take matters into their own hands. The crews are poorly trained, and it’s sometimes funny to see environmentalists organized in a semi-military structure, but they do have some effect, and it’s a fantastic watch. This is reality TV.

Got into an interesting debate tonight on Twitter on the question of whether efforts to save a single species are worthwhile. That’s a slippery slope – we might well survive after a species or two disappears. But how long can we continue to say that? How many extinctions can our species endure before we are affected? And is it really all about us? Even if we’re not affected, are whales worth saving just because they’re awesome? I believe they are.

Video Service Compression Test

A quick comparison of video compression quality at three of the major video upload services. I posted the same video file to YouTube, Flickr, and Vimeo, and have added them here alongside the original for comparison. I think the results speak for themselves.

miles_thump The original video was not shot with a video camera, but with a Canon SD1100S pocket still camera, which generated AVI files. I stitched a few together in QuickTime and saved the result as a QuickTime .mov. I did not alter any of the compression settings, and ended up with a file using the old standby codec Motion JPEG OpenDML at 640×480, 30fps, at a data rate of 15.75 mbit/sec.

Because it’s 60MBs, I’m linking to the original rather than embedding it.

Subject, by the way, is my son Miles (6) stomping in puddles on a rainy day at Jewel Lake in the Berkeley Hills.

YouTube clearly generates the worst results, with a huge amount of compression artifacts and general jerkiness:

To be fair, YouTube also offers a “high quality” version, which doesn’t look much (any?) better. Especially not compared to Flickr’s and Vimeo’s “normal” output.

Update Sept. 2013: The YouTube version above is no longer the original version. In 2013 I re-uploaded a bunch of old videos, and found that the YouTube quality has increased dramatically. I no longer stand by any of the negative comments about YT video quality stated here.

Few people use Flickr Video, though the feature has been available for nearly a year. Results are definitely better than YouTube, but not as good as the original, and very similar to Vimeo (bottom).

I expected Vimeo to be the clear winner. Vimeo is known for excellent video quality (and the site design is excellent too). But now that I see them side by side, I’m having trouble finding much in the way of quality difference between Vimeo and Flickr. Downsides: It took Vimeo 70 minutes to make the video available after upload, and the tiny size of Vimeo’s social network means the video will get far less “drive-by” traffic than it will on YouTube.

The People That Live in the Walls

Miles’ first close school friend moved away about six months ago. Though they seldom communicate, he’s constructed an elaborate long-distance relationship in his mind. Details change daily, but he consistently refers to “Master Patrick” and to being a member of “Master Patrick’s Army” (which is funny because Patrick is the most peaceful, charming little boy you ever could meet). This morning, Miles gave me a full run-down on how they keep in touch.

I communicate with Master Patrick by electric toilet paper. How does it work? Your voice gets stored in the walls. Patrick has to sit in a electric costume box at his house and the sound comes out of the box. The people in the walls help move the information from the electric toilet paper to Patrick’s costume box.

On the other end it goes into the tube which stores information and when I turn the light on, press inside of it and turn it off, and when I throw up they take out their swords and cut up the germs.

The people who live in the walls are basically … the grownups are from your desk up to here (points to height of an iphone). The children are from your desk up to here (points to the height of a glue stick).

At Christmas they get presents too, from Santa. They like rocks, wood chips, and leaves. There’s a hole in the chimney and some of the presents miss going down the chimney all the way. They go into the hole instead and that’s how the little people get them.

Wherever I go, they go. They jump inside the suitcases when we take a plane.

I’m moving all my Master Patrick stuff from my bedroom to my Clubhouse #1 which only kids can go inside.

Moon Gate

Despite yesterday’s post on difficulty of getting the sapling out of the house for family hikes, had the opposite experience today. Last day of long weekend, yet another unexpectedly gorgeous mid-winter day, the three of us headed for Redwood Regional for a strenuous but truly awesome three-miler. Started at Moon Gate staging area, then descended deep into a valley of giant redwoods, down with the dinosaur ferns and cool streams. Ironic – sunny day, but spent the afternoon in deep shade, beyond where rays could penetrate. The squirt was great and scampered down trails and across logs fallen over creeks just like old times. Hardly a complaint. Fantastic day.

Finally got around to figuring out how to edit GPS tracks with Garmin Bobcat (stupidly renamed Garmin RoadTrip), and upload to TrailGuru:

(press Replay for trail animation). Elevation map screenshot from RoadTrip:

Elevation plot: