Tablet UML News


News and commentary (and whatever else catches my eye)
from Martin L. Shoemaker, author of Tablet UML
and UML and Tablet PC instructor for The Richard Hale Shaw Group

Wednesday, August 16, 2006

A stray thought
We are the sum of what we were. We stand at the intersection of where we've been and where we can go.

(Inspired by Scott Kirwin.)
But, but, but...
OK, look. I'm way too old to appreciate teen comedies. While I'm perhaps a little more tolerant of "chick flicks" than some guys, I don't go out of my way to see them. And I think I can safely say that I've never sat through a complete Hilary Duff feature, not even something as short as a music video. (I caught the start of one of her videos once. I don't normally use the word "insipid", but it's what came to mind.)

So despite the appearance of Brent Spiner, I doubt that I'm anywhere near the target audience for Material Girls. It sounds dumb, from start to finish.

But, but, but... But I just saw the ad; and at the very end — almost tacked on, it sounded like — they said, "Directed by Martha Coolidge."

Martha Coolidge is, in my opinion, one of the most under-appreciated directors in the business today. I first learned her name as the director of one of the most under-appreciated comedies of the 80s. That film — seemingly another throw-away teen comedy, just one from my era — really has a lot more depth than you might think from the song-tie-in title. Now at least some of that is due to the talents of a guy who was then a relative newcomer, and who easily dominated the film: Nicolas Cage. He has since gone on to dominate a lot of my favorite films.

But Ms. Coolidge also deserves a fair share of the credit. The film really has a lot going on for it. As one friend once said, "Almost every single character had his or her own interesting story, and could have been the focus of the film." I know some people don't appreciate this film; but that's their loss.

And that's not the only classic she's done. She directed Real Genius, a true classic of the college geek comedy genre. She directed the pilot episode of Sledge Hammer!, a classic 80s satire series. She directed Rambling Rose, the first film where I ever saw any sign of real talent in Laura Dern.

And she directed a lot of other films and TV episodes that never seemed to get a lot of attention. And yet every one I've seen has been extremely well-done. Like I said, under-appreciated. To the point where my ears really perk up when I hear "Directed by Martha Coolidge."

So I could be wrong; and I can't spare the time to go to the theater and find out. All right, all right: so I don't want to stand out in the Hilary Duff crowd like a sore thumb. (But maybe if I borrowed a niece for an excuse...) But I'm predicting this will be much better than a typical teen film.

Sunday, August 13, 2006

Random observations from the wedding
Good timing! A week earlier, and the guests would've melted down in the parking lot.




Mostly I don't notice the passage of years. But sometimes, it's unavoidable. Such as when you look at the groom and think, "Hey, this is a much nicer ceremony than his parents had..."




Ladies, I would never try to tell you not to get a tattoo. While I may find it foolish, it's your choice. But when you do, you should start shopping for your wedding dress at the same time, so you can make sure they look good together.




It was good to see the mother of the groom dancing with her ex-husband (the father of the groom) to the same song they danced to at their wedding.

It would even have been kinda sweet, if it hadn't been Van Halen's Running with the Devil.




School librarians and teachers are people, too. They just never show it when you're in school.




Some family trees are way too complicated for me to follow. And I was there watching much of the complication happen, and it's still too complicated for me to follow.




All DJ services are not created equal.




All wedding reception meals are not created equal.

(And if I can find the recipe for that cornbread casserole...)




All weddings are disasters. As long as the bride and groom never notice, you win.




Some people do grow up, but they take a little longer than usual.




I've known the groom since birth, so I was happy to give up a night of gaming to be there for him.

And I was only a little envious of the husband who wasn't there because he was at GenCon instead.




When the doctor says she won't live to see five, ten and thriving is good. Ten and bouncing around on the dance floor with all the other kids is a miracle.




We need a list of wedding reception songs that should simply be retired. I'll start:


  • The Hokey Pokey

  • The Chicken Dance

  • Love Shack

  • The Macarena, and all similar group dance routines






Hey, Mr. DJ, you're not nearly as funny as you think you are. (But the person paying you thinks you are, so that's what counts.)

And what's with all the dopey hats?




Bowing to the inevitable: little metal bells at every table. Much classier than banging the glassware (or the table) with the silverware; and you get to take them home as a memento.




