At the BSDCan Convention

Tuesday, May 29, 2007 Posted by

I spent two days at the BSD Canada conference with Fitz. In case you weren’t aware, BSD is another open-source Unix-like system, much older than Linux, but today pretty much eclipsed by Linux’s popularity. It’s got a real elegance to it as a “whole system”, and oftens performs best as a super-secure, specialized server operating system. The geeks at this conference are the geekiest of them all รขโ‚ฌโ€ those for whom Linux is too mainstream. ๐Ÿ™‚

We had a nice time, but we were a bit quiet. It’s a small crowd that knows each other very well and have a long history together. Definitely a friendly bunch, but Fitz and I simply aren’t BSD hackers, so there’s not a whole lot of geeky tech conversations we can share.

An interesting talk we watched was about OpenCVS. The OpenBSD guys felt that CVS wasn’t broken enough to justify the pain of moving to new system. Subversion felt too complex and ‘kitchen sink’ for them, and too difficult to secure. However, CVS became unmaintained, and the CVS codebase was a huge mess. Their response was to reimplement CVS from scratch and maintain it themselves! They’re not yet self-hosting, but they’re getting close. There was quite a bit of skepticism from the audience in the Q&A after the talk.

A great part of the trip was getting to meet Poul-Henning Kamp, the guy who (despite his tremendous contributions to open source software) is best known for his bikeshed email, which we’ve mentioning for years in the Subversion community and in our Poisonous People talk. We had a nice long conversation with him about community dynamics in open source, and in particular how different projects tend to organize themselves. We also got a nice photo taken with him, and he’s wearing an excellent t-shirt!

Mushroom?

Sunday, May 13, 2007 Posted by

What is the weird… fungus… I found in my backyard? I did my best to take a photo of it. Any mycologists out there?

Google Services You Didn’t Know About

Friday, May 11, 2007 Posted by

Ok, so before you start making accusations, let me state that this blog represents the opinions of me, not my employer. My employer did not encourage me to write this post; I’m writing it out of honest enthusiasm for my company. You can accuse me of imbibing Kool-Aid, but if you know me, I’m not really that sort of person. I’ve definitely worked at companies before where I have not been particularly enthusiastic or proud of the products. Google’s corporate mission, though (“organize all information, make it accessible and useful”) really excites me. There are so many amazing products we have, and they just keep multiplying. Whenever I’m talking with family and friends about working at Google, they’re inevitably surprised by some service I mention: “So I was using Google [blah]…” … “What? I didn’t know Google had [blah]!”

So, because so many family/friends read this blog, this my opportunity to raise awareness about cool Google services you should be using, but might not have known about. The general theme here is that Google gives you the opportunity to put your entire ‘digital life’ — any information your produce/share/consume with anyone else — into their “cloud” of infrastructure, so that it’s always available from any computer you sit at.

