<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Hot Needle Of Inquiry</title>
<link>http://www.XProgramming.com/Blog/Page.aspx</link>
<description>Ron Jeffries' blog</description>
<item>
<title>Great Beer</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=GreatBeer</link>
<description><![CDATA[<B>Great Beer</B>
<DIV class="precis">My son Ron's brewery, Jolly Pumpkin, is getting some great press, and deservedly so. Buy some, drink some. You'll be glad you did! (Now! Even more articles!)</DIV>
<p>Metrotimes Detroit offers an interview with Ron, describing his oak barrel maturing process:</p>
<p><em>At Jolly Pumpkin Artisan Ales in Dexter, brewmaster Ron Jeffries is taking his craft to the next level. Not only are his rustic, country-style beers made with traditional methods like open fermentation, oak barrel aging and bottle refermentation, he's also using wild, naturally occurring area yeast and bacteria to add another layer of complexity to his award-winning products.</em></p>
<p><a href="http://www.metrotimes.com/editorial/story.asp?id=10066">www.metrotimes.com/editorial/story.asp?id=10066</a></p>
<p>Men's Journal ranks Ron's Bam Biere in the top 25 beers in America:</p>
<p><a href="http://mensjournal.com/feature/0610/bestbeer.html">mensjournal.com/feature/0610/bestbeer.html</a></p>
<p>metromode provides a beautifully-illustrated article describing the process and Ron's passion for his craft.</p>
<p><em>Since he broke ground for his Dexter brewery — an inconspicuous building just off of the town’s quaint Main Street — Jolly Pumpkin has established a brewing repertoire of four regular and 12 seasonal small-craft ales. It’s won multiple best-in-show awards, including a Grand Champion title at the Beer Tasting Championships and medals at the Great American Beer Festival (or what Jeffries refers to as “the Olympics of beer”). Today, Jolly Pumpkin is sold all over Michigan and in more than twenty other states.</em></p>
<p><a href="http://metromodemedia.com/features/Jollypumpkin05.aspx">metromodemedia.com/features/Jollypumpkin05.aspx</a></p>
<p>The Ann Arbor Crier chimes in as well.</p>
<p><em>Ron Jeffries is not a monk.</em></p>
<p><em>Ron Jeffries is not a priest, a vicar, or a shaman.</em></p>
<p><em>But Ron Jeffries just might be a magician.</em></p>
<p><em>The brewmaster of the Jolly Pumpkin Artisan Ales brewery is responsible for some of the most interesting beers to come out of Michigan. Jeffries’ beers are strange, sour, and strong ales, all made using traditional methods usually found only in the Trappist monasteries of Belgium.</em></p>
<p><a href="http://www.criermag.com/hopsnscotch/pumpkin/">www.criermag.com/hopsnscotch/pumpkin/</a></p>
<p>Good press for a good brewery and a good son. The other son's great too!</p>
]]></description>
<pubDate>Fri, 09 Feb 2007 13:32:22 GMT</pubDate>
</item>
<item>
<title>Boston Frightened By Cartoon</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=BostonFrightenedByCartoon</link>
<description><![CDATA[<B>Boston Frightened By Cartoon</B>
<DIV class="precis">I fully agree that terrorism is a serious matter, but when people are frightened of cartoons, it's a sign that terrorism is working, not of agencies that are working.</DIV>
<p>The city of Boston came to a halt the other day because the Cartoon Network posted illuminated signs in various places around the city. They also placed them in nine other cities: New York; Los Angeles; Chicago; Atlanta; Seattle; Portland, Ore.; Austin, Texas; San Francisco; and Philadelphia. These cities did not come to a halt.</p>
<p>The signs were in fact pretty scary. Here's what they looked like:</p>
<p><img src="images/boston.jpg"/></p>
<p>The network has agreed to pay the city something like $2,000,000 for the inconvenience. I can imagine the discussion with some network exec:</p>
<p>CARTOON NETWORK EXEC: Don't be silly. You freaked out. You could have sent one person to look at one sign and seen that they were harmless. Do you jump and scream every time you pass one of those red and blue "OPEN" signs at the deli?</p>
<p>GOVERNMENT OFFICIAL: Does the word "Gitmo" mean anything to you?</p>
<p>CARTOON NETWORK EXEC: Would $2,000,000 be enough?</p>
<p>"The purpose of terrorism is terror," we are told, and if that's the case, the bad guys are winning, at least in Boston. </p>
<p>We all agree about one thing, I'm sure: It's not funny.</p>
]]></description>
<pubDate>Wed, 07 Feb 2007 16:29:26 GMT</pubDate>
</item>
<item>
<title>Twitter Status</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TwitterStatus</link>
<description><![CDATA[<B>Twitter Status</B>
<DIV class="precis">The "Status" line, in the announcements on my home page, is linked to my status on http://www.twitter.com. It can be updated by a phone text message. I have absolutely no idea what this is good for, unless you were planning to meet us for lunch. If you have any ideas, including "Delete that!", drop me a note.</DIV>
<p>I have no real excuse for this. Bill Tozier, may the devil take him before the angels know he's gone, was talking with Chet and me about Twitter and Plazes, and other such oddities, and I signed up and have been fiddling with it.</p>
<p>We (Chet and I, and/or Bill, Chet and I) do have these fantasies about making our lunch locations known, and interested and <em>damn well better be</em> interesting people drop by and join us and we talk about whatever is on our minds.</p>
<p>Since that usually means Brighton or Ann Arbor, we expect that we might not get many takers. Still, you never know what might happen, who might show up. If there's an idea in here, do let me know.</p>
]]></description>
<pubDate>Sat, 27 Jan 2007 10:21:34 GMT</pubDate>
</item>
<item>
<title>Digital Rights Management</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=DigitalRightsManagement</link>
<description><![CDATA[<B>Digital Rights Management</B>
<DIV class="precis">In these days of on line everything, you would think that it would be pretty easy to get a copy of Depeche Mode's "Personal Jesus" on your music player. You'd be wrong. And so would the music companies.</DIV>
<p>Every now and again I hear a song that I like and that I'd like to add to the files on <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a>, so that I can play it on my <a href="Page.aspx?display=SqueezeBox">Squeeze Box</a>. Such was the case with Depeche Mode's "Personal Jesus" and The Go-Go's "We Got the Beat". (We're not here to discuss my taste in music. This is serious business. Back off.)</p>
<p>I listened to a Depeche Mode album or two at the Borders, and realized that I didn't want a whole CD. No problem, all the music in the world is on the Internet. I'll just download. So I ...</p>
<p>Tried iTunes. Couldn't make it work at all.</p>
<p>Downloaded Music Match, signed up. I was required to use Internet Explorer for this, as they use about 15 Active X controls, so you can't really get there in Firefox. Tried to download songs. They would fail. The diagnostic, which would only appear for about a half second, turned out to be the version number of Microsoft Media Player, something like 11.0.5671.5145. Coincidence? I think not. I sent off a message to Music Match, inquiring.</p>
<p>OK, Media Player can do this. Used it, tried Napster. Napster refused to work, with some message about Digital Rights Management. Tried Wal Mart, whose songs are only 88 cents instead of the usual 99, by the way, so at the possible cost of putting my entire town out of work, I tried them. No go. Again some obscure message. </p>
<p>However, a day or so later, Music Match got back to me. They told me that my DRM from Media Player was probably corrupt (I should have guessed that), and they told me how to fix it. I fixed it, and the songs came down and played in Music Match, and in Media Player. I had successfully spent a buck ninety-eight, and maybe a thousand dollars worth of my time. </p>
<p>I had downloaded the files to my tablet, so I moved them to the <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a>. I told the <a href="Page.aspx?display=SqueezeBox">Squeeze Box</a> software to scan for new files. It didn't find them. I tried to play them with Media Player, and they wouldn't play. Media Player told me how to move the DRM licenses, which only involved logging in to Music Match and then playing the songs from within that program. </p>
<p>Are you with me so far?</p>
<p>That managed to update the license on one of them but the other didn't work. So I downloaded that one directly to <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a>, providing a valid license for another $0.99. </p>
<p><a href="Page.aspx?display=SqueezeBox">Squeeze Box</a> still wouldn't see them. Some surfing makes me think that <a href="Page.aspx?display=SqueezeBox">Squeeze Box</a> can't understand DRM at all. </p>
<p>So I surfed for a converter that would free a DRM'd file. Found one called WMA-convert. $14.95. Downloaded on <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a>. It wouldn't accept its license code. For no reason I can think of, I decided to try it on the tablet. Intalled it there. Its license code window looked different, with a value in a System ID field, that hadn't been there on the Meanie. Entered the 12 million digit code, which I couldn't copy from Meanie to tablet. </p>
<p>WMA-convert accepted the code, then wanted to get an activation code. This, apparently, ensures that I can't install it on two computers, because it goes to the Web to register itself. OK. That even worked.</p>
<p>I converted the two files a couple of times as I learned how to use the program. It put them, naturally, into C:\Converted\Documents and Settings\Ron\My Documents\My Music\The Go-Go's\Beauty And The Beat. And a corresponding folder for Depeche Mode. For my convenience.</p>
<p>Then it was a small matter of getting the files transferred again to <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a>, telling it to scan again, and voila! as of 6 AM this morning, I can play those songs. I can't play them very loudly, however, as if I were to wake up Ricia my life would become a living Hell.</p>
<p>I really wanted to play fair and pay a fair price for getting these two songs on my music player. It has taken me hours to do it, and it'll take probably ten minutes to do every time I ever do it. </p>
<p>Music companies: you have this wrong. You are driving honest people like me to use other means to do what they have every right to do. (I presume you would agree that having purchased these songs, I have a right to play them on my one and only music player.) I'd be happy to click and pay a buck to add a song to my player. I'm not happy to pay a buck and then leap through my own orifice. </p>
]]></description>
<pubDate>Sat, 13 Jan 2007 06:39:26 GMT</pubDate>
</item>
<item>
<title>Stay The Course</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=StayTheCourse</link>
<description><![CDATA[<B>Stay The Course</B>
<DIV class="precis">Recent events in the news gave me an insight into why people throw good money, or good resources, or even good human beings, into an obviously lost situation.</DIV>
<p>Suppose that you were a decisive executive who had undertaken a challenging project, using an approach that many people questioned. Suppose further than you were about to retire, and this project was going to be the one for which you were remembered. And suppose that things were not going well with the project.</p>
<p>Many wise advisors suggest a change of strategy, which sounds to you a lot like "accept failure", or at least "try a very different approach". Basically they are saying to throw away the current implementation, back out, and try a different way.</p>
<p>If you accept this advice, however good, you will be remembered as the guy who made the bad decision and who had to follow someone else's advice in the end, because your approach failed.</p>
<p>If you "stay the course" (not sure why that phrase comes to mind), or if you stay the course while saying things that sound like you're improving your course, two things can happen.</p>
<p>First, the horse might sing. Through some miracle (in which perhaps you believe), the day might be won. In that case, you're a hero, and your legacy will be that you stuck to your guns and were right.</p>
<p>Or, the situation will wear on. You will retire, someone else will inherit the failing project, and will be stuck with doing something to fix it. In that case, you'll still be a person who stuck to his principles, and you may even be able to make the case that they screwed it up after you left.</p>
<p>Staying the course gives you a chance to be a winner, and leaves you no worse off than any other action, which guarantees you will be a loser. </p>
<p>So, of course, you stay the course. Good resources after bad. I wonder how many situations we can think of where that's essentially what's happening.</p>
]]></description>
<pubDate>Thu, 11 Jan 2007 13:51:05 GMT</pubDate>
</item>
<item>
<title>Jour Nal</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=JourNal</link>
<description><![CDATA[<B>Jour Nal</B>
<DIV class="precis">Where do you want to write today?</DIV>
<p>I was reading Mark Forster's newsletter, then the page it referred to, then browsing around, and found an article he wrote about journaling, the act or habit of keeping a daily journal. (From the French "jour", meaning "day". You can call yours a Freedom Diary, if, like many sensitive Americans in these times of stress, you have begun not to use French words in day to day speech. But I digress.)</p>
<p>One reads often that keeping a journal is a good thing. It reduces stress to write about stressful things, reduces depression to write about depressing things (though I'd also suggest that the journalist might consider writing about the one or two good things that sometimes happen in the course of the day, like the discovery of a particularly crunchy Freedom Fry in that third order that we probably shouldn't have had, or the funny look on the face of the slow-moving old lady that we car-horned up onto the curb over at  Briarwood).</p>
<p>The thing about a journal, I happen to know, is that you are supposed to write in it daily ("jour"=="day"), and many people report that if they slack off for more than a day, they pretty soon stop altogether. I think I've only started it once, some years ago, though I have habitually carried a notebook and noted all kinds of things in it, but not in a journal sense, exactly. Of late, I only carry cards in my pocket to write on, and that's an entirely different thing. In particular, there's no continuity. That can be a good thing, or a bad thing.</p>
<p>The big advantage to the cards is that I read somewhere, many years ago, that you can recognize important people by the fact that they don't carry anything. They don't need to carry anything, because whatever they need, they just are, and because they have other people to carry their things for them. So I stopped carrying things, in hopes of being mistaken for someone of consequence. You have to start somewhere.</p>
<p>I'm not sure whether I'll begin doing a <a href="Page.aspx?display=JourNal">Jour Nal</a> or not. It would mean I'd have to carry something -- and carry something through. I was more thinking that <em>you</em> might want to start one.</p>
]]></description>
<pubDate>Tue, 02 Jan 2007 07:24:17 GMT</pubDate>
</item>
<item>
<title>Running Tested Features</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=RunningTestedFeatures</link>
<description><![CDATA[<B>Running Tested Features</B>
<DIV class="precis">Alistair Cockburn "rants" on iterations vs deliveries, the difference being "running, tested, features". He raises some darned good points, on which we mostly agree. Here, lightly edited, is my list-posted response.</DIV>
<p>Find the article at <a href="http://alistair.cockburn.us/index.php/Are_iterations_hazardous_to_your_project%3F">alistair.cockburn.us/index.php/Are_iterations_hazardous_to_your_project%3F</a></p>
<p>It's a very nice article, and it is well-described by Alistair himself [1] as a rant. I myself, as all here know, eschew controversy, so I might have gone a different way. ;-&gt; I particularly like the word "deliveries": vide infra.</p>
<p>I might suggest references to Y.T.'s articles on ... "running, tested, features", at www.xprogramming.com/xpmag/agiletopdown.htm and www.xprogramming.com/xpmag/jatrtsmetric.htm [Ed.Note: Alistair agrees and says he'll add the links.]</p>
<p>The latter may be the first "published" occurrence of the RTF term. Not that I'm looking for primacy: the point is to get the idea out there. I'm happy to see that we agree on its importance. Google the phrase in quotes to find a list of my competitors in the agile biz. Welcome to it, guys, it's a good idea!</p>
<p>Second, the article states that no "self-respecting agilist" will permit iterations longer than two weeks. I think that at least some of the Scrum people still have some remaining shreds of self-respect, and the standard in Scrum is still a month. It's true that some Scrum folks such as Mike Cohn are now recommending two weeks. Since he could lift me over his head, I'm not going to argue self respect with Mike.</p>
<p>Third, the article suggests that short iterations are a matter of pride. That is not the case in my opinion. AYMR, the original XP project started with three-week iterations, tried one week, and went back to three, having found it better. The /XP Installed/ book, I believe, recommends three weeks. (ICBW).</p>
<p>The one-week XP iteration was adopted as a good idea by the XP leadership, not because ours are bigger than yours, though of course that goes without saying, but because XP teams all over the place were using one week iterations to good effect. The short iterations were based on experience. One might say that we got in front of the parade.</p>
<p>One of the interesting effects I've observed relates to this. I encounter clients who, over the course of a month, have trouble completing features. I tried recommending that they go to one week iterations (I like the term "deliveries" very much, by the way, and will start using it as soon as I step out of the thought here.)</p>
<p>An interesting thing happens when a team shifts to a one-week iteration, with intention to deliver RTF: they have to focus. When there are only five days till lift-off, it's easier to keep your eye on the ball. I think that it's harder for Parkinson's Law to take effect inside the shorter iteration. Whatever the cause, going to a shorter iteration seems to help these teams learn to be DONE.</p>
<p>Some teams find the pace too maddening: C3 did, and some of my current client teams have gone back to two week deliveries. That's absolutely cool with me. To me, what matters is helping teams learn to see and adjust the controls that help them do better projects. I don't win when they use one-week cycles: I win when they're happy and productive.</p>
<p>Neat article, Alistair, good rant, good points. Thanks!</p>
<hr/>
<p>[1] A kind reader inquired why I called Alistair's article a rant. I did that only to agree with Alistair, as he introduced it that way on one of the mailing lists. I hope the irony was not missed in my remarks about eschewing controversy.</p>
]]></description>
<pubDate>Sat, 02 Dec 2006 22:20:22 GMT</pubDate>
</item>
<item>
<title>Pair Programming</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=PairProgramming</link>
<description><![CDATA[<B>Pair Programming</B>
<DIV class="precis">This really happened.</DIV>
<p><em>Bob Martin:</em> When you're pairing, you always have four eyes looking at the code.</p>
<p><em>Ron Jeffries:</em> What if one of them is a pirate?</p>
<p><em>Chet Hendrickson:</em> Then there will be five eyes!</p>
<p><em>Ron Jeffries:</em> Huh???</p>
<p><em>Chet Hendrickson:</em> The parrot.</p>
]]></description>
<pubDate>Thu, 23 Nov 2006 09:43:46 GMT</pubDate>
</item>
<item>
<title>Jack Williamson</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=JackWilliamson</link>
<description><![CDATA[<B>Jack Williamson</B>
<DIV class="precis">A master has passed away. Godspeed.</DIV>
<p>When I was in fourth grade, the Bookmobile used to come to our school once a week or so. The first book I remember finding was <em>The Cometeers</em>, by Jack Williamson. (The book was published in 1936. I assure you this was quite a bit after that.)  </p>
<p>Williamson started me on a life-long love of science fiction, science, speculation, and all things technical. Of course, many other teachers and mentors, in print and in life, nurtured that love. I'm grateful to them all. </p>
<p>But Jack was my first, and now he is gone. Godspeed, Jack! </p>
]]></description>
<pubDate>Sun, 12 Nov 2006 21:24:47 GMT</pubDate>
</item>
<item>
<title>The Device</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TheDevice</link>
<description><![CDATA[<B>The Device</B>
<DIV class="precis">If your life is like mine, you're always in need of additional hardware, especially in that hard-to-supply process monitoring area. Adrian Howard points to this marvelous Device, so far beyond the dull and boring lava lamp!</DIV>
<p><img src="images/thedevice.jpg"/></p>
<p>Described in glowing(!) detail at <a href="http://www.processindicator.com">www.processindicator.com</a>, this unit will surely support all your process monitoring needs. I propose to use the left hand dial to indicate how cluttered my desk is, with the red lamp illuminating when guests are expected and it is time to clean up. The right hand dial, I imagine, should indicate how long it has been since I have eaten something. The glowing vial ... well, I think that will just be for fun.</p>
<p>Adrian posted a link on the XP list, and like him, I need one of these! Thanks! </p>
]]></description>
<pubDate>Sun, 22 Oct 2006 06:55:13 GMT</pubDate>
</item>
<item>
<title>Do What You Love</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=DoWhatYouLove</link>
<description><![CDATA[<B>Do What You Love</B>
<DIV class="precis">I'm surprisingly bummed by Steve Irwin's sudden death. Who ever loved his job more than the "Crocodile Hunter"? There's a lesson there.</DIV>
<p>"Crikey," that man was wild. But who could fail to see how much he loved what he did? It makes me think that we all have a chance to find something we love that much, and with luck, make it our work.</p>
<p>My job is good. This noon I was sitting on the top deck at Zukey Lake Tavern, telling my buddies George and David just that. My job is mostly sitting in coffee shops and on the top of the ZLT, writing things, reading things, talking with interesting people.</p>
<p>Then, surely somehow because of that, people write me emails and ask me to visit them. I do, and most times they ask me to come back. </p>
<p>Life is good, especially if we can avoid the stingrays. I sold mine some years ago.</p>
<p>Godspeed, Steve. And all of us.</p>
]]></description>
<pubDate>Tue, 05 Sep 2006 02:10:45 GMT</pubDate>
</item>
<item>
<title>Community Forum</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CommunityForum</link>
<description><![CDATA[<B>Community Forum</B>
<DIV class="precis">I'd like to give the community a place to talk about the things that matter in Agile today. In the next day or two, I'll be opening a community forum with just that purpose. I'll be seeding it with a few topic areas that have been on my mind, namely the conferences, the forces around advancing agile through extention or through sticking close to our simple roots, and the forces around adapting to existing corporate cultures or changing them. But those are just seeds. What Agile needs ... is you!</DIV>
<p><em>Flash! The official announcement is up!</em> See <a href="http://www.xprogramming.com/xpmag/anewcommunityresource.htm">www.xprogramming.com/xpmag/anewcommunityresource.htm</a></p>
<p>There are many places where Agile is discussed. There are tens of lists, and a number of commercial web sites, or process or individual focused web sites, including my own <a href="http://www.XProgramming.com.">www.XProgramming.com.</a> That's not what the new place is supposed to be about.</p>
<p>This new forum will be separate from any individual or corporate entity, and is intended to be a place for everyone who's interested in doing Agile, or leading Agile, to come together. I'm hoping it will be brand-neutral, consultant-neutral, indifferent to whether you've published five books or only read two. It's a place for us to explore some of the interesting questions and current discoveries, and a place to see whether we can take Agile forward without turning into yet another dinosaur.</p>
<p>I sincerely hope that each of you will be a part of it. I'll be announcing the details on a number of lists, and here on my blog. Please, if you care about the Agile ideas in practice and in theory, join in making a community where we can move forward together.</p>
]]></description>
<pubDate>Mon, 04 Sep 2006 21:33:14 GMT</pubDate>
</item>
<item>
<title>Great Lakes Software Excellence Conference</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=GreatLakesSoftwareExcellenceConference</link>
<description><![CDATA[<B>Great Lakes Software Excellence Conference</B>
<DIV class="precis">The GreatLakesSoftwareExcellenceConference will be held in Grand Rapids, MI, October 25 and 26. There will be some excellent sessions there, and I recommend you take a look.</DIV>
<p><a href="http://www.glsec.org">www.glsec.org</a> will give you a look. I'll point out here that speakers will include Tim Lister, James Goebel, Carl Erickson, Jon Kern, and many others. The sessions look interesting and I expect it to be an excellent little conference. Highly recommended.</p>
]]></description>
<pubDate>Mon, 28 Aug 2006 13:19:35 GMT</pubDate>
</item>
<item>
<title>Conference Thoughts</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=ConferenceThoughts</link>
<description><![CDATA[<B>Conference Thoughts</B>
<DIV class="precis">The Agile 2006 conference was very good, and the reviews from the attendees are mostly favorable. I've got some concerns and issues, and I'm soliciting feedback, input, ideas from people who have them. As an Agile Alliance board member, I might be able to get some things done. Tell me what to do.</DIV>
<p>There were over 1100 people at the conference. Since last year was only 750 or something, that means 400ish people had never been to this conference, and probably any Agile conference, before. We expect growth next year of about that same size again.</p>
<p>The result of that many new folks at the conference is that many sessions need to be aimed at the entry level, and that most of the sessions will need to be fairly large lectures rather than interactive sessions. I'm not entirely comfortable with that, since I believe that we don't learn Agile by reading or hearing about it. But I have no better ideas. If you have ... let's hear them.</p>
<p>People are suggesting repeated smaller sessions, but I'm not sure that would work either. I wound up doing something like six sessions at the conference. That left me running around even more distracted than I usually am, and meant that I didn't get in as many conversations as I'd like, and that I didn't get to drop in on as many other sessions as I've have liked to. That sounds like a personal problem, and it is. Next year I might do nothing but sit at a table with a sign saying "Ron is IN."</p>
<p>I keep thinking I see a connection between what Open Space could be, what Fringe could be, and what Hands On could be. That could just be a fantasy, or an open circuit in my brain. Let me try to explain a bit.</p>
<p>The Open Space session this year seems to me not to have flown very well. It was off the main track where no one could see it. It wasn't on the main schedule. It was held in a room which had apparently formerly been where the hotel stored people who had passed away until their relatives came to claim them. Not too good. I've drafted proposals to the board proposing that the schedule for Open Space should be right on the main schedule board (filled in dynamically by session owners); that the main open space area with the charts should be more central; and that the rooms and spaces for open space be near the conference core and at the same level of quality. </p>
<p>The Fringe sessions were, I think, trying to address interesting but possibly wild or advanced ideas. The Open Space was supposedly about "What's Next". The Hands On sessions brought people together to do things. And I felt that there wasn't much going on that would appeal to folks who are advanced in Agile and who were wanting to contribute to Agile's progress. I'd like to know whether there's a general feeling from folks who are, think they are, or would like to be "Masters" of Agile, that we should do more to cater to that thread. </p>
<p>If so, it seems to me that some sessions scheduled into next year's Open Space, Fringe, and Hands On, might be just the thing.</p>
<p>One more element to this memory dump. It has been suggested that there should be an "off-cycle" conference, probably Open Space in nature, slated to maybe 150 or fewer attendees, to address Master's topics, ideas for the upcoming main conference, and the like. There have been concerns expressed that if key people went to that, they might not go to the big conference. I'm not sure that would happen, but it might.</p>
<p>I would very much appreciate your feedback on this topic via email. If there's interest, we could set up a yahoo group on this or the wider topic of "Progressing Agile". And there is space on the conference wiki for material as well. I'm concerned that no one goes there ... so that no one will go there.</p>
<p>Your thoughts, please please, to ronjeffries at acm dot org. And please, include the string [ron] in the subject line, with the [], to be sure of making it past my spam filters.</p>
<p>Thanks!</p>
]]></description>
<pubDate>Mon, 21 Aug 2006 22:06:42 GMT</pubDate>
</item>
<item>
<title>Agile Job Opportunity</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AgileJobOpportunity</link>
<description><![CDATA[<B>Agile Job Opportunity</B>
<DIV class="precis">A Seattle client has opportunities for Agile-focused people. Inquire within.</DIV>
<p>I've been working for some time now with Atlas Solutions in Seattle. They have been using Scrum for a few years now, with team sizes ranging from four up to maybe a dozen. Most teams are working in open team areas that they have laid out themselves. </p>
<p>Every team has a Product Owner / Customer, and there's a good understanding in the whole organization about how and why to work in the Agile fashion. Nathan Mc Coy, the VP of Software Delivery, has a good handle on how Agile teams should be handled, so that his whole organization has support up and down the line on doing things this way. They are mostly a C# shop, with their server software in C/C++.</p>
<p>Atlas continues to grow rapidly, and generally have a number of openings for developers, testers, and others. I find them to be a great organization to work with and commend them to your attention. Resumes and inquiries should be sent to <strong>Jeanine.Wallner at atlassolutions dot com</strong>. Check them out at <a href="http://www.atlassolutions.com">www.atlassolutions.com</a> and <a href="http://www.workforatlas.com.">www.workforatlas.com.</a> Please mention my name if you get in touch, and if I can help, let me know.</p>
<p>Here's the blurb from Jeanine:</p>
<p><em>Atlas, a division of aQuantive, is currently recruiting a number of software engineers for our Seattle based headquarters. Our developers are primarily using C#, .NET, SQL and web services.</em></p>
<p><em>The Atlas software suite is in the forefront of the digital marketing revolution, with industry leading technologies in ad serving, rich media, search, web site optimization and digital television. The Atlas technology organization constantly seeks to improve efficiency, quality and speed of delivery by hiring the very best, by continuously improving our knowledge through training and teamwork, and by studied adoption of forward thinking software engineering practices such as scrum and XP.</em></p>
<p><em>Atlas is a serious player on the Internet.  We are the largest third-party ad-server(over 4 billion ad impressions per day!) and the largest single purchaser of keyword inventory from Google. We are a public company and I encourage you to check out our financial results on our website (www.aquantive.com). Atlas is a stable, growing company with endless opportunity!</em></p>
<p><em>We offer a casual working environment with a somewhat flexible schedule. Yes, we are aware that people have lives outside of work! In addition to typical benefits, ours include 401K match, an employee stock purchase plan and education reimbursement.</em></p>
<p>Cool folks. Highly recommended. </p>
]]></description>
<pubDate>Wed, 16 Aug 2006 13:45:18 GMT</pubDate>
</item>
<item>
<title>On The Other Hand</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=OnTheOtherHand</link>
<description><![CDATA[<B>On The Other Hand</B>
<DIV class="precis">Recent reports of plans to blow up planes support the idea that a "war on terror" may not reduce terrorism. On the other hand, terrorists need to remember what they learned after 9/11.</DIV>
<p>Many of us in this country are tired of the so-called war on terror, and think that it cannot work. But this country's enemies might want to reflect on what happened after 9/11. The country came together rather strongly and supported taking military action. That can and will happen again.</p>
<p>I don't think the war on terror will stop terrorism. But if residents of some other country decide to drop a few of our planes in the drink, there will be a movement to bomb them until the sand turns to glass. That movement will gain support.</p>
<p>A threat to terrorize us if we don't get out of their country isn't going to get us to back down. A promise to be good if we <em>will</em> get out has a better chance.</p>
<p>You don't like us now. You really wouldn't like us when we're angry.</p>
]]></description>
<pubDate>Fri, 11 Aug 2006 13:29:07 GMT</pubDate>
</item>
<item>
<title>Alien Invasion Continues</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AlienInvasionContinues</link>
<description><![CDATA[<B>Alien Invasion Continues</B>
<DIV class="precis">In January 2005, I wrote AlienInvasion, a note relating our nation's fine endeavors in Iraq to various science fiction novels. I spoke of how we like to think that we Americans would fight back forever against any technologically superior invaders, and implicitly invited readers to extend that thought to the world as it stood in January 2005. I invite you to think about that again, now. I hope I don't get dixiechicked for these thoughts, but if I do, so be it.</DIV>
<p><a href="Page.aspx?display=AlienInvasion">Alien Invasion</a> links to that article.</p>
<p>I was alive in the 60's, that time of peace, love, and weird pants. I was employed at that time at Strategic Air Command, whose motto, "Peace is Our Profession" was not thought by those of us there to be ironic in any way. We believed that our ability to blow the living crap out of any country that would attack us was a key deterrent to any country attacking us. Given the kinds of would-be opponents we had then, the idea probably worked pretty well: if a would-be attacker had too much to lose, he wouldn't attack.</p>
<p>We're fighting now with a country that already looks as if it had had the living crap blown out of it. The people have little or nothing, and there's not much going on to change that. They have nothing to lose, other than perhaps their own lives and those of their loved ones. As I mention in <a href="Page.aspx?display=AlienInvasion">Alien Invasion</a>, one of the classic things that turns someone into a guerilla is killing their spouse and kids, so in general that's not a good strategy for bringing the enemy to heel.</p>
<p>And of course, they're not the enemy anyway. We're their liberators, which is why we're greeted with such nice treatment whenever we show up. We're really at war with Terror, with "terrists", as they are called in the highest circles. </p>
<p>It must be well known, because even I know it, that the purpose of Terrorism is terror. War is terror, and war against terrorism is therefore one of the expected outcomes of terrorism. It feeds the cycle: it does not extinguish it.</p>
<p>A long time ago, there were t-shirts and signs that said: <strong>War is not healthy for children and other living things.</strong> Those shirts and signs are coming back into vogue. </p>
<p>Most of my readers here are living things. I suggest that they need to mull on this.</p>
]]></description>
<pubDate>Thu, 10 Aug 2006 10:19:59 GMT</pubDate>
</item>
<item>
<title>Test Automation</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TestAutomation</link>
<description><![CDATA[<B>Test Automation</B>
<DIV class="precis">I've been taking more heat than I'd like regarding my position on automated testing for Agile projects. I'm sure this all my fault, but that doesn't make me like it any more. Here are some thoughts.</DIV>
<p>Testing a software project is very difficult. There are many things that might happen, many tests we might like to have, and only a finite amount of time to do actual tests. The problem is mushy and shapeless:</p>
<p><img src="images/testing.jpg"/></p>
<p>My proposed <em>starting</em> guideline is "Automate All Tests". This is manifestly impossible, manifestly stupid, manifestly all bad things. This would make some people assume that I must mean something that isn't impossible, stupid, bad. Others just file a bug report without further inspection. So be it. </p>
<p>Be that as it may, if we set out to automate everything, we'd get a big block of automated tests:</p>
<p><img src="images/automation.jpg"/></p>
<p>Those tests would overlap some part of the testing problem. They'd test parts of it just fine. Some parts would be wasted. Some would be missing:</p>
<p><img src="images/overlap.jpg"/></p>
<p>There would be work left to do. Heavy lines here show testing we would still need after automating "everything". Lighter fuzzy stuff is automated testing that turns out to be inappropriate and wasted.</p>
<p><img src="images/worktodo.jpg"/></p>
<p>As I look at this picture, I see good things happening. I see a big chunk of the system tested by automated tests that we can run as often as we want. I see work that we might have to do manually done by a computer, leaving time for smart people to do smart things.</p>
<p>I see a much more clear delineation of what additional testing needs to be done, where that smart people work needs to be applied. And I see a clearer understanding of where automated tests are helpful and where they're not.</p>
<p>I think those are good things, all coming from a simple statement of intent that couldn't possibly be exactly right. </p>
<p>Q: <em>How do we get to Aspen?</em></p>
<p>A: <em>Climb to the top of that hill.</em></p>
<p>Q: <em>That is so dumb. Aspen is in a valley.</em></p>
<p>A: <em>OK.</em></p>
]]></description>
<pubDate>Fri, 07 Jul 2006 14:50:27 GMT</pubDate>
</item>
<item>
<title>Completely Functional This Just In</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CompletelyFunctionalThisJustIn</link>
<description><![CDATA[<B>Completely Functional This Just In</B>
<DIV class="precis">My new business creating "completely functional" software has really started clicking along. Revenues are up!</DIV>
<p>This just received: </p>
<p>Dear ronjeffries@XProgramming.com, You Have A Pending Payment!</p>
<p>William Pietri just sent you a payment with Pay Pal.  </p>
<p>Amount:  $1.99 USD</p>
<p>Subject:  Software requested</p>
<p>Note:  Hi! Per your offer, I'd like some software that does good stuff. You know, something useful. If it's blue or green, that would be better.</p>
<p>Thanks,</p>
<p>William</p>
<p>William's completely functional software has already been delivered, of course. It appears to be red, but it is completely functional.</p>
]]></description>
<pubDate>Tue, 04 Jul 2006 10:11:57 GMT</pubDate>
</item>
<item>
<title>Completely Functional</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CompletelyFunctional</link>
<description><![CDATA[<B>Completely Functional</B>
<DIV class="precis">I received today a posting to the Ann Arbor Computer Society list, asking for contract programmer help. In part it said: "The program is completely functional, however, the numerical results do not appear to be correct."</DIV>
<p>This must be some new kind of "completely functional" with which I was not previously familiar.</p>
<p>For all who are interested in purchasing software that is completely functional in the sense of this note, I'm willing to provide you with custom software very quickly and at very favorable rates. Get in touch by the usual means. You might as well send the money in your first inquiry: I'll tell you by return mail where you can download the software.</p>
]]></description>
<pubDate>Mon, 03 Jul 2006 14:30:29 GMT</pubDate>
</item>
<item>
<title>Agile Conference</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AgileConference</link>
<description><![CDATA[<B>Agile Conference</B>
<DIV class="precis">Agile 2006 is coming right up. The conference hotel is booked, sessions are filling up. Seats next to me at the bar are going fast. Time to set up your travel plans if you haven't already. Here, for no reason at all, are mine.</DIV>
<p>I have an Agile Alliance Board meeting and I think a meeting with the APLN people on Saturday the 22nd, and I'll probably leave when the final dogs are nearing their demise on Thursday. </p>
<p>Prior to the conference I have a gig in Fort Lauderdale, then a family vacation in Omaha, where we'll consult with people who know people who hang out with people who know Warren Buffet, the Oracle of Omaha. Why he's named after a database system, I'll never know.</p>
<p>I'll get home, I don't know, Tuesday before the conference. To make the conference trip seem less like work and more like another vacation, I plan to drive the 3M3RTX3 from Pinckney to Minneapolis. I'll be taking the Lake Express ferry across Friday afternoon on the way there, then sprint for close enough to Minneapolis to spend the night and then zip on into the city in time for the board meeting. On the way back, Lake Express at 0600, then back home from Muskegon. </p>
<p>Probably not everyone will think that 600 miles plus a couple / three hours ferrying, one way, is their idea of fun. But I do, unless the car explodes or something. I just hope there's safe parking at the hotel.</p>
]]></description>
<pubDate>Mon, 03 Jul 2006 14:30:01 GMT</pubDate>
</item>
<item>
<title>Help Wanted</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=HelpWanted</link>
<description><![CDATA[<B>Help Wanted</B>
<DIV class="precis">I've become bored with my C# blogging code and updating it is getting very low priority. If you're a Blogger expert and would be interested in helping to convert HotNeedleOfInquiry to Blogger, drop me an email.</DIV>
<p>Some of the things that will need to be done include creating a CSS file that will make the blog look like my site, and moving all the existing content over. If you're a Blogger expert, you'll know more than I do about what's needed.</p>
<p>Interested parties write to ronjeffries at acm dot org, and include the string "[ron]" as part of the subject to get through my spam filters.</p>
]]></description>
<pubDate>Thu, 29 Jun 2006 19:00:31 GMT</pubDate>
</item>
<item>
<title>Religion Sex And Politics</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=ReligionSexAndPolitics</link>
<description><![CDATA[<B>Religion Sex And Politics</B>
<DIV class="precis">... are the three topics that are off limits in Dale Carnegie classes. The idea is to keep the talks interesting, personal, but not controversial or difficult for everyone in the class to appreciate. I've usually lived by that same topic guideline here on line, with rare exceptions. Today I stumbled onto the "Out and Proud" parade here in Seattle. Religion, sex, and politics, here we come.</DIV>
<p>I'm on a gig in Seattle, and I needed a couple of books to read in the evenings. Today, I wandered over to the Barnes &amp; Noble in Pacific Place. While I was there, three guys came in dressed as women, wearing sort of kinky Kabuki gear. I thought that somewhat odd.</p>
<p>Then I stopped at a Starbucks for an iced chai latte. Leaving, I saw three big hairy guys, all with very short hair, and with beards, wearing open shirts and shorts. "Bears". They greeted three other similar looking fellows who were crossing the street, and asked them where they should be going. They pointed downhill.</p>
<p>I was going downhill anyway, because I was looking for someplace to eat. I noticed that the street was blocked off, walked down to, I don't know, 4th Avenue I guess, and encountered the Pride2006 parade. This is billed as "the Northwest's largest Lesbian / Gay / Bi-sexual / Transgender (LGBT) Pride Parade", and for all I could tell, it was. The highest unit number I saw on the parade permit signs was 160.</p>
<p>So I stood and watched for a couple of hours as some of the strangest but clearly harmless people in the world walked, pranced, and marched by. There were leather gays, Rocky Horror gays, Sisters of Perpetual Indulgence, Goths, frilly boys in skirts. A 40-ish guy with pony tail, skateboarding while wearing a sun dress. Crossdressers and lipstick lesbians on stilts. Feminist karate organizations, or for the Sinophile, feminist kung fu. Gay parents. Children of gay parents. GLBT support groups from Merck or Macy's, or the Seattle Public Library.</p>
<p>People on unicycles. More people on stilts, including reps from <a href="http://www.purecirkus.com">www.purecirkus.com</a>, who are weird enough to fit in all the categories. Vikings for Real Change ( <a href="http://www.realchangenews.org/">www.realchangenews.org/</a> ).</p>
<p>There were representatives of various church groups supporting the cause, or marrying any couple who love each other and who want to be married. Plenty of ordinary-ish people as well, including nearly every political candidate in the northwest. </p>
<p>The parade went on forever, full of people having a good time being just as weird or ordinary as they wanted to be. There wasn't an ugly moment in the whole thing as far as I could see. It was more than two hours of celebration of life in all its forms.</p>
<p>I was struck by the contrast between these bizarre but vibrant, open, and loving people and some other elements of our society. I have in mind, of course, the "religious right", and members of our government who, from conviction or cynical political pragmatism, follow their lead. </p>
<p>I was taught that God is love and that God loves everyone equally. Aren't we obliged to do no less?</p>
]]></description>
<pubDate>Sun, 25 Jun 2006 23:12:04 GMT</pubDate>
</item>
<item>
<title>Squeeze Box</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=SqueezeBox</link>
<description><![CDATA[<B>Squeeze Box</B>
<DIV class="precis">Added SqueezeBox to the BlueMeanie family. Nice little product!</DIV>
<p>The alleged purpose of getting <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a> was to re-rip all my music CDs to a lossless public format. My Rio Central is very nice, except that its screen is pretty small, and I love that it has hundreds of tunes on it, all playable by artist, genre, random, whatever. But the machine is no longer sold, and as nearly as I can tell, no longer supported, and while it can write out MP3 or CDs, it can't export the music back to my file system. </p>
<p>As I mentioned in the <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a> writeup, I've been using EAC (Exact Audio Copy, <a href="http://www.exactaudiocopy.de">www.exactaudiocopy.de</a> ), and FLAC (<a href="http://flac.sourceforge.net">flac.sourceforge.net</a> ), to rip to lossless. On my DVD drive, EAC rips at about 2X with zero errors, while on my 52x BENQ drive, it rips at about 3.5x but appears to be getting some errors. So while I'm home, I just stuff another CD in the drive every half hour, and click the button. Tricky, but I'm up to it.</p>
<p>The next question is how to play the stuff. I chose the Slim Devices <a href="Page.aspx?display=SqueezeBox">Squeeze Box</a> (<a href="http://www.slimdevices.com">www.slimdevices.com</a> ). It's small, inexpensive, runs wired or wireless, and can do pretty much what I need. It does need a server, though it will also run on a very expensive NAS device from ReadyNAS NV. The plan is that <a href="Page.aspx?display=BlueMeanie">Blue Meanie</a> is the server.</p>
<p>The <a href="Page.aspx?display=SqueezeBox">Squeeze Box</a> is a little less than 8 inches wide, 4 inches high, and around 3 inches deep, which is all a stand. The box thickness is about an inch. </p>
<p><img src="images/squeezebox6.jpg"/></p>
<p>Installation is easy, even if it's wireless with WEP, which is how I set it up. You hook up its audio cables, plug it in, and go through a simple setup menu, after which it finds your server and is ready to play music. I've got it running in random mode right now, which is how I'll use it most of the time. You can control it from the Slim Server web interface, which can control both the server and any attached players, or from its own infrared remote. </p>
<p>So far, I'm very happy with it. As soon as I get a couple of hundred CDs ripped to lossless format, I'll like it even better. Recommended.</p>
<p>(Full Disclosure: I have no business relationship whatsoever with Slim Devices, their heirs or assigns. I'm just a user of their works and pomps.)</p>
]]></description>
<pubDate>Fri, 16 Jun 2006 20:58:15 GMT</pubDate>
</item>
<item>
<title>Blue Meanie</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=BlueMeanie</link>
<description><![CDATA[<B>Blue Meanie</B>
<DIV class="precis">Faithful readers have seen my rants on the not-so-good computer I got from Cyber Power Systems, and the not-so-good service. I liked the basic idea of the machine, and had the gang at dundee.net, whom I trust, build another one.</DIV>
<p>Cyber Power did credit my account upon return of the computer, less a restocking fee. They have not responded to <em>any</em> of my recent email. Guess I'm persona non grata to them. Perhaps not the best way to handle it, but it's their business.</p>
<p>Anyway, I spec'd basically the same machine, and had the folks at dundee.net, my ISP, build it for me. I picked it up last week. There was a glitch -- Dennis had forgotten to pack one of the power cables. I thought my basement was full of them, but apparently I purged them all, so I picked one up at Best Buy on Saturday. </p>
<p>The machine came up readily. I had to format the second hard drive, no biggie, probably due to some confusion in my order about whether I wanted RAID on that drive or not. Other than that, it worked right out of the box. Boy is it fast compared to my laptop! All I have planned for it is that I'll rip all my music to it in some lossless format, so when my Rio dies I'm not out of luck. </p>
<p>To that end, I brought down Exact Audio Copy and FLAC, and have started ripping a few CDs. EAC works hard to guarantee a perfect copy, including reading everything two or more times, so it's not fast. I might resort to a commercial ripper to save time. Then again, might not.</p>
<p>Naturally, this is only the beginning. So far I've swapped out much of my home network, converted my wife's laptop to wireless, and will do more. Might even dust the shelves the computer stuff is on.</p>
<p>Here are a couple of pics of the new baby, whose name is Blue Meanie:</p>
<p><img src="images/pict1428640.jpg"/> </p>
<p><img src="images/pict1431640.jpg"/></p>
<p>Have a cigar. Just don't smoke it near me.</p>
]]></description>
<pubDate>Tue, 13 Jun 2006 07:13:13 GMT</pubDate>
</item>
<item>
<title>Recent Mail</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=RecentMail</link>
<description><![CDATA[<B>Recent Mail</B>
<DIV class="precis">Excerpts from the Jeffries brothers mail box... (I found this while cleaning up the file directories. Made me laugh. Hope it does so for you.)</DIV>
<p>On Sunday, August 22, 2004, at 9:59:46 PM, cptdick wrote:</p>
<p><em>King Salmon;</em></p>
<p><em>KTJ went to Milwaukee (yeah, sure) to meet her sisters and go to Irish fest.  Me left to loneliness and despair.  Our mailboxes are wooden houses with the mail part on the left and an open hole on the right for the delivered news paper.  Noticed a wasp fly out the last few times I got the paper.  Yesterday five wasps flew out.  Time for action.  But, without KTJ I couldn't find any bug spray.  So, I got an aerosol can of potpourri air freshener and blasted the **** out of the inside of the wasp hideout.  Many fell from having the [stuff] on their wings and more dropped because the smell is so disgusting.  Some came at me so I was out in the street in front of the neighbors doing a combination jitterbug and deep rescenting of the neighborhood.</em></p>
<p>There is something truly pathetic about this picture. I myself am inclined to use the most high-tech tool available for killing wasps, and would not downgrade to potpourri, although I might take it far from the house and spray it downwind just to get rid of it. There are -- this will amaze you -- there are now -- really, I am not making this up -- there are now stores where you can get wasp spray!!</p>
<p>And get the right kind, as you can spray wasp spray on a spider and it just makes it grow larger, and if you spray spider spray on a wasp, it just pisses him off.</p>
<p>Relatedly, if you spray ant spray on wasps, they come in the house and eat your food. Don't even think about spraying wasp spray on ants.</p>
<p><em>Today KTJ showed me the bug spray and I went at it again and nailed 500000 more wasps. I think I have destroyed their holy shrine.  I also think our newspaper will stink for the next five to ten years.  Also, 8 to 10 wild turkeys have taken residence somewhere in the neighborhood and are wandering around.  I think they are big and intimidating and may have to give them a lead sandwich.  If you have turkey experience other than thanksgiving, let me know.</em></p>
<p>The most important thing is whether you got any wasp spray on them. Proof  left to the reader.</p>
<p>We had wild turkeys in a yard down the road from us. The most interesting scientific thing about wild turkeys is that they are the largest known creature that does not have a brain. This leads them to interesting behavior like standing in the road wondering where the grass is. As their limited experience has not exposed them to many cars, and as their brainless little head has no room in it for memory anyway, they will not even think of getting out of the way when you come barreling down the road.</p>
<p>Some kind soul (I am supposing this was not done by some Einstein of Turkeys) put up a Turkey Crossing sign. It might have been an EoT, now that I think of it, because the sign was tiny, low to the ground, and about eight inches this side of the place where they crossed. I once lay waste to about six of them while trying to read the sign at speed.</p>
<p>Depending on the height of the grillework of your vehicle, and the speed of encounter, you can expect little or no damage to bodywork. However, the size of the grillework can sometimes lead to one or more of these sturdy birds getting his head caught in the grille. Observers are treated to the sight of an oblivious old man driving down the road with a giant bird stuck, kicking its feet, in the grille of the Buick. From the driver's seat, it turns out, it's easy not to notice all this, as the sound they make is very similar to that of that slipping fan belt that you had every intention of tightening as soon as the weather dries out a bit.</p>
<p>Yours in nature,</p>
]]></description>
<pubDate>Thu, 04 May 2006 10:22:32 GMT</pubDate>
</item>
<item>
<title>Kellys Korner</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=KellysKorner</link>
<description><![CDATA[<B>Kellys Korner</B>
<DIV class="precis">Too much messing around messed up my Windows Explorer context menus. Kelly's Korner sorted me out after a week or more of Googling around. I sent him a donation, and some props here.</DIV>
<p>Like many folks, I have a number of little add-ons on my File Explorer context menu. Various apps install them, and there are cute little downloads like "Who Lock Me?" and so on. Chet and I have a little code manager that we use, that runs in the directory that holds the source, and I wanted to add it to the context menu: essentially "Code Manager Here". </p>
<p>I went through the steps to do that, and all seemed to go well ... until the next time I clicked on a folder on my desktop -- the code manager had become the default, and I couldn't click to open. Gack.</p>
<p>So I went to Tools/Options to remove Code Manager. When I did, something else became the default. And something else and something else. I finally got things working again, but by then I had removed the "search" option -- the one that launches explorer's search page.</p>
<p>I googled around a bunch, and bought two different Windows Hacks books, but couldn't figure out how to get Search back. I started surfing microsoft.public.windowsxp.general, and found a pointer to Kelly's Korner -- Troubleshooting Windows XP. <a href="http://www.kellys-korner-xp.com/xp.htm">www.kellys-korner-xp.com/xp.htm</a></p>
<p>A little searching, and I found a .reg file, with a whole raft of those mystical settings including strange GUID looking things. Popped it in, and voila! I have search back. I sent Kelly a small donation via Pay Pal, and highly recommend the site to your attention if you've got odd Windows problems. (Other than not shipping Vista on time. If that's your problem, call me, I'll come out to Redmond and advise.)</p>
<p>Thanks, Kelly!</p>
]]></description>
<pubDate>Sun, 26 Mar 2006 14:09:34 GMT</pubDate>
</item>
<item>
<title>Outstanding Beer Dinner</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=OutstandingBeerDinner</link>
<description><![CDATA[<B>Outstanding Beer Dinner</B>
<DIV class="precis">My son Ron, owner and brewmaster at Jolly Pumpkin Brewery, will be hosting a dinner at Evans Street Station in Tecumseh, Michigan, on March 20.</DIV>
<p>My wife and I have dined at Evans Street Station a number of times and always enjoyed it. The service is good and the menu is unusual and not too fancy for a meat and potatos kind of guy like me. The restaurant is very pleasant and reasonably convenient to folks around Ann Arbor. Highly recommended.</p>
<p>The Station's events page includes a writeup for the event: scroll down a bit to find it. <a href="http://www.evansstreetstation.com/index.php">www.evansstreetstation.com/index.php</a></p>
<p>Jolly Pumpkin, Ron's brewery, offers excellent rustic country style beers, which are both popular with beer lovers and award winners at the festivals. You can find his beer at local stores, various other locations outside Michigan, and the brewery itself is open Thursday through Saturday from noon to six. <a href="http://www.jollypumpkin.com/">www.jollypumpkin.com/</a></p>
<p>Check 'em out -- you'll be glad you did!</p>
]]></description>
<pubDate>Sun, 05 Mar 2006 19:17:31 GMT</pubDate>
</item>
<item>
<title>Pair Programming Experiment</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=PairProgrammingExperiment</link>
<description><![CDATA[<B>Pair Programming Experiment</B>
<DIV class="precis">Crosstalk (The Journal of Defense Software Engineering) publishes an article by Dr Randall W Jensen, describing an experiment in pair programming resulting in very substantial improvements in productivity and reduction of defects.</DIV>
<p><a href="http://www.stsc.hill.af.mil/crosstalk/2003/03/jensen.html">www.stsc.hill.af.mil/crosstalk/2003/03/jensen.html</a></p>
]]></description>
<pubDate>Sun, 05 Mar 2006 19:03:08 GMT</pubDate>
</item>
<item>
<title>Cyber Fiasco Part Two</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CyberFiascoPartTwo</link>
<description><![CDATA[<B>Cyber Fiasco Part Two</B>
<DIV class="precis">Unbelievable! These people really do not want my business, or else there is some new low in customer support that I wasn't previously familiar with. Avoid Cyber Power like the plague -- a pox on them and their houses!</DIV>
<p>So I've been emailing these guys since Saturday and NEVER received a response. I messaged sales and support from their web site, got a reply from sales, but none from support. The sales guy told me to call the support number, which of course was what I planned to do today anyway, since this is the first working day I've been home since the computer came.</p>
<p>After a period of time on hold listening to distorted rock and roll, I was put in touch with Alvin. I gave my list of issues to Alvin and asked him where we should start. </p>
<p>Alvin told me that the machine did not have two hard drives. I said that it did, and then he agreed that it did. He then told me that I did not order RAID-1 and that it was not on the invoice. In fact I did order it, and it is on the invoice. He kept trying to explain to me that I didn't have RAID-1. When I asked him if it didn't have RAID-1, why I kept getting NVIDIA MIRROR DEGRADED messages on boot up, he told me that I didn't have RAID-1. </p>
<p>I asked him if he intended to get involved in fixing the problem and he informed me that what he was doing was trouble-shooting. I asked him to speak to his supervisor and he told me that I couldn't. (The sales guy, Bobby W, had actually suggested that I talk to a supervisor.)</p>
<p>I asked whether Alvin could provide me with the president's phone number but he would not provide that, nor the number of anyone else in the company. Nor would he transfer me to another support person.</p>
<p>So I asked him for an Return Material Authorization number and he gave me one. I asked him where to send the computer and he told me to read it off the invoice. I asked him if he had the address available and he said that he did. I asked him to just tell it to me, and he asked me if I had Web access so that I could get it there.</p>
<p>I would wish Alvin a successful career asking people whether they want fries with that, but there is no chance a customer-oriented organization like Mc Donalds or Burger King would let him serve as their interface to their customer base.</p>
<p><strong>Here is my advice: never, ever, do business with Cyber Power, nor engage in any other form of agreement with them. Do feel free to steal their women, horses, and dogs, and to burn their huts to the ground.</strong></p>
]]></description>
<pubDate>Wed, 22 Feb 2006 13:51:25 GMT</pubDate>
</item>
<item>
<title>Cyber Fiasco</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CyberFiasco</link>
<description><![CDATA[<B>Cyber Fiasco</B>
<DIV class="precis">Ordered a really cool computer from CyberPower. They sent me a not so cool non-computer. So far, "We are not amused."</DIV>
<p>I want a new computer to be a music server, print server, random other stuff server, so my laptop doesn't have to be here when my wife needs the printer and such like that there.</p>
<p>After considering options, I chose a neat blue cube from Cyber Power. Configured it with a gig of main memory, dual 200 gig drives at RAID-1, bunch of other random stuff. Blue lights inside the plastic panels all around.</p>
<p>It arrived Saturday. No real setup information but I know how to plug in a computer, so I did so and started it up. It came up in that first Windows mode where you answer a thousand questions and type in a 900 character code and it sets up your accounts.</p>
<p>Except ...</p>
<p>Every time I ran the File Explorer, it got a Data Execution Protection error. I finally had to Google how to turn that feature off. It seems likely that since DEP checking is a Microsoft feature, there's a version of the file explorer that would work with DEP.</p>
<p>The DVD drive wouldn't open. I figured this would limit its ability to be a music server.</p>
<p>When a LAN line was plugged in, it cycled a message that the LAN cable was disconnected, on about a five second cycle. It sort of had Internet access, but very slow.</p>
<p>When booting up, it said that its discs were running "DEGRADED", suggesting that the raid wasn't working. That and the fact that it showed two 200 gig hard drives as separate drive letters, with different contents.</p>
<p>I found a disconnected plug on the DVD, and a disconnected plug on one of the hard drives. The DVD plug made it work. The disc plug didn't make the RAID-1 work. The LAN connection still doesn't work and I don't see what to do about it.</p>
<p>I sent them a bunch of emails detailing what was going on and what I had tried, Saturday and Sunday. It is midnight Tuesday and I have not heard back from them at all. I am not amused.</p>
<p>Watch this space for further updates. They have the ability to make me happy if they jump on this problem quickly, but it doesn't look good. </p>
]]></description>
<pubDate>Wed, 22 Feb 2006 00:38:59 GMT</pubDate>
</item>
<item>
<title>Government In Action</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=GovernmentInAction</link>
<description><![CDATA[<B>Government In Action</B>
<DIV class="precis">My wife recently signed her parents up for the new Medicare drug insurance. They got a letter contining this quote: "Although our monthly premium is $24.49, we will only collect $24.40 per month via your Social Security benefit, due to a minor computer processing issue. This small difference $1.08 requires no action on your part, absent further notice."</DIV>
<p>OK, I guess that $0.09*12 is $1.08 <em>per year</em>. Now explain the other letter we got that said, for another person:</p>
<p><em>Although your monthly premium is $24.50, we will only collect $24.50 per month via your Social Security benefit, due to a minor computer processing issue. This small difference $0.00 requires no action on your part, absent further notice.</em></p>
<p>I remember we used to read about this kind of error back when I started in the computing biz almost a half-century ago. The Stones play the Super Bowl. The classics are coming back all around us.</p>
]]></description>
<pubDate>Wed, 15 Feb 2006 18:30:00 GMT</pubDate>
</item>
<item>
<title>Proud To Announce</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=ProudToAnnounce</link>
<description><![CDATA[<B>Proud To Announce</B>
<DIV class="precis">Another in a long list of honors! I've been invited to give a keynote address at Waterfall 2006! My topic: Extreme Programming Uninstalled. (No matter what picture is displayed, I assure you that it isn't me. Some kind of typo. Yeah, that's it.)</DIV>
<p><a href="http://www.waterfall2006.com">www.waterfall2006.com</a></p>
]]></description>
<pubDate>Fri, 27 Jan 2006 08:17:35 GMT</pubDate>
</item>
<item>
<title>Essence Of Project Management</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=EssenceOfProjectManagement</link>
<description><![CDATA[<B>Essence Of Project Management</B>
<DIV class="precis">Vic Uzumeri wrote to the scrumdevelopment list: "I am now on the quest for the holy grail - the true essence of project management that can be explained in 20 minutes to a less-than-respectful 21-year old :-) If I find it, I'll let everyone know." Inquire within.</DIV>
<p>I presume that the essential purpose of every project is to build some thing: a piece of software, a bridge, a factory setup to build a new model of Fordrolet, some thing.</p>
<p>Then the essential question of the project's owners is "When will this thing be done," with a side order of "How are we doing and how do we know."</p>
<p>The ideal answer to those questions is of the form "We will be done by [date] because we are [amount] percent done, based on production of actual pieces of the [thing]," namely pieces of software, bridge, or factory.</p>
<p>In this light, the <a href="Page.aspx?display=EssenceOfProjectManagement">Essence Of Project Management</a> is to insist that the project produce actual pieces of the thing desired, at regular intervals, starting from the very beginning, continuing until the end.</p>
<p>In software development, I suggest that that means <a href="Page.aspx?display=RunningTestedFeatures">Running Tested Features</a>. Here are a couple of articles about that subject. </p>
<p><a href="http://www.xprogramming.com/xpmag/agiletopdown.htm">www.xprogramming.com/xpmag/agiletopdown.htm</a></p>
<p><a href="http://www.xprogramming.com/xpmag/jatrtsmetric.htm">www.xprogramming.com/xpmag/jatrtsmetric.htm</a> </p>
<p>My business, work, pleasure, hobby is helping people to produce Running Tested Features. Inquire within.</p>
]]></description>
<pubDate>Wed, 28 Dec 2005 06:42:43 GMT</pubDate>
</item>
<item>
<title>Tai Chi</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TaiChi</link>
<description><![CDATA[<B>Tai Chi</B>
<DIV class="precis">I'm starting my fifth year of taijiquan (T'at Chi) in January. It's good for the body and the mind, and I'm beginning to get the hang of it. A new class starts January 5th -- join me!</DIV>
<p>Around Christmas 2001, my wife Ricia and I were shopping for poinsettias or something at a local "natural" food store. One of us spotted a little sheet that mentioned that Richard Miller's taiji class was starting a new session in January. I had always felt that I would enjoy T'ai Chi, but as with so many things, I had never tried it. So I resolved to give it a try, and I've been doing it ever since.</p>
<p>The class meets three times a week, Monday and Thursday at 6 PM, and Saturday morning at 10. <a href="http://www.greatlakeswushu.com">www.greatlakeswushu.com</a> is Richard's site, describing the course, times, and place. I almost always get there when I'm in town, though I admit that I did cut class on Christmas Eve this year. </p>
<p>Taiji is very exacting, in that the moves are executed very slowly and in a relaxed fashion. Surprisingly, this is more difficult than doing them quickly. With quick moves, you can fake your way through, so long as you wind up in the right place at the other end of the move. Moving slowly, there are an infinity of things to pay attention to. The arms have to twist and move, the legs have to step, the feet have to go into the right positions, and each move has to begin and end at the same time.</p>
<p>I've found that in order to do it at all well -- and as an old fat guy I don't claim to be doing it <em>very</em> well -- I need to clear my mind of whatever thoughts might be giving me tension. Over time, I've learned to do that, and the resulting ability to stay calm when I'm feeling stress, to make the stress go away, has been of value in day to day life. </p>
<p>My practice after class is probably not ideal, but it has become part of my ritual on those days. I go to the Wendy's on Zeeb and Jackson, have a late dinner or lunch, and either read my current book or chat with George Azrak or other friends who drop by to talk about life, the universe, extreme programming, and everything.</p>
<p>If you're in the Ann Arbor area, Richard is starting a new session on January 5th: come and join us. If you're not near by, and there's something like this that you've always wanted to do, I suggest that you give it a try.</p>
]]></description>
<pubDate>Mon, 26 Dec 2005 09:46:54 GMT</pubDate>
</item>
<item>
<title>Happy Microsoft Posting</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=HappyMicrosoftPosting</link>
<description><![CDATA[<B>Happy Microsoft Posting</B>
<DIV class="precis">Microsoft responds, taking down erroneous TDD posting. Congratulations to them for stepping up, and to the community for cracking down.</DIV>
<p>I'm pleased to see and report that Microsoft has recognized the mistakes in the TDD article referred to in <a href="Page.aspx?display=SadMicrosoftPosting">Sad Microsoft Posting</a>, has removed that article, and plans to replace it with a better one.</p>
<p>Good job to Sam Gentile, and to all who helped draw this issue to the attention of Microsoft and the world.</p>
]]></description>
<pubDate>Thu, 24 Nov 2005 19:19:35 GMT</pubDate>
</item>
<item>
<title>Sad Microsoft Posting</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=SadMicrosoftPosting</link>
<description><![CDATA[<B>Sad Microsoft Posting</B>
<DIV class="precis">A woefully unsatisfactory Microsoft posting on new .NET features and how they assist with Test-Driven Development has caused a lot of consternation. It's just plain wrong.</DIV>
<p>The original article, at <a href="http://msdn2.microsoft.com/en-us/library/ms182521.aspx">msdn2.microsoft.com/en-us/library/ms182521.aspx</a>, describes TDD as a process where you get all your requirements understood, then define all your tests, then design an object's full interface, implement the tests, and make them work. It then goes on to explain how all these cool features in VSTS help with this "TDD" process.</p>
<p>The features might be good, but the process described is not TDD, nor a reasonable variation thereof. Test-Driven Development was clearly defined by Kent Beck, and has been described by others, such as Dave Astels, and even myself. It is a process where the tests are written one at a time (though one might make note of some possible tests for the future), and the tests are used to help define the design and develop the code. The Microsoft version of TDD is indistinguishable from a single-object waterfall model, to a first approximation.</p>
<p>The piece has one of the lowest rankings ever given such an article, largely because people who know what TDD is are outraged. Among the complainants is is Scott Bellware, whose first blog entry on the topic is at <a href="http://www.geekswithblogs.com/sbellware/archive/2005/01/21/20643.aspx">www.geekswithblogs.com/sbellware/archive/2005/01/21/20643.aspx</a> .</p>
<p>Michael Feathers also blogs in, at <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=137207">www.artima.com/weblogs/viewpost.jsp?thread=137207</a> .</p>
<p>Someone more paranoid than I am might conclude that Microsoft is intentionally trying to co-opt a perfectly good practice, pervert it, and tie it into mandatory use of their tools, which are, at this writing, about half as good as what's available in Open Source and commercial plug-ins for Visual Studio. I prefer to assume that it's just ignorance on their part, but I'm prepared to change my mind.</p>
<p>The article is shameful. If it isn't intentionally malicious, it is at least ignorant and ill-conceived. It should be taken down and replaced with something that correctly reflects industry usage of the TDD terminology.</p>
]]></description>
<pubDate>Tue, 22 Nov 2005 16:54:21 GMT</pubDate>
</item>
<item>
<title>Intelligent Design</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=IntelligentDesign</link>
<description><![CDATA[<B>Intelligent Design</B>
<DIV class="precis">Pat Robertson, "intelligent design", and acts of God.</DIV>
<p>In general, it is not my practice to comment here on religion, sex, or politics. (But in private ask me about my Dale Carnegie speech on that topic.)</p>
<p>I note these interesting items:</p>
<p>First, the notion of "intelligent design" as an alternative to the theory of evolution has been touted by its proponents, as being emphatically <em>not</em> the introduction of religion into the public schools, but just a different "scientific" theory.</p>
<p>Second, the citizens of the town of Dover, PA, voted eight proponents of "intelligent design" off their school board. </p>
<p>Then, "Religious broadcaster Pat Robertson warned residents of a rural Pennsylvania town Thursday that disaster may strike there because they 'voted God out of your city' by ousting school board members who favored teaching intelligent design," as found at <a href="http://seattlepi.nwsource.com/national/1110AP_Robertson_Evolution.html">seattlepi.nwsource.com/national/1110AP_Robertson_Evolution.html</a> .</p>
<p>Apparently Robertson sees some connection between "intelligent design" and the notion of "God" to which he subscribes. If that's true, then would teaching "intelligent design" not in fact be tantamount to teaching religion in the public schools? And is that not unconstitutional?</p>
<p>Now, for the record, when I was very young, I was put out for the wolves, but was instead found and raised by Jesuits, so that there is a lot of religious teaching in my background, and I believe that I turned out mostly all right. So I'm not opposed to religious teaching as a matter of course. I am opposed, however, to presenting any teaching in a way that is misleading as to its purpose. If people in this country want "God" put into the public schools, let them address that directly, by dealing head on with the constitutional issue. If they prevail ... so be it. </p>
<p>But introducing God under false colors -- that would be dishonest and misleading -- and as I understand the notion, God is not into that.</p>
]]></description>
<pubDate>Sat, 12 Nov 2005 17:05:08 GMT</pubDate>
</item>
<item>
<title>The Energy To Hustle</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TheEnergyToHustle</link>
<description><![CDATA[<B>The Energy To Hustle</B>
<DIV class="precis">A brief reflection on Jim Shore's entry on "Hustle", part of a thread of ideas on SenseOfUrgency. To hustle, we need energy, which needs to be sustained and rebuilt somehow.</DIV>
<p>Jim writes at <a href="http://www.jamesshore.com/Blog/Hustle.html">www.jamesshore.com/Blog/Hustle.html</a> .</p>
<p>Hustle is good; I see why Jim likes it, and why his description might fit the meaning of "Sense of Urgency" fairly well.</p>
<p>I wonder, though, whether hustle is sustainable, and if so, how we can sustain it. A development team, it seems to me, puts its physical, mental, and spiritual energy into building software. Something needs to replace that energy, and something needs to keep the team's work seen as the right place to spend that energy.</p>
<p>Success and rest are two ways that we get energy from our work. If we do not get enough rest, nothing will sustain our hustle for long. The wrong kind of pressure, such as pressure to work overtime, will get in the way of rest.</p>
<p>Success is also critical to sustaining energy. If we cannot see tangible results from our work, or if those results are not making someone happy, the work begins to see futile, and our energy is not replenished.</p>
<p>There are probably other ways to inject energy into a group, at least for a while. We can push on them; we can give them little presents or parties; we can congratulate them and otherwise treat them well; we can make sure that  they get enough rest.</p>
<p>But none of this will be sustainable if the team doesn't see success. A customer or manager who always wants more more more can be a real drain on energy, and ultimately makes work a place where investment of energy seems like a losing proposition. I've been that manager, and I've worked for managers like that, and I know it wears people down.</p>
]]></description>
<pubDate>Mon, 31 Oct 2005 23:24:56 GMT</pubDate>
</item>
<item>
<title>Math Art</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=MathArt</link>
<description><![CDATA[<B>Math Art</B>
<DIV class="precis">Found an ad for this lovely math-based art in this month's SciAm. Check it out: I think it's lovely!</DIV>
<p><img src="images/nexus_3q.jpg"/></p>
<p>Bathsheba Grossman, mathematician, programmer, artist, <a href="http://www.bathsheba.com">www.bathsheba.com</a>, produces these lovely metal sculptures at reasonable prices, because they are constructed by "metal printing" rather than casting or carving. </p>
<p>I've ordered one (Quintrino) and expect to ask for this one for Christmas. Or, if you feel you owe me a favor, feel free to send it to me. ;-&gt;</p>
<p>Should you decide to order one, please tell Bathsheba that I sent you.</p>
]]></description>
<pubDate>Thu, 27 Oct 2005 13:42:04 GMT</pubDate>
</item>
<item>
<title>Maximize Each Iteration</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=MaximizeEachIteration</link>
<description><![CDATA[<B>Maximize Each Iteration</B>
<DIV class="precis">Delivery of the running, tested, features the customer wants is the purpose of the development team. Sometimes the work we signed up for won't quite fit into the iteration. What should we do?</DIV>
<p><a href="http://www.xprogramming.com/xpmag/rtfmaximizeeachiteration.htm">www.xprogramming.com/xpmag/rtfmaximizeeachiteration.htm</a></p>
]]></description>
<pubDate>Fri, 21 Oct 2005 18:20:48 GMT</pubDate>
</item>
<item>
<title>It Really Works</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=ItReallyWorks</link>
<description><![CDATA[<B>It Really Works</B>
<DIV class="precis">I got a happy note from James Wagner, pointing to his blog entry called "TDD Really Works". It cheered me up to see someone having some success, and with him, I hope that more will have the same discoveries.</DIV>
<p><a href="http://wj-xp.blogspot.com/2005/10/tdd-really-works.html">wj-xp.blogspot.com/2005/10/tdd-really-works.html</a></p>
]]></description>
<pubDate>Thu, 20 Oct 2005 11:15:08 GMT</pubDate>
</item>
<item>
<title>Making The Date</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=MakingTheDate</link>
<description><![CDATA[<B>Making The Date</B>
<DIV class="precis">It seems like every development project begins with the date, and we're held responsible for "making the date". Making the date is not a development responsibility. Here's why.</DIV>
<p><a href="http://www.xprogramming.com/xpmag/jatmakingthedate.htm">www.xprogramming.com/xpmag/jatmakingthedate.htm</a></p>
]]></description>
<pubDate>Wed, 19 Oct 2005 19:56:05 GMT</pubDate>
</item>
<item>
<title>Candle Making</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=CandleMaking</link>
<description><![CDATA[<B>Candle Making</B>
<DIV class="precis">Jeff Nielsen, in the October issue of Software Test & Performance, draws a lovely analogy between Agile software development and making hand-dipped candles.</DIV>
<p><a href="http://www.stpmag.com/">www.stpmag.com/</a>, download the October issue. Here are a couple of paragraphs to give a taste:</p>
<DIV class="precis">What is fascinating about candle dipping is that at each step of the process you have a working candle.  Even though it doesn't look like much, the very first dip creates an embryonic candle--a tiny but functional version of the final product.  Each subsequent dip merely serves to increase the size (and capability) of the candle.  Because of this, you can stop whenever you want. You determine that the candle is "done" when it is big enough for your needs.</DIV>
<p>and ...</p>
<DIV class="precis">Agile software quality uses the "each dip" philosophy.  The easiest way to guarantee quality for the whole system is to ensure quality with each short iteration.  If we can keep the system clean after each bit of functionality is added, and if we can come out of each iteration in a defect-free state, we can have a high-quality system no matter when we choose to deploy.</DIV>
<p>This is good stuff. Check it out!</p>
]]></description>
<pubDate>Wed, 12 Oct 2005 15:43:14 GMT</pubDate>
</item>
<item>
<title>Irritating Magazine Scam</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=IrritatingMagazineScam</link>
<description><![CDATA[<B>Irritating Magazine Scam</B>
<DIV class="precis">I'm getting renewal offers from magazines, offering a "free" subscription for someone else if I renew now. That would be fine, except that my subscription is not expiring.</DIV>
<p>It has been my practice to subscribe to magazines that I like for multiple years. This saves a little money and saves me renewing. I have to be careful, though, because they have a tendency to send renewal notices two or three years in advance.</p>
<p>Just now, Newsweek and Wired have both sent an offer to give a "free" subscription to someone else if I'll renew now. That would be fine, except that neither subscription is nearing time for me to renew it. </p>
<p>I consider this to be false and misleading, and I wish bad cess on all their houses.</p>
]]></description>
<pubDate>Wed, 12 Oct 2005 11:14:31 GMT</pubDate>
</item>
<item>
<title>Stake In The Ground Podcast</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=StakeInTheGroundPodcast</link>
<description><![CDATA[<B>Stake In The Ground Podcast</B>
<DIV class="precis">New venue, a quiet study room at the Brighton Library. Topic, Jim Shore's "stake in the ground" reminding us to get back to the basics. Result, a new podcast.</DIV>
<p>Jim Shore posted a blog entry at <a href="http://www.jamesshore.com/Blog/An-Extreme-Stake-in-the-Ground.html">www.jamesshore.com/Blog/An-Extreme-Stake-in-the-Ground.html</a>, and on the list he said this:</p>
<p><em>In the early days of Extreme Programming, people praised it, and sometimes criticized it, as a "stake in the ground." XP, in the early days, was very clear about the right way to develop software. It took an extreme position and it was proud of that.</em></p>
<p><em>Since then, it's become popular to have a more, well, "world-weary" point of view.  And yet, I miss the clear idealism of the early days. There was something satisfying about saying, "We know what works and we're not going to compromise about our best possible work. If the environment doesn't allow great work, we'll change the environment, not change our work."</em></p>
<p>His comments have generated a lot of thought on the list, and Chet and I have been talking about it for a couple of days now. Our podcast is at <a href="http://www.xprogramming.com/media/shorebrighton.mp3">www.xprogramming.com/media/shorebrighton.mp3</a> and we  hope you'll enjoy it. It's a bit over 30 minutes long, which I know is long for some of you. We'll try to do better, but this is cut down from almost 90 minutes of material. Boy are my ears tired.</p>
<p>We're interested in your comments on the topic, and on the mechanics of the 'cast, as we try to figure out this complex and exciting new medium: speech.</p>
<p>''Coming "soon", a proper enclosure in the RSS. Advice welcome on that."</p>
]]></description>
<pubDate>Fri, 26 Aug 2005 05:56:37 GMT</pubDate>
</item>
<item>
<title>Off The Road Podcast</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=OffTheRoadPodcast</link>
<description><![CDATA[<B>Off The Road Podcast</B>
<DIV class="precis">Chet and I got together at Borders in Brighton yesterday, and talked about teams going "off the road" and what a process should do to address this concern. We recorded the chat and have put it up as a sort of podcast. We hope you enjoy it, and request your help.</DIV>
<p><a href="http://www.xprogramming.com/xpmag/podofftheroad.htm">www.xprogramming.com/xpmag/podofftheroad.htm</a></p>
]]></description>
<pubDate>Sat, 06 Aug 2005 15:02:52 GMT</pubDate>
</item>
<item>
<title>The Illusion Of Control</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TheIllusionOfControl</link>
<description><![CDATA[<B>The Illusion Of Control</B>
<DIV class="precis">Often my email exchanges tell me something about myself. Here's something I noticed this morning: I consciously choose to imagine that I have rather a lot of influence over the things that happen to me.</DIV>
<p>I choose the illusion that I can always get more of what I like and less of what I don't. I feel more like I'm steering, and less like I'm just being swept along.</p>
<p>Without this imagining, life would just be a bunch of weather reports. With it, I can find important relationships between what I do, and what happens next.</p>
<p>Imagining control gives my life a kind of theme. It encourages me as I look forward.</p>
<p>One day, I suppose, nature will disabuse me of this silly notion that I can influence what happens to me. Until then, though, it has turned out to be quite a useful illusion.</p>
]]></description>
<pubDate>Tue, 02 Aug 2005 07:31:26 GMT</pubDate>
</item>
<item>
<title>Agile Top Down</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AgileTopDown</link>
<description><![CDATA[<B>Agile Top Down</B>
<DIV class="precis">There's a recent thread on the Scrum list about how an executive or highly-placed manager could get Agile going. I've been one of those guys, and I know a bit about Agile, and here's how I'd proceed. First, focus management attention on cyclic delivery of running tested software. Second, provide the resources to learn how to do that.</DIV>
<p><a href="http://www.xprogramming.com/xpmag/agiletopdown.htm">www.xprogramming.com/xpmag/agiletopdown.htm</a></p>
]]></description>
<pubDate>Fri, 29 Jul 2005 15:17:16 GMT</pubDate>
</item>
<item>
<title>Speed Readers</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=SpeedReaders</link>
<description><![CDATA[<B>Speed Readers</B>
<DIV class="precis">Apparently psychologists are also speed readers.</DIV>
<p>I note that now psychologists are expressing concern that the new darker Harry Potter novel will have bad effects on the "Potter-crazy" children who have been reading the novels. See <a href="http://www.deccanherald.com/deccanherald/jul242005/update97272005724.asp">www.deccanherald.com/deccanherald/jul242005/update97272005724.asp</a> for example.</p>
<p>I also note that the book came out just a few days ago. Naturally, these scientists would not comment without having given the book a thorough reading, and probably correlating the book's content with Jungian symbology and the like. Would they?</p>
<p>What is it with the world's media? Why must so much news be made into bad news? Is the way things are the cause of the news, or is the news part of the cause of the way things are?</p>
]]></description>
<pubDate>Sun, 24 Jul 2005 07:42:19 GMT</pubDate>
</item>
<item>
<title>Test Driven By Intention</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TestDrivenByIntention</link>
<description><![CDATA[<B>Test Driven By Intention</B>
<DIV class="precis">Can Test-Driven Development and Programming By Intention play together? Or do they annihilate each other, like protons and antiprotons, or XPers and CMMers?</DIV>
<p>New article at <a href="http://www.xprogramming.com/xpmag/acsIntention.htm">www.xprogramming.com/xpmag/acsIntention.htm</a></p>
]]></description>
<pubDate>Tue, 14 Jun 2005 11:03:49 GMT</pubDate>
</item>
<item>
<title>Discount Shopping</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=DiscountShopping</link>
<description><![CDATA[<B>Discount Shopping</B>
<DIV class="precis">An odd experience with my Borders discount card ...</DIV>
<p>A while back, Chet got Borders (Bookstore) corporate discount cards for us. They offer a ten percent discount or something, and whenever I've used my card at a Borders store, it has been accepted without question. Until last week.</p>
<p>At the Borders at 72nd and Dodge in Omaha, I picked out two science fiction novels, and went to the checkout. I handed my card to the checkout woman, and she asked me "What class are you teaching with these books?" I signalled "huh?" and she asked again. (Thinking that I had NAKed her message, I guess.)</p>
<p>I said "That's a corporate card, not an educational card." She said "Well, then you can't buy things that aren't for your business." I said, "I've always had that card accepted for whatever I buy at Borders stores." She allowed as how she'd call her manager.</p>
<p>Her manager arrived and said "You can only use that card for things that are for your business."</p>
<p>I said, "What is my business?"</p>
<p>She looked at me, closed all her windows, rebooted, and said "What is your business?"</p>
<p>I said, "I'm an author."</p>
<p>She authorized the discount.</p>
]]></description>
<pubDate>Mon, 30 May 2005 15:05:28 GMT</pubDate>
</item>
<item>
<title>Been There Done That</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=BeenThereDoneThat</link>
<description><![CDATA[<B>Been There Done That</B>
<DIV class="precis">Bob Martin describes a couple of hours of pain that most of us have brought ourselves at least once. Read and heed!</DIV>
<pre>
<a href="http://www.butunclebob.com/ArticleS.UncleBob.JustTenMinutesWithoutAtest">www.butunclebob.com/ArticleS.UncleBob.JustTenMinutesWithoutAtest</a>
</pre>
]]></description>
<pubDate>Sat, 05 Mar 2005 07:33:56 GMT</pubDate>
</item>
<item>
<title>Bacon Whores</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=BaconWhores</link>
<description><![CDATA[<B>Bacon Whores</B>
<DIV class="precis">Real? Or Memorex? Either way, really odd.</DIV>
<p><a href="http://www.baconwhores.com">www.baconwhores.com</a></p>
]]></description>
<pubDate>Sat, 05 Mar 2005 07:33:38 GMT</pubDate>
</item>
<item>
<title>Scan Soft Bites Dog</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=ScanSoftBitesDog</link>
<description><![CDATA[<B>Scan Soft Bites Dog</B>
<DIV class="precis">Whining about a new product that didn't work.</DIV>
<p>I've used Scansoft products (Paperport) for a long time. Today they sent me one of their periodical offers and I found that PDF Create was on sale. I figured I needed a PDF creation capability and so I bought the program. It downloaded, typed in one of those cryptic serial numbers, waited for it to register, typed a million lines into their registration web pages and so on.</p>
<p>Then it was time to go give a talk. When I got to the airport, I found a Java error file on my desktop. Couldn't figure what it was but suspected PDF Create, since I hadn't done much else. I decided to use PDF Create to convert it.</p>
<p>PDF Create popped up some message about not being registered, and displayed the PDF with a big "TRIAL VERSION" watermark.</p>
<p>There seemed to be no place to enter magical codes in the very limited GUI. So I went to Scansoft's support site. Imagine my delight when I found that they wanted to charge me $9.95 to send them a request to make their installation work correctly, so that I could at least sort of use the program they sold me.</p>
<p>Most peculiar, Mama. We are not amused.</p>
]]></description>
<pubDate>Wed, 23 Feb 2005 20:33:42 GMT</pubDate>
</item>
<item>
<title>Little Help Gif Writer</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=LittleHelpGifWriter</link>
<description><![CDATA[<B>Little Help Gif Writer</B>
<DIV class="precis">Things are progressing on the site design. At least one thing needs to be programmed, in C# or possibly Ruby. I have a mild leaning toward C#. Advice and help wanted ...</DIV>
<p>The site uses a special font in some of its messages and menus, which will therefore need to be rendered as GIF files, black on transparent, for use as buttons or just as text. I haven't dug into .NET yet, but my recollection is that there's a class or two that can help with that. Seems there's a bunch of stuff in System.Drawing and in the Graphics class, the Draw String method, which I guess isn't that string that holds your sweat pants up.</p>
<p>The first use of this facility will be infrequent, as the menus and messages won't change often. A story for later on, though, is to have the feature available at page display time, on the ISP. (My ISP is .NET-enabled.) That story calls for some kind of a .NET call embedded in the page, referring to a file containing a string, e.g. "fooString", perhaps looking the string up randomly or the like. If there is a file named fooString . gif, the call displays that file. If there isn't, it creates fooString . gif by rendering the string in the special font into the GIF file, and then displays it.</p>
<p>My guess is that a day or two of coding is involved. Maybe Chet and I, or Paul Friedman and I, will get to coding it up. One example from the Visual Studio help is</p>
<pre>
public void DrawStringFloatFormat(PaintEventArgs e)
{
// Create string to draw.
String drawString = "Sample Text";
// Create font and brush.
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// Create point for upper-left corner of drawing.
float x = 150.0F;
float y =  50.0F;
// Set format of string.
StringFormat drawFormat = new StringFormat();
drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;
// Draw string to screen.
e.Graphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);
}
</pre>
<p>That could probably be warped to work on a file pretty readily. So my guess is that with a little messing about, this will be pretty simple. If a reader out there is already on top of this, please drop me a note, including the string "[ron]" in the subject to get through my spam filters, at ronjeffries @ acm . org.</p>
<p>Thanks!</p>
]]></description>
<pubDate>Sun, 06 Feb 2005 20:10:52 GMT</pubDate>
</item>
<item>
<title>Now On Skype</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=NowOnSkype</link>
<description><![CDATA[<B>Now On Skype</B>
<DIV class="precis">Chet and I were at Panera and wanted to try Skype. So in order to talk to each other, we had to leave Panera and go to our homes. What's wrong with this picture?</DIV>
<p>Roy Osherove asked whether he could interview me for the series of interviews he's doing at <a href="http://www.Teamagile.com/mainpages/interviews.html">www.Teamagile.com/mainpages/interviews.html</a> . He's using Skype, so I needed to download the program and get a microphone. </p>
<p>It mostly works. Our experiments to date suggest to me that the program sometimes consumes my whole machine, and that talking to someone who has you on speakers instead of phones can lead to echo echo cho o.</p>
<p>Should you be interested in Skyping, I'm registered as ronjeffries. Q'uelle surprise. I won't always be logged in but if I'm here an email should alert me.</p>
]]></description>
<pubDate>Fri, 04 Feb 2005 14:11:00 GMT</pubDate>
</item>
<item>
<title>Little Help</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=LittleHelp</link>
<description><![CDATA[<B>Little Help</B>
<DIV class="precis">Here's an update on what's happening with the XProgramming update, for those who have been interested in helping!</DIV>
<p>A number of people kindly wrote with ideas for XProgramming, and offering to help. I think I've replied to most of them, asking them to Watch This Space for information on what's happening. The most interesting thing was this:</p>
<p>While I was e-mailing back and forth with a number of people, the topics mostly seemed to be <em>I'm interested, what could I do to help?</em> and <em>I'm interested, what might be paid, and on what basis?</em> With one exception. After an exchange or two, Anna Lissa Cruz said she'd take a look and started sending me proposed solutions long before we had agreed on a deal. It was as if she started showing up to work assuming that I'd employ her if I liked her work. Before I knew it, she had the CSS job, because she was doing the CSS job. The contrast struck me, and I'm sure there's a lesson in there for all of us -- certainly for me. </p>
<p>Meanwhile, I had been getting some design assistance on another site I'm working on from Deb Hartmann (who will be running the Open Space at XP Day in Toronto this month). She has a good eye for design and color and I asked her to take a look. So for the past few weeks, we've been looking at designs and getting Anna Lissa to try new ones. I think we're converging on something that will work.</p>
<p>When we get closer, I might invite a few folks to take a look, or I might just release it and take feedback. The latter seems more in the Agile style to me.</p>
<p>Then, however, some real work starts. There are a few things that will need to be done over time:</p>
<p>* I want a little more active stuff on the site. Nothing whirly, don't panic, but a bit smarter book ad rotation and such. Maybe more feedback of some kind, or comments if people want to do that.</p>
<p>* I would like to converge the blog, written in C#.NET, with the site, written with Ruby, Java-driven XSLT, and a couple of Javascript thingies. I'm leaning toward doing everything in C#.NET because I kind of know how. That might include, at some point, redoing the Ruby/XSLT: I'm not sure yet.</p>
<p>* There need to be more indexes of article types</p>
<p>* There needs to be an easier way for people to submit articles.</p>
<p>* ... and so on</p>
<p>As those things come up, if it looks like I can use programming help with them, I'll be posting here under <a href="Page.aspx?display=LittleHelp">Little Help</a> headings to see if folks would like to chip in for pay or fun. Listings on the Credits page, of course. Keep watching, and thanks!</p>
<hr/>
<p><strong>Original Posting</strong></p>
<DIV class="precis">It's time for an update to XProgramming.com, and I'm trying to launch another site as well. I'm looking for a little help. I can't pay much, but I can pay something. (updated 20JAN05)</DIV>
<p>Xprogramming needs a couple of things: a more modern look and feel, and better organization. I've got some ideas along both those lines, and would welcome more. So if all you have is ideas, that's great. Either way, use the subject "[ron] Little Help", and write to ronjeffries at acm dot org.</p>
<p>But I'm also interested in getting some for-pay help. Graphical design, perhaps. Skill in XSL or Ruby might help with upgrading the site generation, especially the indexing. If you have the ability to make a better site, and the inclination to work on it for a few bucks, please get in touch. (Free help is also welcome, of course, but I'm happy to pay what I can afford.)</p>
<p>Get in touch with ideas or offers. Thanks!</p>
<p>20JAN: Responses are trickling in with various offers. I'm replying briefly to each, and collecting them. I'll decide what to do shortly, and will post general ideas and topics here in this article -- and perhaps others.</p>
]]></description>
<pubDate>Thu, 03 Feb 2005 19:27:10 GMT</pubDate>
</item>
<item>
<title>The Mighty Quinn</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=TheMightyQuinn</link>
<description><![CDATA[<B>The Mighty Quinn</B>
<DIV class="precis">When Manfred Mann first recorded Bob Dylan's song Quinn The Eskimo, my son Ron, in his snowsuit, reminded us of a little eskimo. It's very cold here, indoors and out, and I'm reminded of mighty eskimos, and that song.</DIV>
<pre>
Ev'rybody's 'neath the trees,
Feeding pigeons on a limb
But when Quinn the Eskimo gets here,
All the pigeons gonna run to him.
Come all without, come all within,
You'll not see nothing like the mighty Quinn.
</pre>
<p>You can listen to the whole tune at <a href="http://www.diamondgeezers.org.uk/sounds/eskimo.html">www.diamondgeezers.org.uk/sounds/eskimo.html</a> . </p>
<p>You'll not see nothing like the mighty Quinn.</p>
]]></description>
<pubDate>Fri, 28 Jan 2005 10:38:44 GMT</pubDate>
</item>
<item>
<title>Ann Arbor News</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AnnArborNews</link>
<description><![CDATA[<B>Ann Arbor News</B>
<DIV class="precis">Letter to my carrier and the circulation manager of the Ann Arbor News, relating to the interesting delivery habits they have developed for Sundays and holidays.</DIV>
<p>Here is a picture of the “delivery” of our copy of the Ann Arbor News this morning, Sunday, January 23, 2005.</p>
<p><img src="images/pict1184.jpg"/></p>
<p> </p>
<p>As you can see, the paper is about six or eight feet out into the snow, on the other side of a rather deep drift. You can also see that the road is plowed right up to the paper delivery tube.</p>
<p>What is interesting is that our paper arrives nicely in the paper tube about five or six days a week. It is usually on the ground (or in the snow) on Sunday, and often on holidays, and occasionally on other days. </p>
<p>I would like to know whether there is something that we could do to help you deliver the paper properly in the tube every day. It is possible that the tube is too low, as it is attached to the mail box post. If that’s the case, please feel welcome to have someone come out and install one of those fence posts that you use to mount the tube to whatever height you prefer. </p>
<p>Again, if there is anything reasonable that we can do here to help you to do the job of delivering the newspaper correctly, please let us know. For your convenience, additional pictures of how the paper is delivered to us will be made available on my highly-ranked web site, at <a href="Page.aspx?display=AnnArborNews">Ann Arbor News</a>. I’m sure that the other visitors to my site will also enjoy reading about our experience.</p>
<p><a href="http://www.xprogramming.com/newspaper/index.htm">www.xprogramming.com/newspaper/index.htm</a></p>
<p>[signed]</p>
]]></description>
<pubDate>Sun, 23 Jan 2005 09:04:28 GMT</pubDate>
</item>
<item>
<title>Increasing Goodness</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=IncreasingGoodness</link>
<description><![CDATA[<B>Increasing Goodness</B>
<DIV class="precis">Dale Emery said, "Finding a bug doesn't decrease badness. It increases goodness." Herein, musings thereupon. (* see apology.)</DIV>
<p>I may actually have started the thread in which Dale makes this point. Certainly I've contributed to it, because while I'd rather know about a defect than not know, I don't consider it to be good news when I find one. On a testing list, this is not a popular view. I suppose doctors don't like it when, after applying all their skills to figure out what ails you, and revealing that you have terminal acne of the mind, you say "That's bad news."</p>
<p>Still, I say, it <em>is</em> bad news.</p>
<p>Now Dale, who is much more reasonable than I am, makes all the right points. So do others on the list: We need this information, now we have the ability to make things better, it makes testers feel bad if everyone kills the messenger, and so on. I do understand this, truly I do. </p>
<p>Dale says this:</p>
<p><em>The CEO and the Director both pay testers.  They both believe that testing is necessary.  But I think they see testing as, at best, reducing badness.  A necessary evil.  I believe that this attitude ... leaks out in executives' and managers' words, tone, actions, and other non-verbal messages.  Testers get the message: execs see us as an expense, not as producers of value.  That's not a happy message to get about the value of the work you do, and the value your company places in the work you do.</em></p>
<p>Yes, I get it. I want everyone to be happy, even testers. I really do. But I have this affliction: I see everything from my viewpoint. And my viewpoint happens to be that the unattainable ideal, perfection, is what we're aiming at.</p>
<p>"We only found one bug in the system this year," says Joe.</p>
<p>"Who screwed up?" asks Jeffries, or if he's feeling really great, "What action has been taken to be sure that kind of mistake never happens again?"</p>
<p>This viewpoint often gets on people's nerves. I'm always trying to make things better. At the same time, this relentless dissatisfaction with imperfection has been part of my having accomplished some nifty things over the years.</p>
<p>I say "part of," not "the cause of." Some years ago I might have said the latter. Who knows, though, maybe if I had been more focused on "good enough", rather than on "perfect", I might have accomplished even more.</p>
<p>But even now my spirit reads that as <em>maybe if I had been focused on mediocre instead of good</em>, and I cringe away. No, dammit. There is <strong>good</strong>. I was born to seek the good, not the mediocre! Get thee behind me, Mediocre!</p>
<p>However, look at me. I publish a book showing how I program, warts and all, bugs and all, confusion and all. I'm fat and in poor condition. My room is a mess. I pray every night for the Queer Eye guys to come and tell me how to dress. Do you imagine for a moment that I don't know how imperfect I am? How, then, can I push for perfection all the time? Thanks for asking.</p>
<p>I equate "settling" with complacency. Yet, to ship anything, we have to settle. So I don't want to stop with "Good enough, ship it." I want "Good enough, ship it, we know how to do better next time, and we will."</p>
<p>So, Joe, don't come to me and say "We found one bug in the system." Come to me and say "We found a bug in the system this year. We fixed it before anyone ever noticed it was there, and we found a place in our process that let it slip through. We tightened the net of testing, we refocused our attention on that kind of work, we set a reminder in Outlook to pop up and refresh us every 30 days, and we bought a poster that says 'We Kill Bugs Dead'."</p>
<p>Good job, Joe, keep up the good work. I hate bugs. I'm glad you do, too. Kill the bastards.</p>
<p>My feelings relate to a blog entry that Brian Marick pointed to recently, at <a href="http://www.testing.com/cgi-bin/blog/2004/10/03#testing-metaphor">www.testing.com/cgi-bin/blog/2004/10/03#testing-metaphor</a> . In that article, notice the picture of the dinosaurs. Brian is asking testers, and everyone involved, to join the team, to be the same kind of creature as the rest of the team, and to protect the "growing work". That's what I'm talkin' about.</p>
<p>Testers often talk about the value of independence, as if they had a monopoly on that, or even a supply of it. And they often really enjoy finding bugs in other people's code. Even though I often feel that this is about like me criticizing a painting when I can't draw a decent stick figure, I do often make use of the "loyal opposition" aspect of independent testing. I tell my programmers that their job is to put the testing department out of business by making sure that they never find any bugs in our code. Even before we had techniques like TDD, that worked well enough to give my groups an order of magnitude fewer shipped defects than other departments in my company. The "black hat" tester role can be a fun one and can be motivating.</p>
<p>But Brian is onto something, and it might be something that completes Dale's thought. Dale wants finding a bug to be good. I'm not capable of assessing his internal reasons, but for sure there is the very real point that "loyal opposition" can turn into real opposition, and that cooperation really does work better than contention. <em>(I say this knowing who I am, and what I do. Don't bother to write to me about it. My role is to piss you off. It's a job. I have to do it. I really don't like the work, but I'm good at it.)</em></p>
<p>Anyway, Brian's dinosaurs complete Dale's thought for me. Defects found <em>inside the team</em> and fixed are nearly as good as defects that never happened at all. Nearly: we do still have an opportunity to find them sooner, fix them faster, and most of all inject fewer of them. </p>
<p>And thus my clever scheme is revealed. My push to put independent testers out of business is related to my push to have testers be a part of the team. To have them become a part of the team, they may have to take off their evil velociraptor rape and kill the precious baby program suits and put on the agile triceratops outfit instead. Although, frankly, I think the velociraptor suit looks more agile. Never mind, it's just a metaphor.</p>
<p>Point is, bugs escaping any loop is bad. Move bug prevention, finding, and fixing inside the tightest loop you can. Test outside, if you must, to show that your testing inside is working. That's my advice. And the reason is that bugs are bad, even if you know they're there. Easier to kill if you know they're there. But still bad. </p>
<hr/>
<p><em>* Dale: I'm sorry that the original posting angered you. It was intended to be amusing, not insulting. Your thoughts are always valuable to me, that's why I write about them. I'm distressed that what I thought was good-natured teasing was apparently not. --R</em></p>
]]></description>
<pubDate>Fri, 21 Jan 2005 16:38:10 GMT</pubDate>
</item>
<item>
<title>Site Update</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=SiteUpdate</link>
<description><![CDATA[<B>Site Update</B>
<DIV class="precis">XProgramming.com downloads page updated with C++ for SmartPhone, and a new planning tool. Site now has "About Us" navigation page with contact info, thanks to a suggestion by John Schulz, whose own reply email doesn't work. Thanks, John!</DIV>
]]></description>
<pubDate>Wed, 19 Jan 2005 07:59:37 GMT</pubDate>
</item>
<item>
<title>Open Letter</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=OpenLetter</link>
<description><![CDATA[<B>Open Letter</B>
<DIV class="precis">Dear FBI: The most important thing wrong with a $170 million project done as you did it is that it is possible to make a $170 million mistake. Next time, consider doing your project interatively and incrementally. The other kind rarely work, and the statistics are clear. Whoever was in charge of it ought to be tried for felony ignorance.</DIV>
]]></description>
<pubDate>Tue, 18 Jan 2005 23:17:33 GMT</pubDate>
</item>
<item>
<title>No Time For Fun</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=NoTimeForFun</link>
<description><![CDATA[<B>No Time For Fun</B>
<DIV class="precis">Work really isn't all that serious, even if we do spend much of our lives at it. Truth be told, most of life itself isn't really all that serious, when you get down to thinking about what's important. Lighten up, get a little whimsical, appreciate the odd things going on around you. If you let your sphincter get too tight, your gaseous expulsions will only be audible to bats. What good is that?</DIV>
]]></description>
<pubDate>Tue, 18 Jan 2005 22:49:26 GMT</pubDate>
</item>
<item>
<title>All Over The Map</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AllOverTheMap</link>
<description><![CDATA[<B>All Over The Map</B>
<DIV class="precis">New article in XP Magazine: Our mission, should we choose to accept it, is to "spike" a map drawing program. We know nothing about maps or drawing, and very little about programming. How might we proceed?</DIV>
<p><a href="http://www.xprogramming.com/xpmag/dbcalloverthemap.htm">www.xprogramming.com/xpmag/dbcalloverthemap.htm</a></p>
]]></description>
<pubDate>Sun, 16 Jan 2005 19:59:07 GMT</pubDate>
</item>
<item>
<title>Practice Thats What We Do</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=PracticeThatsWhatWeDo</link>
<description><![CDATA[<B>Practice Thats What We Do</B>
<DIV class="precis">Article in XP Magazine: To really take an important role in practice, ideas need to get built into people's heads. Since most practitioners don't read much, they get most of their ideas from people they talk to, things they can read quickly, and most of all, from ... practice.</DIV>
<p><a href="http://www.xprogramming.com/xpmag/jatPractice.htm">www.xprogramming.com/xpmag/jatPractice.htm</a></p>
]]></description>
<pubDate>Sun, 16 Jan 2005 19:56:59 GMT</pubDate>
</item>
<item>
<title>Alien Invasion</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=AlienInvasion</link>
<description><![CDATA[<B>Alien Invasion</B>
<DIV class="precis">What if Earth was invaded by a technologically superior alien race, who were evil and who didn't share any of our values and morals? The story has been told time and again in science fiction.</DIV>
<p>A number of books have come out recently, featuring the collected works of some of the science fiction originals: John Campbell, Murray Leinster, Cyril Kornbluth, and other classic SF authors. I've been reading these books, refreshing my memory of those authors and discovering stories that I had missed Lo! these many years ago.</p>
<p>A continuing theme in SF has always been the <a href="Page.aspx?display=AlienInvasion">Alien Invasion</a> of Earth. Movies include War of the Worlds, Independence Day, Mars Attacks, and many more. In books and stories there are so many treatments: The War Against the Rull; Footfall; the Human-Posleen Wars series; Starship Troopers; Ender's Game; the list goes on forever.</p>
<p>These stories have much in common. Technologically powerful invaders arrive. They do not share our values and they want to force us to live in ways that are wrong for us. They want to use us in ways that we often do not even understand. They don't respect our ways, or even our needs.</p>
<p>Some people try to go on living their lives amid the aliens. Things change, society gets rougher and poorer, but "You've got to go along to get along" is one way that people deal with the situation. Often it seems that the majority of the population in the book are in this class.</p>
<p>There are always collaborators with the enemy in the stories. These people get into positions of power over others, and, in often horrible ways support the subordination of their own fellow humans. </p>
<p>Often Man's real military forces are practically wiped out early on in the invasion. And that's where the real story starts.</p>
<p>Communities of resistance grow up. Often these look like ordinary towns, but inside them there is a growing cell of resistance, often encompassing almost the whole community. These communities work to undermine the aliens, often waiting months or years to spring some trap or bring about some revenge against the invaders.</p>
<p>There are always sub-stories about "go along" folks who lose a family member to the aliens, only then to become charged with fervor, recognizing at last that these creatures are evil and must be erased from the face of the earth.</p>
<p>There are probably at least a hundred of these books and stories in science fiction, and hundreds more in our spy and military fiction. They are all the same: the powerful invading aliens are resisted forever, in the streets and towns, by brave adults and brave children. A horrible toll is always taken on both sides. Finally, the earth people win a better place, driving the aliens out. Often, in a final spasm, Earth takes the battle to the aliens, wreaking havoc on their home planet and driving them back, weakened, beaten, destroyed.</p>
<p>I think we all like to think that if our country was invaded, whether by aliens, or evil communists, or Canadians driven mad by the cold, that our towns and villages would fight forever, that our people would rise to the occasion and drive those bastard Canadians back where they came from. We would like to think that while we're pretty easy-going, maybe going just a little soft, when push came to shove we would reach down, toughen up, find valor in ourselves, resist, fight back, and take the battle to the enemy. Some of us might need a push, some personal affront like having our son or daughter blown up in the front yard, but sooner or later, by God, we'll get mad and then watch out, Canada, it'll be back to the tundra for you.</p>
<p>The reason I bring this up, though, is that there's an invasion going on right now, of a technologically superior force with different moral values, against a smaller, weaker opponent. They're just like us, except maybe with fighting back a lot closer to the surface, and with a lot less to lose. </p>
<p>Is science fiction prophecy? Quite often, it is. I rather hope that this time, it isn't.</p>
]]></description>
<pubDate>Wed, 05 Jan 2005 05:41:35 GMT</pubDate>
</item>
<item>
<title>Wheres The Beef</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=WheresTheBeef</link>
<description><![CDATA[<B>Wheres The Beef</B>
<DIV class="precis">Where's the Spec, the Big Picture, the Design? These questions were recently asked on the XP group, in the context of a review of Mike Cohn's User Stories Applied. The answers are a function of the whole project, not just User Stories.</DIV>
<p><a href="http://www.xprogramming.com/xpmag/docbigpictureandspec.htm">www.xprogramming.com/xpmag/docbigpictureandspec.htm</a></p>
]]></description>
<pubDate>Tue, 28 Dec 2004 06:16:44 GMT</pubDate>
</item>
<item>
<title>New Articles</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=NewArticles</link>
<description><![CDATA[<B>New Articles</B>
<DIV class="precis">Introducing a new series of articles.</DIV>
<p>I've been creating a series of new articles on the main site, revolving around Smalltalk and the bowling game example, which turns out to be surprisingly rich in ideas and possibilities. They start at: <a href="http://www.xprogramming.com/xpmag/bowlingforsmalltalk.htm">www.xprogramming.com/xpmag/bowlingforsmalltalk.htm</a>, and are all listed in the site index, most recent first as always.</p>
<p>Check them out, and enjoy!</p>
]]></description>
<pubDate>Tue, 28 Dec 2004 06:14:45 GMT</pubDate>
</item>
<item>
<title>Primal Rhythm</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=PrimalRhythm</link>
<description><![CDATA[<B>Primal Rhythm</B>
<DIV class="precis">I got up at 3:30 to tell you about this dream.</DIV>
<p>In a dream, I was wandering in that strange smooth manufactured city that I   visit sometimes. I was with Nathaniel Talbott and someone, perhaps Dave  Bogus. I had used the word "fucking" and I think had been in that somewhat profane mode I get into sometimes. Nathaniel made a light comment about how my language had changed, indicating in his way as a Christian and confident in my friendship and good will that I was talking in a way that he didn't approve.</p>
<p>I read him a little rant as we walked, indicating that he wasn't really authorized to guide me in that way, and closed with a little apology, nonetheless, because I didn't want to speak in a way that offended him, or  anyone.</p>
<p>We came to that place where the bronze shapes are. As always, the ceiling was low, and there was a raised sort of walled plain, perhaps thigh high, with sand in it, where the shapes lived and moved. Nathaniel was morphing into brother Tom and back as we watched the moving shapes.</p>
<p>Most of the shape movement originated over to the left, at about ten o'clock. There, the shapes seemed to come mostly out of an opening clockwise of ten o'clock, and to leave in that same opening, mostly going counterclockwise from ten, and usually downward. The mechanisms that moved the shapes would often make them pirouette at that location, turning under the control of the big gears on which they ride. The geared tracks and mechanisms there would take a piece that had been moving smoothly, put it through a quick turn or two, then it would disappear down to the left or occasionally off to the right of ten o'clock.</p>
<p>There in that switchyard stood brother Patrick, who was morphing into Steve Weiss sometimes. He was fascinated by the movement of these beautiful sculptures that inhabited the garden. Sometimes the turning ones would come very close to striking him and he would have to press back against the wall to avoid being crushed. Not far from Patrick someone was sort of narrating, a bit like a docent might, droning something about the room and the pieces and the now unknown sculptor. I thought the pieces looked a bit like Berrocal, a bit like Daniel Brush.</p>
<p>The room itself, and all the pieces, were of a tarnished bronze. I recall one piece in particular, perhaps three feet high, or sometimes six, shaped a bit like the top of a skull or a cranium-shaped mushroom. Its upper part was mostly tarnished partly shiny, while the neck stem, back from the front of the cranium a bit, positioned toward the rear, was a shiny bronze cylinder, off center toward the back of the head shape. It moved and orbited, stood still, moved again. It was prominent in my notice for a while. Then it too left the area as new pieces arrived and circled around. But all the pieces were abstract shapes in bronze, partly tarnished partly shiny.</p>
<p>There in front of Nathaniel / Tom and me were some pieces the sculptor had  left where you could touch them. Some pieces were loose, intended to be  picked up. I struck one on another, as was intended, and it made a metallic ting. Striking another place, a different ting. I began to pick out a little rhythm, a bit like a drummer on his cowbells and cymbals, all light metallic tings. I picked up another piece of metal. Striking the same places with the other piece made a slightly different tone.</p>
<p>I began to tick them rhythmically, a two measure four-beat rhythm tatatata  tatatata, always tapping different things sometimes very syncopated TA....TA tata..ta, sometimes often hitting every beat emphasizing one tataTAta Tatatata, moving around the area of small pieces, picking up different bits, tapping always tapping always this single kodo kind of beat tatatata never missing never varying as my two hands worked in unison left right left right tatatata tatatata.</p>
<p>I moved my attention to a strange shape, kind of three or four slanted pieces of metal, like a louver of some kind, flat sides, odd bits sticking out, almost like a bronze replica of some discarded chimney part. The sound there, as I tapped the slanted sheets, was more drumlike but still metallic TaTATATA tingtatata. I was rocking, improvising on and on. I could feel Tom behind me, at about four o'clock, marveling at the awesome steady rhythm I was producing, a concert of rhythmic metallic sound steady tata tata tata tata. I could have gone forever, the sound I was making was so primal, so beautiful. But it was time to stop. I moved back briefly to the small pieces that ting for a little riff there then back to the louver box for the ending tatatata tata..ta tatata.. tatatata TA.</p>
<p>It was lovely. I lay awake for a while remembering the odd place and my beautiful rhythms. Then I got up to write it all down.</p>
]]></description>
<pubDate>Tue, 14 Dec 2004 16:01:29 GMT</pubDate>
</item>
<item>
<title>Frequent Releases</title>
<link>http://www.XProgramming.com/Blog/Page.aspx?display=FrequentReleases</link>
<description><![CDATA[<B>Frequent Releases</B>
<DIV class="precis">We've been talking a bit about frequent releases, the notion of "deployed" vs "deployable", the "cost" of deploying, and so on. I'd like to bring out just two points: (1) The most common reasons given and used for infrequent deployment are evidence of poor software development practice; (2) Infrequent shipment is evidence of poor business practice.</DIV>
<p><strong>Reasons Given for Infrequent Deployment</strong></p>
<p>In my experience, and there's been a lot of it, the most common stated reason for deploying infrequently is "the customers don't want it." In my experience, the most common <em>real</em> reason for deploying infrequently is that when we deployed last time, we nuked the customers with so many defects that they and we are scared to do it again.</p>
<p>When we face people with this truth, their most common come-back is "But if we change features, the customers would have to retrain everyone, and we would have to retrain all our support people. There's more to it than just bugs." When we look at the truth of this we find that we can readily change features by adding new items to the menu that people don't have to use, we can build features that walk you through doing whatever the new thing is, and that in fact we don't need to build software that requires retraining every time we release a version.</p>
<p>"Yes, but we have to rewrite the manual and reprint it." I answer: "If your developers can refactor and develop real running tested code between now and when the feature is ready, a tech writer can certainly update the documents in the same amount of time." And I can point to teams that do it just that way. No one rewrites the manual every time out: they update it.</p>
<p>I can't think of a case I've seen where all the reasons didn't come down to just one: we're afraid that it won't work.</p>
<p><strong>Fear of Defects is Evidence of Poor Development Practice</strong></p>
<p>If we're afraid of there being defects in the code, that means we don't know whether there are defects or not. Otherwise we would have said "There are exactly 11 defects in the code, and we couldn't possibly ship until they are fixed."</p>
<p>Therefore, our development process is producing code of unknown quality. That would be bad. Our code is untested, and uninspected. Otherwise we'd know. But we know, as Agilistas, what to do about that. XP calls the relevant practices Test-Driven Development, Acceptance Tests, Pair Programming. Whatever you call them, they are about knowing rather than fearing what the situation is. They're about rapid feedback.</p>
<p>And we know that the best thing to do after discovering a defect right away is to fix it right away rather than build on it.</p>
<p>If an organization fears release, it's evidence that they aren't doing the right things, or that the word has not be