When the librarian says, "You got older, but she didn't," the smart husband answers, "You're right."

And when the wife responds, "It's all makeup. Just add more every year," the smart husband adds, "Don't believe it. She never spends more than 30 seconds on it."

Friday, August 11, 2006

Screw it!
Dean Esmay links to this campaign by Kim du Toit. And I say: sign me up!

Red......or blue, free speech is for you!
Red or Blue, free speech is for you! Not just for Congress or "The Press". It's for everybody.

Seems pretty plain to me...



Amendment I

Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the Government for a redress of grievances.

The First Amendment has been used to defend all sorts of speech:

Now that's far from the gamut of First Amendment law. I cherry-picked these cases to ask a question. Irrespective of your view of the merits of any of these cases, can anyone seriously claim that cases like these were foremost in the minds of the founders when they wrote the First Amendment?

Understanding the Bill of Rights


To me, the key to understanding the Bill of Rights is what I think of as the Forgotten Amendment:

Amendment III

No Soldier shall, in time of peace be quartered in any house, without the consent of the Owner, nor in time of war, but in a manner to be prescribed by law.

Yeah, there's a controversial issue, right? You've heard lots of Supreme Court cases about it, huh?

Not.

So why is what seems like such a trivial issue ensconced right up there with Freedom of Speech and the Right to Keep and Bear Arms?

Well, because the British had forcibly quartered troops in American homes.

Ya see, I'm an originalist. I think that you learn math and science best by studying where it came from. And I think the same is true of laws and constitutions and amendments: if you want to understand what they mean you have to study what led up to them.

Originalism and the First Amendment


So what, pray tell, might have been some of the original reasons for the First Amendment? Oh, I dunno...


He has refused to pass other Laws for the accommodation of large districts of people, unless those people would relinquish the right of Representation in the Legislature, a right inestimable to them and formidable to tyrants only.

...

He has dissolved Representative Houses repeatedly, for opposing with manly firmness his invasions on the rights of the people.

...

In every stage of these Oppressions We have Petitioned for Redress in the most humble terms: Our repeated Petitions have been answered only by repeated injury. A Prince whose character is thus marked by every act which may define a Tyrant, is unfit to be the ruler of a free people.

(All emphases added.) The King didn't want the people to have a voice in their government. He ignored their petitions for redress. And he forbade public meetings without approval; and at those meetings, discussion topics that did not meet with the governor's approval were forbidden. Publishers like Paine and Franklin and orators like Hamilton and Jefferson faced imprisonment and worse for disagreeing with the government. And that's the political environment which the First Amendment was designed to oppose.

In other words: if the First Amendment protects anything, it protects political speech.

Period. End of discussion. Not open to debate. Sorry if you don't like that but that's the way it is.

The Money Canard


"But oh, all that money in campaigns," some say. "It's so corrupting."

Bull.

While it's a stretch to say that money is speech, that's a convenient shorthand for a more complex but essential truth: money enables speech, just as surely as hardware enables software. If you take away my computer, all the software in the world is useless to me, because I can't run it. And if you limit a candidate's money, you limit the candidate's ability to make his speech heard. If you limit my ability to donate money to promote an issue, you limit one of my most effective ways to speak on that issue (i.e., by adding my funds to the coordinated campaign to get a unified message out).

And incumbents then have a natural advantage, because they have more ways of getting their message out — ways that you and I pay for with our taxes. So limiting campaign funds serves to protect incumbents. Like they need any more protection: we already have one of the highest percentages of reelection of any government anywhere and any time in history.

"But then someone can just buy a campaign," some will cry.

Again, bull. Beyond enough money to make yourself known throughout the campaign area, there's no demonstrable correlation between money spent and elections won. Money enables speech, but speech doesn't guarantee victory.

If you don't like the effect of money in campaigns, the answer is more money:

  1. Lift all limits on donations and spending by individuals.

  2. Require all donations and expenditures to be publicly disclosed on the Internet.

  3. When candidate Q takes money from the Space Nazis to place cartoon ads in cigarette cases distributed at day care centers, scream bloody murder and let everybody know about it.


If any candidate takes money from disreputable sources or spends it in disreputable ways, the public disclosure will ensure that everyone will know about it. If the voters don't care and elect a disreputable candidate anyway, that's their choice.

The Abmonination