Here’s a list of services I use all the time.

  • Web Search. Duh. This is what everyone uses already.
  • Gmail. Access your email from anywhere (web browser, mobile phone)… a lot of you probably use this too.
  • GTalk. Instant messaging. This works with your existing chat program, or inside Gmail, even, and shares your Gmail contact list.
  • Maps. See any location on earth, zoom in. Locate businesses. I’ve entirely stopped using the yellow pages now. (Also, if you really want your mind blown, try the Google Earth application, which goes into even more detail!)
  • Calendar. Put your schedule up, accessible from anywhere. Share it with people, invite them to appointments.
  • iGoogle. A custom home page. When you open your web browser to Google, all of your important information is there: local weather, sports, stocks, news feeds, games, etc. There are hundreds of ‘gadgets’ you can put on your home page… most of the services in this list have ‘gadget’ boxes you can embed onto your homepage!
  • Docs & Spreadsheets. If you’re collaborating on a Word or Excel document with a friend, stop emailing it back and forth. Instead, just let the thing live on Google, and invite any number of people to come edit the thing via the web.
  • Reader. If you read lots of blogs or news feeds, you can aggregate them all into one place and access from any browser. This is how I track my friends’ blogs.
  • Picasa Web Albums. Upload albums of digital photos to share with the world. I especially like this service because it does not require your friends to create an account (or log in) to see the photos! If you usue Windows, the normal Picasa program is a free download that organizes all your photos on your own computer, before you upload them.
  • Notebook. Take notes on sites as you surf around the web. Any sort of URL, text, or image can be copied to you notes, and the notebook is even cooler when you access it as a plugin to your web browser. Just click in the corner of your browser, and up pops your notebook!
  • News. Google searches through hundreds of news sites, groups similar articles together, and then presents an “summary” overview for you. It’s a really amazingly neutral way to track world news. When a big piece of news happens, I love to see the same story covered by ten different sources, all next to each other.
  • Desktop. Let Google index all the files on your personal computer. Then, when you do Google searches, it shows you stuff on your own machine too!
  • Toolbar. Add the Google toolbar to your web browser. It will make your life easier. Trust me.
  • Alerts. Interested in some obscure, specific subject? Tell Google, and it will act like a personal Press person. Everytime a new web page or blog post mentions your subject, you’ll get an email about it. It’s what allows me to keep track of what random people are saying about Subversion on the internet.
  • Code. If you’re an open-source programmer, put your project up on the project hosting service (which my team manages!). Or learn how to use the various Google services to write your own applications.
  • Groups. Hundreds of forum discussions. You can read them over the web, or you can subscribe and interact as a mailing-list. This is how I keep up with the interactive fiction community.
  • Sketchup. Download this program for free, and make amazing 3D models of stuff. It’s like CAD for the layman; I used it to plan furniture in my house.

Here’s a list of other cool services that I don’t use, but you might still love.

  • Blogger. Log in, create a blog. Anyone can do it!
  • Video/YouTube. Upload your movies to share with people.
  • Finance. Detailed analysis of stocks and companies. Cool interactive widgets.
  • Scholar/Patent Search. Search scholarly papers, or the whole body of U.S. Patents.

There’s so much stuff Google offers… okay, let the fanboy comments begin. ๐Ÿ™‚

Ahhh, fatherhood…

Thursday, May 10, 2007 Posted by

…at last. Finally. Someone who will share a can of kippers with me!

Banjo Hackers

Wednesday, May 2, 2007 Posted by

The Hacker’s Dictionary defines a “hacker” as:

“(1) A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. […] (7) One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations.”

A hacker is a tinkerer — someone who wants to endlessly poke at a system to figure out how it works, modify it, experiment and improve it.

Since I started playing banjo about three years ago, I’ve been watching the relatively small-world community of banjo players. They have endless forum discussions at banjohangout.org. Many also subscribe to the “official” community magazine, The Banjo Newsletter, which a monthly treeware periodical that’s been going for 34 years now, full of hand-transcribed tablature, tinkering advice, and classified ads.

What’s striking to me is what a “hacker” culture it is.

By comparison, I played guitar for a few years before playing banjo, and most of my musician friends are guitarists as well. Guitar-player culture seems (to me) to be a fairly refined thing. Instruments are exquisitely designed and crafted as works of art, and the people who buy and play guitars much the way classical musicians handle their antique violins. “This is a beautiful object, both in form and tone.” The instrument goes on a pedestal. It can be slightly tweaked to taste, by choosing a certain brand of strings. The ease of play(“action”) can be adjusted by slightly bending the neck via a turn of the truss rod. (Though many guitarists are too scared to do this themselves, they have a professional do this for them.) In a nutshell, when you shop for a guitar, you find the one you love, and it becomes an immutable piece of art — and takes its place as a distinct personality in your guitar collection.

