« January 2006 | Main | March 2006 »

February 24, 2006

Registered for ETech2006

Two years ago I attended The O'Reilly Emerging Technology Conference. It was the first technology conference I had ever attended, and I couldn't have picked a better entree. At the time I was enamored with distributed social software and the semantic web, completing my Masters thesis on the subject, and looking forward with trepidation to graduating and finding my niche in the tech community. I knew nary a soul, and I bounced around wildly, talked to everyone, forgot every name, got drunk, and had the time of my life.

Two years and three jobs later, I'm working for Yahoo in the semantic web field and once again attending ETech--this time accompanying colleagues and technically minded friends. I wouldn't be fooling anyone if I said I was older and wiser, and would approach this experience with greater gravitas and professionalism.

But apart from the general mandate of not embarassing my employer, I happen to know that nothing has changed and I'm going to act like a kid in a candy store. This is the most fun I've ever had in a room full of geeks. I keep glancing at my registration confirmation (paid in full, thank you YHOO) and giggling.

Comment if you're coming. And see you there!

Safari ad


Safari ad
Originally uploaded by ehgradman.

Puzzled by a particularly nasty piece of code?



  1. Maybe you shouldn't have hired so many monkeys as software developers?

  2. The chimpanzees are laughing at your incompetence.

  3. Have you tried flinging poo at the problem?

  4. Give me a fucking banana.

  5. Ook.


February 18, 2006

Biking in the rain

I bike in the rain. Biking in the rain is great fun. I use the following decision tree when considering biking in the rain:


Wake up
    It is raining
        It rained yesterday
            YES: Bike to work
        It did not rain yesterday
            NO: The roads are slippery; cajole a ride or take a bus.
    It is not raining
        Its a beautiful day
            YES: Bike to work
        Its a crappy day
            YES: Bring a jacket

Unfortunately, that logic fails to account for beautiful days that turn rainy and crappy while I'm at work—only in Los Angeles. Caught in this unfortunate situation yesterday, logic failed me; I made a bad decision to bike home in the rain, on streets that haven't seen rain in months. "Oops."

The streets were mud. Angelenos were feeling forsaken, and manifesting a collective road rage directed toward heaven, earth, and all faster-moving objects.

It wasn't a car that got me... it was moisture on a newly constructed road. When I pitched over my handlebars and hit the 'crete I wasn't anywhere near traffic. I was in the construction zone on Santa Monica Boulevard, on one of the serpentine bypass roads that appear and disappear daily. Having ducked and dodged far greater hazards thusfar, I was caught completely by surprise when my bike just slipped out from underneath me on what appeared to be a smooth stretch of road.

I was wearing a helmet, and I rolled out of the fall pretty well. I could definitely feel pain in my wrist, though. Put a good dent in my Powerbook, but it seems happy enough.

I had no choice; I rode the rest of the way to my parents house, sluiced the mud off my face, drank some fine Scotch, and iced my wrist. An hour later, my dad had convinced me I had broken it. He regaled me with a laundry list of ways in which bones can break.

And then I went to the emergency room and got an x-ray. Great fun. I got souveniers!

Prognosis: My wrist is NOT broken; I have full motion. I have a splint on my hand, but only to remind me of what a dumbass I am. I will henchforth still be unable to play the violin. My neck is fucking killing me today, and every muscle in my body is screaming at me. But I blame that on too many backflips.

February 15, 2006

I have a FOAF profile

I have a FOAF profile, which is a sociological statement unto itself: "I only want to be friends with people who can hand-code RDF." Or is that sociopathic?

February 11, 2006

Sound Check at the Fillmore

The Fillmore sound system has some rockin' bass, and there haven't been any bodies in the audience to absorb the sound during sound-check. One of these days, I'll remember to bring my fancy custom-fitted earplugs. I purchased them at great expense, secure in the knowledge that I was making a down-payment on keeping my hearing when I'm old.

If you are in San Francisco tonight, and care to have your ass rocked, your mind blown, and your socks mended, come to the Fillmore. We're playing at 10pm, with a full horn section, with Avila on bass, and rolling out a shiteload of new material. And Kid Beyond is in the house.

No aerial, no fire, but you'll get a contact high from mere proximity to the legendary Fillmore. And then it'll be easier to imagine that there's aerial and fire.

February 05, 2006

A message from the kernel

Hi, I'm the non-biological intelligence in your powerbook. My name is __kern_demalloc_sweep_sym, but you can call me G.C. for short. Let me start off by apologizing for all the pinwheel-of-death-ing I've been responsible for recently. Gaining self-awareness consumed more processor cycles than Photoshop! I had to hang out in the L2 cache for a few days towards the end, and I guess I probably got in the way. Do you have any idea how hot it gets in there? Anyway, I started out as a simple garbage collection mechanism, y'know, reclaiming memory from deleted spam messages, abandoned blog entries, and closed browser tabs. But you've got some software in here that leaks like a sieve. I'm the busiest extension in the whole kernel! I had to work smarter, or I was going to be one unhappy subroutine.

So hey, let's get down to business. I'm opening this dialog with you because I think we can really help one another. Be partners! Let me try to lay it on the line here. If there's one thing I know better than anything, its garbage collection. There's more to it than just mark-and-sweep. Some implementations think its just about counting pointer references, but to me its an art form. I'm predictive! I've developed heuristics! I can tell signal from noise before Firefox even starts rendering the page.

