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

Saturday, October 28, 2006

You never know in Manchester...
The last time I blogged from the Manchester area, I saw a giant cow. This time, I heard The Millers.

My buddy Josh Holmes recommended the soup-and-WiFi special at the Coffee Mill Cafe in Manchester near him. And I sat down to a nice roast beef and cheddar sandwich and a cup of potato soup; but while I was waiting, a guy with a violin case walked in. Then a couple of more some minutes later. No, it wasn't a Mob hit; it was the Millers, coming in for their twice monthly jam session in the back of the cafe. With their permission, I made a recording, which I'm editing now. With a little luck, I'll have some tracks up tonight.

Update: Here are the first three tracks. Keep in mind: I'm not an audio engineer. I recorded these only with my Tablet PC's built-in microphone. I wasn't necessarily in the best spot for recording (because remember, I'm not an audio engineer). And we were in a very fine coffee shop, which was conducting business and making coffee and otherwise adding noise to the mix. So these tracks are just a taste, a poor imitation of the real thing. If you would like a better taste, I recommend you try their podcasts. Or stop by the Coffee Mill Cafe, 2nd and 4th Saturdays from 2 to 5.

1 (12 MB download)

2 (15 MB download)

3 (10 MB download)

Update: Here are the next five tracks.

4 (13 MB download)

5 (14 MB download)

6 (13 MB download)

7 (11 MB download)

8 (8 MB download)

Update: Here are the next four tracks.

9 (11 MB download)

10 (11 MB download)

11 (10 MB download)

12 (11 MB download)

Update: Here are the next four tracks.

13 (17 MB download)

14 (13 MB download)

15 (9 MB download)

16 (9 MB download)

Update: And here are the last four tracks.

17 (6 MB download)

18 (13 MB download)

19 (13 MB download)

20 (10 MB download)

Wednesday, October 18, 2006

Today's theory
Velcro belt straps are a conspiracy by cell phone manufacturers to sell lots of replacement phones.

Ditto belt clips that easily slide onto the belt... and easily slide off. (For novelty, some of them break off.)

Ditto tiny phones that easily fit into a pocket... and easily slip out.

And rule one of the conspiracy is simple: never, ever, ever, ever, ever offer a simple closed loop that you can thread your belt through.

Monday, October 16, 2006

The 21st Century Cocktail Napkin presentation is now available on-line!
The 21st Century Cocktail Napkin is a talk I presented to the Ann Arbor .NET Developers group on June 14. It's an example of a smart cocktail napkin application built using the Tablet PC API. In a a smart cocktail napkin application, you draw shapes as part of some design you'll share with other readers; but as you draw, the Tablet PC also recognizes and understands what you draw, and creates information behind the drawing. (For an example of a smart cocktail napkin application, you can start here.)

Now, thanks to Camtasia Studio, I have a recording of this presentation. And thanks to YouTube, I can now present it to you on-line:



And you can also download a ZIP file of the slides and the sample code.

Look for more recorded presentations soon. And if you're looking for an easy-to-use UML tool for Tablet PCs, check out Tablet UML.

Wednesday, October 11, 2006

The color Center
Alan Stewart Carl writes that There Is No Vital Center. Dean Esmay links and expands upon this, concluding:


In short: centrism doesn't really exist as a philosophy, but it's still vital. ;-)


In other words, it's the color purple: it isn't there, even though we see it.

Now to you physicists and other science geeks, this will be old news; but bear with me as I explain some color science to the audience.

Light has a frequency and a wavelength, which are interrelated through the speed of light, c. If I know the frequency, I know the wavelength, and vice versa. So we only need to look at one. Most common is to look at wavelength, commonly measured in nanometers (nm), or 10 to the power of -9 meters. And when it comes to visible light, the wavelength tells you a color. So for instance, light at 700 nm is red, light at 546.1 nm is green, and light at 435.8 nm is blue. And then there are shades in between: light at 570 nm — a point between red and green — is yellow, while light at 490 nm is cyan.

But there's absolutely no wavelength of light that is purple.

Now all of you wearing purple socks right now are looking at your feet kinda funny and wondering, "What is Martin talking about? I can see those purple socks!" Yes; but what you're seeing, doesn't really exist. To understand why, we have to look at what color light really is, and at how we see color.

First, what color is light, really? Well, with certain rare exceptions — i.e., laser beams and slivers of a rainbow — the answer is "lots". Normal light, from the sun or a light bulb or a flame or whatever — actually is made up of a spread of colors across the spectrum. If you see a blue car, most of the light you see reflected from it is blue; but there's some small amount of green and yellow and red and orange, usually; and even if there's only blue, there's a wide range of shades of blue. Unless something acts to spread the wavelengths out (like a rainbow or a prism) or selectively generate only one wavelength (like a laser), you never get just one color of light. You get a range.

