Archive for January, 2006

$15 Million To Catch One Bad Guy

0

Bruce Schneier on the failure of the US-VISIT program:

take that $15B number. One thousand bad guys, most of them not very bad, caught through US-VISIT. That’s $15M per bad guy caught.

Nice. Back in 1953, the CIA changed the Iranian government (a democratic one, btw) spending less than $15M total (anybody have the actual number? It’s available in the de-classified docs somewhere). We seem to be good at spending as much money as possible these days.

The Real Value of the Google 20%

5

There are a number of thoughts on the Google mandate that all developers spend 20% of their time on self-directed projects. Allow me to drop my own 3 cents into that fountain.

Consider any technology project at any medium to large sized company. 50% to 70% of the total project time is spent on planning and definition. Another 10 to 15% goes to QA.

So you’re looking at best case of 40%, worst case 15% of the project timeline being actual development time.

I’ve actually seen the 15% case on occassion. It is a truly ugly beast.

In the regular world a business or marketing person comes up with an idea, creates a big thick Marketing Requirements Document, hands it off to product folks, who create a lovelier, thicker Product Requirements Document, who hand it off to the architects, who copy and paste stuff around and attempt to convince people they’re doing something useful to finally arrive at … the Technical Requirements Document.

After much negotiation and back and forth on the features and what is doable, the doc is finally handed off to the code monkeys, who are now clearly behind the 8 ball because 60% of the project timeline is already eaten up. And we can’t short-change QA, because we are Committed to Quality. Indeed.

Somewhere around the 70-80% mark of the project timeline, we finally have something we can see. Ah, that’s what the product looks like. Wow, that’s an ugly wart there. And this feature that we decided not to do, boy, we really need that one. The product and business guys haven’t been sitting on their hands either; they have a list of stuff they’d like to creep in. Yup, we’re in good shape to make this schedule. If the project doesn’t get cancelled, now that people actually see what it’s all about.

In the Google world, you’ve got a bunch of smart overachievers with a mandate to be creative and come up with the next big thing, and company allocated time to do it in. There’s a great deal of competitive pressure, because that other guy in the next aisle is doing something neat and I still haven’t thought of anything…

So these guys go home and think about it. What should I do? And one day in the shower, the idea hits!

Point is, getting the idea costs the company nothing. This is a high quality idea from a high quality person, someone who might have gone off it do it at her own startup, but Google got it for free.

Now, the 60% to get at the TRD so we can get the monkeys revved up and… Oh wait, none of that. The guy with the idea is the monkey! And the monkey actually cares about the idea. It’s his idea. It’s his baby. Her baby. Politically correct genderless baby. Whatever. We just jumped ahead of the rest of the world by 60%!

But it’s not over yet. Monkey man (/woman/person) cranks thru and comes up with … a prototype. There it is. Now we can see it. We can touch it.

Fundamentally, it’s easier to make a decision about the value of an application when you can see it and touch it. It’s also a better informed decision that you make. Think about Google News. It wouldn’t be an exciting idea till you actually saw it in action. Would you have gotten excited about yet another news aggregator?

Ok, back to the prototype:

Boy, what a terrible idea! It reeks. We lost 20% of 1 techie’s productivity for X amount of time.

Boy, what a great idea! It’s a winner! We just jumped ahead 60% (ok, say 40%, because those wonderful product people do have to get involved eventually). That’s total project time. We jumped ahead of everybody else an obscene amount of time.

Remember, we’re doing this with every developer. Some percentage of the ideas are going to be winners. A bigger or smaller percentage than the Other World method where a business or marketing person comes up with the idea? I’d venture to say, given the right set of developers, it’ll be comparable or better. But it actually doesn’t have to be even close to as good for the whole thing to work. We’re running mini experiements all over the place with every developer. If 1 in 10 works, we’re still ahead of the game.

If you don’t like the numbers I used, use your own. Do your own mini calculation, and you’ll be suprised to find this still works. You just have to believe the monkeys are smart, that they care, that they’re capable, and give them time and facility to help you.

So, that’s my take. It’s all about short-cutting the product definition cycle, getting product out faster, going straight to working prototype, and making intelligent decisions about what to launch. It’s avoiding decision by committee. It’s a brilliant tool for accelerating value delivered to the company. It also keeps the monkeys happy and excited, but that’s a side benefit. These are all good things. If you have monkeys, you should try it.

Upgraded to Wordpress 2.0

2

There was some slick new comment spam happening, so I wanted to switch to Akismet to cut it out. Akismet, btw, is one of the projects from Automattic, which the illustrious Toni Schneider recently joined as CEO.