The banjo community, however, is a bunch of wheelin’, dealin’, giddyap hardware hackers. Unlike a guitar, which is (mostly) a single piece of shaped wood, a banjo is a frankencollection of odd parts and gizmos. You’ve got the “rim” of wood that makes up the main body of the drum. There’s the “tone ring”, a metal chamber between the rim and drum-head which shapes the resonation, and the “tension hoop” held down by brackets, which secures the drum-head and provides even tension. Combine all this with a metal framework (chrome? silver? gold?) for holding down the drum-head, and the whole thing is called the “pot” — with uniquely shaped airholes surrounding the rim to let the sound reflect out from the “resonator”, which is the big plate of wood behind the pot. Don’t forget a custom tailpiece to hold the strings at the bottom, and a custom bridge (of varying height) to thread the strings through. Oh, and banjos can also have fancy tuner gizmos at the tip of the neck, allowing one to bend tones (via spring mechanism) in live performance.

Every one of these pieces is malleable. You can buy replacement parts, swap them around, adjust them, and then spend weeks tinkering to make your banjo sound just the way you want. These folks fill their discussion boards with advice about how one component sounds compared to another, the best way to tweak parts, and putting up recordings for each other to evaluate. The banjo you buy is just a starting mold; it may be something else a few years and many fiddlings later. When I shopped for the one, I was explicitly looking for a banjo known to use the Tony Pass rim, due to the partially-petrified (extrodinarily dense) wood used. Since then, I’ve changed my bridge, armrest, strings, drum head… and even my fingerpicks. (Double-cobalt plated picks!)

These folks are the same people who spend their weekends rebuilding old cars on their lawn. I love them dearly.

Heading South

Thursday, April 26, 2007 Posted by

My wife’s (large, multinational) employer needs her to head down to Nicaragua for a “western hemisphere team meeting” in late May. What an excellent excuse for a family vacation! Nicaragua seems to be politically stable these days (no more Contra war), and it’s full of beaches, rainforests, and volcanoes. I get to practice my rusty Spanish (which I used to be pretty good at), and carry around a toddler to interesting sites while my wife sits in meetings. What could possibly go wrong? ๐Ÿ™‚

Preparing to leave, we stopped by the local travel clinic to get some immunizations.

  • Tetanus shot. Check.
  • Typhoid shot. Check.
  • Hepatitis A shot. Check.
  • Malaria pills. Check.
  • Cipro pills for “traveler’s diaherrea”. Check.

Yessirree, sounds like fun times await!

Institutionalized Sexism

Wednesday, March 28, 2007 Posted by

We hear all about ‘glass ceilings’ and other forms of institutionalized sexism towards women. Today I’m going to tell you story about sexism towards men.

When we got married in 1998, my wife and I agreed to both take each others’ last names through the common practice of hyphenation. “Frances Collins” and “Ben Sussman” would become “Frances Collins-Sussman” and “Ben Collins-Sussman”. No big deal, right?

Well, it was no big deal for my wife. She walked into the Department of Motor Vehicles, showed them her marriage license, and asked for a new driver’s license. “No problem,” they said, “what would you like for a new last name?”. They quickly issued her a new I.D., which she then carried over to the Social Security Administration to get a new card, and to various other agencies. Each agency was happy to reissue documents for her.

I tried to do the same thing. Despite my showing the marriage license, not a single government institution was willing to change my records and issue me new documents. Each one looked at me like my request was insane, and they all gave the same reply: “Sorry, we won’t give you a new I.D. unless you show us that some other agency has already done it.” No agency was willing to be the first one to do it.

I finally got the Social Security office to give me more details. They said that they’d only issue me a new card if I legally changed my name. In other words, I had to fill out a bunch of forms, swear I wasn’t changing my name to evade debt, place a public notice in a newspaper for a few weeks, then go swear in front of a live judge that I want to change my name… oh, and pay $200 for the court proceedings too. And pay another $220 for the other official name-changing processing. Here’s a receipt that shows the line-items. Then, after all that, I had to change my birth certificate as well. Yes, seriously. Apparently a birth certificate is not an immutable record of history, but it’s some sort of morphable record of identity.

