January 27, 2009
In software circles, dogfooding refers to the practice of
using your own products. It was apparently popularized by Microsoft:
The idea originated in television commercials for Alpo brand dog food; actor Lorne Greene would tout the benefits of the dog food, and then would say it's so good that he feeds it to his own dogs. In 1988, Microsoft manager Paul Maritz sent Brian Valentine, test manager for Microsoft LAN Manager, an email titled "Eating our own Dogfood" challenging him to increase internal usage of the product.
Buried deep in Eric Sink's post
Yours, Mine and Ours is perhaps the ultimate example of the power of dogfooding.
If you'll indulge me briefly, I'd like to tell you what I
think is the best dogfooding story ever. However, it's not a software story.
It's a woodworking story.
The primary machine tool in any well-equipped woodshop is a
table saw. Basically, it's a polished cast iron table with a slot through
which protrudes a circular saw blade, ten inches in diameter. Wood is cut by
sliding it across the table into the spinning blade.
A table saw is an extremely dangerous tool. My saw can cut
a 2-inch thick piece of hard maple with no effort at all. Frankly, it's a tool
which should only be used by someone who is a little bit afraid of it. It
should be obvious what would happen if a finger ever came in contact with the
spinning blade. Over 3,000 people each year lose a finger in an accident with
a table saw.
A guy named Stephen Gass has come up with an amazing
solution to this problem. He is a woodworker, but he also has a PhD in
physics. His technology is called
It consists of two basic inventions:
He has a sensor which can detect the difference in
capacitance between a finger and a piece of wood.
He has a way to stop a spinning table saw blade within
1/100 of a second, less than a quarter turn of rotation.
The videos of this product are amazing. Slide a piece of
wood into the spinning blade, and it cuts the board just like it should. Slide
a hot dog into the spinning blade, and it stops instantly, leaving the
frankfurter with nothing more than a nick.
Here's the spooky part:
Stephen Gass tested his product on
his own finger! This is a guy who really wanted to close the distance between
him and his customers. No matter how much I believed in my product, I think I
would find it incredibly difficult to stick my finger in a spinning table saw
The creator actually did stick his own finger in a SawStop on camera,
apparently on the Discovery Channel show Time Warp, but I can't locate any web video of it. There is a video of the sawstop in action on YouTube, using a hotdog in place of an errant digit. Personally, I find this demonstration no less effective than an actual finger.
Does it work? Yes, but it still has unavoidable limitations
based on the laws of physics:
The bottom line is that
this saw cuts you about 1/16" for every foot per second that you're moving. If you hit the blade while feeding the wood you're likely to get cut about 1/16" or less. If you hit the blade while you're falling you'll likely get a 3/16" deep cut instead of multiple finger amputation. If you hit it while pitching a baseball for the major leagues the injury will be even worse.
Dogfooding your own code
isn't always possible, but it's worth looking very closely at any ways you can use your own software internally. As Mr. Gass proves, nothing exudes confidence like software developers who are willing to stick their own extremities into the spinning blades of software they've written.
Update: I found this quote from Havoc Pennington rather illustrative.
It would be wonderful discipline for any software dev team serious about Linux 'on the desktop' (whatever that means) to ban their own use of terminals. Of course, none of us have ever done this, and that explains a lot about the resulting products.
Posted by Jeff Atwood
@Stan Rogers and any others.
NO - watts stay roughly the same from country to country in spite of changing voltage. That's the point. Double the voltage, halve the amps which reduced loss through resistance in the wires.
With all due respect, please do some google searches before posting. Just a little further resarch will show that these common assumptions are not true. Heck - watching mythbusters will be enough!
A 60 Watt light bulb is 60 watts no matter which country you plug it in! Seriously - have you ever seed a 60 watts in USA, 120 in China printed anywhere??? A light bulb is one of those unique devices that can be plugged into any light socket anywhere in the world.
So - if a light bulb stays the same watts, we can work out the current that MUST be passing over it. Let's assume you have a 60 watt lightbulb.
Amps = Watts/volts
So for Australia, NZ, China and... well... the majority of countries:
Amps = 60 / 240 = 0.25
For America and a bunch of other countries:
Amps = 60 / 110 = 0.55 (approx)
Wow... fancy that - the amps is over double for the same light bulb in two different countries. Same brightness, same amount of energy, but different voltages and amps.
As for vandergraph/tesla coil - yes they can kill - but they sure as heck can build up large voltages that don't kill. If you don't believe me, check out the mythbuster's episode when they make the giant vandergraph. From memory they went off the meter. While makeing it they get almost unbelieavable readings and some very painfull zaps - but nobody dies. Zaps were huge. But nobody died. At my school we zapped the sink (metal pipes, couldn't get a better ground if you tried). The zap went for what felt like 10 cm (probably closer to 5) and caused an involentary jump. It was probably dangerous - but we lived.
Still don't believe me? Look up electric fences. THEY HURT. But they don't kill. Volts are 2000 to 10000 as standard. Not to labour the Mythbuster's point, but there was an episode where they peed on an an electric fence (talk about a salt bridge!!!). Again - nobody died. They even touched it and got zapped. Nobody died.
Ever rubbed your shoes on the ground and shocked someone? Keep this in mind - 10,000 Volts for electricity to travel 1 cm (0.4 in).
Static electricity can get to tens of thousands of volts and yet when I zap someone. In school we zapped eachother lots of times and were are still alive!
Still don't believe me? Not interested - not coming back to read any more comments.
This type of extreme dogfooding isn't always a good thing. Soviet brass-hats occasionally made the designers of military equipment test it in person to... actually it's a Russian thing, it'd take some explaining. Anyway, given the Soviet get-it-finished-yesterday attitude and the general Russian attitude towards safety procedures (real men pipette fuming nitric acid with their mouths), it was often fatal dogfood, one extreme example being a Soviet general (Mitrofan Nedelin) who insisted that he and his staff sit outside the safety bunker when a particularly large rocket was tested.
Gosh, how can I thank you for sharing your enlightenment. Wow, you've got sitting on your couch watching Mythbusters, and Google searches! I never thought of that! All I've got are my years of graduate work. And 29 years of work experience. As an electrical engineer (EE). Which I now recognize as worthless, thanks to you. I'm only sorry you won't get my thanks, seeing as how you said you won't be back to check -- busy spreading your enlightenment elsewhere, no doubt.
(To everyone else: if you value your life, ignore everything Philip said, above. Whether it's trollish baiting, or profound confusion beyond repair, I don't know, but it's too dangerous to leave unremarked. Always consult a certified electrician or degreed electrical engineer, or a P.E. (Professional Engineer), if you have ANY questions regarding any specific real-world electrical situation. Do not listen to TV show experts, whether they are on the show, or on the couch. If you value your life. If you want to know more on your own, correct understanding of the issues mutilated by Philip can be discovered through diligent study of college-level EE textbooks, along with supporting lab work.)
Oh, and if our brilliant Philip comes back with another confusion-riddled retort (breaking his word that he won't return), ignor e that too. If you value your life.
I think you've got the wrong end of the stick.
EE and Stan are right.
A 60W light bulb designed for use at 110v has to pass I=P/V = 60/110 amps and must therefore have a resistance R=V/I = 110 / (60/110) which is about 202 ohms.
Similarly, a 60W bulb designed for 220v needs to have a resistance of 807 ohms.
The bulbs are not identical.
If you plug in your north American light bulb in Europe it will draw I=V/R = 220/807 amps and therefore dissipate P=V*I = 220*220/202 = 240 watts (but not for long!).
(ignoring the variation of resistance with temperature)
that last paragraph should of course read:
If you plug in your north American light bulb in Europe it will draw I=V/R = 220/202 amps and therefore dissipate P=V*I = 220*220/202 = 240 watts (but not for long!).
I once worked on a radar system that calculated the time taken to shoot down an approaching aircraft.
That might have been fun to dogfood when the 747s from the airport near my home were disturbing the peace on a sunny Sunday morning, but alas I didn't have all the necessary hardware...
It's volts wot jolts, but mills wot kills.
I'm an ex-eletrician and I agree with Philip and DavidR. Philip's off with some stuff, but he is right with most of it. Electric fences do run at about 5000V. Volts can kill, but it is amps that is the real killer. Static electricity can run at hundreds of thousands of volts but not kill. As DavidR points out he was off with the light bulb example, but the rest was all good. If EE is an eletrical engineer, why doesn't he know that. E=IR is about potential difference and is used to calculate volts given known amps and known resistnace - silly example. Doesn't make sence. But this doesn't have anything to do with the dogfooding. How about we stay on topic?
@Bobby -- yes, electrical fences DO carry potentials in the thousands of volts, but they are incapable (barring power-supply malfunction) of supplying sufficient power over a long enough time to cause any real damage. You can test the effect with a 9-volt battery (one of the little guys we used to use in pocket transistor radios), a switch and a pair of audio output transformers (1 Kohm/8 ohm). Wire the battery through the switch to the 8-ohm winding of one transformer and the 1000-ohm side of that transformer to the 8-ohm side of the second transformer. Attach the 1000-ohm side of the second transformer to yourself (say one wire on each hand). Then flip the switch. Feel the owie? That's a very transient 15KV you just felt. Still, the power delivered to you cannot exceed what that little battery can provide.
That's exactly the same thing that happens with static electricity generators. For something like a van de Graaff generator, the limiting factor is generally the size of the accumulator (the dome at the top). For a given voltage, a larger accumulator can hold and supply more electrons, giving a longer and more potentially dangerous jolt. (Tesla coils, on the other hand, can have a tremendous sustained input power -- 550 volts at 1000 amps is not out of the question for a lightning simulator.)
You know those defibrillator thingies? Those neat medical devices that can both stop and start a heart? They run at a single voltage (usually 300 -- they're based on the same circuitry as professional photo flashes), and can therefore supply only a single current through the same body, yet they are adjustable for strength. What changes is the duration of the jolt (expressed in Joules or watt-seconds). SOP is to start with a very benign level (200 Joules), one that will have the desired effect on the nerves and cardiac muscles but will not generate enough total heat to cause lasting damage, then (if unsuccessful) increase the length of the jolt bit by bit until a level is reached where any further increase would do more harm than good. (It is interesting to note that the paddles used when the chest is open run at a substantially reduced voltage, beginning in the 30 Joule range.)
Yes, current kills, but that current has to be sustained long enough to cause damage. No, I'm not an electrician. Just a technologist who's worked on, designed, prototyped and been zapped by enough power supplies to know the difference.
Yeah I get that. That was my point, you don't die with high volts alone. When you hold an electric fence the burst is short. And the fence holds 5000V but not much current goes through the person. Only a small portion of the fence current. Resistance is much higher through the person and ground than the fence. Most of the current keeps going through the fence. But its still 5000V. Was just agreeing that volts could be high and not kill. Yeah, Volts can kill, but current is more likely to kill.
Another good example of dogfooding, albeit involuntary, involves military parachute riggers. From time to time they are required to make a jump using one of the parachutes they had packed. Typically, this 'chute would be randomly picked from the stack by one of the jumpmasters. This kept the quality control to a high level.
Another example of extreme dogfooding: When the VT fuse (now known as the proximity fuse) was being developed during WWII there was some concern that duds would fall into the hands of the Germans who would then clone them for their own use (the Germans never did develop a usable VT fuse). To counter this the US engineers came up with a mechanism for sending false returns to the shells, causing them to detonate prematurely. Problem is, how do you test this? The only shells that were available were actual live shells, and there wasn't time to manufacture some sort of custom practice shell that popped out a flag saying Bang when it was triggered (a standard blue inert shell wouldn't trigger at all). So they sent up a DC3 with the necessary radio gear in it and some engineers to control it, and fired live proximity-fused shells at it.
Luckily it worked the first time.
Sorry, they used B17s and not DC3s.
Clinton Pierce wrote: It provides a level of comfort that NO TABLE SAW USER SHOULD EVER HAVE
Actually you have a point there, there's a well-established phenomenon called risk compensation in which people behave more dangerously when they know there's less risk involved so that the average accident rate often stays constants before and after a new technology or safety measure is introduced (see e.g. Handbook of Risk). So this may not reduce the accident rate after all. Unfortunately there's no way to tell in advance what the effect will be.
Dave wrote: ...people behave more dangerously when they know there's less risk involved...
Back in the '70s some people used that argument as a justification for not using seat belts in cars.
NOW you tell me about this blade stopping device! Where were you when I needed it? The interesting thing was how little time it took me to get back up to full typing speed with 9 fingers...
Wouldn't Jonas Salk have the ultimate dogfooding story?
I *have* run one of my fingers through a table saw. Stupidly, I was cutting a piece of wood that was too small and should have been done on a bandsaw, scrollsaw, or some other piece of equipment that better deals with smaller workpieces.
Not much of a cut, but the pad of one of my index fingers was completely shredded. I bled like a stuck pig with a head wound.
The skin eventually closed, but I have an interesting fingerprint and scar tissue there as a reminder.
A few thoughts:
1. It's expensive. And if it goes off, it's even more expensive.
2. It's unnecessary. Safely used, my table saw has not hurt me.
3. It provides a level of comfort that NO TABLE SAW USER SHOULD EVER HAVE. The three-fingered shop teacher is right: some tools are very dangerous and should be treated with respect. Losing that respect because it's been rendered safe will only cause other problems.
(For example, kick-back. This does nothing to prevent that. Yes, there are guards for that but sometimes they're impractical and there are situations in which they don't work.)
Legislating its use is a rotten idea.
Going back to the 1960s, Charles Dalziel demonstrated his Ground Fault Circuit Interruptor (now built into every bathroom electrical outlet in the USA) by handing his young daugther a live 110VAC line connected to one and telling her to jump in the pool. If the GFCI didn't do its job, she'd have been toast. Literally.
As I recall, the issue with this is liability (as usual...). The company would get sued into oblivion the first time that it didn't work and that would be that.
By that reasoning, car manufacturers should stop adding safety features?
Actually, that did happen in the car industry. Seat belts were common in airplanes in the 30's, but didn't make it into cars until the late 50's for that same reason.
To greatly the false positive problem, they could install a sensor a few centimeters in front of the blade, which would make a LOUD sound and cut off the power to the motor when activated. The sensor would use the same logic as the main sensor, it only would be a bit more sensitive. Obviously activating the 'pre-alarm' sensor would not stop the main sensor from activating.
Albert Reynolds, a previous Irish Prime Minister (Taoiseach) used to work for a petfood company and he did eat his own dogfood as a marketing stunt.
I have to say that most of the software I have written is entirely made up of dogfood because the tools I create are generally used by me or us or an adjunct team. I am therefore sometimes even using the tool for production use even while its in development.
If he was *really* confident, it wouldn't have been his finger.
I like woodworking very much, also enjoy. I have a good collection of various saw. They are very safe while working with them. I agree with you that this table saw is one of the most safest saw. Really interesting.