Turns out Akismet didn’t work with my old version of Wordpress, so I figured good time to upgrade to 2.0 .

Fairly easy upgrade, although I had to hand-add my plugins and various hacks back in. I think I’ve got it all smoothed out, but if you see anything fishy let me know.

Become an Assassin!

4

Check this out: Street Wars.

StreetWars is a 3 week long, 24/7, watergun assassination tournament that has already taken place in New York City, Vancouver, Vienna, San Francisco and is now coming to Los Angeles.

At the start of the game you will receive a manila envelope containing the following:

* A picture of your intended target(s)
* The home address of your intended target(s)
* The work address of your intended target(s)
* The name of your intended target(s)
* Contact information of your intended target(s)

Upon receipt of these items, your (or your team’s) mission is to find and kill (by way of water gun, water balloon or super soaker) your target(s).

You can hunt your target down any way you see fit; you can pose as a delivery person and jack them when they open the door, disguise yourself and take them out on the street, etc.

If you are successful in your assassination attempt, the person you killed will give you their envelope and the person they were supposed to kill becomes your new target. This continues until you work yourself through all the players and retrieve the envelope with your (or your team’s) picture(s) and name(s). Then you win. Cash…but first live in fear.

Who’s Subscribed To Your Blog?

0

Are there any good solutions for knowing who’s subscribed to your blog? I’d like to know. A blog is a conversation, but I don’t know most of the people I’m talking to.

Anybody know of a way to get a list of your subscribers?

Paul Graham: Do What You Love

0

Paul Graham has a new essay called How to Do What You Love. Good read as always. Choice quote:

If you think something’s supposed to hurt, you’re less likely to notice if you’re doing it wrong. That about sums up my experience of graduate school.

I actually really enjoyed grad school, but it’s a fun quote anyway.

VOIP To Take Over England?

0

This has the potential to be a big deal. Tesco is offering a VOIP package including a handset for cheap (20 pounds).

Tesco is very big in England. It’s a supermarket and it’s everywhere. There’s also a very compelling kicker to get this started – calls to other users of the Tesco VOIP offering are free.

Why would you not buy this service if you already have broadband? You could get your most frequent calling destination to buy one also – heck, you can buy them one yourself – and talk for free. I suppose if your frequent call is very cheap already perhaps there’s no motivation.

It’ll be interesting to see how this plays out.

Great Word: Peruse

0

I love the word peruse. It generally tends to confuse (I perused the document vs. I read the document). Here’s the definition from Merriam Webster’s:

1 a : to examine or consider with attention and in detail : STUDY
b : to look over or through in a casual or cursory manner

So let’s see. Either to examine in detail with attention, or in a casual cursory manner. Completely consistent.

I Want My Video, Dammit

4

Channel 4 of the UK is doing a programme on the morality and effects of religion called The Root of All Evil?

Richard Dawkins (of The Selfish Gene fame) discusses how the Abrahamic religions, Judaism, Christianity, and Islam, are in fact destructive:

though religions preach morality, peace and hope, in fact, says Dawkins, they bring intolerance, violence and destruction. The growth of extreme fundamentalism in so many religions across the world not only endangers humanity but, he argues, is in conflict with the trend over thousands of years of history for humanity to progress – to become more enlightened and more tolerant.

I would very much like to see what Richard has to say. But I don’t live in England. And Channel 4 doesn’t broadcast in the US. So I can’t.

And that’s a ridiculous situation to be in. There is absolutely nothing technologically preventing me from seeing this. There is really no financial penalty for the parties that own this in making it available to me. In fact, they could easily extract value from me by showing me local ads.

Why is this still not possible? It’s 2006. Somebody get me my video!

Dogs Can Detect Cancer

1

Very interesting article from New Scientist on Dogs’ ability to sniff out cancer:

The dogs correctly detected 99% of the lung cancer samples, and made a mistake with only 1% of the healthy controls. With breast cancer, they correctly detected 88% of the positive samples, and made a mistake on only 2% of the controls.

Language Benchmarks: Java Surprisingly Fast

2

I’ve complained before that Java is Slow. Two events this week conspire to correct my conception.

First, via Daniel Lemire, the Debian : AMDâ„¢ Sempron Computer Language Shootout. This is a nice piece of work, allowing you to compare execution time and memory usage of benchmark programs under different languages.

If I’m reading this right, it says Java is generally only 2-3x slower than C++, although it uses much more memory, something like 2 to 10x. The memory usage is a real concern – many (Web) server applications these days are memory limited. However, I’m very encouraged by the raw performance.