In summary: my wife was instantly allowed to change her name with no forms or fuss. I, however, had to pay over $400 and stand before a judge. My marriage was irrelevant — I went through the exact same process that I would have gone through if I had wanted to change my name to “Glorbo P. Stranborf.”

I’m surprised there hasn’t been some sort of class-action suit against the government about this.

Apache Podcast

Wednesday, March 21, 2007 Posted by
Comments closed

The Apache Software Foundation’s podcast — Feather Cast — just posted a new episode that features me and Fitz talking about Google’s current Summer of Code project.

What did I do wrong?

Sunday, March 18, 2007 Posted by

Maybe I can pull a jwz and ask my readers for help — cooking help! Perhaps even the Hacker Kitchen can advise me.

So there I was, making a simple hot salmon mousse, and the cookbook explains how to make a nice sauce to dribble over it:

Melt 2 Tbsp butter in a nonstick saucepan. Dilute 2 tsp cornstarch into 1/2 cup milk, then add gradually to the melted butter over low-medium heat, while stirring continuously. Add 1/2 cup dry white wine, salt, pepper, and continue to stir until sauce thickens. Remove it from the heat, stir in 2 beaten egg yolks and lemon rind gradually, whisking fast until the sauce is even and smooth. […]

Seems easy enough, doesn’t it? I melted the butter, then thoroughly mixed the cornstarch into some milk and added the milk to the butter. But when I added the wine — bam! Instant curdling. I ended up with a big lumpy, gooey mass in the middle of the sauce. I couldn’t tell if it was coagulated milk solids (reacting to the acidity of the wine), or if it was the cornstarch, or some combination of the two. I was so frustrated that I tossed the whole sauce, and repeated the whole experiment using skim milk (rather than whole milk). Exact same results. So I guess milkfat wasn’t coagulating; it must have been either the milk proteins or the cornstarch.

Mind you, I’m no spring chicken when it come to cornstarch. I remember my naive days of trying to mix cornstarch into a big bowl of soy sauce, and getting ‘clumps’, and then learning how to dissolve it first in a teeny bit of sauce. But this whole experience has bewildered me.

Cooks, what’s going on here?

Obligatory Whiny Post

Wednesday, March 7, 2007 Posted by

I know that I usually blog about things that excite me, but it just wouldn’t be a blog if there weren’t some sort of rant every now and then, right?

Let me vent about some miscellaneous pet peeves.

  • Digital photo albums:

    I love getting invitations to view friends’ online photo albums as much as the next guy, but it really annoys me when I go to the site and see 100 photos that are clearly nothing more than a thoughtless dump of someone’s digital camera. I don’t want to see blurry photos. I don’t want to see 12 pictures in row that are 99% identical. It’s called a photo album, folks. You know, an album? Like, choose the good photos and put them in a book on your coffee table? Don’t waste my time by making me comb through your ugly contact sheet while trying to spot an interesting photo. Please, put some thought into what you display!

  • Notice people around you:

    Pay attention to your surroundings when in public places; it’s not the place to be self-absorbed — you can do that at home. Don’t block the aisle with your cart in the grocery store while you browse a shelf. If you’re going to stand on the escalator, move to the right so others can pass. (I don’t care if it’s you first time on the subway, notice that everyone around you is standing on the right, climbing on the left? Pay attention to the convention!) When boarding a train, let people off the train before trying to push your way in, you insensitive clod.

  • Learn how to ask for help:

    When asking for help with software in a public forum (like an email list, or chat room), provide complete information. It’s useless to say, “I’m trying to do [general vague task], and I’m seeing an error message that says [some vague recounting of error text]. What is wrong?” It then becomes a game of 20 questions. Those of us trying to help have to repeatedly pull information from you: what exactly did you type? what exactly did you see as output? how did you configure things? Please don’t make us play this game. We can’t read your mind, and it’s a waste of time to have us repeatedly interrogate. Instead, gather up all of the information that describes your environment and what you’ve done, and present it all up front when you ask for help. We need to see literal transcripts of what you’re doing, not vague descriptions of the task.