So what does the Bipartisan Campaign "Reform" Act of 2002 do? A lot of things. A lot of limits on fund raising and spending that infringe on speech in a general way, as above; but also some very specific and very odious speech restrictions:

The BCRA, and FEC rules, contain provisions related to television and radio ads that refer to a clearly identified federal candidate and are distributed (targeted) to the relevant electorate within a particular time period before an election. These are often referred to as "issue ads" because they have typically discussed candidates in the context of certain issues without specifically advocating a candidate's election or defeat. Under the new rules, such ads would now be considered "electioneering communications" and as such, may no longer be funded by corporations or labor organizations. Other individuals or groups who pay for these ads must report the activity and the sources of funds if the payments exceed a specific threshold.

The defining characteristics of an "Electioneering Communication" are:

The communication refers to a clearly identified candidate for federal office.
The communication is publicly distributed on radio or television (including broadcast, cable, or satellite) for a fee.
The communication is distributed during a specific time period before an election - within 30 days prior to a primary election or 60 days prior to a general election.
The communication is targeted to the relevant electorate - i.e. it can be received by 50,000 or more people in the district or state where the candidate is running for federal office. For presidential campaigns this means 50,000 or more people in a state holding a primary within 30 days or within 30 days of the start of the nominating convention.

So within 60 days of the general election, corporations and unions — both voluntary associations of individuals who share common goals — can no longer advocate for those goals if they mention a candidate in the process.

Exemptions
No other forms of communication (e.g. mail, telephone, Internet, etc.) are covered by these restrictions. News stories, editorials or commentary, and candidate debates are also not covered.

Ah, so "news" stories are exempted; and we've never seen a news story biased against a particular candidate, right?

(Note: I'm not advocating restrictions on news stories; I'm demanding no restrictions on anyone. "News" sources don't get special privileges that the rest of us can't have.)

Millionaire Candidates

The new law may raise the individual contribution limits for Senate and House candidates who are facing self-financed candidates if those candidates spend more than a specified amount of their own funds on the campaign. The increase depends on the amount that the self-financed candidate spends from personal funds, along with some other factors. The law also removes the limitation on national and state party committee expenditures on behalf of a candidate if the opposing self-financed candidate's expenditures exceed a threshold amount and other conditions are met.

Ah, so if the other guy has money, Mr. Congressman, you want all the rules dropped for you. Got it... (And just in case you think I'm being overly cynical, look who's jumping ship on campaign finance reform, as Ron Coleman points out.)

Who's to blame?


There's no "clean" party on this issue. Senator McCain is a Republican. Senator Feingold is a Democrat. The President who signed it and hoped the Supreme Court would sort it out is a Republican. The Supreme Court Justices who failed to sort it out were nominated by both Republicans and Democrats. If there's a party with clean hands here, it's probably the Libertarians; but they're not a serious national force, so they don't count. (With a fiasco like this, maybe they should be.)

This act serves to protect two entrenched interests: the incumbents, who have extra-loud voices due to their positions; and the big media, who pick and choose which voices are worthy of coverage. And if they misrepresent you within 60 days of the election? Oh, your power to respond is limited.

Meanwhile, the rest of us have our most effective voice — i.e., our money where our mouths are — vastly curtailed precisely during the run-up period where most voters start paying attention.

The offer


Kim du Toit, being a strongly conservative blogger, has offered free ad space to conservative campaigns, regardless of McCain-Feingold. And then, because he thinks this issue is important, he has encouraged liberal bloggers to offer free ad space to liberal campaigns.

Well, I'm not so easily pigeon-holed. Republican, Democrat, conservative, liberal... Call yourself what you will, and I'll find something to disagree with you on. (And on a good day, we might even find something to agree on...) And I think this issue is too important to distinguish between parties. It divides us into free speech supporters and free speech opponents, regardless of party.

