The Ultimate Dogfooding Story

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 Sawstop. 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 blade.

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
129 Comments

I think the winner in this category is Dr. Evan Kane, who, convinced that an appendectomy could be performed under local rather than general anesthetic, decided to test his theory on the only volunteer.

http://query.nytimes.com/gst/abstract.html?res=9803E6D9123CE533A25755C1A9649C946095D6CF

mustapha on January 28, 2009 1:38 AM

He guaranteed the bridge's safety by putting himself, his wife and children under the bridge before the very first train ever to pass it. The train passed and the bridge stood.

How many of us would have the guts to do the same for the piece(s) of software that we write? I wouldn't.

Yeah, I don't think that a bridge built of CD-ROMs is likely to protect the developer from a train.

Eugene on January 28, 2009 2:19 AM

I have done 1 better than that. I ate the same food (dogfood) as my dog for 2 weeks when we were broke.

Beat that Lorne Greene

Spoonerism on January 28, 2009 2:20 AM

why hasn't this been widely adopted?

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.

I was talking about the SawStop over last christmas with my family. My uncle, who somewhat followed it's development told us a very sad story. Apparently, the inventor of sawstop went to every major table saw manufacturer trying to GIVE away the technology. Every single place said NO. The reason? If they decided to use the technology, it could, IN THEORY, be an admission that saws without sawstop are unsafe, thus opening the door to lawsuits. Ryobi, Delta, Black Decker, Emerson, and Craftsman would all rather 3,000 amputations a year. Than maybe, potentially, possibly, having to defend against a lawsuit.

