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

Monday, October 31, 2005

ETA: 9 days, and counting...
...for this.
A perfect day
Wake up: my niece shoving breakfast in my face. Not enough sleep after too much travel, and I start the day already behind schedule. It's time to haul hay. I've been hauling hay since I was five years old, and it just doesn't ever get easier. Quite the opposite, instead.

Go outside: first round of hauling. No, not in, out: the horses won't touch this new hay, so we have to haul 200 bales back to the farm. The farmer, initially very understanding, has turned inexplicably hostile, and dropped us as a customer.

To the farm: hostilities flare on all sides as we unload 200 bales. Why can't people be adult?

To the new farm: hauling the replacement hay. 180 bales this load.

To the house: unloading. Teenagers getting whiny. Decide we can do without them for the rest of the day. More work for the rest of us, but less annoyance.

Back to the new farm: 120 more bales.

Back to the house: just in time for sunset. Unloading by flashlight. Oh, joy...

Done at last: the horses will eat for the winter, so Sandy's happy. She comes out of the bathroom, and I grab her and kiss her, depositing half the hay dust that's on me onto her, after she had just brushed off the dust she had accumulated.

A perfect day...

Saturday, October 29, 2005

So what do you think?
Someone whose opinion I respect strongly believes that the following full page ad for Tablet UML is way too busy:

Tablet UML Full Page Ad

(Note that the center area marked Team Shot will contain a photo of a team of customers and an analyst defining a project. The analyst will be using Tablet UML, while the customers will see and react to the results on an auxiliary flat-screen monitor. The intention is to show Tablet UML as an ideal modeling tool for a collaborative effort.)

His contention is that this is too busy, and no one will read all the words. He suggests a simple photo of the product in use, a simple headline, a brief text blurb, and a link to my Web site where the reader can learn more. It might very well be a variation of the team photo described above, as in this concept sketch (pardon my art skills, or lack thereof):

Frank's Suggestion

I tried to tell the whole Tablet UML story in one page, to tell the readers everything I could to make them want the product; but he believes that the reader sees that as nothing but blah, blah, blah. He believes that a simpler approach will attract eyes, while big blocks of text in an ad will turn them away. He contends that the purpose of the ad is to entice, not inform: when they see the big, pretty ad, they'll want to know more, and they'll follow the link.

He might be right. After all, his company's earnings outpace mine by a fair number of digits, so they know a little something. But I welcome other opinions. This is a fairly monumental decision for me, being my first ad purchase; so I'm not going to make any part of that decision lightly,

And a second question: if I go with his approach, should the little bit of blah, blah, blah in the ad include the low, low price?

Thanks in advance for any opinions you offer.
You keep using that word. I do not think it means what you think it means.
And the word in question tonight is "final". As in, I'm sitting here in SEA-TAC airport, waiting to fly home from the Microsoft double secret training; and Northwest Airlines has just made what has to be their fifteenth "final" boarding call for the flight to Detroit. (Not my flight: I'm going through Minneapolis.) In the last nine or ten "final" calls, they called out the missing passenger by name (including once in Japanese, though the name was the only part I recognized).

I understand their reasoning, which is two-fold: they really don't want to strand a passenger and leave him or her disappointed and angry; and in today's security climate, if that passenger has checked luggage, they have to hold the plane and unload that luggage, which may mean unloading a lot of other luggage to get to it. This all can delay a flight a lot, so holding it up for one more "final" boarding call may make the plane less late than letting it go.

But this is just like the lesson parents have to learn: if they keep giving the kids one more last chance, the kids learn that a last chance is something they can safely ignore. If I weren't obsessive about getting to the airport early, NWA would've just trained me that their deadlines are really just suggestions, and I can be late if I want. Not a good attitude to encourage.

Related Posts (on one page):

  1. You keep using that word. I do not think it means what you think it means. (II)
  2. You keep using that word. I do not think it means what you think it means.
So busy, I've had no time to mention...
...ETA: 11 days, and counting, for this.

Gateway confirms that all the parts are in, and it's just waiting in the production queue.

Wednesday, October 26, 2005

Notes from the Microsoft double secret training
There aren't any. I'm under NDA. So if I told you anything they told us here, I'd be in a pile of trouble.

Except, of course, for any information which is already publicly available: that I can bring to your attention. So I'll share some things with you, including links to where you can find the same information yourself.

The subject of the training is Visual Studio Team System (VSTS), a grand, sweeping effort to unify the tools that a team uses to develop software. VSTS lets project managers, software architects, software developers, testers, and others all work on their individual tasks with their individual tools; and then it ties together the work products of those tasks into a common repository, with common reporting and workflows and rules. It also allows the team to define work items, assign them to individuals, and track their progress. VSTS is only available in beta right now, but is scheduled for release next month. You can learn more about VSTS here.

VSTS builds upon Visual Studio 2005 (VS 2005), the latest version of Microsoft's popular developer tool suite; but it extends Visual Studio's capacities to support other team members besides developers. And in addition, it integrates with popular MS Office tools for project management, and it provides hooks for third parties to integrate into the VSTS environment.

The basic structure of VSTS is shown in this image, taken from this tutorial:

VSTS Structure

The left column shows the elements of VSTS for Software Architects:


  • Application Designer. This tool allows an architect to define the components that will be deployed as part of a project, as well as the connections between them. It also allows the architect to generate the source code shells for these components.

  • Logical Datacenter Designer. This tool allows an architect to define the logical servers and server zones where the parts of a project will be deployed, as well as the connections between them.

  • Deployment Designer. This tool allows an architect to assign components (from the Application Designer) to servers and server zones (from the Logical Datacenter Designer) and to validate that no component connections violate the datacenter design constraints.



The center column shows the elements of VSTS for Software Developers (in addition to the basic code development capabilities of VS 2005):


  • Dynamic Code Analyzer. This tool allows a developer to test the run-time behavior of a component, including whether it overruns its memory and how it manages resources such as handles and critical sections.

  • Static Code Analyzer. This tool allows a developer to assess how well the source code for a component complies with coding standards and practices.

  • Code Profiler. This tool allows a developer to determine how much time the program spends in particular areas, and is useful for identifying inefficient code and bottlenecks.



