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

Coincidence?
This opens August 25th.

This opens August 26th.

Coincidence? I think not!

(And yes, this is just an excuse to remind you: why haven't you registered yet?)
Coincidence?
This opens August 25th.

This opens August 26th.

Coincidence? I think not!

(And yes, this is just an excuse to remind you: why haven't you registered yet?)
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."

Saturday, August 12, 2006

Best line of THIS week...
...comes from what is rapidly becoming the second-best show on TV:

INTERIM POLICE CHIEF KAREN VICK: Detective O'Hara. Eh, lose the hoop skirt before you hurt someone. Read 'em their rights, and book them.

This comes on right after the best show on TV and right before another instant classic

DR. HOUSE: Yeah. Except in this universe, effect follows cause. I've complained about it, but...

I'll let USA's ad speak for me:


"Friday nights on USA are gotta see TV!" raves TV Guide.

Friday, August 11, 2006

Best line of the week...
...from the best show on TV:

NATALIE: Mr. Monk, there's a point to the story.

MONK: I don't think so. I was listening very carefully.
Posted in Amusement by Martin L. Shoemaker on Friday August 11, 2006 at 2:50am. 0 Comments 0 Trackbacks

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?
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?
Catering to my audience
Epee Billlll's obsession with lllllamas continues. He sends the lllllink. I post the lllllink. You enjoy the lllllink.


Related Posts (on one page):

  1. Pandering to the llama crowd
  2. Catering to my audience
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...