Now my site doesn't get a whole lot of traffic: about 450 visits per week, give or take. So it's not exactly prime real estate. But following Mr. du Toit's lead, you can't beat the price. I don't normally display ads, other than for my own works; but from now until election day (November 7), I'm offering free ad space in the sidebar of my blog to any U.S. candidate in any election, subject to the following restrictions:

  1. The ad must be placed by an authorized representative of the candidate's campaign, with a verifiable email address that I can trace back to the campaign's web site. I'm going to ask the candidate to endorse free speech, so I have to be sure the person placing the ad has authorization to speak for the candidate.

  2. The ad will be placed under the following statement: "By placing my ad on this site, I, [CANDIDATE NAME], am declaring that the McCain-Feingold Campaign Finance Reform Act unconstitutionally infringes on the free speech of individuals and groups, and that I shall support any measure to repeal it or to declare it unconstitutional." I will require written or email confirmation that the candidate personally approves of that statement. I am willing to discuss alternative statements; but this offer is contingent on my approval of whatever statement will be displayed.

  3. The ad must contain no factually inaccurate statements, and specifically no libelous statements. The ad must contain no information that is not legally subject to disclosure. When in doubt, I will pull the ad; but I am willing to discuss the accuracy of any statement.

  4. This offer is open to all candidates, red or blue, agree with me or not, as long as the above terms are met; but since that may lead to ads supporting positions that I do not personally support, each ad will be followed by the following statement: "Martin L. Shoemaker supports [CANDIDATE NAME] in the battle for free speech for all Americans, but may not support [CANDIDATE NAME] on every issue. Acceptance of this ad does not count as an endorsement for [CANDIDATE NAME]." And while I rarely do political blogging of any kind, I reserve the right to blog in favor of or in opposition to the candidate. I remain my own man when it comes to the issues. However, in any blog post that may involve the candidate, I promise to prominently include the candidate's ad along with the post, and to remind readers that the candidate supports free speech.

  5. The ad must be provided to me as a BMP or JPG file no more than 150 pixels wide by 900 pixels high. I will host the image on my site, so that I can personally verify that it meets my criteria defined above. Links to images on your site will not be accepted; but to allow you to vary your message, I will accept one replacement ad per day. The ad shall consist of the image plus a link to the candidate's Web site.


If these terms are acceptable, contact me, and we can start the process of advertising your campaign.

What's the catch?


There's only one catch: the candidate must unequivocally support responsible free speech in the political arena.

Well, there's one more catch. Although Congress and the FEC currently swear that McCain-Feingold will never apply to blogs, some have urged that blog postings and voluntary ad placement and other such voluntary work should be counted as in-kind contributions to a campaign. In the (we hope) unlikely event that the FEC should reverse their opinion on this, let me make public the relevant portions of my current rate of pay. Like most self-employed consultants, I have a fluid rate schedule, varying depending on the nature, duration, and location of the work. For work on election campaigns from my location on a schedule of my convenience, my current rate is the federal minimum wage of $5.15 per hour for the first ten hours (rates negotiable for longer term work). Since the time required to place an ad is approximately 5 minutes, that means that the in-kind value of an ad placement on my site is 26 cents. (Should the FEC decide to count the ad placement as part of your Electioneering Communications under the BCRA, be sure to list the 26 cent in-kind contribution. I'm betting it will cost them more than 26 cents to verify the "contribution".)

UPDATE: You can also advertise on the following free-speech-supporting blogs:



