Pattern: Own the Plug

by James Duncan Davidson

Related link: http://c2.com/doc/forewords/beck2.html



In this foreword, er, afterword to Kent Beck's Guide to Better Smalltalk: A Sorted Collection, Ward Cunningham establishes his rational for a "don't program a computer you can't unplug" pattern. The ideas from this come from Kent and Ward working together--and from the same time that they found that they both had Christopher Alexander on their bookshelves.


The "unplug" pattern isn't about plugs per se--it's about control. It's about taking control of the environment in which you write programs. Quote:


I maintain an internet presence that I set up with the help of a particularly enlightened provider. I have a server on my premises with a plug that I own. Although the bandwidth of my connection is modest, it is continuous. I've found the character of the whole configuration to be categorically better than simpler arrangements. On my machine I run programs that are unwelcome elsewhere: programs that open their own connections, or just run without stopping. I don't have to ask permission.

I find this interesting because, even though it was penned in 1997, it mirrors a philosophy that I've been chasing for a while now. It gives a random scatter of ideas in my head a focus to lock on to--and a simple way to express themselves. Gosh, I wish I'd found this 5 years ago!


I've been working with Derrick on some articles for the O'Reilly Network that stress self-sufficiency and "owning the plug." Since I'm doing most everything with Mac OS X these days, they will be focused on using Jaguar to establish self-sufficiency, but the techniques and thoughts can surely be extended to whatever environment you use.


Stay tuned, the articles start appearing after August 24th.