Second, we did some benchmarking at work of something that looks like a proxy and does light processing of the request. We compared a C based Apache plugin to a Tomcat based version. I was very surprised to find that although the Apache version was faster, the performance was close.

So, I stand at least partially corrected. Java seems to be pretty fast.

Startup Exercise: Make the Calls You Don’t Want To

4

Judging by the number of question and inquiries I get, the startup world is heating up again. Here’s an exercise I recommend to people thinking about founding a startup: pick up the phone and make 3 phone calls you don’t want to.

It turns out doing a startup takes a lot more than having good ideas. Amongst other things, it requires the ability to deal with hard issues and make hard decisions, as well as the ability and willingness to communicate. This exercise helps you get a sense of what your personality is in these areas.

Make a list of 3 phone calls you don’t want to make. They can be personal, business related, whatever. Just 3 calls you dread making. These should be big issues, things that give you a lot of angst, emotions, and force you to make decisions you’ve postponed. For each, define a goal, what you want as the result of the call.

Give yourself a time period, say 1 day, to make them in.

Now sit and observe. Pay attention to your behaviour, you mood, your actions. How do you reason and plan them? How distracting are they to the rest of your work? Are you in a bad mood all day leading up to the calls? How effective are you at achieving the desired results?

There you have a small taste of what you’ll face on a regular basis in your startup. If you really hate this stuff, if it makes you miserable, be prepared for that, and be prepared to find a way to have them be less difficult.

For bonus points, sell something. Pick a random product – say better/cheaper phone service. Pick out 10 businesses and call them. Try to get connected with the decision maker and convince them to meet with you. Again the point here is to observe yourself and get a sense of your skill at picking up the phone and calling people (much harder than it appears!) and of your ability to convince. You’ll be doing some form of this on a daily basis in your startup.

Howto: Using TiddlyWiki

4

I’m experimenting with TiddlyWiki as a way of documenting a project I’m working on. Typically I’d use a flat text file, allowing me to capture quick and dirty notes and organize later. The organize later and make Web friendly never actually happen.

My requirements for TiddlyWiki in this case are to maintain the speed of note taking while gaining aesthetics, built-in organization, and Web friendliness.

Getting the software
Go to http://www.tiddlywiki.com/ , click DownloadSoftware, follow the instructions to save yourself a local copy of tiddlywiki.

Double click the file you saved to open it in a browser. I’m using Firefox.

Setting the title of your document
In the right hand side menu, select the All tab. Click on SiteTitle. It should open up in the main page. Double click the body and set the title to what you want. Hit done and then close. Your title is now set. Do the same to set the text that follows the title using the SiteSubtitle entry from the right hand menu.

Creating your introduction section
Double click the HelloThere entry. Change the title and body to whatever you want for you introduction. Hit done. You now have your introduction, but it’s not linked to from anywhere.
From the right hand side menu, with the All tab selected, click on MainMenu. The main menu entry open up in the main page and becomes editable when you double click on it.
The first line is HelloThere. Get rid of this, replacing it with [[YourEntryName]].
The two brackets (’[[' and ']]’) indicate that you want a link to the item you put between them.
You may have noticed that wikis tend to use the goofy CamelCase convention where you capitalize the first letter of the words and don’t use spaces. You can use normal capitalization and space as long as you use the double brackets when you want to link to a section.

Cleaning up your page
For some reason TiddlyWiki includes lots of entries such as “5 December 2005″ in the blank page you download. You can get rid of these by hitting edit for each, which then gives the option to delete. There’s probably a way to do this more efficiently but I don’t know it.
Now that you’ve removed the spurious entries you’ll want to remove the references to them. From the menu on the left select the DefaultTiddlers item. This lists the entries that will be displayed when the page is first loaded. Get rid of all the links to the entries you no longer have. Put in a link to your introduction and anything else you want displayed by default.

On this topic, I would like to re-iterate my request that the download version of TwiddlyWiki actually be empty so all this deleting would be unnecessary.

The Verdict
It’s working well for me. I think I’ll use this method over plain text when possible.

Submit Proposal for XTech 2006 Now!

0

The deadline for submitting proposals for XTech 2006 is fast approaching. It will be a very good conference, and as if that wasn’t enough, it’s in Amsterdam. Submit something and hopefully I’ll see you there!

Wonderful New Year’s

0

There’s a persian saying that whatever you do at the time of the changing of the year you’ll be doing for the rest of the year.

We were at a friend’s house, having a good time all around. Minutes before midnight my sons who was sleeping upstairs woke up and I went to them. As the rest of the party counted down to midnight, I was lying down beside my boys with my arms wrapped around them.

It’s going to be a great year.