Ya know... A lot of the big blogs (like Dean's) have ad contracts that preclude them from participating. But it begins to look like a lot of little blogs can add up. There are over 20 participating blogs that I've discovered so far. If mine is average (and I have no idea if that's true or not, but lemme do the math), that's over 9,000 visits a week. Still no great shakes, but more than any one little blog will do. And at least one of those, Kim du Toit's, is a lot bigger than mine.


Posted in Opinion by Martin L. Shoemaker on Friday August 11, 2006 at 6:48pm. 1 Comments 0 Trackbacks
Another beverage review
So following up on this and this, I figure it's a good time to mention the new beverage I just discovered: Bolthouse Farms® Prickly Pear Cactus Lemonade.

Now I love just about any citrus flavor; and lemonade especially suits my tastes. And I was already a fan of Bolthouse's Mango Lemonade. But I wasn't sure about this one: prickly pear cactus? Still, Bolthouse has never let me down, so I decided to try it.

Not to worry. I don't know how prickly pear tastes on its own; but mixed with lemonade, it adds only a slightly sweet and vaguely exotic flavor. It almost reminds me of melon. And the overall result is a somewhat milder taste than the Mango Lemonade, which is good but packs quite a tang. The Mango Lemonade doesn't sit well with me late at night, because it's so strong (and because I can't resist drinking the whole thing regardless). I don't expect that to be a problem with the Prickly Pear Cactus Lemonade.

My judgment: another winner from Bolthouse Farms!

I should mention that I've tried their other two new flavors as well. Cranberry Lemonade is as good as Mango Lemonade; but it's a flavor combination I've had before, so it didn't seem anywhere near as novel as Prickly Pear Cactus Lemonade.

And Perfectly Protein Mocha Cappuccino? Well, it's almost as good as Perfectly Protein Vanilla Chai; and that's saying a lot! If (like me) you like the odor of coffee but can't stand the bitter taste, then Perfectly Protein Mocha Cappuccino is for you. There's no bitter here, and it tastes like coffee smells, only with cocoa and vanilla blended in.

Those Bolthouse Farms folks sure know their juices!

Thursday, August 3, 2006

All Jazzed up!
Let it hereby be proclaimed throughout the land: Diet Pepsi Jazz is good stuff.

Oh, the Strawberries and Cream is a little sweet to my taste. But then. strawberry has never been my favorite fruit flavor.

But cherry, on the other hand, is my favorite non-citrus fruit. And vanilla is a great flavor accent. So ah, the Black Cherry-French Vanilla is incredible! I could consume a whole twelve pack in an evening of coding.

So maybe you could do me a favor? Buy some. Try some. And if you like it, buy more. I want sales to be really good, so Pepsi keeps this on their product list.

I should add: I'm a dedicated Diet Coke drinker. When I'm not drinking Diet Coke, it's usually Diet Dr Pepper. I've never found a Pepsi product that I prefer: I'll drink it if it's offered, but I won't go buy it. But with Jazz, they changed that.

Wednesday, August 2, 2006

A book to look for
Nick Schulz reviews David Warsh's Knowledge and the Wealth of Nations. It sounds like important reading:


Thus instead of land, labor and capital--the traditional inputs of economic theory--it was "people, ideas and things" that mattered, driving technological change and entrepreneurial creativity. "No longer were the advantages of technical superiority to be understood as a case of 'market failure,'" Mr. Warsh writes. "They were part of the rules of the game." Such superiority was by its nature temporary--i.e., nonmonopolistic. New knowledge constantly trumped old, and the law (rightly) gave ideas only limited property-protection.

More and more, economists came to see that it was knowledge that made the difference in modern societies--e.g., in software, drugs, industrial processes, biotechnology and other parts of the economy where the upfront costs were large, the payoffs enormous and the benefits widespread. Economists inevitably turned their attention to the institutions or invisible structures--constitutions, customs, property rights, cultural sentiments (like trust)--that help to generate knowledge and sustain its effects.


I'll be looking for it.
Something a little out of joint here...
So I pulled into Pinckney pretty late. I knew my buddy Tom Lavey (of L & M Precision Machine) would be asleep already. So I pulled into Busch's (a popular local grocery chain) to get some dinner. Yes, it was almost midnight; but I've shopped at Busch's at all hours. They're a 24-hour place. Only not, apparently, at some of the more rural locations. This one was closing.

Since I was still hungry, I crossed the street to McDonald's. I really wanted something lighter, but I had missed that chance.

Well, it turns out that the Pinckney McD's is also not 24 hour. Oh, I should've been tipped off by all the McD's workers leaving; but the drive-through menu was still lit up. That's pretty much the universal symbol: "Drive through is still open." So I waited for somebody to take my order. But after last night, I wasn't in a mood to wait very long. I pulled around the building; and mine was the last car in the lot.

Still hungry, and knowing from experience that there would be no food at Tom's, I could only think of one place nearby to get food. I drove out to US-23, where I knew the Shell station would be open. It's not the cheapest place to buy groceries, but it was open. And there across the street was another McDonald's, all lit up and with cars in drive-through. So I pulled over there, and into the drive-through lane. Only there, I saw the opposite universal symbol: the drive-through menu was dark. That means, "You still here? It's over. Go home." But darn, there were cars in the line. So I pulled up; and almost immediately, a guy came on the speaker and took my order. When I got to the window, I asked if they knew the light was out. He said yep, it was burned out.

Somehow, something's just not right tonight...

Tuesday, August 1, 2006

Safety police run amok
So in the middle of the hottest week of the year, our bedroom fan broke down. Well, half of it did, anyway: it's a two-fan unit, and one of the two fans stopped working. Guess which one? (Hint: one is at a height that blows over the bed, and the other blows under it.)

So last night, I went to Wal-Mart to buy a new fan. And on the way out, I noticed a sign:


Warning: Automatic door.


We've all seen them, right? The store wants to warn people so they don't get smashed in the face when the door opens, right? And you can say it's because they care, or you can say it's because they don't want to get sued; but either way, it's to stop people from getting smashed in the face, right?

So then I have to ask: why was there a warning on this sliding door?
You tell 'em, Joel!
Joel Spolsky reminds us of a lesson that needs to be reinforced now and then.


A question for Panera Bread
OK, you folks at Panera, I have a question for you. I love your homey little atmosphere. It's well documented that you're one of my favorite places to eat and go on-line.

And I love the little gas-powered fake fireplaces you have in every store. They give the place a warm, inviting air on a cold winter night where curling up in front of the fire with a warm beverage, a warm cup of soup, and a warm laptop is just ideal.

But why, pray tell, do you run the things when the temperature is 96 degrees outside?

At my favorite Panera, the best chairs in the house — the comfy chairs next to the spare power plugs — are right next to that stinking fireplace!

Oh, there are chairs just as comfy on the other side of the table, chairs that can just as easily reach the spare power plugs; but those chairs are right next to a comfy couch. They clearly form a conversational circle. It would seem to me to be a violation of your courtesy request for a lone laptop user to occupy one of those chairs.

Please, in the months of summer: turn off the fireplaces!

(But hey, at least I get my Largo IC Mango in under nineteen minutes...)

UPDATE: Panera responds. Which is one more example of how they're a smart, customer-focused organization. (Somebody else hasn't rsponded yet...)