The right column shows the elements of VSTS for Testers:


  • Load/Web Tester. This tool allows a tester to assess how well the system performs under various system loads, such as a particular number of concurrent users.

  • Manual Testing. This tool allows a tester to design and implement manual tests, while still having the results incorporated into the work item tracking and reporting systems (described below).

  • Test Case Management. This tool allows a tester to define and manage test cases: sets of data to be used in various tests, as well as the expected and actual result sets.



Across the right two columns are the elements that are common to Developers and Testers:


  • Unit Testing. This tool allows low-level, pass-fail testing of the internal structure of the code.

  • Code Coverage. This tool allows a tester or developer to identify parts of the code which haven't been exercised or tested yet (and where bugs may therefore be hiding).




And across all three columns are the elements that are common to all roles:


  • Class Modeling. This tool allows a user to define code classes and the relations between them. This is not UML, but I'll forgive them.

  • Visio and UML Modeling. This tool allows UML modeling as a communications tool (but I can suggest a better one).

  • Team Explorer. This tool allows a user to explore the work items in the project.

  • Visual Studio Professional. This is the VS 2005 shell that hosts the other tools.



All of these tools are built on top of the services in the Visual Studio Team Foundation:


  • Build Manager. This service supports automated project builds.

  • Change Management. This service supports archives of old versions of source files and other artifacts. It replaces the much-loathed Visual SourceSafe.

  • Work Item Tracking. This service supports creation of work items (i.e., tasks to be performed in your development process), as well as assigning work items to workers and tracking work item progress.

  • Reporting. This service supports flexible queries and reports based on work items.

  • Project Site. This service creates and maintains a Microsoft SharePoint Web site that lets Web users view the reports and other status of the work items in the project.

  • Integration Services. This service allows third party components to integrate into the VSTS environment.

  • Project Management. This service allows integration with MS Project and Excel.



Whew! That's a lot of power in there; and I haven't even begun to discuss the real power in VSTS: process templates! Look for those in my next installment.

Tuesday, October 25, 2005

ETA: 15 days, and counting...
...for this:

CX200X

No, I didn't forget. Just got tied up in the Microsoft double secret training.

And yes, I'm running short on CX200X photos.

Monday, October 24, 2005

On the road, and I nearly forgot...
...ETA: 16 days, and counting for this:

CX200X

Sunday, October 23, 2005

ETA: 17 days, and counting...
...for this:

CX200X

Gateway still reports the status as Order Processing, whatever that means.

Saturday, October 22, 2005

ETA: 18 days, and counting...
...for this:

CX200X

Friday, October 21, 2005

ETA: 19 days, and counting...
...for this:

CX200X

Thursday, October 20, 2005

Department of lowered expectations
Ah, well, I expected it. And actually, the repairs are an improvement, of a sort: previously, the M200 couldn't detect when the screen was rotated and laid flat for Tablet use. Instead, it would decide that the lid was closed, and it would go to sleep.

Now when I rotate the screen and lay it flat, the M200 doesn't go to sleep. Of course, when I just close the lid, it doesn't go to sleep, either: it just keeps on running, sucking up all the battery power and heating up the carrying case. And when I rotate the screen and lay it flat, the M200 doesn't actually detect that it has rotated, and it doesn't flip into portrait mode.

Oh, well. I can always manually rotate into portrait mode. And I can always manually put it to sleep.

20 more days. Almost 19...

UPDATE: On the plus side, it's now detecting the battery, and the keyboard is working well. Thanks, CPR of Grand Rapids!
But while I'm waiting...
...the fine folks from CPR of Grand Rapids have once again exceeded expectations, repairing my M200 in just three days.

I'm not getting my hopes up. It's still a Toshiba. But it's working well enough to write this post.
ETA: 20 days, and counting...
...for this.

