Writings

Technology, open source, personal essays, and everything that isn't climate.

Giants Win!

With a living room full of people, and a kitched full of food, we had quite the Super Bowl Party last night.  At least a few of it are paying for it with our voices this morning.  There are many folks more eloquent than I that will describe what happened last night, but I think that the entire night can be boiled down into the incredible play in Eli's last drive.

On 3rd and 10, with no one open, the pocket starts to collapse on Eli.  The hearts of all the giants fans in the room sink as we expect the inevitable sack.  The Eli breaks the tackle, and another one, and another one.  Some how he manages to break free completely and throw a 20 yard pass up the middle, caught in the most tenuous maner I've ever seen (one hand and a helmet).  At that point you realized something, the Giants were not going to let anyone count them out.  Eli believed he could win.  Everything the Giants did in the last 3 minutes of the game showed that at the end of the day, they just wanted it more.

What an incredible game!

India Reflections

I'm finally overcoming the jet lag from our trip, and starting to feel like a normal person again.  While I've been to a lot of other countries before, I've never had this kind of culture shock in returning to the states.

India was an incredible experience.  The country requires you to be present in a way that no other place I've been has.  You are continuously assaulted with vivid sights, sounds, and smells.  India is a place where you are in love with it one moment, and overwhelmed with it the next.  I think that kind of emotional roller coaster is very common to westerners on their first trip there.  It was at least a common thread among the wedding attendees.

Our 24 hours of transit to India was done on Jet Airways, the oldest private domestic air carier of India that recently started flights to the United States.  We flew a brand new B777 to Brusells, and an equally new A330 to Chennai from there.  Both had Linux based Video on Demand systems for all seats, providing access to 50 or so films and 100 or so TV episodes.  I managed to watch at least half a dozen things that I'd had in my netflix queue during the flight, catching up on a lot of films from the past year.  The in flight food was spectacular, as good as the food in a good Indian restaurant state side.  And to top it all off the B777 had this brand new LED light package which meant the cabin light intensity and color was infinitely variable.  We had simulated sunrise, as the cabin slowly came up from dark to a brilliant orange, as well as a rotating color display across the rainbow during one of our meals.  I can't wait until LED lighting like that becomes cheap enough to put in residential environments.  The B777 flight from Newark to Brussels was the single best air flight I've ever taken.

There was no jet bridge when we landed in Chennai, so we were instantly hit with the first of the sensations of India, massive heat and humidity at 2am.  The airport did have AC in places, which is clearly a more recent addition as rows of industrial green fans were mounted on every pillar throughout the complex.  It took us a couple of hours to navigate our way out through customs, immigration, and baggage claim to meet up with Ani (our host for most of the trip in Chennai) and his driver Johnson.  We managed to arrive 1 day after a massive cyclone (dumping 8 inches of rain on the city in a day).  This managed to clear out the air a bit, which my asthma appreciated, but also managed to do some damage to the electrical wiring in Ani's house.  Our first nice was spent in a hotel in the city while the electricians worked all night restoring power to his place.

After a few hours of sleep, and a meal in the hotel, Johnson arrived to pick us up and bring us back to Ani's.  Johnson had previously been a courier between Mumbai and Bangalore.  As such, the rides with Johnson were an experience in the full craziness of traffic in India.  Traffic, much like most things in India, doesn't have a real set of rules.  The closest thing it has is a convention that you are responsible not to hit anything in your field of view forward, as is everyone behind you.  The chaos and narrow responsibility seems to work.  While we had a few hard slamming brakes during the trip, we never really had a time where it was frightening.