Capitalism Sucks :(

Shane on January 28, 2009 2:25 AM

Shane: Every single place said NO. The reason? If they decided to use the technology, it could, IN THEORY, be an admission that saws without sawstop are unsafe, thus opening the door to lawsuits.

By that reasoning, car manufacturers should stop adding safety features? Sounds like an urban legend...

W on January 28, 2009 2:50 AM

Used a paper cutter once that would only work if both hands were used (one on each handle). This way your hands were never near the blade.

Of course, here in California there would be a lawsuit for making a cutter that could only be used by two-handed people...

Steve on January 28, 2009 2:53 AM

Another reason he couldn't get anybody to buy the sawstop was the 8% royalty he was mandating. While it wouldn't eliminate profit, it would take a big bite of it! He also had a handful of fairly broad patents that discourage other manufacturers from developing their own.

David on January 28, 2009 3:13 AM

Shimon: 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.

Well, according to this (http://www.associatedcontent.com/article/1288358/seat_belt_history.html?cat=27), it was rather apathy, costs and lack of legislation. Not fear of lawsuits for selling things that were apparently unsafe without it.

W on January 28, 2009 3:29 AM

Well, aeroplanes bounce around in turbulence. A seat belt is a necessity.

James on January 28, 2009 3:34 AM

The problem with eating your own dogfood is: Dogs don't necessarily like eating the same things humans like to eat, and even if they do, it's not necessarily healthy for them. Making dog food tasty enough for a human doesn't prove anything.

This does extend to the analogy of software development. What the software developer finds useful or lovely is not necessarily what the actual users of the product will find useful and lovely.

In particular, one thing to watch out for is a developer adding a feature which depends on a deep internal knowledge of how the system works before it can make any sense. Your users know nothing about the system! Act accordingly, by making the relevant prerequisite information visible for all operations.

Breton on January 28, 2009 3:52 AM

In the saw case, I'd love to see it in at least high-school shop classes. I've had some dumb friends that are easily distracted.

Pros should make their own call. Also, there are probably good ways to make this thing cheaper more restartable. I can imagine the safety system being very useful for anyone who doesn't do wood work terribly often, but has the space/money/use for such a device.

As for dogfood in general, you have to be careful. It's easy to lose an objective eye for your competition if you let yourself into a bubble around your own products.

Lally on January 28, 2009 4:00 AM

This is one of those areas where Open Source tends to do well, because for a lot of Open Source projects, the original driver for the project was to scratch that itch. I eat more of my own dogfood than most of my users do, I would guess.

Howie on January 28, 2009 5:19 AM

the 'my own finger' edition:

http://www.dumpert.nl/mediabase/325071/6bb3c29d/time_warp_cirkelzaag.html

Jacco on January 28, 2009 5:36 AM

I wonder what the MTBF of the digital signal processor is. I'd hate to be the guy who discovers it's failed. Very cool, though.

For all the problems with developing enterprise software (i.e. internal proprietary software for a business), I actually think this is one benefit of it. At our company, we are running important parts of our business each day on our own software. I'm just as likely to use it as an end-user as a developer/tester. While the feedback from the users is very important, there's nothing like my own feedback to drive improvements in the tools.

David Avraamides on January 28, 2009 5:38 AM

I agree with all the people who say there is no need for the sawstop mechanism.

I went through my car and disabled ABS breaks, took out the air bags, removed the seat belts and took away that pesky roll cage. I figure that a car, used correctly, will never nead any safety fatures.

Duhhh... It's like that Seinfeld lead-in. We have activities that are dangerous that we are likely to get our heads crushed in. But instead of stopping those activities, we wear helmets. But some people are so dumb they won't stop the dangerous activities AND won't wear helmets, so we force them to wear helmets.


As for software. I write what I am asked to write at work, and am glad I don't have to use them (someone else designed them). At home/side business, I write the tools I want to use but that don't exist. Hopefully others will feel the same way.

Philip on January 28, 2009 5:38 AM

I've seen the episode of Time Warp where he sticks his finger into the saw. It's absolutely terrifying but does work perfectly. I don't know how he had the guts to do it.

Owen on January 28, 2009 5:49 AM

I take this one step further: I don't write any code for anybody else at all! d-:

I make varying levels of use of every single piece of code I've ever written, even from the very first piece I ever wrote in any programming language.

I've never heard of it described as dogfooding, but hell - long live dogfooding!

elliottcable on January 28, 2009 6:04 AM

I always thought I had the ultimate Dogfooding story. A former boss sat the team down in the conference room on day and gave us the eat your own dog food lecture - all while snacking on actual dog food. He passed the bowl around to share. I didn't have any. I didn't drink the Kool-Aid at that place either.

Naq on January 28, 2009 6:09 AM

One of the greatest 'dogfooding' stories with software is the story behind SharpDevelop which is written in... SharpDevelop.

Magnus on January 28, 2009 6:12 AM

The other downside to this device is that it essentially wrecks the saw. Still, I'd rather replace a saw than a hand or finger.

Robert on January 28, 2009 6:16 AM

I used to work on medical devices - specifically an EEG monitor. One of the things you can do with EEG monitors is an 'evoked potential' study. That's where you shock the patient and see the result in the EEG.

Basically, you are measuring the length of time that the nerves take to conduct the signal from the point of the shock to the patient's brain. This shows you how screwed up (or not) the nerves in their limb are (the length of time is related to length of limb and to any nerve damage).

I worked on many parts of the system, but I made sure I was one of the people we did the evoked potential study on (I wanted everyone to do it, but not all of the developers would agree).

I'm not sure I could put my finger in a saw, but I sure appreciate that the developer was able to do so. It makes me feel like the thing will actually work.

Michael Kohne on January 28, 2009 6:17 AM

I didn't listen to the sound...does stopping it like that destroy the saw blade?

Joe Beam on January 28, 2009 6:19 AM

http://uk.youtube.com/watch?v=E3mzhvMgrLEfeature=related

chedabob on January 28, 2009 6:24 AM

I actually saw the Time Warp where Stephen Gass put his finger in the blade. There was a little superficial scrape on his finger. Truly unbelievable!

Scott on January 28, 2009 6:28 AM

This is also an example of flawed design - when the stop engages, it ruins the blade, and the stop mechanism's brake pad needs to be replaced. This would be ok if it saved a finger, but this design is prone to false positives, e.g. a bit of sap in the wood or an overly moist board will also cause it to trip. Yet (through good marketing?) this invention receives a lot of attention.

Tom on January 28, 2009 6:31 AM

I once saw a test where the designer of a bulletproof vest dogfooded, by letting someone shoot him with a small calibre pistole. Maybe there is the potenial for failure not as big as with a programmed dsp, but when it fails, its far more serious than a lost finger.

Flolo on January 28, 2009 6:38 AM

That high-speed video is simply amazing, especially in HD. It's like watching the hand of God touch the blade, causing it to disintegrate on contact.

What a truly awesome technology.

Ryan Meray on January 28, 2009 6:42 AM

@Joe - Yeah, I'm pretty sure the saw is useless after that thing kicks in. In a video you can see the entire thing just crush like an accordion - but I'd rather buy a new saw than a new finger - LOL!

HB on January 28, 2009 6:42 AM

Of course, the danger from removing your finger with a saw blade is having your finger slip into it at reasonable speed. I think the inventor in the video, being as careful as he was, was not likely to have a worse cut than a quarter inch or so - at least, I would, in his case, stop pushing my finger into the blade if the blade failed to stop.

It's a great invention. It works, as long as you don't cut wet wood, or pressure treated wood, or the sensor doesn't fail. I've read that the older versions tended to destroy the entire saw, but supposedly the newer ones only kill the blade? I've heard that he's also added a manual shutoff to it so that if you know you're cutting wet wood you can still cut it without destroying the saw... assuming you realize it will trip it beforehand.

What isn't cool is that he is trying to get legislation passed that would mandate his invention on every table saw made. Sometimes I think there needs to be a law against mandating something that someone has a patent on.

Mike on January 28, 2009 6:46 AM

Tom, you are incorrect. There is an override system that you can turn on, if you are going to cut something that will potentially trigger the system.

Boris on January 28, 2009 6:51 AM

I'll be starting my 3rd project in 4 years where a company is having the product built for itself first and foremost, and will then release to the public via sales.

Is this really that uncommon? This process has subject matter experts defining the software functionality, rather than coders trying to become SMEs and filling a need.

Steve on January 28, 2009 6:51 AM

@Flolo - That's Richard Davis (http://www.youtube.com/watch?v=5y44CdrBsfs), and I recall his company being accused of selling body armor that degraded significantly in a short period of time.

Ryan Meray on January 28, 2009 6:53 AM

My carpenter friend showed me this and I was astonished it could work so fast!

The saw blade, once dropped, hits a block of metal that stops it almost instantly, but most definitely puts an end to the blade, and likely the block that stopped it too.

Meanwhile, another good example of eating your own dogfood would be Dr. Barry Marshall, who thought ulcers were from bacteria not stress, also ate his own dogfood. Purposely creating, then curing an ulcer to prove the point.

Eric on January 28, 2009 6:53 AM

Microsoft don't take dogfooding as far as SourceSafe, I hear.

VSS is more akin to dog dirt than dog food though...

Magnus Smith on January 28, 2009 7:02 AM

You stopped the story too soon. The inventor went to the major saw manufacturers to sell his product. They all refused to buy it. Eventually he built his own saw, dogfooding his invention into it. Don't know if he's been able to sell it to other mfgrs yet or not.

Les on January 28, 2009 7:06 AM

i work for a bank where one of the first projects i was given was to develop a salary application to manage the pay for the then 65 staff in head office. would this count as dogfooding? i gave them an app which is used to pay me now.
of course now that I'm trying to develop it further into something bolder and more user friendly (removal of extraneous features) i'm finding that the original dogfood was not really that great to begin with.

jake on January 28, 2009 7:07 AM

Clinton Pierce you're crazy. That thing does not provide you with a level of comfort because it gets broken instead of your finger. Unless you're comfortable breaking the saw.

It still deserves much of its respect.

But Jeff's point is about dogfooding not saws.

ino on January 28, 2009 7:18 AM

Clinton Pierce wrote: It provides a level of comfort that NO TABLE SAW USER SHOULD EVER HAVE

If all cars had a big sharp spike sticking out of the center of the steering wheel -- just think how careful everyone would drive.

Zack on January 28, 2009 7:21 AM

Turning this around a little, I've long maintained that the best software is written by someone who is not only competent at writing software, but who is immersed in and *feels* the problem. I think it's what elevates requirements gathering and good HCI practices to the next level. It's that app, web-page, whatever that you wrote for yourself, that does exactly what you want, first time, every time, with such economy of motion and such instant gratification that it's a positive joy to use. The complete converse of Lotus Notes, for example.

Mark on January 28, 2009 7:26 AM

Too bad his product was rejected by the industry due to liability fears:

http://www.inc.com/magazine/20050701/disruptor-gass.html


Aaron on January 28, 2009 7:31 AM

Replacing the broken blade is only 16 bucks I think.

Martin Marconcini on January 28, 2009 7:32 AM

I used to work for a network switch company. We always replaced the switches in our office and IT room with our own products as they were ready. You find 90% of the bugs that users will eventually report before the product ever leaves the building.

Harvey on January 28, 2009 7:32 AM

He put his own finger up to it? Even If I was certain it would work I still wouldn't take that chance. The device he made is a form of insurance. Nothing is a guarantee. That's some scary stuff

Timothy on January 28, 2009 7:34 AM

@Joe: Yes, it does. It also destroys the protection system. That's caused by the fact that there are enormous forces getting freed by the stop. He compared to to driving a car with 1000 MPH against a concrete wall (enough G to flatten the car to 1/20 of its original size). There is this piece of metal that stops the saw blade, it's massive, but in the video the blade squeezes it like it was rubber. However, they also say that the replacement costs for the parts that break are only about $60 and hey, what are $60 if they can safe you from losing one or more fingers? Nothing.

I saw the video with the finger and I still have this tickling feeling inside my stomach. It's like driving roller coaster. No matter how many times someone ensures me that is is absolutely safe, I'd never get my finger even close to such a thing! There are some things in life you don't necessary have to try.

Trying your own software though is not a bad idea. The main problem is that with the exception of one product, I have absolutely no use for the software we produce. In some cases because this is nothing I could use in a useful way, in some other cases because I'm missing feature. You might say: Hey, if you miss them, other users will as well, so why not adding them? Trust me, I complained about these features being missing before the first public release of the software, but product managers tend to become deaf when the own developers say Without adding at least this set of feature, how can this product be of any use for anyone?. In the worst case you get a reply like this only makes the software complicated or this is just a pro feature, normal customers won't car for it. Hmmm... maybe, but I am a pro and this feature is not too complicated for me, I need it and because of that I would never buy our product. Other users do... maybe they don't miss these features. In the best case you may be told Yes, certainly a good idea, we will consider it for the first/next update; I might get my features in the end, but the question is when.

However, the one product I have written most code for is really the only product I regularly use myself. And if I here miss a feature and the product manager won't allow me to add it, I go on strike! (I can't go on strike for other products where I'm not even involved in the development process, can I?). And as a regular user, I would immediately notice if we had a fundamental bug. On the other hand, I'm not a power user of it. Other users run into bugs I have never had myself because I'm not using the product the ways they are using it. So what I'm trying to say here is Eating your own dogfood is not the same as testing the product. It only ensures the product won't break if you use it your way, but your way is not automatically the way of anyone else. Testing is more effective for finding bugs. Eating your own dogfood is more effective for finding missing features or badly designed workflows.

When you keep using the product and hear yourself saying Geez, now I have to click here again and now there, this really sucks doing it for each item, you know what to do, don't you? Yup, time for batch processing ;-)

Mecki on January 28, 2009 7:35 AM

While that IS an interesting dogfooding story, the ultimate dogfooding story is of Richard Davis of Second Chance body armor. He demonstrates the worth of his vests by (wait for it) shooting himself (with a .44 Magnum round, no less). http://en.wikipedia.org/wiki/Second_Chance_(body_armor)

Robert C Barth on January 28, 2009 7:37 AM

Anyone writing airplane software? Afraid of flying?

Or how about a software engineer, dare to volunteer on a mission to the Moon?

Silvercode on January 28, 2009 7:49 AM

It is not space shuttle science, it is just software engineering...

Silvercode on January 28, 2009 7:51 AM

SawStop doesn't destroy the saw, just the blade. Blades are (fairly) cheap, maybe $50. It's still an aw crap, but not nearly as much as reattaching your finger. In addition to stopping the blade, which is good, it actually drops the blade down below the table instantly. It's very cool.

Chris B. Behrens on January 28, 2009 7:59 AM

This guy is a true entrepreneur. Here's another example of a true entrepreneur: a guy in the early 20th century willing to take a bullet to prove his bullet proof vest works:

http://baris.typepad.com/photos/uncategorized/2007/03/26/true_entrepreneur_4.jpg

Charlie Robbins on January 28, 2009 8:01 AM

Here's the real finger video:

http://ca.youtube.com/watch?v=E3mzhvMgrLE

Donal on January 28, 2009 8:10 AM

There is another great example of this, that comes from the inventer of the original bullet proof kevlar vest. He did a demonstration with a bunch of police officers, where he turned a hand gun on himself and shot himself in the chest. He then gets up immediately after shooting himself, and shoots two watermelons... the idea being to demonstrate that you can still fight back after being shot.

Nick on January 28, 2009 8:24 AM

Get real Clinton Pierce! My father owns a woodshop in Texas and over the years one man lost all five fingers on one hand, and another lost a thumb. Since getting this saw system, it has gone off once and had to have a new blade and cartridge but NO ONE AHS LOST ANY FINGERS since getting it. I know you think you are far too smart to need these types of protections but come on. Perhaps you should stop wearing seat belts and using airbags since it provides a level of comfort that NO [CAR] USER SHOULD EVER HAVE.

John on January 28, 2009 8:27 AM

The kid of a guy my dad works with lost his finger to a tablesaw. His father now calls him Stumpy.

Kris on January 28, 2009 8:51 AM

It's brilliant and since I do a lot of woodworking, I would buy it in an instant if it weren't for one little problem that a lot of software has as well...

I wouldn't call it affordable. It's $4000. I have a comparable saw (minus the saw stop safety feature) that cost $600.

Obviously the first time it prevented me from cutting off my finger, it would pay for itself but with proper use of a fence, jigs, and a push stick, your fingers never need to be anywhere near the saw blade.

I applaud his invention though.

Timothy Lee Russell on January 28, 2009 9:11 AM

So the real technical question is why hasn't this been widely adopted?

Too expensive even at the cost of 3000 fingers/year?
Too many false stops?

Why causes this resistance to change?

Answer that, and you will know why very good software doesn't get adopted. Even when it is clearly better.

Zumbas on January 28, 2009 9:12 AM

I don't like the way you said 'extremities' instead of 'fingers'. *shudder*

Michael on January 28, 2009 9:46 AM

Is it not clear that the collective intelligence of the comments on this blog are at an all time low?

Jerry Springer.

Pardeep on January 28, 2009 10:00 AM

This is not the ultimate story of dogfooding. He could've used another extremity...

NotTheDroidYoureLookingFor on January 28, 2009 10:03 AM

Ever read about Newton's experimentation on his own eyeball?

Neville the Know Nothing on January 28, 2009 10:19 AM

Jeff, your post skips over a major advantage of eating your own dogfood in software: You learn how the program is actually used; you find the annoying little problems; you find areas of malaise which can't be easily described in problem reports, only felt; you have those sudden wow, if only the software did X… moments; etc.

Eating your own dogfood is not so much about inspiring confidence as its about building quality products.

Anthony DeRobertis on January 28, 2009 10:56 AM

why hasn't this been widely adopted?

Because nobody ever believes it will happen to them, and they're not willing to pay the premium. It's the same principle as the grossly unsafe contact-fire nailguns widely used in frame construction, often by poorly educated immigrant laborers with no special training it their safe use. Even if manufacturers put safety devices on the gun, workers would immediately disable them because they slow down the work, and they're not willing to pay that premium either. They'll just be careful.

Safety first my ass. The industry actually practices safety as long as it doesn't cost anything.

KJB on January 28, 2009 11:05 AM

Yeah, I always run the latest CVS version of Bugzilla on my development server. They used to do the same on bugzilla.mozilla.org (or at least run very close to the tip), but then it became an important production service for an important corporation (Mozilla) and they couldn't anymore. We do still use Bugzilla itself every day, on bugzilla.mozilla.org, which is where we track bugs in Bugzilla itself.

I'm happy to stick my finger into the spinning blades of the development branch, though, even if I'm somewhat apprehensive when I do it. I think it makes you a lot more wary as a developer of doing anything that might cause dataloss or irreparable damage, even in your unstable code.

-Max

Max Kanat-Alexander on January 28, 2009 11:14 AM

@KJB

Actually, I won't name names, but I have worked for a company that is truly safety first. They win many awards for it, and the lack of downtime from injuries more than makes up for the cost.

If people actual factor in the cost of injuries in terms of productivity lost, it's actually much cheaper to buy more expensive equipment.

Practicality on January 28, 2009 11:19 AM

@Ross Patterson

Your example sounds like the guy who tested bulletproof glass by firing a gun at his wife. Testing it on a loved one isnt dogfooding... we should come up with a term where someone other then the inventor is taking the risk.

Mike on January 28, 2009 11:28 AM

Software dogfooding story: a few years ago when I worked at Microsoft, the company was dogfooding the latest build of Exchange on the email servers. It was getting close to release when an interesting bug was hit, the details of which are now rather hazy (although as I type this I'm wearing a t-shirt made to commemorate this event). Somebody sent a message to a distribution list (DL) with a read receipt enabled, then changed their mind and tried to recall the message. It started a wonderful cascade of recall messages to all 1000+ members of the DL, along with read receipts being sent to...not the original sender, but the DL! With auto read receipts enabled...and sent to the DL...of course, some folks didn't think, and just replied with messages that said Don't REPLY ALL!, which caused read receipts to be sent to the DL...

When all was said and done the DL was flooded with approximately 1.6 million messages that afternoon.

NotBillGates on January 28, 2009 11:41 AM

we should come up with a term where someone other then the inventor is taking the risk.

Guinea Pig, perhaps?

BoLo on January 28, 2009 11:44 AM

See, as nice as the concept of eating your own dogfood is, it really only works in certain situations.

If you write bespoke apps for insurance companies, as you're not an insurance saleman you as a software developer can never really *use* it.

If you write hospital apps for hospitals, as you're not a doctor you can never really *use* it.

If you write.. well, if you write anything specialised then you can't. Because your not a doctor, or a lawyer, or a insurance saleman, or a teacher, or a nuclear physicist.

The only place this really works if you're writing generic apps everyone uses (word processing, time sheeting systems etc) or if you're actually writing software for other programmers.

SCdF on January 28, 2009 11:47 AM

Definitely agree with the dog-fooding principle.

Actually using something you've built even for a few hours or days instead of just making sure the buttons work will reveal a completely different set of issues.

Marshall on January 28, 2009 11:55 AM

@Mike: The guy put on a bullet-proof vest and then fired a gun at his wife? There already is a term for that. It is 25-to-life.

Stphane on January 28, 2009 12:17 PM

To add to the SawStop debate: I'm a member of The Sawdust Shop, which is sort of the woodshop equivalent of a gym -- they have a large room with lots of equipment, and for a reasonable monthly fee I can go use it.

They've got SawStop table saws. In that environment, I expect it's worth the extra cost for liability reasons (even though they have us all sign waivers), or at least for the fact that they'd really like to avoid having someone get seriously hurt there for PR reasons. It's a bit different than a home situation, and the saws get used quite a lot more.

Anyhow, we were told at orientation that it's a bit over $100 to fix the damage that comes from setting off the stop. You have to replace the saw blade and the stop. (That's probably higher than the $50 number someone else quoted because, being a high-use shop, they use more expensive blades.)

As for MTBF of the signal processor -- it does have at least some amount of self-test in the boot-up process (yes, the saw has a boot-up time), and I would expect that to catch many of the possible failures.

I'm glad it's there, but I certainly don't treat the table saw with any less respect because of it. (I did get caught, the other day, by doing something only a little bit stupid, and had a nasty gouge on my finger from the piece of wood that got yanked out of my hand and thrown at me. The SawStop doesn't make the saw safe; it just eliminates one particular failure mode.)

Brooks Moses on January 28, 2009 12:19 PM

There is an even more shocking dogfood tale that I have :

There was a great romanian architect called Anghel Saligny ( http://en.wikipedia.org/wiki/Anghel_Saligny ) who built one of the greatest bridges in Europe at that time 1895.

He guaranteed the bridge's safety by putting himself, his wife and children under the bridge before the very first train ever to pass it. The train passed and the bridge stood.

How many of us would have the guts to do the same for the piece(s) of software that we write? I wouldn't.

Andrei Rinea on January 28, 2009 12:26 PM

The cabinet shop I work at has two Sawstops. They've had them for a couple of years now, but so far no one has fired it off due to touching it (thankfully).

It has gone off many times when guys forget that the material they are cutting has a metallic coating or is a hardwood with a high oil content. We also use a product that is covered in carbon fiber that sets it off too. And if you set the blade all the way down it can touch the aluminum stop block and set it off.

There is a light on the power switch that tells you if it senses a short so you can take care of it (it won't let you turn it on if it's already shorted). It does destroy the blade, but blades are cheap.

I don't use them much, but I think they are a good idea, however we still need the Powermatic for the material that they can't cut (the Sawstops have an override for this, but we are not allowed to use it) and a slider for the big stuff.

And I would defiantly *not* be willing to test one with my finger. I like my fingers just as they are : )

Nathan Kinsinger on January 28, 2009 12:32 PM

Not sure if this has been noted yet, didn't have time to read all of the comments.

There is an override switch you can enable with a key that will turn it into a regular finger-slicing table saw. This way, if you were cutting really wet wood or something, you could just flip that on and be extra careful.

Another neat feature is the saw wont start if you have your hand on it.

tekproxy on January 28, 2009 12:46 PM

An electrician told me once that American 110V home wiring causes hundreds of times more accidents each year than the 220V wiring in most European countries. The original reasoning was that 110V was just enough to not kill the average person if they touched it. The result is that people are willing to play with live wires, because they've been shocked a few times and think they can handle it.

220V, or 440V on the other hand, is likely to kill you immediately. Therefore, anyone working with it is far, far more likely to make extra doubly certain that the power is turned off, flagged, taped, and coned before doing work on home electrical wiring...

This is probably the only example I can think of where safety regulated through fear is a good thing.

There was a joke that went along with this story:
What's the difference between 110V and 220V?
About 6 feet.

Loren on January 29, 2009 1:12 AM

To the best of my knowledge, some serious dogfooding took place around the invention of the elevator break, by Elisha Otis. he had his assistance cut the cable holding the elevator while he (Otis) was inside it.

http://transport-inventions.suite101.com/article.cfm/who_invented_the_elevator


(great blog, btw, i'm a constant reader.)

Amir Arad on January 29, 2009 1:44 AM

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.
It's unnecessary. Safely used, my table saw has not hurt me.

Of course it didn't hurt you till you made a mistake. That's what product safety is about. What did you think, it was about making sure that your stuff doesn't injure you WHEN YOU USE IT CORRECTLY? The idea is to minimise injury when you DON'T.

deworde on January 29, 2009 1:52 AM

I work in software now, but 28 years I worked in quality control in pharma company. One of the products I was responsible for was for elipsy. I found out after about a year, my grandmother was epileptic and used that product. One other product was contraceptive pill, same product the doctor prescribed for my wife.

Anonymous Coward on January 29, 2009 2:01 AM

At JavaOne last year (I think?) some people were doing a demo at the closing session with an industrial robot running realtime Java doing that game when you stab a knife quickly between fingers, only it was a glove laying there. They said they wanted to do a demo with a real hand and had done it before in private, but the lawyers wouldn't allow them to do it on stage...

I also have an acquaintance who lacks half a finger. He worked in industry when he was younger and told his subordinates they had to put a cover in front of a spinning metal fan because it was dangerous. They asked which one he meant.

That one you idiots! (Points behind him). *Snick*

He put in on a plate with salad and took a picture of it, then put up the picture in the shop with a Don't let this happen to you, always take safety seriously sign beneath.
:)

Lars Westergren on January 29, 2009 2:28 AM

I'm a developer who regularly sticks his finger in his own software in the interests of quality assurance.


DavidD on January 29, 2009 2:55 AM

Isambard Kingdom Brunel dogfooded part of the Clifton suspension bridge. He had an interesting problem - how to string the first support cable across the 250ft deep ravine. Obviously once the first one was in place he could use that one to support the second, and so on and so forth until the sections of the roadbed could be hoisted up. And there was no question of building a really high scaffolding tower; he couldn't stop the ships.

So, he came up with a solution - a long steel rail bolted together on one side, counterweighted, and extended as a cantilever far enough for a rope to snag it from the far side, on which a sort of trolley would run, suspending a cradle.

They installed it all right, but there was some concern about whether any of the workers would be confident enough in it to use it. So Brunel went out on it first...somehow got stuck half way across and had to climb out of it to fix the bug. There's a pub in Bristol called the Reckless Engineer as a direct result.

Alex on January 29, 2009 3:17 AM

How many of us would have the guts to do the same for the
piece(s) of software that we write? I wouldn't.

I think you would, if you put the analogy in the right perspective. Imagine you wrote an email-client, i bet, after you declare it stable, you would use it yourself, and after a time, even to send important documents.

Keppla on January 29, 2009 3:33 AM

Stephen Gass is a wuss - he should have tested with a more precious appendage ;-)