(This one's just for my buddy, Epee Bill.)

Wednesday, October 19, 2005

ETA: 21 days, and counting...
...for this.

Tuesday, October 18, 2005

An unscheduled hold
Due to a paperwork snafu, my Gateway CX200X has been pushed back three business days, five total days. ETA 22 days, and counting. Grrr...

Monday, October 17, 2005

Interesting searches
Sometimes people reach this site through some pretty interesting search queries that leave me wondering: Why in the world were you searching for that?

Now I'm not meaning to cast any aspersions on any of you readers, but I can't escape the conclusion that at least some of the time, the answer is, "Because I have to draw a UML diagram of X for my homework project, and I was hoping to find — um — inspiration, that's it! I was hoping to find inspiration in some diagram on your site. But no, I wasn't planning to just copy and paste it, and hope the prof never notices. No, not me. Uh-uh, never."

And then there's the perennial favorite search topic: Borders Rewards vs. Barnes & Noble Member Program. That remains a popular target.

Sometimes the site is actually doing it's job: bringing in people who want to learn about UML, Tablet PCs, and other matters related to my busines. And then some people, surprisingly enough, actually get here searching for me by name, or searching for my book. So the search engines are doing well by those users.

And sometimes, the reason the search found my site is obvious, because the search relates to one of my favorite topics about which I occasionally post: comic books, fencing, Persian food, and a few others.

But then there are the ones that just make me wonder...



  • modeling tea spice UML. I'm guessing this search found me because of my post on Bolthouse Farms Perfectly Protein Vanilla Chai Tea, as well as because UML is a frequent topic here (perhaps not frequent enough of late). But what an interesting search phrase! Besides Perfectly Protein, I love good, spicy teas, especially as the weather is getting colder. Tazo Spice is my favorite. It's an anise-flavored tea, with lots of other spices, and its aroma filling a house on a cold night will warm you up all by itself (or stink up the house, depending on your point of view). I'm not sure what, specifically, would be a UML model of spice tea (distinct from a UML model of any other tea), but I'll think on it.

  • uml card game. I'm assuming this was someone looking for "inspiration" for a UML model of a card game; but what sprung to my mind was a card game in which you use cards to create UML diagrams. No, I don't know of any such game, but the idea intrigues me. (Yes, I am an incurable UML geek. Haven't you figured that out by now?) Let me think on it.

  • stranded in memphis, need bus ticket home. I wish I could help, buddy, because I have sympathy for stranded travelers. But since I can't tell who you are from your search... I'm not positive how this particular search query led to my site, but it almost had to be through this post on Hurricane Katrina relief. It can't be because of any of my horrible bus travel stories, because I haven't told any of them on this blog yet. And for the sake of stranded in memphis, I think I'll hold off until he or she has had time to get home. (One of them is creepy enough, I may just set it up as a Halloween post...)

  • come and pick up stray kittens atlanta. No, thank you! I can get stray kittens a lot closer to home than that. My sister tells me that my sister-in-law has a lot of them. And we have all the barn cats we need (and too many dogs for house cats). Oh, wait — were you looking for stray cats? I'll bet you'll find them! (This is another search that has to have come through my Katrina relief post.)

  • toshiba portege 3500 fan replace. Must... resist... easy... shot...

  • josh holmes dallas. Wrong blog, but close! The Josh Holmes I know can be found right here. (Hey, Josh, that's three of my last six posts where I've managed to give you a plug. I'm gonna have to start charging ad rates pretty soon, buddy...)



Is there a lesson to be drawn here? Yes, but it's not to be found in any of these searches. The lesson is simple: spending too much time studying how people reach your site can be really distracting.
Mission Accomplished!
My buddy Josh Holmes sends this link.

All right, I guess I can ease up on them now. For now, I'll only give my opinion on Toshibas when someone asks for it.
Unfortunate news
Due to a very large number of business opportunities coming up, including a can't-miss training opportunity in the Seattle area, we have decided to postpone our Tablet PC Programming BootCamp in Boston. Details when we learn more.

I was looking forward to that class, but there just wasn't time to get properly prepared for it and attend the new training that opened up and prepare for other classes and conferences and finish up my book. I'm burning the candle at all three ends as it is. So it's better to postpone and do it right than to try for the unattainable and disappoint the students.

As a consolation prize for me missing the class, I'll have to settle for being home for this. Darn!

And hey, if you want to see a really, really powerful Tablet PC in action, just join us when we reschedule the class!
ETA: 18 days, and counting...
My Gateway CX200X

  • Microsoft® Windows® XP Tablet PC Edition

  • Microsoft® Works 8.0 (I know, I know... But you can't not order this with a Gateway machine, unless you order something more; and I already have licenses for the something more...)

  • Intel® Pentium® M Processor 770 (2.13GHz, 533MHz FSB, 2MB L2 cache)

  • 2048MB 533MHz DDR2 SDRAM (2-1024MB modules)

  • ATI Radeon X600 64MB Graphics w/ HyperMemory Technology

  • 80GB 5400rpm Serial ATA hard drive

  • Notebook Total Protection Plan — 4 year parts/labor/on-site/4 year technical support w/ 4 year Accidental Damage Protection

  • Integrated 802.11b/g wireless networking card

  • Primary 12-cell Lithium ion battery with AC pack and 1 yr. limited battery warranty (to accommodate additional cells, this battery extends beyond the end of the system)

  • Additional Primary 12-Cell Lithium ion battery and 1-yr. limited battery warranty (to accommodate additional cells, this battery extends beyond the end of the system)

  • Microsoft® One Note, Microsoft® Experience Pack and Microsoft® Education Pack (Gotta have OneNote for my Tablet!)

  • Norton AntiVirus 90 day introductory offer

  • 7-in-1 media card reader (Memory Stick®, Memory Stick Pro®, MultiMediaCard™, Secure Digital™, xD Picture Card, Mini Secure Digital™, RS-MultiMediaCard™)

  • Modular 8x Multi-Format Double Layer DVD Writer (DVD±R/±RW/CD-RW)

  • Type II PC card slot

  • (3) USB 2.0, IEEE 1394 (FireWire), VGA

  • 14.0" WXGA TFT Active Matrix (1280 x 768 max. resolution) with Rotating Hinge for Tablet Functionality

  • Full-Size Keyboard and EZ Pad® Pointing Device

  • Gateway Executive Stylus w/ Continuous Sensing Technology

  • Integrated sound and stereo speakers, headphone/speaker jack, and mic jacks

  • Integrated V.92 56K modem

  • Integrated Broadcom® 10/100/1000 Ethernet Adapter

  • Six months America Online® Internet access (Another one of those things Gateway is just gonna give you, like it or not.)

  • Adobe® Acrobat Reader® 6.0

  • Microsoft® Windows® XP Tablet (SP2) Backup CD



And best of all, it's not a Toshiba! Never buy a Toshiba. Toshibas are junk.

Saturday, October 15, 2005

Seen around the tech blogs this week
Ever have a night when you really need to get up early, and yet things keep you up late, and finally it seems like the safest course is just to stay up? Or does that only happen to me? Either way, this is one of those nights. In five-and-a-half hours, my plane leaves Atlanta. I've been away from Sandy and the dogs and our home for four weeks. I am going to be on that plane. And I already learned this week that this hotel's wake-up calls are still pretty unreliable. And while the M200 has pretty good speakers and usually serves as my alarm clock, it's having some problems right now. (Never buy Toshiba. Toshibas are junk.) And this 3500 has had the speakers repaired, but they pretty much suck, and I can barely hear them. (Never buy Toshiba. Toshibas are junk.)

So at this point, the safe way to be sure I'm on that plane is to stay awake until I board, and then sleep on the plane. So to find things to keep me going, I decided to do something I haven't done in a while. It's time for another installment of Seen around the tech blogs.

--------------------------------------------------------

Richard Hale Shaw makes an interesting argument against the C# using statement (not the using directive; and thank you, C# team, for that bit of confusing language). I disagree with him; but it will take time and sleep before I can fully explain why. The short preview: he says you can't force people to use your class correctly; I say I can, and I'll show you how, soon.

--------------------------------------------------------

Joe Kunk passes along some suggestions on porting MFC code to .NET, including some discussion of tools to automate parts of the port. Since I have a presentation on this topic, I'm going to check out those tools.

--------------------------------------------------------

From the Earth to the Moon links to this discussion of where the Apollo capsules are today. Until it shut down, the Michigan Space and Science Center in Jackson was home to the Apollo 9 capsule. (Commander McDivitt was a Jackson-area native.) I used to go there for inspiration whenever I had a spare afternoon. When I think of what those engineers accomplished at a time where the sum total of all the computers at NASA amounted to less memory than I have in my hand, I realize that no job of mine is that tough. It was a sad day when I learned that MSSC had closed. Now I have to go all the way to San Diego to see Apollo 9. Of course, my flight home tomorrow ends in Dayton (I started this trip with INETA meetings in Cincinatti and Dayton), and Apollo 15 is at the Air Force museum there; and later this year I'll be in Huntsville for another INETA presentation, where Apollo 16 is. So I'll get my fixes then. (Bonus: outside of Dayton and on the road toward home is the Neil Armstrong Museum!)

--------------------------------------------------------

James Avery is looking to switch blog engines, and wishes he had a decent, easy to use and extend .NET solution. I could be wrong, James, but I think it will be really easy to build your own with ASP.NET 2.0.

--------------------------------------------------------

Tablet PC Buzz points out this post by Josh Einstein about fixes that will make Tablet PC components work properly under .NET Framework 2.0. I'm getting a new version of Tablet UML ready, so this was important news to me!

--------------------------------------------------------

Space Law Probe has a round-up of reactions to China's manned space launch.

--------------------------------------------------------

I don't have James Hudnall under Tech Blogs, because I think of him as a comics guy. His Espers is one of my favorite series. But he's also a computer geek. This week, he posted about the latest story on e-paper, and we drooled over the possible comic book applications.

Marvel has released 40 Years Of The Amazing Spider-Man on CD. I haven't picked it up yet, because I'm afraid someone may get it for me as a gift, and I wouldn't want to spoil that. I really would love to read that collection on a Tablet PC (particularly my new Gateway CX200X Tablet PC, to be ordered next week); but a programmable e-paper comic would be equally cool.

(And I hope that Marvel and DC and others release a lot more of their back stock this way.)

--------------------------------------------------------

Mike Swanson shows off the 5 best videos from the PDC. I wish I could've been there, but I was earning the money that will pay for my new Gateway CX200X Tablet PC.

--------------------------------------------------------

Matt Propst announces the Formal Cancellation of Grand Valley Programming Competition. That's too bad, but I hope they can pull it off next year. Josh Holmes and I were asked to be judges. One of my oldest programming memories is high school programming competitions at Grand Valley, so this would've been like going full circle.

--------------------------------------------------------

And speaking of Josh Holmes, he has a couple of posts on his latest work with Compact Framework and Win CE. Josh is my goto guy on this Windows handheld stuff, and he should be yours, too.

--------------------------------------------------------

Sam Gentile posts about a Channel 9 interview with him and Ward Cunningham. Since neither gentleman is shy — especially with their opinions! — it's pretty no-holds-barred.

--------------------------------------------------------

And speaking of Robert Scoble (the guy behind Channel 9), he's on a crusade to get Microsoft to focus on blog searching.

--------------------------------------------------------

Julie Lerman has a 512MB memory chip for a Toshiba Portege M200. Julie, Julie, Julie... Some day you'll learn: never buy Toshiba. Toshibas are junk.

Look at this Gateway CX200X Tablet PC, Julie. Look at the 14" wide-screen. Isn't it... tempting? Look at that optional 4-year, on-site, parts and labor and accidental damage warranty look... comforting?

--------------------------------------------------------

Lora at What Is New posts that the Windows Mobile PC Team (i.e., the Tablet team plus) now has a group blog.

--------------------------------------------------------

And speaking of the Windows Mobile PC Team... This is a little belated note (since I just learned of their blog from Lora): they write of the work their people did in helping to support Hurricane Katrina relief. I've already noted the contributions by Best Buy, WalMart, Home Depot, Edward Jones, McDonald's, and others; so it's only fair that I point out that my favorite software company has pledged over $9 million in cash, materials, and support to the relief effort. Thank you, Microsoft.

--------------------------------------------------------

Howard Lovy has retired NanoBot. That's too bad, but his new job probably keeps him plenty busy.

--------------------------------------------------------

Thom Robbins forwards an announcement of the general availability of the "Project Server Visual Studio Team System Connector" application. "The solution provides guidance for integrating Project Server and Visual Studio Team System. It demonstrates how Project Server and Visual Studio Team System can be integrated together to provide extended value for project and resource managers and guides developers through the process of building and customizing components that link the project management and software development tools. This is a foundation for partners to build applications that can integrate the two server products and provide specialized functionality."

As someone who's more and more excited about process and practices, I'm pleased by this news.

--------------------------------------------------------

James Kendrick — a.k.a. jkOnTheRun — links to this Detroit Free Press story about Bill Gates's visit to Ann Arbor. (Oh, sure, Bill... Come to town when I'm three or four states away! OK, I wouldn't have been invited anyway, since his presentation was for students. But still...) I think the story hints at one reason why I suspect for Microsoft's strong support for the Tablet PC: Bill loves his Tablet, and has wanted one for a long time. You don't believe me? He described his vision of the platform in drooling detail way back in The Road Ahead (or maybe it was Business @ the Speed of Thought — I'm on the road, remember, so I don't have my books with me). There are few people who are more fanatical about Tablet PCs than I am, but Bill's clearly one of them. And so I have a sneaking suspicion that, just as Microsoft will always sell a version of Basic so long as Bill's involved, so too will they make sure that somebody's making new Tablet PCs for Bill to play with.

(NOTE: The above is tongue-in-cheek, and I know nothing about Microsoft's internal platform decisions nor the reasons for those decisions. But I do know that it's true that Bill loves his Tablet PCs.)

--------------------------------------------------------

And speaking of jkOnTheRun... He links to more proof that Toshibas are junk. And he has a plea:


Let’s help Tracy get her Tablet back. Anyone with a Toshiba horror story about repair or customer service difficulties please chime in here with a comment. Let’s see if a string of unsatisfied customers can get Toshiba’s attention about Tracy’s plight. It’s worth a shot as she has nothing to lose since she is already without her precious.


I'm about to throw some links your way, James, as you asked. But at this point, you may already know my conclusion: never buy Toshiba. Toshibas are junk.

--------------------------------------------------------

There! That worked out just about perfectly. I planned to start prepping and packing at 0600, and it's 0553. That gives me just enough time to do a cursory proofread, and then post.

When next you hear from me, I hope to be H*O*M*E! Sandy, I'm on my way!

Related Posts (on one page):

  1. Seen around the tech blogs this week
  2. Seen around the tech blogs this week...
Now THAT is funny!
Professor Reynolds links to this USA Today story, Spyware can constitute illegal trespass on home computers.

When I clicked the link to read the story, Spybot popped up twice to inform me that it had blocked download of the Avenue A spyware.

Apparently someone in ad sales at USA Today needs to learn to read their own paper...

Thursday, October 13, 2005

Will it EVER end?
So because of the keyboard failure on my Toshiba M200, I have to work on my backup machine, which is, unfortunately, another Toshiba. This is the old Portege 3500 that occasionally locks up. (I still suspect heat.)

Today, it locked up again. At least this time, it didn't corrupt any databases in the process. (I've learned to make hourly backups with this machine.)

I can't wait to get home, so I can order my new Gateway CX200X Tablet PC...

Never buy Toshiba. Toshibas are junk.

UPDATE: And now the 3500's cooling fan is making that lovely clack-clack-clack sound again...

UPDATE: Fixed a typo. Can't blame it on the Toshiba, but I'm in a mood to do just that.
I sense a pattern here
Do you recognize this shape?

Usage Stats

If you're a blogger who tracks your usage stats, I'll bet you do. This is a common pattern in daily visits that I've seen on a number of blogs. The amplitude may change, but the basic shape is there. And it's interesting to speculate on what it means.

The tall peaks fall on Mondays. Speculation: after the weekend, people aren't quite ready to get back to work, so they spend a lot of time online. (Corollary speculation: apparently, a lot of people are blog-surfing from work or school.)

The first trough falls on Tuesday. Speculation: that's when they realize how much time they wasted on Monday, and they decide they had better knuckle down.

The secondary peak falls on Wednesday. Speculation: it's the traditional hump-day factor. Half the week is past, half still ahead, and boredom sets in. How to alleviate it? Surf the Web!

The second trough falls on Thursday, and is usually lower than the first. Speculation: people realize that the weekend is coming, and they want to get all their work done so they don't have to stay late and miss a minute of their weekend.

The third peak (usually the lowest of the three) falls on Friday. Speculation: it's Friday! Everyone is too distracted for real work. So they surf the Web and pretend it's work. But the peak is shorter, because they all leave work as early as they can get away with it.

The last trough — I call it The Big Valley, after my favorite Western series — falls on Saturday and Sunday. Speculation: unlike some of us geeks, most people are able and willing to drag themselves away from their computers for the weekend.

So this is the pattern I see, week after week. Some weeks it's taller, some weeks it's shorter. Some weeks the peaks shift a bit. But the pattern is there, pretty much every time.

Just an interesting curiosity that I've been wanting to mention for a while...

Wednesday, October 12, 2005

Never buy Toshiba. Toshibas are junk.
UPDATE: Fair is fair. This problem may have been as simple as a stuck key on the keyboard. Using a USB keyboard (as suggested by the ingenious Josh Holmes), I was unable to log in at first; but after letting it sit idle for a bit, somehow I got in. (I'm still not sure how.) Yet when I tried to do anything with either keyboard, all I got was a continuous string of back-slashes. On the theory that the \ key might be stuck, I tried cleaning under it, jostling it, and hitting it repeatedly. But it just kept repeating. So I let the machine sit idle for a couple of hours, and it seems to have stopped. So it may be a sticky key; but it may be a flaky keyboard circuit somewhere. Either way, I don't trust it yet.

----------------------------------------------------------

UPDATE TO THE UPDATE: So much for the stuck key theory. I was doing some light work with the M200, and all seemed well. I set the machine down and walked away to take care of dinner. When I came back, the | key (i.e., the shifted \ key) was repeating and repeating — in my source code, no less! Every once in a while, a string of \ would appear, as well as the occasional 6, and once in a while just blank spaces. This is no stuck key. It's a malfunction somewhere in the keyboard circuits, or in the mother board.

My original judgement stands: never buy Toshiba. Toshibas are junk. Gateway, here I come!

----------------------------------------------------------

So as if I didn't already have enough problems with my Toshiba Portege M200, now the keyboard has stopped working. CTRL and ALT work most of the time. SHIFT works occasionally. And that's it. That means I can't even log in.

That's it. Enough. I'm done with Toshibas, for good. Never buy Toshiba. Toshibas are junk.

So just in case any search engines are looking for my opinion on Toshiba...

Never buy Toshiba. Toshibas are junk.

Want a review of the M200? Never buy Toshiba. Toshibas are junk.

Wondering about Toshiba reliability? Never buy Toshiba. Toshibas are junk.

Looking for a good Tablet PC? They're out there. Check out the Acer TravelMate C314XMI Tablet PC, the HP Compaq TC4200 Tablet PC, the Xplore rugged tablet, the Lenovo ThinkPad Tablet PC version, the Fujitsu models, the Gateway models, the Motion Computing models... But whatever you do, never buy Toshiba. Toshibas are junk.

Will they fix it if there's a problem? Sure, but that just opens the door for another problem. Never buy Toshiba. Toshibas are junk.

Want to know more about Toshiba computers? Never buy Toshiba. Toshibas are junk.

I'm pleased that a lot of people are coming to this site looking for Tablet PC training. That's good to know. But here's some free advice for people learning to program Tablet PCs: never buy Toshiba. Toshibas are junk.

Hey, all you people coming to this site for opinions on Borders Rewards vs. the Barnes and Noble discount program... Here's some free advice for you, too: never buy Toshiba. Toshibas are junk.

And all of you folks coming here looking for UML examples, I have the same advice for you: never buy Toshiba. Toshibas are junk.

And what else seems to bring visitors here? Let's see... Superman, Green Lantern, Batman, DC, Marvel, graphic novels... Yeah, all you comic fans, you're smart enough to figure out the message by now: never buy Toshiba. Toshibas are junk.

And I sometimes get people looking for Frederick Meijer Gardens and the big horse statue. You folks, too, should know: never buy Toshiba. Toshibas are junk.

And just in case I missed anybody, here's some general advice for the masses: never buy Toshiba. Toshibas are junk.

Oh, I almost forgot: all you fencers out there should never buy Toshiba. Toshibas are junk.

Sunday, October 9, 2005

Artistic Genius vs. Practical Utility
Sometimes, you just gotta take the artistic geniuses back behind the woodshed and thrash 'em until they stop being so creative. There's a point where "genius" becomes "impractical"; and if you trust the geniuses, they'll never draw that line properly.

A case in point: the Grand Marquis that I'm renting for the consulting I'm doing this week. Like all cars, it has a basic problem to be solved: how to let the driver steer the car by applying leverage to produce angular rotation on a steering column. The standard solution to this (software geeks might call it a pattern) is a large wheel on the end of the column, so the driver can turn the wheel and thus the column. And the common solution looks something like this:

Standard Steering Wheel

To which the artistic geniuses behind the Grand Marquis responded: How boring! So they came up with this stylish, asymmetrical solution:

Grand Marquis Steering Wheel

See how the wheel is centered on the column (shown in red); but the bulk of the center attachment is asymmetrically below the column (drawn in red). And we all know how asymmetry is stylish, right? Trendy, even.

OK, I'll drop the sarcasm. Actually, it is distinctive. It's also impractical. Let's add in just a little more dashboard details: the gear indicator:

Grand Marquis with PRNDL

It still looks kinda stylish — right up to the point where you actually have to drive the car, and you turn the steering wheel:

Genius!

OK, can you tell what gear you're in? Neither can I. Now when you're driving forward, you probably don't care that much. But when you're backing out of a tight parking space, and you have to crank the wheel a lot to avoid hitting another car, and then you have to switch back and forth between R and D... Well, let's just say that the Grand Marquis doesn't make this task any easier. In fact, to read the shift position, I often have to either over-turn or under-turn, putting the rental car and the cars around it at risk.

Such design genius deserves a proper reward: a thrashing out behind the woodshed. Sometimes, the standard solutions work and everyone knows how to use them, while a "creative" solution makes the user's job harder. That's always a bad thing.

And when I get some time to think, I'll probably have a lot more to say about excessive creativity as regards Microsoft's "Avalon" tools...
Posted in Opinion by Martin L. Shoemaker on Sunday October 9, 2005 at 10:02pm. 0 Comments 0 Trackbacks

Tuesday, October 4, 2005

Just say No!
Always be polite to tech support people, because they're powerless, and they're really trying to help. But they can also be pretty clueless. All they're doing at the start of the call is just running you through a script of common, simple solutions.

But here's a simple rule: when the network tech support at your hotel or other wireless hotspot reaches the point in their script where they say, "OK, can you turn off your firewall?", your answer is "No."

Now let me modify that just a bit: if you've never connected to this network before with this machine in its current configuration, maybe there's a firewall problem. Maybe. And maybe there's a problem that, while not directly related to the firewall, is being affected by it. So in that case, go along with their script, and turn off the firewall. But if that doesn't immediately solve the problem, turn it back on. And if it does seem to solve the problem, ask them how you can get the network working with your firewall.

But if you've connected to this same network with this same machine in the same configuration, do not turn off the firewall, and tell them no! The problem is on their end; but their script is designed to go for the easy answers first. And that means easy for them, not for you. Turning off your firewall doesn't take effort on their part; fixing their problem does.

Now when you tell them no, they'll be really confused. That's good! They were confused to begin with, but now you've made them realize it. The first line of tech support is almost always low skill personnel who can walk through the script, but not much more. And you know what? For a great big majority of the cases, that's good enough. So they are providing a service.

But from personal experience, I will say that when they reach the point of turning off the firewall, they've passed the point where their script is useful. They need to be confused, because when they're confused, they have to escalate the problem to someone with more skill.

In my case, I used this particular machine with this wireless card and these configuration settings to connect to the wireless network at this particular hotel on my trip to Atlanta three weeks ago. Everything worked fine. And then I used this particular machine with this wireless card and these configuration settings to connect to the wireless network at this particular hotel in this very hotel room yesterday. Everything was fine.

But last night, although I was getting a good wireless signal, I couldn't get any Web pages to open. I reset the connection. Nothing. I restarted the machine. Nothing. I rebooted. Nothing. And that left me no choice but to call tech support.

And I hate calling tech support, because I know what will happen. I know computers. I'm not a network expert, but I can handle the simple stuff. So when I call tech support, I know I'll have a problem that's off their script. But you can't tell them that. They're going to follow the script, because it's all they know how to do.

TECH: What's the problem?

ME: Well, I connected from this room yesterday; but today, I have a connection, but it won't open any Web pages.

TECH: OK, go to the wireless icon, and select Available Wireless Networks. Does it say you're connected?

ME: Yes. [That's why I said I had a connection. Duh. But I'm too polite to say that.]

TECH: OK, go to the Start Menu and select Run. Then type cmd. Then type ipconfig. [What? Doesn't your script tell you how to get the IP address straight from the window I have open already? But again, I'm too polite to say that.]

ME: OK, my IP address is ******.

TECH: And the gateway?

ME: ******.

TECH: (starts to mumble under his breath a bit, a sure sign that the script is in trouble)

TECH: OK, can you ping the gateway? Type ping, followed by the gateway address.

ME: Responds back instantly. Good connection.

TECH: (mumbles more)...can ping the gateway...

TECH: OK, minimize the window you're in.

TECH: (mumbles more)

TECH: OK, do you have any firewall installed? [Uh-oh, here it comes. Come on, Martin, just give him a chance to show initiative!]

ME: Yes, the same firewall I had yesterday, when I was connecting just fine. So that's not the problem. [Come on, tech! You can do it! Think for yourself!]

TECH: OK, can you turn the firewall off? [He shoots! He... misses...]

ME (firmly): No. I'm sorry, but I connected yesterday with these exact same firewall settings. That's not the problem, so I'm not turning it off.

TECH: (mumbles more)

TECH: Can you hold, please?

ME: Sure.

(Hold music)

TECH: OK, I'm going to have to escalate this. I need to escalate it to someone who can do something about this. Can I have your number?

ME (politely): Sure!

And that's why I hate to call tech support. I wasted five minutes running tests I had already run, just so I could have a fight with some poor tech support guy who was only doing what he was told, all so I could get to the point of waiting for someone who knows something to call me back.

Hotels and other hotspots are cesspools of viruses and other threats. And at least part of the reason is that well-meaning tech support guys tell users who don't know any better to jump into the cesspool without a firewall on (to mix a metaphor or three).

Just don't do it. Just say No!

UPDATE: And they never did call me back. But somehow, two hours later, I was able to connect to the Web. And all without me touching my firewall settings. Imagine that...
Posted in Opinion by Martin L. Shoemaker on Tuesday October 4, 2005 at 11:45am. 0 Comments 0 Trackbacks

Sunday, October 2, 2005

Sorry, Toshiba, I can't take it any more
An open letter to Toshiba:

My first Toshiba computer was a Portege 3500 Tablet PC. It was the most powerful Tablet PC on the market at the time, and packed with features. It was the only Tablet PC for programmers, and I was thrilled to get it.

As time went by, it very occasionally just locked up. I never did find a reason, but it seemed to happen more in summer months. Air conditioning gives my wife a sinus headache, so our house gets pretty warm in the summer. I suspected (but couldn't prove) that the machine had less tolerance for heat than the ThinkPads I've had in the past.

After almost a year, the Tablet screen developed wandering dead zones, where the pen just could not draw. The mouse could move the cursor there, but the pen couldn't. The dead zones were always one complete horizontal or vertical band across the screen, but not always in the same place. When I called Toshiba tech support, the tech on the phone didn't seem to know what a Tablet PC was. When I said the pen couldn't draw, he thought it was a screen redraw problem, not a pen input problem. He told me to reinstall the video drivers, and maybe the whole OS. When I told him that wasn't the problem and I wasn't going to reinstall the OS, he lost interest in helping me. Other 3500 owners told me to pinch the edges of the screen near the dead zones. I laughed, but I tried it. To my surpprise, it worked: the dead zones went away — but only temporarily. Eventually, I would learn the cause of the wandering dead zones: the glue used to hold the screens together was inferior, and over time it gave out. The screen front and back became able to separate. And when they did so, they might pull the antenna leads loose in the screen, so that the radio signals in the pen couldn't reach the sensors in the screen edge. When I pinched the screen edges, I reclosed the contacts, and also gave the glue a brief reinforcement to hold together.

My second Toshiba was another Portege 3500 Tablet PC, a refurbished model ordered in a rush when the LCD display failed on my first Toshiba, five days before I had to teach a class. I ordered an identical 3500, swapped the hard drives and memory as soon as it arrived, and drove the old machine with the new drive to the local Toshiba service center (CPR of Grand Rapids, where some very kind, patient, helpful, and hard working people can be found). I told them not to rush, as I had a working system. Eventually, they found that they had to replace the mother board.

Within less than a month, the second 3500 had wandering dead zones.

My third and last Toshiba computer is a Portege M200 Tablet PC. Feature for feature, it was far cooler than the 3500s — and to Toshiba's credit, this one has never developed wandering dead zones. I got this machine as part of a Microsoft partner program, while my first 3500 was still in the shop. So I switched all my work over to the more powerful machine, and life was good.

Meanwhile, the first 3500 finally came back from the shop with a new motherboard. CPR had also fixed the wandering dead zones. Since they knew how to fix those and the second 3500 had the same problem, I took that in to them. Meanwhile, the first 3500 sat mostly unused, since I was sticking with the M200.

Then the M200's video went out. Back into the shop with it. Eventually, they had to replace the motherboard.

While the M200 was in the shop, I fell back on 3500 #1. The wandering dead zones were back.

I also decided to set up 3500 #2 as a laptop for my niece to use for school. I went to log in — and remember, I had never before used the hard drive for this machine, having swapped drives as soon as it arrived — and found that the Administrator account didn't have Administrator privileges. That made it impossible to install anything on the machine, and frankly shouldn't have been possible. Eventually, my buddy Josh Holmes diagnosed the problem: there was a hidden log-in with an unreadable name that did have Administrator privileges. That was a sure sign of a virus that had stolen Administrator privileges for itself and then taken them from the Administrator account to protect itself. Since I had never used the machine, I could only conclude that it had shipped with the virus. Now that's not necessarily Toshiba's fault, since I bought it from a refurbisher/reseller. And remember again: I had never before used the hard drive for this machine, so I had nothing to lose from just wiping the drive.

Nothing, that is, but money and time. To keep weight down, Toshiba hadn't installed DVD or CD drives in these models. So to reformat and reinstall, I had to boot from an external DVD drive. But not just any external DVD drive (Josh and I tried): it had to be a special, Toshiba-made drive, one which was both expensive and hard to track down. It took weeks for CPR to find the drive. Once they found it, it worked as advertised, and I was able to get 3500 #2 up and running.

Meanwhile, my M200 was out of the shop. I was happy. And the next time it went into the shop, it was entirely my fault: I cracked the LCD. So I can't complain about that.

(I haven't even mentioned the missing screws. The screws in the bottom of the M200 and the 3500s just seem to loosen with time, and occasionally fall out. I've taken to tightening them every week, just as a precaution.)

But barely a week after I got it back from the shop, the video developed an incurable case of "snow" all over the screen. Back to the shop with it, and back to 3500 #1 for me.

And the problems with 3500 #1 continued. I was in Atlanta and Boston in warm weather; and as I had seen in Michigan, sometimes it just plain locked up. Once it took two days of my work with it.

Meanwhile, my brother-in-law called me while I was on the road. My niece was having a problem with 3500 #2. It would lock up every couple of hours. I told him I suspected heat problems. He stuck pop bottle caps under it to elevate it and put a small fan behind it to blow air underneath. It hasn't locked up since.

Amd this week was the last straw. CPR called to say my M200 was ready. They had to replace the motherboard again (meaning it's now on its third motherboard). My sister helpfully picked it up and mailed it to my hotel in Seattle. I was so happy to get back on the newer, more powerful machine. But I quickly found out that now the Power Meter cannot detect that there's a battery installed. As soon as I unplug the machine, it turns off, losing all work in progress. And even worse for a convertible Tablet PC: the rotation sensor doesn't seem to be working. If I rotate the screen and lay it flat for writing, it acts like I just closed the screen: it goes into Standby mode, and stays there until I rotate the screen back up.

That's it. Enough. Sorry, Toshiba, but I can't take it any more. There's something wrong when I can tell you three different routes from my house to CPR and tell you which one will get you there fastest in various traffic conditions. I'll give you this: you have faithfully honored the warranties without question, and the folks at CPR really are helpful and knowledgeable. But that's not enough. I can't afford to keep risking my work and my time on your lemons. I plan to get another Tablet PC soon, and your new M4 seems to have ideal specs for my needs; but I'm not about to use another Toshiba computer. I'll find a more reliable machine.

Saturday, October 1, 2005

Acknowledging the pioneers
For a long time now, I've been using the phrase "Smart Cocktail Napkin" to describe a class of Tablet PC applications that let a user sketch out an idea, and the computer understands what was drawn and adds meaning to it. Most of the Gold Nugget app ideas so far are examples of Smart Cocktail Napkin applications.

Well, these folks beat me to the metaphor by nearly a decade: The Electronic Cocktail Napkin Project. In their own words:


The Electronic Cocktail Napkin is a pen based drawing environment written in Macintosh Common Lisp. It aims to support designing using hand drawn sketches and diagrams. We want to make it easy to make expressive drawings — as easy as pencil and paper — that can also be managed and interpreted by the program. We'd like to take advantage of designers' experience with the rich tradition of drawing and the directness of pencil and paper as well as the symbolic and numeric manipulations that computers make possible. In other words, we want to work with pencil and intelligent paper.


This was NSF-funded research work. They really did some good, ground-breaking research and thought. While the Tablet PC hardware and API have exceeded their hardware platform, their vision of what can be done with the hardware is still forward-thinking today. If you're looking for people who have really thought about how a pen adds power to a computer, start with The Design Group.
Tablet PC Gold Nugget #7: Chem Pad



This one's pretty vague, because I've never studied chemistry after high school; but I know that chemical diagrams are easy to draw by hand, and hard to create in a typical word processor or graphics package. So Chem Pad would allow a chemist to draw the diagram by hand; and then the app would apply chemical knowledge to create a cleaned-up, ready-for-publication version of the diagram. Chem Pad should run as a stand-alone app that can svae the diagrams or copy them to the clipboard; and it should also run as an MS Word add-in that can automatically insert the images into the text.

Chem Pad could also do things such as calculating the molecular wait of the diagram as drawn, automatically adding valence numbers, and maybe even identifying flaws in the diagram. And since there are high-end chemical visualization tools out there, Chem Pad should export to their file formats. There's probably a lot more that it should do; but I'm not a chemist, so I can't think what that might be. If you can, I can teach you how to write Chem Pad.
Tablet PC Gold Nugget #6: TacMap, the Game



Here's a variation on TacMap, one which was hinted at in that nugget. You let players use the pen to sketch out orders for movement and attacks and other actions in a turn-based strategy game. The player could draw various shapes on a particular unit to represent various actions, such as digging in, fortifying, building, planting, etc. The player could also draw paths for units to follow. And then the user could also switch modes (perhaps via the pen's barrel button, or perhaps even by voice command) to order units to attack particular targets. And the player should be able to click or tap on a unit to open a status window for that unit.

There's a lot more that a game like this should have: a good story line, compelling music, and great graphics. I'm not a game programmer, so I don't know how many other things you should add. But if you do, I can teach you how to write the pen and voice controls.

(For some sad reason, I keep getting an image of John Madden and his electronic whiteboard, and imagining that being animated. But I suspect that X's and O's just aren't good enough for today's graphics-obsessed gamer. Still, the TacMap game idea could work for a football game as well, if you supplied better graphics and sound.)

UPDATE: Oops! I forgot to mention that Tracking Systems is an extremely simple example of a Tablet PC game. It's not great, but it should get you thinking.
Tablet PC Gold Nugget #5: TacMap



Here's a Tablet PC gold nugget for any military programmers out there: TacMap, a tactical map for battle planning and evaluation. This app would allow a commander to use a simple pen to draw and update a battle map, either for planning an upcoming battle or for plotting observations and movements for a battle in progress.

TacMap should allow drawing or importing of maps, as well as of units and sets of units. A commander should be able to draw new enemy units as they're discovered, and should be able to drag and drop units to reflect plans or observations. The commander should be able to tap or click a unit to pop up a detail window to add status information and issue orders. (If you're really ambitious, you could even allow the commander to open a communications channel to friendly units by way of the detail window.)

The commander should also be able to modify the map on the fly, drawing in obstacles, hazards, and other terrain features as the battlefield changes.

For battle planning purposes, you might even allow units to be animated. The commander could sketch out a path for each unit to follow, and could also and time marks to indicate when a given unit is expected to reach a given point. The commander could also designate fire arcs and fire rates or other instructions. Meanwhile, another commander playing the role of the enemy could plot out likely tactics for opposing units. Then the map could be animated, so that the command staff could watch the plans play out and look for possible problems.

That's a start. I've never been in the military, and I'm not a tactician, so I can't envision everything TacMap should do. But if you can, I can teach you how to write it.
Tablet PC Gold Nugget #4: Note Pad Framework



I forgot about this nugget; and it's one you may want to consider as part of building this or one of these. The idea would be that, rather than just building a custom Smart Blueprint app, you would build a framework that allows you to plug symbol sets into a basic map drawing component. The map drawing piece would support drawing and dimensioning frames or layouts, and maybe importing of existing maps; and the plug-in API would let you design symbol grammars and attach them to data and meaning behind the diagram. This would be a lot of work to do for one Smart Blueprint app, but it would make further Smart Blueprint apps a lot easier.

And you know what I have to say next: I can teach you how to write that framework.
Tablet PC Gold Nugget #3: Sheet Music