Category Archives: Personal


Three year old –> English Translator

When you are talking to a three year old, use this handy guide to understand what they mean:

  • “I’m tired and hunrgy” = “I’m bored”
  • “But I’m not hungry” = “I don’t want my dinner but I’d be happy to have some dessert.”
  • “I’m not tired” = “I am exhausted”
  • “Just one more book” = “Please read me all of the books in my room”
  • “I’ve already brushed my teeth” = “I am too busy playing to brush my teeth”
  • “But I’m going to wash my hands!!!!!” = “Now that you’ve told me for the tenth time to wash my hands, I will finally do it while screaming at you not to tell me again.”


How to Retire Rich – Abridged

I’ve just read one too many essays on entrepreneurship, financial advice, etc.  Here’s my condensed version on how to retire rich:
  1. Go to work.  If unemployed, hone skills and ask people to pay you for them.
  2. Don’t buy stupid shit you don’t need. If you do, regift at the next required gift giving event.
  3. Don’t have kids. If you do, don’t send them to college.
  4. Don’t get sick. If you do, be sure to die quickly.  If you have a family and you like them, buy some insurance before getting sick.

Now go earn some money with the time you just saved.  You’re welcome.

My experience at the Google Summer of Code Mentor Summit

I attended the Google Summer of Code 2010 Mentor Summit this last weekend in Mountain View, and it was really fascinating and inspiring.  It was my first mentor summit, representing the Biodiversity Informatics Group of the Marine Biological Lab in Woods Hole, MA with my colleague Dima Mozzherin, and it was also my first ‘unconference’.  For those that haven’t been to an unconference, it is basically a meeting where the talks are not scheduled in advanced, but are instead determined by the attendees themselves.  The entire conference schedule is determined in one frenzied hour during the opening session, and it works remarkably well (at least for a meeting that had less than 300 people… a multi-thousand person conference might not work as well).  The mechanism for setting the schedule was decidedly low-tech: sharpies, sticky notes and dot stickers to vote for a session, along with a big board showing available rooms, so sessions can be load balanced.  To me this demonstrates the great thing about engineers: use the best tech for the job, even if it is paper and pen.  Anyway, the end result is a list of sessions that by definition attendees are interested in, all nicely balanced between rooms.

The quality of the meeting was really outstanding – it was like attending a top-notch IT conference, with a variety of expertise represented, ranging from software engineers, to software managers, and experts on IP and licensing.  The variety of sessions was equally wide and allowed us to explore a series of topics, including open-source social networking software, IPR issues, advanced trolling (!), and sessions on the Google Summer of Code program itself.  Some talks were obviously prepared in advanced, and some were more discussion like.  In each case, folks used the excellent Etherpad software to take real-time collaborative notes (often using a site called that runs the open source code), which are all available on the conference wiki.

I held a session called “Liberate Your Data!” where we talked about ideas and strategies for bringing together data collected in diverse projects and formats into a single location (basically the goal of the Encyclopedia of Life).  We discussed strategies including creating plug-ins for Excel, using semantic markup technologies and the challenges of creating tools that work across domains, when the data ontologies and formats often vary widely between disciplines.

The meeting was held on the Google campus, which was quite nice.  I really like the idea of thinking of a workplace as a ‘campus’ instead of an office complex, since this promotes the notion of learning as well as doing.  Google fed us the whole weekend, and the food was pretty damn tasty.

One of the things I noted was that, like many IT and software get togethers, it was fairly male dominated.  I am not sure how to improve this situation.  The same imbalance also exists in various science fields, such as physics, while is quite equally balanced in others, such as biology.  It would be interesting to study what the root causes are.

Another thing I noted is the fact that engineers sometimes tend to be focused on elegant engineering or technical solutions to problems, while end-users are almost always focused on their experience with a system.  Most users don’t care if the code running their cell phone or computer is open source or closed source, they just want it to work all of the time and be easy to use.  For me, the iPhone is the prime example.  Not only is the OS not open-source, you can’t even (easily) install any application you want without it being approved by a single company.  It’s a very closed platform, and yet it is extremely popular (even many folks at the conference had one).  And the reason of course is that it is a great user experience.  I think it is important for any software developer to think about their end user and the user experience in general if the goal is to have a project that is widely used.

Anyway, the summit was not only a great way to meet new people, but was also a great way to learn about other open source projects, and Google should be commended for investing in programs such as this.  I’m looking forward to future years already.