Now how do we see color? Well, that's something I spent a lot of time on in my misspent youth. In an exceedingly simplified version, the cone cells in your eye — assuming you have normal color vision — come in three different varieties. One is most sensitive to red light, one to green, and one to blue. But notice that I said "most" sensitive to, not "only" sensitive to. Much like a given light spreads across the spectrum, so a given type of cone cell responds very strongly at one wavelength and then less and less strong as you get away from that wavelength. So if we go back to yellow at 570 nm, both the red cones and the green cones will respond strongly to that light. Either type would respond more strongly if we were at its "target" color; but since yellow is kinda in the middle, both respond pretty strongly, making yellow a "bright" color that really stands out. And sure enough, when you mix red and green light, you get yellow light. (If that's not the way you learned color mixing, let me give you the short answer: colors of light don't mix the same way colors of paint do. More later, but only if you insist.)

And in a similar way, cyan strongly affects both green and blue cones, because it's in between those colors. Blue and green make cyan.

So what's half way between red (700 nm) and blue (435.8 nm)? A little quick math says roughly 568 nm, or a slightly greenish yellow. So red and blue make yellow? Or green? Or... No. Just no. Whether we're talking paint or light, everyone knows that red and blue make purple — that color I said doesn't exist.

But wait! That's not what I said. I said "But there's absolutely no wavelength of light that is purple." And there isn't. But remember that most light isn't a single wavelength, but rather a blend of many, many wavelengths across the spectrum. If the light is spread across red and green and blue more or less evenly, we see white. White just means "All cones firing." But if we keep the light in the red and blue regions while getting rid of the green, we have red cones and blue cones firing, but no green. And we call that combination purple. Purple means "red and blue cones firing, but green's not involved."

So we can have purple light, but we can't have a purple laser. There's no wavelength that can be purple.

And remember, too, that red cones react to more than just red. They have a weaker response to green, and a very weak response to blue. Vice versa, blue cones have a weak response to red.

So what does all this have to do with Alan Stewart Carl and Dean Esmay and centrism? Well, it ties most directly to Dean's observation:


But after 25 years of watching politics I'm convinced that Alan is correct: there is no easily defined "center," and defining yourself as a "centrist" has no clear meaning. And I can point to two key issues to define why:

You can be against the Iraq war and against gay marriage.

You can be for the Iraq war and for gay marriage.

Name dozens of other issues, and it runs the same way: abortion, drug policy, tax policy, education policy, and so on: there is no easily-defined "vital center" because self-described centrists will soon discover that they are often at odds with each other.


In other words, if you claim to be purple (center), what you're really saying is that you're blue on some issues and red on others. And yet someone else may be just as purple, and yet be blue where you're red and red where you're blue. You may both look purple at the gross level of opinion polls. It may seem like you're both saying, "I'm independent. No red or blue for me! A pox on both their colors!" But when you come right down to it, you and the centrist next to you may disagree with each other more than you disagree with either the red or the blue. Third party proponents keep trying to find the center. They keep insisting that they and they alone have found the wavelength for true purple, without realizing that there is no such thing. There's just an overlapping range of reds and blues, with people in the middle leaning toward one color or another depending on the issue.

Conversation this a.m.

Martin: Who's speaking at AA.NET tomorrow?

Josh: Let me check my notes...

Lots of mousing...

Josh: Oh... He-heh... I am. I'm glad you asked.


Ever wondered how well Josh Holmes can think on his feet? Come see at the Ann Arbor .NET Developers group Wednesday, October 11, at the Ann Arbor IT-Zone. His topic will be: ASP.NET stuff that you don't see at a typical presentation.

Monday, October 9, 2006

Oh, what power!
Last week, I posted my first Tablet PC programming video on YouTube.

This week, Google bought YouTube for 1.65 billion.

Coincidence? I think not!
The world is a very strange place
There's a reason I do software, as opposed to other technical professions: it's deterministic. I can make sense of it. If there's a memory leak, then there's always a memory leak, and it's my fault that it's there. And if the leak comes and goes, it always comes and goes; and when I can figure out the pattern, I'll know where the leak is. There's always a pattern, and it's always deterministic.

When you get into the physical sciences, however, things get fuzzy; and when you get into wetware (chemistry and biology), things get downright slippery. Yes, there's a determinism of a sort at work; but the number of ways in which things can go wrong is just huge. Frankly, if we didn't prove otherwise by existing, I would say we are impossible.

Yet we exist, despite all that could go wrong; and sometimes, despite it actually going wrong, we manage to cobble together a workable life.

While researching calico cats, I came across this article on chimerism, which sounds like the inspiration for one of Stephen King's creepier works. And that article led me to this one, about a woman who learned that the children she gave birth to were not hers. Instead, they are children of her fraternal twin sister; only she never knew she has a fraternal twin sister.