toolkit on January 29, 2009 4:00 AM

Question. What if sticking your extremities into your software is forbidden by the laws of the state in which you code? Is it safe and legal to transport your code across state lines, for the purposes of sticking your extremities into it? Thank you.

a Hack on January 29, 2009 4:47 AM

didn't microsoft try to use c# and .net to write vista with , failed , and spent the next 2.5 years doing it again in C++ (adding to an older codebase) ?

If thats the case , then the dogfooding failed badly, and a lot of people are using a framework they shouldn't be trusting.

pizza on January 29, 2009 4:53 AM

is jeff asleep?

fred on January 29, 2009 5:12 AM

@Loren
RE 110V vs 240V

It is my understanding that world wide electricy runs at roughly the same watts.
Watts = Volts * amps (I).

OR: I = Watts/Volts.

So what happens when you drop 240 to 110? The amps more than doubles.

What is it that kills you? Normally the amps. Thinking of it like water, Volts is the volume of water Amps is the speed. Sure - lots of water CAN kill you, but even a tiny amount of water can cut you in half if it is going fast enough (check out what water does to the Apple laptop cases... that's how they cut them). So both are dangerous, but amps is normally the killer.

That's my understanding as to why the 110V is deadlier. But my hat goes off to any sparkie (electrician). Imagine working with somthing every day that you can't see and can't smell, but if you touch it you die.


@A UK Developer
Actually - I agree with you. I believe that all safety equipment should be optional for people. How else is darwinian evelution going to keep going? But, any worker in any company I run WILL adhear to all safety or not work for me. What they do in their spare time is up to theim - even if they want to go bungy jumping without the bungy cord.

Philip on January 29, 2009 5:19 AM

220V, or 440V on the other hand, is likely to kill you immediately.

Its not the voltage that kills you, its the amps. Generally, currents approaching 100 mA are lethal if they pass through sensitive portions of the body. (see http://en.wikipedia.org/wiki/Electric_shock)

Anonymous on January 29, 2009 5:39 AM

he should have tested with a more precious appendage
Ooooooooooooooouch. What's the matter with you? :D

[d3m0n] on January 29, 2009 6:05 AM

Not all of us create e-mail clients.
Most of the software I get to work on, I am never allowed to use.

And there is no way in hell they could force me to work on it anyways. People always force a project down the throat of some poor time line. And some developers would do anything they can to prevent quality enforcement on how they work. 'Who dares to defy my code!'.

I wonder how a table saw would have worked in a emotionally unstable corporate company with a tiny budget and a crunched time line...
Someone would have definitely lost a finger.

But for all I know, maybe it was going through all that :P

TrXtR on January 29, 2009 6:33 AM

@Philip:

OR: I = Watts/Volts.

So what happens when you drop 240 to 110? The amps more than doubles.

Incorrect. The relevant relationship is Ohm's law, E=IR. E is volts, I is current, R is the electrical resistance that the current is passing through; in this context, human tissue. You can see that current is directly proportional to voltage. Current doubles when voltage is doubled, for the same resistance.

R is an important factor in whether any given voltage is lethal. It depends on contact area, contact pressure, presence of liquids, etc. A 12 volt car battery will kill instantly if applied to open wounds on opposite sides of the body -- blood is an excellent conductor with a low R. Such a situation will easily drive enough current through the heart to stop it.

Another way to look at it: if your statement was correct (doubling voltage halves current), then merely holding a 1.5 volt AAA battery would kill.

The water analogy is off, too. Current is analogous to flow rate (volume per unit time) while voltage is analogous to pressure.

EE on January 29, 2009 7:53 AM

@EE

No - I was right:
http://www.ebtx.com/mech/ampvolt.htm

Watts does indeed equal volts times amps.

Ohm's law is E=IR, but as you can see - that is inrelation to resistance. I was talking about watts - which is a unit of power. You can cross subtitute, but there isn't much point in this situation...

In other words, if you had the same amount of total watts, and reduced the volts to 1.5 Volts, and were somehow able to put it into something the size of a AAA battery (i.e. a very special type of slow-release capacitor/circuit), then it WOULD kill.

R is imporant - but people don't vary in resistance that much. Applying 12 volts across the body in relatively low amps DC is unlikely to kill, even if through open wounds. Burn a bit - sure. Kill? No. That's why MythBusters are always checking the milliamps across the heat rather than volts.

The misconception about volts killing is best shown with a vandergraph machine or tesla coil. The volts flow through the person but it doesn't kill them.

Oh - and the water anology isn't off either - but we will have to agree to disagree. I can't agree with you because I have to agree with my physics text books which use that analogy.

Cheers

Philip on January 29, 2009 8:09 AM

I really hope you get a chance to read this:

How often do you get on stackoverflow.com? I'm on there all the time and use it religiously. I love it's layout and the way that users can earn badges.

Keep up the good work!

Lucas McCoy on January 29, 2009 8:12 AM

To the person who suggested a second sensor in front of the blade--the sensor is a *CONTACT* sensor.

The system is basically one of those touch switches you see on some lights. When it is triggered a spring-loaded block of metal hits the blade. The block is destroyed in the process and it's trigger was a single-use system anyway--that assembly must be replaced. Furthermore, the blade absorbs enough energy in the process that it's likely destroyed.

Loren Pechtel on January 29, 2009 8:57 AM

I can relate to this story. My brother-in-law did the finger test on my table saw a few years back, without a Sawstop... Not pretty!
I think that any developer should be willing to test what they produce. We have been dogfooding our system for the past 3-years as a test. Now we are ready to hire the coders. But only those who are ready to really put their hands into it!

bruce christensen on January 29, 2009 9:01 AM

My Dad developed a punch press light curtain safety device. At a demo, a prospect asked him if it would really work. He stuck his hand into the press. Press stopped. Sale closed.

bjenner on January 29, 2009 9:27 AM

A Sawstop ad from Jeff? I'm shocked.

Hasn't this stupid thing been beaten to death 30 million times over on the woodworking forums of the world already? Seriously.

Now video of someone throwing a can of Alpo on Bill Gates, that would have been interesting.

Michael on January 29, 2009 11:24 AM

According to this video employees at Miguel Caballero bulletproof clothing company eat their own dogfood as well. It looks like it applies to visiting reporters as well.

http://www.vbs.tv/video.php?id=1125865361
http://en.wikipedia.org/wiki/Miguel_caballero_bulletproof_clothing

Joe on January 29, 2009 11:25 AM

The inventor went to the major saw manufacturers to sell his
product. They all refused to buy it.
IIRC he also wanted a rather impressive royalty and had an 'interesting' attitude to the IP of any future inventions the saw makers came up with on their own.
I worked in a consultancy doing similar safety systems for machine tools and this came up a lot.

ps. the idea of installing a large spike in the car's steering wheel instead of fitting seatbelts is favored by us cyclists.

mgb on January 29, 2009 12:09 PM

Phillip
Duhhh... It's like that Seinfeld lead-in. We have activities that are dangerous that we are likely to get our heads crushed in. But instead of stopping those activities, we wear helmets. But some people are so dumb they won't stop the dangerous activities AND won't wear helmets, so we force them to wear helmets.

What I do with my head ought to be up to me (provided I do not harm or restrict the freedom of others) and government coercion removes my freedom. Of course I wore a helmet when I cycled through the streets of London, _I'm_ not stupid but I believe in the freedom of others to be as stupid as they choose.

As for dogfooding, it's a nice idea but not always practical and as someone above says, it's no substitute for a rigourous and multi-layered approach to testing; unit, integration, system and user acceptance.

A UK Developer on January 29, 2009 12:23 PM

@Philip: Current is the killer, and a larger potential will allow a greater current to flow through a given resistance. Assuming that the body itself (and the nature of the connection -- pressure, humidity, salinity, and so on) and its resistance is a constant in both scenarios, 240 volts will result in twice as much current flowing through the body as 120 volts will. Twice the current AND twice the voltage means FOUR TIMES the power (those Watts of which you speak). Don't be confused by the fact that a 240-volt 60-watt light bulb requires half the current as a 120-volt 60-watt light bulb. If the 120-volt light bulb is installed in a 240-volt circuit, it automagically becomes a 240-watt light bulb with a very high colour temperature and a very short life span.

So why don't those wacky science museum displays kill people? Tesla coils certainly will if the input power is not regulated to a low level (they are used extensively in lightning simulations that regularly burn through steel girders and shatter composite airplane wings). Van de Graaff generators depend on friction generators and do not normally accumulate enough electrons to provide any sort of sustained current. In any case, the unlucky volunteer from the school tour is ALWAYS placed on a platform that is not a good return path to the machine or ground, and when the potential is very high a wand with a relatively high-resistance path to ground is used to return the victim to a safe potential before stepping off the platform. (For additional safety, the platform itself is often grounded through a multi-megohm-range resistor.)

Stan Rogers on January 30, 2009 3:10 AM

More comments»

The comments to this entry are closed.