lloyd tabb

Looker’s Founder, LiveOps’ Founding CTO, Netscape’s Free Electron

Read this first

My Client, The Dread Pirate Roberts

In the Princess Bride, the hero Westley is captured by the Dread Pirate Roberts and put to work on his ship. Each day, Westley works hard and impresses the pirate. At the end of every day, the pirate says “Good night, Westley. Good work. Sleep well. I’ll most likely kill you in the morning.” This exchange goes on for years. Eventually, the Dread Pirate Roberts acknowledges Westley’s contribution, makes Westley the new Dread Pirate Roberts, and retires with a fortune to a small island.

At Looker, I’ve run into the Dread Pirate Roberts professionally.

Early at Looker, in order to win business, we built many proofs of concept. We encountered customers who were helpful and enthusiastic, but sometimes we’d encounter the Dread Pirate Roberts (DPR).

In the service world, the DPR expects you to fail. They’re giving you a shot because you’ve...

Continue reading →


What ‘Making Partner’ Means at a Startup

(originally published on the first round review)

“It’s easier to ask forgiveness than permission.”

— Grace Hopper

When he led the Netscape Browser team, Tom Paquin used to repeat this quote all the time. I was right there with him, on a large team of very smart people operating autonomously. This was Tom’s hands-off way of saying, “I trust you to figure stuff out, and if you blow it, I’ll forgive you.” And other leaders I’ve admired shared this confident, laissez-faire approach, too — and it worked.

When I left Netscape for LiveOps, then-CEO Bill Trenchard started introducing me as his ‘partner.’ And immediately that moniker felt right. Even though the company was organized as a traditional corporation, the driving force among management was partnership — partners who valued and trusted each other. Bill labeling me as a ‘partner’ was both inspiring and motivating.

...

Continue reading →


Be Careful What You Measure

As a kid, I used to read a lot of science fiction. Often these stories followed some design pattern or other, one of my favorites were stories patterned on The Monkey’s Paw. In the Monkey’s Paw, the main character in the story receives a magical object (the monkey’s paw) that enables him or her to make three wishes. The holder of the monkey’s paw makes a wish, the wish is granted, but the wish has unintended (and usually very bad) consequences. For example, in one story, the wisher asks for riches, and someone he loves dies and he’s left with the insurance money. Ultimately, the wisher regrets what he asked for.

Focusing on a single metric is almost always a Monkey’s Paw.

A very common mistake is to pick a metric and wish for it to improve. It’s great to have a single number to rally around, but it’s almost always the exact wrong thing....

Continue reading →


If you don’t have the right language in your data model, you’ll never be a Macher.

It turns out that having language to describe something in a nuanced way really does promote discovery and discourse. Creating good names for measures and patterns lets you describe things quickly and efficiently. The better your language, the better your conversations. The better your conversations, more likely you’ll be able to make an important discovery.

Take ‘conversion’ for example. It usually means the percentage of leads that turned into orders, but 'conversion’ is a crappy name. Which leads? All the leads? Net of bounces? Leads where people spent more then 10 seconds on the site? Leads where someone actually had something in their shopping cart?

Measure them all, pick good names and then pare it down to the measures to the ones that actually tell you something interesting.

Don’t be afraid of doing a little inventing here, but don’t do...

Continue reading →


Learning to Program

The Basic programming language is a really nice abstraction for a physical computer. As a language it has the notion of an instruction pointer (line numbers) and a stack pointer (using GOSUB). The entire language description fits on a page. A great way to teach it is using the javascript Apple II Basic emulator (which is frankly amazing).

http://www.calormen.com/jsbasic/

Good assignments are:

  • Print “Hello World”
  • Write a program that takes two numbers as INPUT and adds them
  • Write a program that prints all the integers less then 100
  • Write a program that prints all the integers less then 100 by powers of two.
  • Write a program that takes a number as input and then counts up by that number (for example if you entered 5, it would count 5, 10, 15 …)
  • Write a guess a number game (it picks a random number between 1 and 100, makes you guess until you get it telling you if...

Continue reading →


Good Design is Rarely Simple and Usually Complex.

When I do something every day I don’t mind a little complexity.

When I do something rarely, I’d like that task to be a simple as possible.

I program every day. Sublime, my text editor, is pretty complex. Even something basic, like using spaces instead of tabs, is an effort for me to find. In order to figure it out, I might dig through the menus, the help and even the google. But I love Sublime anyway. Sublime’s complexity works for me because it can do all thing things I might want it to do (and much more). It does come a cost (my time to figure out out).

I’m not willing to go to something simple, like OSX Text Edit.app, because the features are simply too basic and can’t do the job for me.

On the other hand, system preferences on OSX are pretty simple (as opposed to say trying to do the same thing in the unix shell). For the most part, I can figure...

Continue reading →


Pen-handling at Looker

“Miss Goldstein, please take a memo for me…. Colleagues, it has come to my attention that we are spending too much money on our secretarial staff, particularly as in the creation of memos. We’re going to need to limit the number of memos we can each send…”

Can you imagine living back then? Having someone literally type up your (non-e)mail for you?

My mother was a executive secretary. She was an amazing writer. But when she wrote, she spoke for someone else.

Too many companies do the same today with engineers. A product manager dictates what should be built and engineers go code it with little input on what should be built or why it being built. The product manager changes his mind frequently and whipsaws the engineers from one feature to another.

At Looker we’re following a different path. Engineers and analysts interact directly with our...

Continue reading →


Great Software is an Act of Empathy

“Who ever wrote this software had me in mind when they wrote it, and they must love me.”

I first had this experience programming on CPM way too long ago. At that point in time you had a couple of choices in trying to write programs that fit into 64K of RAM (K, not Meg, not G); you could write in assembly language, or your could write in Basic or you could write using Microsoft’s crappy, expensive Fortran or C Compiler.

Basic sucked. Compiled programs were big and slow. C and Fortran programs barely worked. There was just too little RAM. Compilation took 5 minutes, even for a small program. I could not yet figure out how to code in assembly.

Enter Turbo Pascal

Ordered from an ad in Dr. Dobb’s Journal (the Hacker News of the time), it arrived on a single 5.25 inch floppy disk. The whole program fit in 160K.

Turbo Pascal was amazing. It compiled almost instantly...

Continue reading →