An excerpt:


As a franchise organizaiton, there are somethings we can change and some we can not. I will however investigate the fireplaces being on in the summer. This to seem silly to me as well.


Even before I received this very polite response, I had decided to add a specific category for Panera. It's in jest, because I post about the place so often (and at the place as well — and by the way, the fireplace is kinda warm right now); but I also think it's deserved. Think about that, Panera folks: I mostly read DC comics, but those posts just go under the heading of comic books; but you folks, you get your own special sub-category f Dining. That's brand loyalty. And it's awfully smart of you to work so hard to earn it.
A teachable moment
OK, I'll admit: sometimes I'm patient to a fault. If waiting is called for, I'm your man. I'm seldom in such a hurry that I get impatient. And sometimes I get hooked: I get curious about just how long the wait will be, and so I have to keep waiting to find out.

Case in point: last night, it was hot (gee, there's news); and so on the way home, I wanted a cold shake. So I stopped at Steak n Shake in Grandville (link provided as a customer service advisory), and ordered a large banana shake. That's all.

Now I like Steak n Shake. Good food, great shakes. A little pricey, but not bad. But I sometimes find them a bit slow.

Well, last night, they gave slow a whole new meaning.

It took five minutes for the car ahead of me to get served. Considering that the little digital display said their total was only $9.71, that seemed a little long. But again, Steak n Shake can be slow. (To be fair, in part that's because their food is always, truly made to order.)

Then I pulled up to the window. There was no window guy there; but he showed up shortly and took my payment.

Then he left the window. And I began The Wait.

Again: I can be obsessive about waiting sometimes. And I had finally figured out the air conditioning in the loaner car, so I was enjoying cool air for the first time in a week. I had no place else to be, so I didn't mind waiting.

At six minutes — not six minutes after I ordered, six minutes after I reached the window, or eleven minutes after I ordered — somebody put my shake and another shake on the counter near the window.

At eight minutes, I was firmly fixed in The Waiting Game. And Rule One of The Waiting Game is: you never remind them that you're waiting. That would interfere with the experiment.

At ten minutes, I began to wonder if they were being robbed or something. Still no one at the window. I also wondered if anyone would apologize for the wait. Rule Two of The Waiting Game is: you never expect an apology; but they get bonus points if you get one.

At twelve minutes, I saw people leaving with that tear-off-the-tie-and-pull-out-the-shirt-tails behavior that's indicative of workers getting off shift, and I thought: what business do they have getting off shift when I've been waiting twelve minutes for a freaking shake that has been on the counter for six minutes? But Rule Three of The Waiting Game is: you never lose patience. You chose to play, and this is how the game is played.

At fifteen minutes, I decided I was going to ask to speak to a manager. Rule Four of The Waiting Game is: you never complain, and you never ask to speak to the manager. You chose to play, and this is how the game is played. But fifteen minutes for a freaking shake?

At nineteen minutes, a manager came up to the window, looked at the food queue, and said, "Oh, my God! I can't believe this!" See, many fast food joints set a performance goal based on how fast orders are fulfilled. A local Taco Bell keeps their average wait on a white board; and every time I've checked, it's between one and two minutes. So this guy just watched his entire performance review fly out the window (the only thing that "flew" out the window last night).

Then he left the window to check it out, and to chew people out.

But he came back, quickly enough; and he apologized before I could complain. Bonus points for that; but really, did he have any choice?

But then he handed me both shakes and a bag of fries, and said it was all at no charge; but I handed the extra food back, and explained that all I ordered was a banana shake. So he checked, and saw that I had already paid for my shake. So he took my name, and said my next meal was on the house. And he apologized again. I told him it was OK. I told him that every staff needs a teachable moment now and then (a mistake so egregious that the manager uses it to teach a lesson, often involving a fair amount of yelling and chastising), and this was going to be a big one.

We'll see if they learned from it: when I pick up my car today, I'll have to go right by that Steak n Shake. Anyone care to place a bet on whether they know I'm supposed to get a free meal?

You chose to play, and this is how the game is played. You wait. But nineteen minutes for a freaking shake?
Bill, Bill, Bill...
Epee Bill suggests that I have been too modest in describing my role in the success of the Ann Arbor Duelist over the years:


Many of the "new techniques for getting lots better at things we thought were pretty darn good already" he mentions are pure Martin inventions that not only could not have been implemented better by anyone else in the club, but were actually imagined better than anyone else in the club by Martin.
Most clubs have a computer program that will seed pools and set match-ups. But only the AADS has one that also acts as a general ledger system for logging entry fee payments. It print receipts, too! Oh, and since we often have to collect money for people renewing their USFA membership, it handles that accounting as well.


I started to respond to his comment with a comment; but it got long enough and veered off into enough new topics that I felt it deserved a post of its own.

Bill, Bill, Bill... I thought I had you read Fred Brooks. Apparently I have failed in your education.

In Mr. Brooks's famous essay, "No Silver Bullets", he argued that we'll see no more order-of-magnitude improvements in software development performance. He later concluded he may have been too pessimistic; but the core of his argument is sound.

That core rests on the difference between essence and accident. The essence of a problem is that part of the problem that must be solved no matter what, because without the essence there is no problem. The accident of a problem is that part that only needs to be solved because of current circumstances, and would not be a problem under other circumstances.

Here's a quick example of essence vs. accident in my own past work. At one time, we needed a 3D histogram of colors in an image. In other words, how many pixels of black, how many pixels of white, how many pixels of a slightly off-white, and so on, and so on. Our color space had over 16 million possible colors; and the number of possible pixels was 200,000, which means you need four bytes to store a count. And that meant we needed 64 megabytes to store the histogram.

OK, try that again. This was 1990. We needed 64 megabytes to store the histogram! In 1990, nobody had 64 MB. That would've cost around $30,000. It simply couldn't be done.

So I had to devise ways to reduce the problem. In any given image, there were only 200,000 pixels; so even if every single pixel was a unique color from every other one, we only needed to count 200,000 possible colors, not 16 million. If we only knew which colors... Or we could lump really close colors together. Actually, I came up with a number of really clever but difficult to maintain techniques for reducing this problem.

But today, I carry 64 MB in my pocket, and often forget I have it. It's a USB drive that Microsoft gave away as a promotion for Tablet PC development. Today, I could solve the whole problem with these lines of code:


int[,,] counts = new int[256, 256, 256];
for(int y=0; y<img.Height; y++)
{

for(int x=0; x<img.Width; x++)
{

Color c = img.GetPixel(x, y);
counts[c.R, c.G, c.B]++;

}

}


That's it. Nine lines of code (counting curly brace lines) that I wrote in one minute. As opposed to thousands of lines that I spent months writing and fixing. Because "64 MB costs $30,000" was an accident of the circumstances of the time.

But the nine lines above are pure essence for this problem. No matter what else I do, if the problem is "create a histogram of colors in the image", then I have to loop over the pixels in the image, I have to get the color of each pixel, and I have to increment counts. Those are the definition of making a histogram, its essence. Clever ways to trim down the count space are an accident, and I just wouldn't bother on a modern 2 GB machine.

So what does this have to do with Bill's comment? What's the point? Is there a point? Do I ever have a point? (Let's not talk about point control...)

Well, the point is this: while I am proud of our registration spreadsheet (which I should mention is based on an original design from Terry Krueger — I just added the automation), and I will concede that it has drastically sped up our registration and our pool assignment and seeding (when we say fencing begins 15 minutes after close of registration, we mean it!), I contend that registration is largely accident when it comes to a fencing tournament. The essence is getting fencers onto strips and getting bouts fenced.

And the analogy to Mr. Brooks's essay is pretty close here, really. His argument was that early in the software development field, there was a lot of time spent on accident, such as sorting your punch cards when you dropped the deck (everybody dropped a deck at least once), leaving relatively little time for essence; but as time went by and people devised better tools, the time spent on accident was drastically reduced. By reducing accident time, they drastically reduced the overall problem time. And his argument further said that we had reached a point where accident was a minority part of the effort spent on a problem; and that even if you could reduce the remaining accident time to zero, the reduction in the overall problem time would be small.

In a similar fashion, we've made most of the improvements we're able to make in registration. The on-line pre-reg system is a Hail Mary attempt to make one more big cut in the registration time (and at that, it has been live for one whole day, and no one has signed up yet — tsk, tsk); but even if we were to reduce the registration time to zero (hmmm, embedded RFID tags in the fencers' bodies, reading a USFA database that automatically registers them, and then a voice-driven system that asks them what weapons they're fencing and then records the answer — nah, maybe next year), the time on the strip would still take up all of our spare time, and then some. We're right now running roughly five pools of seven. If merely five more people showed up, we could register those five more people in about an extra two minutes; but those five people would push us to pools of eight, increasing the number of pool bouts by fully one-third. Nothing I could do on the registration side could change the fact that that would add around a half-hour to the schedule. Probably an hour, because we would probably see an increase in both foil and epee.

And as proud of I am of the registration system, it's only one area where we've made great strides in reducing the accident aspects. Somebody (I can't say who) has worked hard to get us lots of cooperation and support from the venue. Somebody (I can't say who) has gone out of her way to greet people at the door, guide them to their destination, stamp their hands, etc. (And she will be sorely missed this year. Geez, Bill, did you really need another kid?) Somebody at the Division makes sure we have the strips and equipment well in advance. Somebody wheedles the directors into giving up a summer weekend. Somebody feeds the directors and keeps them happy and focused on the strip. The directors themselves know all sorts of tricks to keep things moving, and are happy to educate us on them. Somebody is on near-constant clean-up duty. Somebody organizes the troops to start tearing down strips as soon as logistically possible. And that last one is particularly telling, I believe: we're a highly disorganized, highly individualistic bunch with a fair amount of contempt for hierarchy and authority; and yet on the day of the Duelist, we act like a disciplined military unit, with everyone knowing their parts and everyone doing their parts and everyone pitching in where needed and everyone working toward the shared goals of happy fencers and a timely tear-down. Nobody panics. Nobody plays prima donna or Napoleon. People who really don't get along all that well pretend for the moment that they're brothers in arms. And it's all so practiced and natural that you won't even notice it happening except in whatever small corner you inhabit. (Good grief, I only learned about the all-essential door greeter and guide last month.)

But as good as we've gotten at all of that, it's mostly accident and little essence. If we could reduce it all to zero time, we would still fill all available time with fencing. That's nothing to complain about, and I'm not complaining. I'm proud of what our tournament has become. But if we grew, say, 20%, we would have to really think about how to meet our schedule.

Whereas if we could come up with one more qualified director and one more strip, it would cut out a half hour each from foil and epee. Two more strips would probably cut an hour each. Since I doubt we'd want to go smaller than pools of five, two more strips would be ideal. And that would do more for the schedule than anything I could do with software.

Of course, we know where that would lead...