Ani lived on the outskirts of town.  The road to get there was poured concrete in sections, and gravel in other bits.  It was at least 1.5 km walk from his house before you could find a place where you could buy a sealed bottle drink.  As such we relied heavily on drivers during our time in Chennai (though we took a few walks around the area during our stay as well).  Ani had to practice every day for a Jan 2nd dance performance, so we tended to be home bodies during the heat of the day (which I honestly couldn't complain about too much, as it was in the low 90s and humid most days), then would go out into the town in the afternoon / evening for shopping, sight seeing, and dinner.

The first few days were largely wide eyed amazement.  Never before did I consider a bicycle a 2 person vehicle (often with the passenger carrying a large object such as a 21" TV in box), a motorcycle a 5 person vehicle (2 adults + 3 children), a three wheeled auto rickshaw an 8 person vehicle, and a bus to carry so many people that it was noticable tipped when driving down the streets.  The highways are a mix of pedestrians, animals (mostly cows and dogs), bicycles, skooters, motocycles, auto rickshaws, cabs, small family cars, clearly upper class cars (land rovers and a few other SUVs), trucks of various sizes and carrying capacities, and buses.  The varied ecosystem of the highway ensures that everyone moves into any space they can fit in to, causing the traffic to not so much flow, but pulse through the congested sections of the city.

Chennai is in the south of India, which has seen most of the middle class economic growth from IT.  While not nearly as impacted as Bangalore, the shooting up of IT parks can be seen everywhere.  IT parks are a uniquely India invention, where a chunk of land is carved out in either a collapsed part of the inner city, or on the outskirts.  State of the art towering office complexes are built allong side appartments and small shops, all within a guarded walled in complex.  This creates a largely isolated bubble from the rest of the environment.  The rising tide is not lifting all ships, but building in new massive disparity between those that have and those that don't, and displacing many of those without in favor of the new progress.  The sharp contrast of poverty and wealth is tangible and visible nearly any place you go, and is one of the inescapable parts of India that gets to you over time.

The cities are constantly bathed in the glow of orange halogen lights at night, providing and enternal twilight during the 12 hours of dark.  At night, at home, doors a locked, bolted, and padlocked.  Windows are grids of iron bars, with translucent panes so no one can see in.  In the telephone colony, where we were staying, the night watchman walks the street all night blowing his whistle and banging the gates with his staff.  The matter of factness of this speaks more to the disparity than anything else I saw.

India is a land of plurality.  The primarly religion is Hinduism which contains a pantheon of gods, mostly focussed around the avatars and forms of Shiva (the destroyer) and Visnu (the creator).  The theory of Hinduism, what a westerner might know of the mythology, looks a lot like the Greek or Roman pantheons.  The practice, however, is much different.  We had the unique opportunity to get tours of 3 temples with Ani who is a strongly practicing Hindu, which provided a level of very personal interpretation that could not gathered in any other way.  Hinduism, to me, felt much like the Shintoism of Japan, something born from the worship of fundamental forces in nature which evolved over thousands of years into something more structured and ritual.  The gods of Hinduism are not the fixed points we are used to in the west, but more maluable entities constantly changing form from one to another like a flowing stream.  We were let into the inner sanctum of one of the Shiva temples we visited and saw the evening pooja, which included the bathing of the idol in milk, then the dressing of it, while dozens of attendees chanted and jumped up to catch a view the moment the curtain covering the idol was removed.  The essence of belief was tangible even for outsiders that had not understanding of the language being used.

Language was an challenge in Chennai.  While Ani is fluent in English, having an american father and growing up as much in the US as in India, the English skills of most of the collective that wandered in an out of Ani's house each day were much more limited.  Tamil is the native language of that province of India.  By the end of it I knew a few tamil words: water, done, small; figured out what set of English words tend to be universal: no problem, hello, super, tea, coffee, ok; and found a set of hand signals that could communicate a few more ideas such as no, yes, going, eating, walking, driving, flying, and sleeping.  We had many amusing misunderstandings as part of this including Susan's reaction to one conversation "What I've gathered from Gopal is either our clothes are clean, or they are gone." (they were neither), but we managed to muddle through quite well.

All the food was incredible, and bountiful.  What I considered to be a huge portion turned out to be what they wanted to give me for the first course, with two more to follow.  I think I offended Ani's housekeeper Gopal a bit by cutting him off in giving more food, but after a certain point I was just going to explode.  My two days of illness actually helped with that issue, as it gave me an excuse to not eat multiple pounds of rice at each meal. :)  We had so many flavors, many of which I've never experience before.  At least 4 meals there have made it into my top 10 meals ever had.  Yes, the food really was that incredible.  They are tastes I can still vividly recall now.  Most people loose weight in India, but I think Susan and I both put on weight during our stay due to the truly amazing flavors there.

While most of our time was spent in Chennai, the wedding itself was in Calcutta, 1800km up the east coast of the country.  Sourav had wisely suggested we take a train up to Calcutta, which was a long haul train taking 28 hours to get there.  Susan and I got 1st Class AC tickets for the trip, which meant the compartment had a metal door that was lockable, at the wopping cost $80 per ticket.  There were 10 1st Class AC seats on the train which probably carried at least 5000 people.  They were broken up into two 4 person cabins, and one 2 person cabin.  When we arrived to get on the train we happily found that we had been assigned the 2 person cabin, meaning we had the best seats on the entire train.  While I brought some books to read on the train, I found myself glued to the window for all the hours where there was light outside.  My only regret is that the window was too dirty to take pictures through, as the most stunning visuals of the trip were clearly during that trip.  Many of those images are burned into my brain though, and things I will never forget.  My dream is that someone will just attach an HD channel to the side of the train and dedicate a TV network to just playing that.  It would be better visuals than 99% of everything out there, and something I would watch regularly.

Everything looks different in contrast, so it was great to have Calcutta as a contrast to Chennai, and to see a different part of India.  Calcutta weather was cooler, 80s in the day, 50s at night, which made it the ideal weather for me.  The air in Calcutta was cleaner, making it more like Beijing, dirty but still breathable.  There were parts of Chennai that triggered my asthma quite badly.  Calcutta was at one point the British capital of the city, so has a bit more urban planning.  It is also lacking the IT industry, which means no new upper class.  The tangible effects of this is less traffic (there are very few private cars in Calcutta compared to Chennai), less polution, and less staunch disparity between rich and poor.  Manual rickshaws still exist in Calcutta, as does a very thriving taxi industry.

The wedding itself in Calcutta was amazing, and a very different experience in many respects.  The Hindu ceremony lasted a couple of hours, and we were fortunate that Sourav's uncle provided translation and interpretation for much of it, and that few of the non westerners were really that interested in the ceremony itself, so we managed to be able to stand 10 feet from it taking great pictures througout.  Food and coffee (better described as suger-milk) were brought around during the entirety of the ceremony.  From 4:30 to 8 there were about 50 people at the venue, half being Sourav and Mary's friends from the states.  The rest of the expected 270 people showed up just for the meal which started about 7:30.  Again, the food was amazing.  At about 10 the American crew retired to one of the guest houses with 4 cases of Kingfisher Strong, and hung out playing cards and chatting until 2 in the morning (others stayed up until 4).  I made some new good friends out of that crew of Americans, many of whom I had known a bit in the past.  Plus I got time hanging out with Trey, which is always wonderful.

Our final day back in Chennai was a wonderful wrapping up of things.  We spent the day shopping, got a great meal (with brand new flavors I had never had), and spent an hour walking on the beach watching the ocean crash in as the sun waned.  That time on the beach was one of the most peaceful times I've had in years, and sealed up the trip quite nicely for me.

There are so many stories, both amusing and astonishing, that lie between the cracks of the overview above.  Much like after my trip to Sydney in 2000, the next year is going to be full of things that stir up memories of India, and random events when we were there.  As far as my vacations have been, this has been one of the most incredible ones as it took me completely out of the world I was in, and forced me to be present somewhere else for the entire time.  It's hard for me to fully comprehend that it was only 2.5 weeks of time.  Attaining that level of mental reboot is hard in such an interconnected world, and I fully appreciate events that let you do that.

It was most definitely an adventure, with lots of highs and lows throughout it.  But adventure is always a good thing. :)

A google mystery

Over the summer I moved my blog from livejournal to wordpress.  There were a lot of reasons to do this, and overall my experience has been very good with wordpress. Once google indexed me, it came up with the following:

Dague, Sean

Includes personal information, photographs, family, and friends. dague.net/ - 34k - Cached - Similar pages - Note this

Which was odd.  That description didn't show up anywhere on my site.  At first I marked it up to finding a new wordpress installation, but others didn't seem to have it.  Then I marked it up to the xfn tag in the headers, but removing that didn't seem to help either. Then, today, I found something that makes this officially declared as a mystery.  I did a google search on the phrase If you search google on the phrase "Includes personal information, photographs, family, and friends.".  Guess how many hits are found? No... really... guess.

I don't think you actually guessed yet...

Seriously, this is more fun if you play along.

Web Results 1 - 6 of 6 for "Includes personal information, photographs, family, and friends.". (0.24 seconds)

6... 6 ?!?! And I am 5 of the 6 hits.  Ok, what is going on here?  Anyone with any theories would be appreciated.  While it is amusing, I'd love to actually get real content indexed for dague.net again.  Feedback appreciated as comments.

On returning to Gnome

Just over a week ago I completely my conversion to Ubuntu (my laptop was the last machine over).  One of the reasons for doing this conversion was to get the benefits of some of the gnome stack, like dbus, which are very nicely configured in the Ubuntu environment.  It meant that after about 1.5 yrs with Ion, I gave it up for the default Ubuntu Gnome environment.

Running Ion for a year and a half gave me perspective on a few features that are really nice:

  • Go to Window By Name - Alt+G, start typing a window title name, go
  • Go to Urgent - Alt+K, jumps you to windows that need your attention
  • Go to Prev - Alt+K, if no urgent, jumps between current and last window
  • Dynamic Desktop Creation - for a new work effort move everything to a new workspace that is relevant to it
  • Kludges - policy based placement of windows so Pidgin stays on it's own workspace
  • Full screen windows are the way to go
  • Scratchpad - a frame that is smaller than the rest of the workspace that pops up and back on demand.

There were also a lot of drawbacks:

  • Ion had so many key bindings it tended to collide with xemacs bindings (like Alt+G).  I lost some xemacs functionality while running Ion
  • Ion didn't really do multi window applications well, like Inkscape or Gimp.  There was a float workspace type which acted like very old fvwm.  As such I tended to use Gimp and Inkscape less because they were hard to manipulate in the environment
  • Tumo (the Ion maintainer) decided that people were forking his software, so he removed access to the darcs repository, and you could only get snapshots.  And he changed the default license to something very odd.  Running a software stack that is fundamentally unsupportable because the maintainer is actively trying to make it hard for people to get source access is bothersome.
  • Config formats changed, and 2 attempts to roll forward to something current wasted 2 hours each.

One of the reasons for Ubuntu is that their community support is pretty good, and using main path base software was what I was looking for.  But I learned a lot of lessons in the time with Ion about things that I liked, and wanted to duplicate in a gnome environment.
Policy Engine

After watching many people in meetings on MS Windows get a sensitive IM while they are giving a presentation, and scrambling, you realize the value of a policy engine for windows placement.  IMs are always on Workspace 5, always.   My presentation won't be on  Workspace 5, so  I can get to the IMs when I'm ready to deal with them.

One upon a time, the default gnome window manager did this.  Then we got Metacity, which pretty much can't do anything (interesting enough that compiz is bringing features like this back).  The fact that useful features are being slipped past the anti-feature HIG overlords under the guise of eye candy has a certain irony that you don't find many places. :)