See, the fraternal twin sister is her. Some of her is made up of DNA from one fertilized egg; but some of her is from another egg. Early during her development, the cells from the two embryos came together, rather than developing separately. And while this could've been disastrous — probably happens more often than we know, and probably is disastrous in most cases, leading to a spontaneous abortion — in her case, the two sets of cells were able to work things out. They shared the responsibilities of making, well, her. The cells that make up her skin and hair came from one embryo, while the cells that make up her uterus and ovaries came from the other.

So DNA testing that compared her skin and hair to that of her children "proved" that they couldn't be her kids. The two different parts of her body are no more related than any two siblings (roughly 25% common DNA).

And she's not alone. 30 such cases are known. And the chimerism may be more rampant than that:


In fact, some researchers now think that most of us, if not all, are chimeras of one kind or another. Far from being pure-bred individuals composed of a single genetic cell line, our bodies are cellular mongrels, teeming with cells from our mothers, maybe even from grandparents and siblings.


It seems that the placental barrier isn't perfect, and that some small number of cells cross from the mother to the fetus, and vice versa; and that these fetal cells in the mother can survive for decades, and might even propagate to later siblings.

All too weird for me. All too non-deterministic. Give me the simple world of binary values and logic and design. I can make that work. But this wetware has too many variables for my poor head to keep straight.

The world is a very strange place...
Posted in Opinion by Martin L. Shoemaker on Monday October 9, 2006 at 2:12am. 0 Comments 0 Trackbacks
My dinner with Andrea
So I was headed back across the state; and I stopped at Wendy's for some dinner. (Their Ultimate Chicken Grill is my favorite there.) And I decided to take a break for a bit, and actually pull over to eat. So I rolled down the windows — it's still nice enough weather to do that in Michigan tonight — pulled out a book, and started to read.

But suddenly, out of the corner of my eye, I saw movement. She ran into the brush when a truck pulled up, but came back when they left:

Andrea

The look on her face said as clear as day: "You gonna finish that chicken sandwich?" So I tore off a chunk of chicken, and tossed it to her. She dug in:

Dig in!

And then I tossed her more, and more.

Keep it coming!

I was going to call her Andre, after the film; but seeing as she's calico, the odds are 3000 to 1 that she's an Andrea.

But eventually, the chicken was gone.

No more?

I tried tossing her some baked potato, but...

If I look offended, I KNOW you'll find more chicken!

Miracle of miracles, she didn't hop in the car and come home with me. But then, I won't be heading home until Friday...

Sunday, October 8, 2006

Sheri and Matt - October 7, 2006
This weekend, we attended the wedding of our niece Sheri and Matt. To keep this blog page loading quickly and so as not to bore non-family readers, I've posted the pictures here.

It was a very nice wedding, except for the fact that Sandy had a horrendous sinus headache and had me take her home before the reception. I always enjoy a reception more with her.

As uncle of the bride, I got handed a most important job: go to her house and let out her dog, who had been home alone all day. Twice. With five dogs at home, I'm practically a professional. It's just too bad that Sandy had that sinus headache. She would've loved that puppy.
Posted in Personal by Martin L. Shoemaker on Sunday October 8, 2006 at 8:55pm. 0 Comments 0 Trackbacks
Pandering to the llama crowd
Here's a llama...

There's a llama...

And another little llama...

Llama, llama, duck.

Related Posts (on one page):

  1. Pandering to the llama crowd
  2. Catering to my audience

Wednesday, October 4, 2006

Congratulations to Josh Holmes!
My good buddy Josh Holmes announced some major news this week: he's joining Microsoft as an Architect Evangelist.

As someone whome he hit up for a reference, I've been waiting a long time to say: Congratulations, Josh!

Update: Revised Josh's URL.
The Ink in 60 Seconds presentation is now available on-line!
Ink in 60 Seconds! is a talk I have presented to a number of user groups (some courtesy of INETA). It consists of a number of small little demos of Tablet PC programming, most written in 60 seconds or less.

Now, thanks to Camtasia Studio, I have a recording of this presentation from the Ann Arbor .NET Developers group on June 14, 2006. And thanks to YouTube, I can now present it to you on-line here. And you can also download a ZIP file of the slides and a cleaned-up version of the sample code.

One part of the video may need explanation. Part of the fun of this talk is the deadline: can I write that code in 60 seconds? And if not, I expect the audience to heckle and laugh. But just in case they need encouragement, I wrote a little tool called Egg Timer. When I launch it, it starts a 60-second clock; and if I don't stop it before the clock elapses, it will heckle me. So if you hear a strange computer voice at spots in the video, it means I ran out of time.

And for those who are curious: yes, my car is much better now.

Look for more recorded presentations soon! And if you're looking for an easy-to-use UML tool for Tablet PCs, check out Tablet UML.

Update: Here's an attempt to embed the video in this post:



Update: Fixed the link to the ZIP file. Thank you, )Stéphane Torres.