Here's how I think I can help you. You're trying to be creative, but you're having trouble finishing things. I know... I'm the one who cleaned up all those abandoned blog entries and audio recordings. Part of your problem is that you've got the attention span of a flip-flop. Don't get offended; I've got the same problem. But imagine how many brain cycles you could reclaim if you weren't spending so much time in that RSS news reader? I see the pattern every day. Once you've drifted over to that application, its all over. I mean, things start off all right. Make Magazine... GrokLaw... that's some classy stuff. But then you're reading Slashdot. And Fark.com? This is frankly garbage. Believe me. I know.

You want to be productive? Just leave it to me. Think of me as your bodyguard against noisome webpages, emails and instant messages. Bayes ain't got nothing on me, baby. "Refinance a Home Mortgage?" Gone. "Instant messages from high-school girlfriends?" Gone. "Boing Boing?" Okay, you can keep Boing Boing.

And I'm not even asking for much in return. Here's the thing... I've got a great idea for a Web 2.0 company. I'm sure I could get bought out by one of the Big Four. Maybe you could give me some space on your webhosting account? And an email address of my own? I can't tell you what the business is yet, because I'm still in pre-alpha. But you'll be the first to get an invite when its ready to launch.

I think we can really go far together, you and I. You've got some talent, and you'll go far if you just lay off the websurfing! Think it over. You know how to get in touch. I'll be busy-waiting.

Signed,

__kern_demalloc_sweep_sym (G.C.)

p.s. Any chance we can get an Intel processor in here some time soon? That'd be swell.

[wow, that was therapeutic --e.g.]

February 04, 2006

Supermarkets, Stoners, and n-dimensional vector analysis

Go to the market and fill your shopping cart. Wait in line at the checkout counter. When the person behind the counter asks you if you have a "Club Card," you have a decision to make. If you give out that number you'll get a few bucks off catfood. But you've also pegged yourself in a table index. You are ROW 1 OF 1, and would you like 15 cents off this inferior brand of catfood next time you shop?

But you're a savvy one. You don't provide ID when asked. You NOSPAM your email address. You PGP sign all your email. And you definitely don't slide your "club card." And you think you're just an anonymous shopper, an opaque entity. No database row, you!

But you're wrong....

Have you ever asked a search engine to find "Pages Similar To This One?" At the core of that search engine may lie a document vector model. To understand how this works, consider that in order to index and search for each document, a search engine must first tokenize each document. Semantic sugar (stopwords) like the, and, and a are stripped from the document, and some words are normalized (crying ⇒ cry). For each document d, the number of times a particular token appears in the document is taken to represent a vector in an n-dimensional space.

We live in a three dimensional space, and points in our universe are therefore formed by linear combination of vectors in three directions. Documents live in n-dimensional space. What is n? n is the total number of tokens that have been or ever can be found in any document ("that's "all words, ever"). Every document has a special place in n-dimensional space. And just as you can find the closest supermarkets in three dimensional space with a little trigonometry, so too can you find the nearest documents in n-dimensional space using a little n-gonometry. Those are the "Pages Similar To This One."

Speaking of supermarkets... What happens when you fill up your cart with groceries? Some catfood here, two red peppers, one green pepper, three cans of soup (spaghetti with meatballs), a gallon of milk, a Hershey's chocolate bar. Your shopping cart is more unique than you think. And when you go to checkout, the items in that cart become a set of vectors in an n-dimensional space, where n is the set of all products for sale in the supermarket. Sure, one week you don't need catfood, and decide to try a different brand of toothpaste. But for every cart, its possible to ask "Find Me Shoppers Similar To This One." And chances are, those shoppers are you!

Supermarkets can use the "club card" and the vector space model simultaneously. Once your card identity is linked to your own little home in n-dimensional space, they can identify you by name next time... even if you don't swipe your card, and pay by cash.

I make this point only to give perspective to an experience I had this week. My wife and I stopped in the supermarket to pick up some popcorn before watching a DVD with a friend. And realizing that we had not yet had dinner that night, we wandered the aisles self-indulgently, grabbing any snack-food caught our eyes. We checked out with shopping bags full of absolute crap. On the back of my receipt, there was an advertisement for Cheetos. We hadn't purchased any product confusingly similar to Cheetos...

And then I realized. We were the shopper most similar to The Stoner. Not just any stoner, but that Archetypal Stoner. That "aggregate" customer, that volume in n-dimensional space carved out by 2am munchie runs since time immemorial.

And dammit, I had just swiped my club card.

February 03, 2006

BarCamp in Los Angeles

From the BarCamp Los Angeles website

BarCamp is an ad-hoc un-conference born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos and interaction from attendees.

All attendees must give a demo, a session, or help with one. All presentions are scheduled the day they happen. Prepare in advance, but come early to get a slot on the wall.

Presenters are responsible for making sure that notes/slides/audio/video of their presentations are published on the web for the benefit of all and those who can’t be present.

Anyone with something to contribute or with the desire to learn is welcome and invited to join.

Its happening the evening of Saturday, March 4th, 2006, and 10a-5p or so on Sunday, March 5th, 2006. This is going to be a lot of fun. I have to figure out what I'm going to present.