However, my laptop is old.  It can't do compiz.  That's ok, as Devil's Pie can do it for you instead.  Devil's Pie lets you create small policy files in lisp which control window behavior.  Before you run away screaming because of this being lisp, look, it isn't that bad:

(if (is (application_name) “firefox_bin”) (set_workspace 2)

See, didn't make you blind or anything.  The policy for devil's pie is way easier to grok than ion's kludges file, and provides a few more options.

Scratchpad for Terminals

Remember Quake?  No?  Well it's that first person shooter all us old folks rave about, as it existed prior to 3D hardware, and let us waste nights in college on our brand new Pentium computers.  When you hit the tilda button, you got a drop down console, that did an overlay on your screen, and let you type in commands, or Say stuff.

Behold Tilda.  The default configuration actually does look like the Quake overlay.  With a bit of configuration you can make it look like an Ion scratchpad with a terminal embedded.

Unfortunately I'm having mixed success with rendering in Ubuntu 7.10 (plus a bad interaction with the next piece of software).  I'm bad, and haven't sent in a bug report, but I will so.  When tilda was working for me, it was great.

In full disclosure I need to say I found out about Tilda by listening to LUG Radio, where Aq brought it back in the spring.

Desktop Navigation

Once I started to use Gnome again I knew I needed better desktop navigation than the default.  I even set aside most of a weekend to write my own "go to window by name" program, as I was convinced that libwnck would give me enough to do that.  While writing a bunch of sample code that would get, but couldn't set window properties, I found superswitcher.

Superswitcher takes over your Windows key and/or Caps Lock and creates all manner of interesting key strokes to navigate and control your work spaces.  I'm pretty convinced it was designed as the ideal test can for libwnck, as it seems to use all the features in there.

You can dynamically create/destroy workspaces, navigate very nicely through windows based on typing partial names.

Things that I still want

Tilda to work.  After a few rez / derez of tilda on gutsy, it stops displaying properly.  I need to file a bug on this.

Jumping to urgent windows with Alt+K, and a command line interface to "Go to window by name", which let's me have an edit command that loads a file in xemacs, then jumps my focus there.  With the code provided by superswitcher and devilspie that shouldn't be too bad, as soon as I figure out why libwnck was ignoring all my set requests for focus and workspace changing.

Superswitcher currently segfaults when tilda is running.  This has to do with tilda not being in any workspace, which defies the superswitcher logic.  Should be an easy fix, just need to carve out an hour or two to do it and send it in.

What makes you productive in Linux?
Sit down and think about it some time.  Post a comment about it, I'd love to hear your thoughts on this, as well as any experiences with other interesting Linux desktop tools that collectively make your environment optimized.

New approaches to CS1

As a professor you get sent new sample textbooks all the time, or so I learned from Dr Nick last night. The "hot" area for these textbooks is the CS1 (or Intro to Computer Science) classes. Computer Science programs have the unique challenge of getting beat up by Industry because they aren't producing enough new graduates. At the same time Mass Media keeps saying "all your tech job are belong to India", scaring potentially interested students to the much more secure careers of History and English.

The thing that is exciting about software development is the ability to be creative with a nearly infinitely malleable canvas. The tools for creating software are better than they've ever been, and the massive prevalence of Open Source Software makes finding example code really easy. In a weekend you can create a completely reasonable web application with Rails, or a nice client application using Glade. In each case they solve a problem you have, and make you're life a little easier.

The bad old ways of teaching CS definitely miss this whole point. I'm a firm believer in students needing to understand interesting data structures and what is going on in the memory of the computer, but that doesn't have to be the CS1 focus. That's like teaching shop in high school, but instead of letting people build boxes or bridges, having them spend the entire first semester pounding nails into boards until they get it right. As with any industry that has a stigma for boring, you need to show students the creative aspects early in their education.

Back to text books. One of the new textbooks that Nick got was teaching CS1 in Javascript, in a browser. It did all the standard CS1 things about loops and datastructures, but in an environment that students might actually intrinsically care for. Relevancy is key to interest, and what can be more relevant in this day and age than the web browser. I'm sure the purists will loose their lunch over the idea of Javascript as the first language people learn, fortunately lunch is cheap and easy to find.

I for one, am excited about anything that brings more creative and talented people to the field. The current approach of making 18 year olds decide they don't like software because they didn't understand inane java syntax in the first 4 weeks that they were in college isn't working out so well.

OpenSim 0.4 Released!

I've been working on the OpenSim project for the past 3 months, so it's quite exciting to see us put out the 0.4 release of OpenSim as a stake in the ground for future progress.  Physics and scripting aren't there yet, but are getting close.

The project continues to evolve faster than I could have imagined, I can't wait for what the next 3 months brings. :)

Monday Dr Who

Click on the image to be taken to the artist's site.  You need to have seen a lot of Dr Who for this to make any sense.  If you haven't, trust me, it's brilliant.

Wedding Pics

Courtesy of Mike Kershaw, we've got the first round of wedding photos online. They are linked from http://tveekrem.dague.org as will all future photos going up, though it will probably be the end of the month until many more are there.

Pre Wedding Blog

We're at T minus 5 days and counting till our wedding, and just about all the prep work before actually getting to Vermont that can be done, has been. So now it's just hold on tight, and deal with any unforeseens that show up at the last minute. Today was my last real day of work before leaving for the wedding/honeymoon. I'll be out of the office for 3 weeks, which will be a nice break from things, especially as this will be the first real vacation of the year. The interns are all clearing out now, so it will be quite a shock to get back to the office and have it be quiet. It's pretty assured that I won't really be touching the computer for things like blog updates until I get back, though the laptop will wander with me as a digital photo depo, as well as movie machine. I've been watching a lot of Dr Who of late, mostly the 4th Doctor (Tom Baker). At the same time I've been reading a bunch about the history of Doctor Who. While I knew that Douglas Adams had been a script editor for Season 17 of Dr Who (and had written a couple of episodes), I finally put all the pieces together last night that the 2nd Romana was actually married to Tom Baker for a short while, but later ended up meeting Richard Dawkins at Douglas Adams 40th birthday party. After listening to The Salmon of Doubt earlier in the year, which Dawkins can be heard on, I had purchased Dawkins' The Blind Watchmaker as Adams spoke so highly of it. While I had heard Dawkins mention meeting his wife at Adams party, all the pieces hadn't fallen into place about how close that circle was until last night. It has nothing to do with the wedding, other than giving me a pleasant distraction from any stress, but it was nice none the less. Now I just need to figure out how to get my hands on some jelly babies...