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, March 4, 2009

6 miles from my current contract?
I am so there!

"I've Got a Golden Ticket!" Update: "Because you were a member and supporter of the Michigan Space & Science Center in Jackson, I would like to extend an invitation for you to join us for the member's 'pre-opening' event at the new Michigan Space Science Center at the Air Zoo. This will be taking place 11:00 am to 7:00 pm on Firday, June 8th in the Air Zoo's East Campus building."

Thursday, April 12, 2007

Well, if you insist...
When I'm traveling on my own dollar, I keep an eye out for Red Roof Inn. They're consistently at or near the lowest price of any national chain, and they're consistently clean and well-maintained, with courteous staff. Plus many of their locations are T-Mobile HotSpots, and I have a T-Mobile subscription, so I can get online there easily.

But there's Red Roof service, and then there's Red Roof service...

My new contract work is on a project with some pretty tight deadlines looming, so there are some long days lately. When the days are long enough or the weather nasty enough, I prefer to check into the local Red Roof than risk the trip home. A night there is $45, which is one-third the cost of a wrecker, so it's an easy decision.

Monday was a long day: 18 hours. So I decided to check in to Red Roof. I arrived around 5 a.m. (Tuesday, technically, but still Monday for me), got a room, slept, and checked out at noon.

Tuesday was a shorter day: only 14 hours. Still, that meant it was after 3 a.m., and I was tired. Another Red Roof night. I checked in around 3:30 a.m. (Wednesday, technically, but still Tuesday for me), got a room, and slept.

At just about noon, I got a call from the front desk. They told me they owed me some money, but I told them I was pretty sure we were square. Eventually I realized that they had recorded the Monday/Tuesday check-in as a Tuesday night stay with an early arrival. They said I had paid twice for one night; but I insisted that I had slept two nights and paid for two nights, and as far as I was concerned that was fair. I also said that if the unexpected blizzard continued, I would be back that night.

Well, the blizzard turned to rain, which made the slush nice and slick. And while my day was very short (only 9.5 hours), I was too tired to risk the roads. Back to Red Roof!

But when I got there, the night clerk had a note from the day clerk: if I showed up, my stay that night was already paid for. I explained why I thought I owed them money; but he insisted that their policies said I had paid for two nights and only used one so far. Finally, I decided that if they were going to insist on letting me sleep three nights for two payments, I wasn't going to argue with them. But I sure plan on telling people what good service they provide.

So if you find yourself stranded late at night in the Kalamazoo Portage area, I highly recommend Red Roof Inn West, conveniently close to Western Michigan University and other local attractions.

Tuesday, April 10, 2007

I'll be there, too!
WM Day of .Net May 19, 2007 - I'll be there!

Will you?
My speaking and other travel schedule (Revised April 10, 2007)
UPDATE: To make it easier to find this entry, I've added a link to it in the right sidebar, right under the links for my books and my classes.

West Michigan .NET User Group in Grand Rapids MI. April 17. Topic: Dee Jay: A Voice-Controlled Juke Box for Windows Vista.

Ann Arbor Day of .NET in Ann Arbor MI. May 5. Topic: Talking with Vista.

West Michigan Day of .NET in Grand Rapids MI. May 5. Topics: Do, Undo, Redo, Do Over: A Generics Command Pattern Implementation; Talking with Vista.

Huntsville New Technology User Group in Huntsville AL. September 11. Topic: Dee Jay: A Voice-Controlled Juke Box for Windows Vista.

Wednesday, February 21, 2007

Generically speaking
I'll be speaking on a .NET generic implementation of Undo, Redo, Scripting, and Logging at GANG tonight.

Sunday, November 12, 2006

Public Service Announcement: Beware of WiFi Evil Twins!
OK, this may be old news to some of you; and it's obvious, once you think about it. But it's news to me, so I want to pass it along.

The topic is WiFi Evil Twins. What's a WiFi Evil Twin, you ask? That's when some thief goes to a public WiFi hotspot area and sets up a new public WiFi network with the same or similar name, in hopes of getting people to sign in through his WiFi instead of the public one. Then he can attempt to upload viruses, record traffic, capture credit card information, etc. Usually he uses a stronger antenna, so that you're more likely to find his network than the legitimate network.

There are variations on this. One might be called the Evil One: he doesn't duplicate the existing network, he just creates a new network. As this interview with Anne P. Mitchell, Esq. (Professor of Internet Law at Lincoln Law School of San Jose, and the President and CEO of the Institute for Spam and Internet Public Policy) explains:


Anne: Yes. Just last week I was sitting in my local Starbucks, where they offer wifi hotspots from T-Mobile. In order to log into a T-Mobile hotspot, you must have an account with T-Mobile, for which you must pay.

Even though I don't use the T-Mobile hotspots, I always check (with my laptop) to see what wifi hotspots are available at any given location because, well, that's part of my beat.

Sure enough, users at that Starbucks who opened their laptops and searched for a local wifi Internet connection were presented with the option of "T-Mobile Hotspot," as they should be, but were also presented with a second option, called "Free Wifi from Team WiFi," which I am 99% certain was an evil twin (and indeed Starbucks confirmed that there was no special offer going on which would have otherwise explained that second hotspot).

Now, notice a few things about this second, uninvited hotspot. First, it uses the term "free wifi." Who wouldn't want to use that, especially compared to the T-Mobile hotspot, where you have to pay?

Second, though, note the friendly and familiar sounding "Team WiFi." By using familiar terms for their evil twin, along with telling people it is free, they are making it very easy for an unsuspecting user to go ahead and click and connect to that evil twin. In fact, users may just think that it's a special offer from the T-Mobile Hotspot people.

Sure enough, Audri, this evil twin caught some people. As the gentleman who was sitting next to me got up to leave, after being on his computer for quite some time, I asked him whether he had logged in to the Internet while he was there.

When he said that he had, I asked him whether he was a T-Mobile user. "Oh no," he replied, "they have a free wifi hotspot set up here."

I advised him that it was almost certainly an evil twin, and that if he had done anything online while logged in through that "free" hotspot which might have compromised any sensitive information, he should take immediate measures to remedy the situation, such as changing any passwords he had sent while logged in.


And for me, this is more than just theory: I'm pretty sure I've met an Evil Twin in the wild. A hotel I've been staying at offers free WiFi (more and more of them do these days — it's a lot cheaper than stringing wires to the rooms). They have three WiFi hubs: "hotel name", "hotel name2", and "hotel name3" (names changed because I'm not sure I'm right yet). That's what the owner believes, anyway; but when I check for available networks, there's a fourth network, named "Hotel Name". And it has a stronger signal than any of the other hubs. What's more, when I connect to the other three hubs, they all give me the same IP address; but when I (carefully and briefly) connect to the fourth hub, it gives me a radically different IP address on an entirely different subnet.

So what should I do about it? That's troublesome. From the interview with Ms. Mitchell:


At this point your readers may be wondering why I didn't alert the authorities. And this is why user education is so very important.

There really was nobody for me to effectively alert. I could have called the police, but they would not have had the resources to even figure out where this evil twin was located, let alone to figure out who and how it was being done. The best thing I could do at that point was to let people know not to use that hotspot.


While I'm all for user education — that's why I'm telling you this — I'm not so complacent as Ms. Mitchell about informing the police. Michigan's Attorney General has made fighting Internet crime a priority, so I've informed their High Tech Crime Unit. It may be a waste of time; but if I don't try, I'll always worry that someone might be getting ripped off, and I didn't do anything to stop it.

Now back to the subject of user education: here are some things you can do to protect yourself.


  1. When in doubt, don't do it. These scammers are good. This is how they make their living. If you don't feel comfortable trying to detect and outwit the scammers, then don't do anything at a WiFi hotspot. Certainly don't enter any passwords, credit card numbers, etc. Save that work for when you have a direct connection. I'm not saying you should never use WiFI; I'm saying that if you don't want to take the time to learn how to protect yourself, then you should never use WiFi.

  2. Always download the latest security updates from Windows Update. Set up your machine to download the updates automatically. Don't tell me you're too busy. If you're too busy, then stay off WiFi. In fact, stay off the Internet, period. The scammers are working hard to find new victims, and you're volunteering to be one. And don't tell me that the updates "break" your machine. While I'll grant that's possible, it's most likely something you're doing wrong, and you need to fix. I've had automatic updates activated on all of my machines for years, and I've never had a problem.

  3. Turn on your Windows firewall.

  4. Download and install Windows Defender.

  5. Install a good antivirus/Internet security package, such as McAfee or Symantec, and keep it up to date.

  6. Install a spyware blocker like Ad-Aware or Spybot. In fact, install both of them. They're free, and they seem to complement each other well. And yes, Windows Defender and McAfee and Symantec all have adware/spyware blockers as well; but since each product has its own strengths and weaknesses, it can't hurt to have multiple layers of protection.

  7. Despite my advocating Ad-Aware and Spybot, be careful with "free" software. Software takes time to develop. Time is money. Although we programmers will often write code for fun or passion, the most common motivation is money. If someone's offering it to you for free, it's very likely because he hopes to make money somewhere else. In many cases, that's by selling ads through adware/spyware; but sometimes, it's by installing viruses and keyboard recorders to steal your banking information. If you're installing "free" software, make sure you trust the company or person that's providing it.

  8. Change your WiFi settings to Paranoid (i.e., safe). This will involve several steps:

    1. Open up your network connections by selecting Show All Connections from your Start menu:

      Show all connections

    2. When you see the Network Connections dialog, right-click your wireless connection and select Properties:

      Selecting Wireless Network Properties

    3. You should see the Wireless Network Connection Properties dialog:

      Wireless Network Connection Properties dialog

      Switch to the Wireless Networks tab:

      Wireless Networks tab

    4. Click the Advanced button to open the Advanced wireless settings dialog:

      Advanced wireless settings dialog

      This lets you choose from three different ways to access WiFi networks:


      • Any available network (access point preferred). This means that you will connect either to wirless hubs or to other wireless computers, but you'll prefer wireless hubs.

      • Access point (infrastructure) networks only. This means that you will connect only to wirless hubs.

      • Computer-to-computer (ad-hoc) networks only. This means that you will connect only to other wireless computers.


      Unless you know you're intending to work with friends or coworkers and plan to meet somewhere without a WiFi network, it's always a bad idea to connect to other wireless computers. That's the easiest way to get viruses; and it's a very easy way to get hoodwinked by an Evil Twin: the scammer doesn't even have to set up a hub, just rename his computer to look like a network. The Paranoid setting here is Access point (infrastructure) networks only. Choose that one unless you're sure you have a reason not to.

      This dialog also has a check box: Automatically connect to non-preferred networks. For added Paranoia, make sure that box isn't checked.

      When you're done in this dialog, click Close. But don't close the Wireless Network Connection Properties dialog. You'll do more work there in the next step.


  9. Next you want to disable automatic connection to all of your WiFi networks, or at least to most of them. Your home network is probably safe, as are those of your friends, and your office; but even in those places, if there are neighbors nearby, there's the chance of an Evil Twin. So the Paranoid (i.e., safe) approach is to only make manual connections. Now if you're like me, you probably already have a number of known Wireless connections; and if Evil Twins are as new to you as they are to me, then those are probably set up for automatic connection. So you'll need to switch those to manual, following these steps for each network:


    1. In the Wireless Network Connection Properties dialog, select the network you would like to change:

      Selecting a WiFi network to convert to manual connection

      After you select the network, click Properties. You should see the Properties dialog for the selected network:

      Properties for the selected wireless network

    2. Select the Connection tab:

      The Connection tab for the selected wireless network

      Uncheck the box that says Connect when this network is in range, and then click OK.

      Repeat this for every wireless network. Then click OK in the Wireless Network Connection Properties dialog as well.



    Once you've disabled automatic connection, you'll need to connect manually to any network. To do this, right-click the wireless network connection icon and select View Available Wireless Networks:

    View Available Wireless Networks

    You'll see the Wireless Network Connection dialog:

    Wireless Network Connection dialog

    Select the network you want to connect to, and click Connect.

  10. While you're in the Wireless Network Connection dialog, search for Evil Twins. If you see two networks with the same name, one is probably an Evil Twin. If you see a network with a seductive name like "Free Wifi from Team WiFi," that's probably an Evil One. Here's a hint: Internet service isn't free. If a cafe or restaurant or hotel puts in WiFi service, it's because they're hoping it will bring them customers. And the only way it can bring them customers is if customers know about it. That means they'll advertise it with signs on the wall or the front door. If you don't see an advertisement for it, it's probably an Evil One. And if there's both a fee-based service like T-Mobile and a "free" service, the "free" service is almost conclusively an Evil One. When in doubt, ask the management. If they don't know about it — or they're clueless and say, "I don't know anything about the wireless" — assume it's an Evil One.

  11. If you think you've found an Evil Twin or an Evil One, I disagree with Ms. Mitchell: inform your Attorney General. They get our tax follars to pursue cybercrime, but they can't be everywhere. If they don't know about the crime, they can't pursue it. Maybe nothing will come of it, and the criminals may keep commiting their crimes; but if no one does anything, then they will keep commiting their crimes. I understand why Ms. Mitchell would inform other patrons that they were at risk. Of course, it takes some chutzpah to start telling random strangers in a cafe that they're at risk; and worse, it may also upset the scammer, and he may take steps to shut you up. And even if you inform the management, it's possible that someone in management is the scammer. I think it's best to leave law enforcement to the law enforcement authorities. Tell your AG.



Robert A. Heinlein once wrote: "Anything free is worth what you pay for it." My cynical addition is "If you're lucky." That "free" WiFi could end up costing you everything you've got in your bank account, and a whole lot more.

UPDATE: My lone commenter and fellow Duelist Epee Bill links to this more serious WiFi vulnerability. It's a WiFi driver flaw affecting laptops from Dell, HP, and Gateway, as well as other devices. Because it's driver-level code, it works at a privileged level in your system and can give a hacker complete control.

The catch is no one's distributing the fix through typical "push" channels. You have to know about it and go pull it down.

Related Posts (on one page):

  1. Not that there's anything wrong with twins!
  2. Public Service Announcement: Beware of WiFi Evil Twins!

Wednesday, August 2, 2006

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

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

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

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

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

Friday, July 28, 2006

An exhausting night
So I pulled into the convenience store/Shell station/McDonald's combo. I wanted to get some money out of the ATM and some dinner for the trip home.

So I walked up to the ATM, swiped my card, and told it I wanted to withdraw $100. It said, "Sure!" And then it chugged and chugged and chugged — and suddenly, it said, "Withdrawal amount altered. Read receipt." And it dispensed $80. I said, "Wait a minute, I know I have more than that in there." And I checked the receipt, and it showed plenty of funds still in my account. But then I looked at the ATM screen; and in big red letters, it said, "OUT OF SERVICE. CONTACT ATTENDANT." So I did as I was told.

Then I went to the mini-McDonald's. These don't have the full menu. This one, for example, had 10 piece chicken McNuggets and 20 piece, but no 6 piece like a regular McD's has. So I ordered the 10 piece, figuring I was hungry enough for that. Then I took my cup and went over to get my drink. And when I came back to the counter, the manager said, "Sir, I'm afraid we're short three nuggets for your order. Would you like a cheeseburger to fill out the order?"

I decided maybe it was a good thing I didn't need to gas up the car, or I might have caused a local energy crisis.


Monday, July 17, 2006

So your laptop has been stolen. The next question is...
...how recent is your latest backup?

Were I in that unfortunate position, I can now answer, "Last night." Can you?

This post is in honor of Duane, who made a great sacrifice to provide the rest of us with an object lesson...
Posted in Travel by Martin L. Shoemaker on Monday July 17, 2006 at 8:55am. 4 Comments 0 Trackbacks

Sunday, June 18, 2006

My Old Kentucky Home
Well, not really. The Kentucky Derby was a month and a half ago. But I did get out to Churchill Downs today while I was in Lousville for a Tablet PC class. I figured if I got that close and didn't get some photos for Sandy, I was a fool. You just shouldn't pass up opportunities like that. And besides, our anniversary is only a week away, and this was a shopping opportunity I wouldn't normally have.

I hoped to get on the road early, and the Kentucky Derby Museum opens at 9 a.m. The races today didn't start until 1:15, and I wanted to be long gone by then. But I decided to sleep in, and then had to check out, and then had to take care of some FAXing and mailing before I hit the road. By the time I reached Churchill Downs, it was the start of the first race. So I decided to see more than the museum. Again, you just shouldn't pass up opportunities like that.

Here are some photos of my Churchill Downs experience.

Some enterprising locals tried to sell me parking at $5 per day on their street, but I found free parking at the Downs. But it was a bit of a walk on a hot Kentucky afternoon.

The Stands from my Parking Spot

Finally, I got up near the stands.

Approaching the Stands

I really like the architecture of the back side of the stands. It's a nice blend of function and style.

Behind the Stands

Behind the Stands

Here's a plaque, commemorating the Derby:

Derby Plaque


KENTUCKY DERBY


Referred to as "The Run for the Roses," the first Kentucky Derby was run on this track, May 17, 1875. Black jockey Oliver Lewis rode H. P. McGrath's Aristides to victory. The 1 1/4 mi. race for three-year-old Thoroughbreds is the oldest continuously run stakes race in America, "greatest two minutes in sports," and the first jewel in racing's Triple Crown.


This statue stands behind the plaque shown above.

Derby Statue

From this angle, the horse statue appears to me to be laughing.

Horse Statue Laughing

Anyone who thinks horses have no humor has never met a horse. Every horse person has been laughed at by a horse who slipped away or otherwise eluded them on a fine sunny day when the horse would rather play games than ride.

Finally, some real live horses!

Schooling Stalls

Another thing every horse person knows is that horses are skittish. They're very easily spooked by the unfamiliar. After all, they evolved as a prey species, and they evolved one of the classic prey survival strategies: run like the wind at the first sign of trouble. Sandy likes to tell how a horse can spook at a blade of grass that the horse has passed every day for a month, simply because the grass moved funny that day. So it's important to familiarize horses with new situations before you put them under stress in those situations. These Schooling Stalls are places where trainers bring young horses on race day, simply so the horses can get used to the crowds and the track and the whole experience.

Schooling Stalls

And yes, I was sure to ask permission before I snapped these pictures. I didn't want to interfere with a training regimen.

Schooling Stalls

Schooling Stalls

Schooling Stalls

Schooling Stalls

This is the tunnel that leads from the horse barns to the track.

Tunnel to the Track

The pedestrian path crosses the horse path; but when horses are coming through, a gatekeeper (the gentleman in the vest and hat) closes off the gates. Note that the riders in this picture aren't wearing any colors. That's because these horses aren't racing today, either. They're more horses-in-training, getting used to the experience of riding onto the track and back under tack.

Here was my first look at the track itself.

First Look at the Track

I was amazed both at how close to the track they let you get, and at how many open seats there were right at the front. Only later did I realize that:


  1. The seats right out front are out in the bright sunlight. It gets hot out there.

  2. You can't see the whole track from those seats, only the home stretch.



The shaded seats higher up are much more popular. But since I was there to get horse pictures for Sandy, that was fine with me. The closer, the better!

This tower-like structure sits right in the center of the oval track.

Center Tower

Here are yet more horses-in-training, being walked out to the starting gate and back to get used to a track surrounded by people.

Horse on Walkout

Horse on Walkout

Horse on Walkout

A lot of the horses were walked out before I got there. Here they're starting to walk back.

Horse on Track

Horses on Track

Horse on Track

Horses on Track

Horses on Track

Horse on Track

Horses on Track

Horses on Track

Horse on Track

Horses on Track

Horse on Track

Horses on Track

Horse on Track

Horse on Track

Horses on Track

Horses on Track

Horses on Track

Yes, that's a lot of horse pictures. Why do you think I was there?

And here's one of the student horses we last saw in the tunnel, now riding the track. They all gathered near the tunnel entry, and some rode out to the starting gate and back.

Student Horse

Student Horse

Student Horse

Student Horses

Student Horses

Student Horses

Student Horses

Student Horses

Student Horses

Student Horses

Student Horses

Student Horses

Now we see some colors: the competitors are entering the track. Here horse number 1 seems to be conferring with the student horses.

Number 1 with the Students

Horse number 3 emerges from the tunnel.

Number 3

I figured I couldn't get the whole Churchill Downs experience without placing a bet. But there were some problems with this plan:


  1. I don't believe in gambling. It's not a moral thing, or anything like that; I just know that really smart statisticians and accountants are paid very well to make sure the house wins. I know that if you look at gambling as anything but recreation, you're in for a big disappointment.

  2. I'll change that opinion slightly, however, in contests where individual skill can come into play. Face-to-face poker, for example, isn't gambling in the hands of a skilled player. And for those who really know the horses and the tracks, I'll concede that horse racing may not be gambling.

  3. But I'm not one of those people who knows the horses and the tracks. Heck, I barely know most of our horses.



So any bet I placed was guaranteed to lose. Just guaranteed, unless just random chance played a factor. How then to make the bet interesting? Well, I could've picked the favorite, and that would be the safe bet. But it wouldn't have been a fun bet. No, if I wanted a fun bet, there was only one way to go: bet on the longest shot in the race. And that was number 6, Angel Love, whose odds were 22-1 when I placed my bet. Here Angel emerges from the tunnel.

Angel Emerges from the Tunnel

Horse number 7 enters the track.

Number 7

Horse number 8 prepares for the race.

Preparing for the Race.jpg

The competitors head to the starting gate.

Heading to the Gate

And there goes Angel!

Angel Love

And they're off!

In the Back Stretch

And as the center field monitor shows, Angel Love held a strong second place all the way into the back stretch. Not bad for a horse whose odds have climbed to 65-1, eh?

And here they come around the final turn.

Around the Final Turn

Angel Love has fallen back to third place. That would still pay an impressive $1,275 on a $2 bet; and on my $10 bet, well, you can understand how someone might get excited by this sport, right?

But no, Angel Love doesn't have what it takes for the long haul, and finishes sixth. Still, it was exciting there for a minute or so.

Oh, well, off to the museum. The entry is a set of starting gates.

Museum Entrance

Here's a statue of a horse with the blanket of roses.

Roses

Here's a display of Derby cups.

Cups

Here's a display of silks (i.e., uniforms) worn by Derby jockeys.

Silks

A display on the ideal conformation of a Thoroughbred.

Conformation

Note the correct spelling: conformation. This is often misspelled as "confirmation", as if a show judge is confirming that the horse looks good. (The same term and the same misspelling also occur in dog shows.) What the judge is actually assessing is whether the horse correctly conforms to ideal standards for the breed.

A display of the grain that a yearling might eat in one day of training.

Grains

Common training equipment.

Training Equipment

Model of a horse barn.

Barn Model

I wish I could build Sandy a barn like that; and if I did, she'd find the horses to fill it.

An example of a saddle and tack.

Saddle and Tack

Man, those are light, tiny saddles!

A display on jockeys as athletes.

Jockey as Athlete

Without even reading it, I can tell you what it says: that jockeys use more and different muscle groups than any other sport, and that jockeys are uniquely fit compared to other athletes. How do I know it says that? Because that's what devotees say about every sport I've ever looked into: fencing, swimming, soccer, martial arts, you name it. They can't all be the most fit, of course. Maybe bowlers and archers don't try to sell this line, but it seems like every other kind of athlete does.

A display of common veterinarian tools.

Veterinarian Tools

A display of common farrier tools.

Farrier Tools

A display of common grooming tools.

Groom Tools

This little mechanical ride lets you experience trying to stay in the stirrups on a moving horse for the duration of a Derby.

Ride in the Derby

No, I didn't try it.

I thought Sandy would like this horse banner.

Horse Banner

The museum has more than its share of stubby-legged horses. It seems kinda sick to me...

Pat Day Exercise Horse

This one is Pat Day's exercise horse. Pat Day, for those who don't recognize the name (like me), is a Hall of Fame jockey. I can't really tell if he's that much better or more famous than other jockeys, except for one thing: he's the only one with his own walk-through room at the Kentucky Derby Museum (including a Pat Day cut-out that you can stand with to get your picture taken). I assume that means he's a pretty big thing among jockeys.

And apparently, exercise horses are big business.

A harness racing cart. I didn't know they did harness racing at the Downs.

Cart

A starting gate display, complete with a mock horse in the gate.

Starting Gate

In the Gate

Note: yet another stubby-legged horse...

Yes, folks, there really is an International Horeshoeing Hall of Fame.

International Horeshoeing Hall of Fame

It's about the size of a walk-in closet, and it's on the second floor of the museum.

Famous Farriers

But just because it's small, doesn't mean it's not serious. A thrown shoe can cripple a very expensive race horse and end its career. Bad feet can be lethal for a horse. The very wealthy owners have great respect for good farriers.

And if you think the farriers get a tiny space, well, the veterinarians get only a wall — inside the International Horeshoeing Hall of Fame.

Famous Vets

Still, their names are up there.

These banners of past Derby winners hang over a multimedia theater on the first floor.

Banners

Like many another city, Louisville has done the giant animal art craze; and of course, in Louisville the animal chosen was horses. (I guess the horses aren't giant; but some city, I forget which one, was infested with giant rabbits.) This piece, called "Aristides" after the first Derby winner, is painted with a wrap-around scene of Churchill Downs itself. I thought that was pretty clever.

Colorful Horse Statue

Finally, it was time to hit the road.

Everybody Remember Where We Parked

Every time I see a sea of cars like this, I'm reminded of what the great man once said: "Everybody remember where we parked."

Friday, March 24, 2006

Boston, here I come!
It's a little late to announce this — particularly since the class is full — but it's worth mentioning for future reference. The Richard Hale Shaw Group is presenting our Visual Studio Team System class at the Microsoft Technology Center in Waltham, MA, with me as lead instructor.

We're also trying to find another chance for me to present Ink in 60 Seconds while I'm there.

Sunday, March 19, 2006

Hamburger WHAT?
So while I was in Montreal, two different restaurant menus that I saw listed an item called "Hamburger Michigan". Now I have to tell you: I've lived in Michigan all my life; and as far as I know, there's nothing unusual about how we serve hamburgers here.

So I was curious; but other things on the menu tempted me. I didn't want to end up with either a plain hamburger or something unrecognizable. So instead, I had a gyro platter from Kostas Souvlakis for Wednesday dinner, and a smoked meat sandwich (another popular menu item) at Orly's Restaurant (can't find a Web site for that one). The gyro was one of the finest I've ever had (so good that I called them back to offer my compliments to the chef, and I've never done that before), and the smoked meat was tasty; so I don't mind my choices. But that still left me curious.

And a Web search left me even more curious, because a search for "Hamburger Michigan" turns up incredibly few hits. A Google search for the exact phrase turns up only 71 hits. (Of course, that will be 72 when Google gets around to indexing this entry.) And most of the ones that it does turn up are restaurant menus. Most of those in French. Most of those from restaurants in Montreal. And none of them define what Hamburger Michigan is. It must be one of those things that if you're from Montreal, you just know, and nobody need bother to explain (I'll bet he would know); and if you're not from Montreal, you would never have heard of it, and so you would never think to ask.

The best possible answer that I found came from all the way down on the third page of the Google search. It led me to an entry on Cooks.com. Now the entry had moved over time; but a search on Cooks.com led to these entries for "Michigan Sauce". They all seem to be recipes for what sound like sloppy-joe-like sauces of tomato paste and crumbled hamburger, to be served on hamburgers or hotdogs. (Meat sauce on meat. Go figure...)

I also found a comment thread somewhere (but now I can't find it again, naturally) where people discussed Michigan Sauce and traded recipes on it. No one there seemed to know why it might be called that.

So I'm at a loss. Is this what they mean by Hamburger Michigan? I guess I'll have to go back to Montreal to find out. Why have I lived 43 years in Michigan and never even heard of it before now? And why is it called that? That may be one of those rare answers that just isn't to be found on the Web.
A geek pilgrimage
And while I was in Montreal, I was in fact presenting right on the very edge of McGill University. The Microsoft office there is in fact only a block away from the University on Avenue McGill College. So I was rather amused to be presenting there.

What's that? You mean you've never heard of McGill University? What sort of a geek are you? Don't you recognize the alma mater of one of the icons of the geek world? Doesn't everyone know where he went to school? Well, OK, I didn't until the Biography Channel ran an episode on him, which included a cross-country bus ride to McGill. That was shortly after he won his first Emmy. First, meaning he won another one. Some people say, "I don't mind. They're not laughing at me, they're laughing with me." Other people say, "You're a fool. They're not laughing with you, they're laughing at you." He seems to be saying, "Let them laugh, as long as I get to work. And I'll have the last laugh, all the way to the bank." He has made a third (or is it fourth? or fifth?) career out of mocking himself the way his critics have mocked him in the past; and he's still working, while many of them are still going nowhere. Or as the man himself says:


I've heard of you
The ready-made connecting with the ever-ready
Yeah
The never was talking about still trying
I got it
Forever bitter gossiping about never say die
May I inquire what you've been doing mister?
Jack
Never done Jack
And you partner, what's the News of the World, Dick?
I don't say dick
Don, of all the people you must be the Tattler
Two thumbs up
What are you afraid of?
Failure?
So am I
Has been implies failure
Not so
Has been is history
Has been was
Has been might again


I can only hope that at his age I can still be working in my field and having a ball doing it. And if people laugh at me, I hope I have the grace to laugh along and the wits to turn it into an opportunity.

Unfortunately, my pilgrimage wasn't quite complete. I didn't make it to this place. Oh, well. The name's not official, anyway. McGill just calls it the University Centre. But I have to believe he finds it more amusing this way.
Bonjour, Montreal!
This is a little late, because I've been doing post travel stuff, and then getting ready for the new VSTS class coming up. To the fine folks in Montreal, I say: Pardonnez-moi, svp, mes amis!

So on Wednesday night in Montreal, I gave my presentation to GUMSNET: Ink in 60 Seconds. Despite my rather hideous attempt to apologize in French for not being able to speak French, they were most gracious hosts. (And darn it! I rehearsed that apology over a dozen times on the trip, until I had it down pat; and then I fell apart when I actually had to give it. Here's what I meant to say: Bon soir, monsieurs! Mon nom est Martin L. Shoemaker, et je ne comprends pas le français. Pardon, si vous plais. Je suis un debutante en français. Mais mon Tablet PC comprend le français!)

I got caught in a lot of Montreal traffic, and also had to fight to find parking in Centre-ville, so I was just a bit late. And then my machine had to reboot. But we finally got rolling, and I started writing little Tablet PC demos, with a 60 second clock running. There were occasional laughs at my expense when I missed the 60 second mark; but on the other hand, many of the demos were done in under 30 seconds. The Tablet PC API is just that powerful. By the time we were done, we were drawing pictures, editing them, erasing them, saving them, loading them, and exporting them as images. We were also drawing shapes that the Tablet PC recognized and identified. We were converting handwriting to text, in both English and French. And we even wrote some text by hand and then had the Tablet PC speak it out loud. We finished with ten ideas for great Tablet PC apps just waiting to be written. I hope that I inspired someone in the audience to go write one.

There was one hang-up in the presentation; and I promised the good folks from GUMSNET that I would blog about it, including what I learned afterward. Late in the presentation — right about the time I tried to do handwriting recognition, when I needed really good ink collection — my wonderful Gateway CX200X Tablet PC started exhibiting dead spots that were strangely reminiscent of the bad old days of Toshiba. The dead zones weren't as consistent, but they were irritating. And they always seemed to be right where I was writing text en français to try to show off the multi-lingual power of the Tablet PC. The audience was forgiving for this, but they did insist on knowing the answer when I learned it. Well, here's what I think I have learned. I noticed that the pen seemed to behave better when I held it at different angles; and then I remembered that when we broke for dinner, I dropped the pen. And as far as I can recall, there were no dead zones before the break, only after. I suspected that maybe I had jammed something in the pen tip; and with a little experimentation, I found that rotating the pen around its axis or relative to the screen could sometimes make the dead zone go away. Suspecting a pen problem rather than a screen problem, I pulled out my spare pen. And I have had no dead zone problems since.

All in all, Montreal was a delightful place to visit, and I hope to return some day when I have a little more time to visit. And the folks at GUMSNET were a great audience. I ran about 40 minutes over time (gee, there's a surprise); and they were all alert and attentive right to the end. We would probably have stayed longer, but the Microsoft employee who was keeping the facility open for us wanted to go home!

Of course, Richard would have my hide if I didn't mention that Ink in 60 Seconds is the opening segment of our Tablet PC Programming Workshop, where you can learn all this and much, much more about building your own Tablet PC applications. In the class, you won't just watch: you'll build a full-featured Tablet PC application yourself, and learn the Tablet PC from the inside. I hope we'll be adding a public Tablet PC class to our schedule first, but you can always bring us to your site.

Monday, March 13, 2006

Ink in 60 Seconds
So why aren't you writing Tablet PC applications with .NET yet?

Do you think it's too difficult? Do you think you're too busy to learn the Tablet PC API? Well, I say you're wrong.

Or do you just not see what sort of Tablet PC app you might build? Do you think that there's no great Tablet PC applications out there for you? Well, I say you're wrong again.

And I'm so sure you're wrong, I'm going to prove it to you at the Groupe d'utilisateurs de l'archutecture Microsft .Net de Montreal by building some simple little Tablet PC samples — samples you can easily adapt into your own applications — each written in under 60 seconds. (Note: In order to meet that time limit, I'll be writing these in C#, the language I know best. Every single one of these demos could be written in 60 seconds in VB.NET, but only by a better VB programmer than me!)

Then after each sample is running, I'll explain to you what I did, how I did it, and how you might expand on it. Some of the samples I'll build include:


  • 60 Seconds to Ink: Capturing Ink in a window in your application.

  • 60 Seconds to Ink Anywhere: Capturing Ink in any window in your application.

  • 60 Seconds to Programmatic Ink: Adding Strokes programmatically to an Ink surface.

  • 60 Seconds to Saving Ink: Saving your drawings.

  • 60 Seconds to Loading Ink: Loading your drawings.

  • 60 Seconds to Saving Some Ink: Saving part of a drawing.

  • 60 Seconds to Loading Some Ink: Loading a drawing into an existing drawing.

  • 60 Seconds to Exporting Ink: Savinging your drawings as images you can share with non-Tablet PC users.

  • 60 Seconds to Selecting, Moving, and Resizing: Manipulating the Ink that you draw.

  • 60 Seconds to Erasing: Erasing the Ink that you draw.

  • 60 Seconds to Drawing Attributes: Drawing with multiple colors, transparent Ink, and different shapes and sizes of pens.

  • 60 Seconds to Clipboarding: Really simple Ink clipboard functionality — and why it doesn't work!

  • 60 Seconds to Simple Handwriting Recognition: Simple handwriting in a form.

  • 60 Secondes au Français: Identification d'écriture en français.

  • 60 Seconds to More Handwriting Recognition: Handwriting recognition mixed with typing.

  • 60 Seconds to Handwriting Recognition Anywhere: Handwriting recognition from any Ink surface.

  • 60 Secondes à Plus Français: Plus d'identification d'écriture en français.

  • 60 Seconds to Text-to-Speech: A simple talking application.



And just in case those samples don't inspire you to devise a great new Tablet PC application, I'll finish the presentation by spending 60 seconds (probably more) describing each of ten different killer Tablet PC applications that I'm just too busy to write myself, but which I think somebody should be writing.

So fasten your seat belts. This is gonna be one heck of a fast ride!

And no, I'm not doing this talk just for the free pizza from INETA and the free trip to Montreal. I certainly hope that some of the attendees are so excited that they'll want to take our Tablet PC Programming workshop, where we'll go places you just can't reach in 60 seconds.

Friday, February 3, 2006

Realization slowly dawns...
So I was somewhat surprised that I didn't get a First Class upgrade on either of my flights today. Not that I'm guaranteed an upgrade, or anything; but usually I get them on about two out of three flights since attaining NWA Gold status. Oh, well...

Then I get to the airport in Seattle, and I notice that it's really, really crowded. And slowly it dawns on me...

What has been the big topic on the radio here in Seattle all week? The Superbowl.

Why has it been the big topic? Because Seattle is playing in it.

When is it? This weekend.

Why was it the big topic on the radio all last week in Michigan? Because it's in Detroit this year.

What's the big airline with hubs in Seattle, Minneapolis (where I'm stopping), and Detroit? NWA.

Am I going to have incredibly crowded flights and airports all day? Yep.

Do most of these people have any clue at all how to make the security and check in procedures go smoothly and efficiently? Nope, none at all.

Is my day going to be nothing but hassle? Probably...

Monday, January 30, 2006

What a long, strange trip
iPaq Power Connector

The item pictured above is an iPaq Power Connector. The power adapter plugs into the synch cradle, and then I plug the iPaq into the synch cradle to recharge the batteries. With the iPaq Power Connector, I can plug the power directly into the iPaq, skipping the cradle. The iPaq Power Connector has a little rubber loop that fixes it to the power adapter cable; but it's flexible, and detachable.

Earlier this month, as I wrapped up the power connector, I felt some resistance. I tugged on it, and it came free from whatever it was caught on; but when it did, the iPaq Power Connector was gone. I looked under the bed, under the backpack, under the power strip, and under every other thing I could see that might have both caught and concealed the iPaq Power Connector. No luck. It was gone.

So ever since, everywhere I've taken my iPaq, I've had to also take the synch cradle if I've wanted to be able to recharge my phone. I stuck it in my backpack, and I took it everywhere: to Kinko's multiple times, to McDonald's and various other restaurants, to friends' houses, you name it. Even on a flight from Grand Rapids to Yonkers and back by way of Detroit. Everywhere I went, I had the synch cradle in my backpack, which wasn't exactly convenient: it's an odd shape and size, and makes it harder to fit the backpack into tight places like under airline seats. But especially on business trips of multiple days, I have to be able to recharge the phone.

This latest trip to San Francisco started with a stop in Minneapolis. And Saturday travel is pretty light, so NWA uses smaller planes where they can. This time, the plane was a small one with very limited overhead luggage space. The gate agent strongly insisted on doing gate checks for all luggage. Actually, the backpack could've fit under the seat just fine — even with that bulky synch cradle in it — but I didn't know that. So against all my usual habits, I let the gate agent tag the backpack; and then when I got to the plane, I put it on the cart for checking. I figured it was only an hour flight, and I could be without my CX200X for that long. Besides, I had some new reading to keep me occupied.

So when I got to Minneapolis, I rushed to the gate check pickup shelf. Just because I gave the machine up didn't mean I was comfortable with it sitting on a shelf where anyone could pick it up. But thanks to some slow passengers, "rushed" wasn't quite the right word. By the time I got to the shelf, my backpack was the last piece of luggage there.

And on the floor, right below where my backpack lay, was... my iPaq Power Connector.

I can't even fathom the odds...

Thursday, December 15, 2005

More from KSC
Here are more photos from my visit to the Kennedy Space Center. This visit coincided with my completion of Apollo, so my whole brain was prepped for the experience.

Here's a peek at the Rocket Garden as you approach the Visitor Center:

KSC Visitor Center

If you want to take one of the special tours (NASA Up-Close and Cape Canaveral: Then & Now), you're strongly encouraged to make reservations in advance. I made a reservation for NASA Up Close; and thanks to some navigation difficulties (I programmed my Hertz Never-Lost for the KSC Federal Credit Union, not KSC itself), I arrived just in time to start the tour. Our guide for the day was Don Garretson:

Our guide, Don Garretson

Don started his career in the oil business, specializing in fluid flows, gas detection, and related instrumentation. That led him to a job with the KSC engineering staff working on gas detection, containment, and transfer during construction of various facilities such as the ISS preparation buildings. Once those facilities were complete, NASA cut back on contract engineers in those areas. So Don found a job as a KSC tour guide. He's very knowledgeable and personable, and provides a great tour.

There was one down side to the tour:

NASA Bus

I have mentioned on other occasions how much I loathe buses. Well, for this tour, I just had to put up with the bus.

For reference on the tour, here's a map of KSC (from this site):

KSC Map

As we pulled out of the Visitor Center, Don pointed out this:

VAB from 5 miles out

That building you see there is the Vehicle Assembly Building, or more commonly known as just the VAB. As Don pointed out, it only looks small in this picture because of how far away it is: 5 miles. It's actually the third-largest building in the USA by volume, and has the tallest single storey anywhere. We'll see a lot more of the VAB in later photos.

Don also pointed out some other buildings. Here's the KSC Headquarters:

KSC Headquarters

And here are some shots of the Operations and Checkout building (O&C), where spacrecraft modules are checked out before assembly, and where astronauts stay immediately before and after a flight:

O&C Building

O&C Back Side

O&C Door to Nowhere

If you look closely at the second storey of that last shot, you'll see the Door to Nowhere: a door with no stairs leading up to it. Beyond that door is the O&C clinic. After a lengthy Shuttle mission or especially an ISS mission, astronauts sometimes are in no shape to walk. They may have trouble with balance, or they may have weakened muscles and bones. The carrier that takes them from the Shuttle landing strip to the O&C is designed to lift stretchers straight up to the Door to Nowhere and into the clinic without the astronauts ever having to get up.

Our first stop on the tour was a viewing stand where visitors can sit on bleachers and look across the water to various prep launch facilities:

Launch facilities

The left-most building is devoted to a new approach. In the traditional prep-and-launch, the rocket and its payload (collectively known as "the stack" are assembled in a building and the slowly, carefully hauled out to a launch platform. In this new facility, the stack is assembled, and then the building is moved away. The stack remains motionless, so there's no chance of anything being dislodged in transit. As Don explained it, this can reduce prep time from months to hours.

Here's a shot of the VAB from the same bleachers:

VAB from shore

Our next stop was a preparation center for elements of the International Space Station (ISS). We couldn't photograph the modules themselves, not for security reasons, but rather to avoid a hazard: the fire suppression systems in the prep rooms might interpret camera flashes as a fire, and then drench and ruin a lot of very expensive equipment. While we were there, they were preparing the three cargo modules used to haul supplies to the ISS and haul garbage back. These are named Leonardo, Raphael, and Donatello — no, not for the Ninja Turtels, for the Italian painters. The cargo modules are made by Italy as part of their contribution to the ISS. Don told the story of how, when Raphael first came down with a load of garbage, the stench was so bad that the workers refused to go in. After sealing it up with charcoal pellets for a week, it was finally tolerable, and they could finish the clean-up.

While the ISS components could not be photographed, the ISS center included a visitor center with models and mock-ups. Here's an ISS spacesuit:

ISS Suit

Here's a model of Skylab, the first space station:

Skylab model

And here's a model of Mir, the second space station.

Mir model

And finally, here's a model of the ISS itself:

ISS Model

Here's a model of Canada's contribution: a robotic arm used for moving modules and cargo containers. I'm not sure this name is official, but I've heard it called the Canadarm:

Canadarm

Here's a mock-up of one of the Habitat modules:

HAB 1 Module

Inside the Habitat module, here are a restroom, a shower, and a sleeping chamber:

ISS Restroom

ISS Shower

ISS Sleep Chamber

I never figured out what the NOD module was, but here it is:

NOD 1 Module

And inside, you can see that the ISS is a luxury condo as spacecraft go:

ISS Module

(If you don't believe me, jump ahead to the photos of the interiors of the Mercury and Apollo capsules.)

I didn't get an exterior shot of the Lab module (and frankly, they all look kinda the same from outside); but here's the gasmap, one of the experiments in the Lab:

Gasmap experiment

Next, the bus took us on a drive around the VAB:

VAB

Now the word for the VAB is big; but no picture can possibly convey just how big it is. To try to give you some hint of the size: each stripe in that flag on the side is wider than the bus we were riding.

Here are the big doors used for taking spacecraft out for launch:

VAB big doors

Again, the word is big. The Statue of Liberty could fit comfortably through those doors. A fully ready Saturn V stack with an Apollo CSM and an escape tower, though, came within 5 feet of the top of the doors.

So how would you move that massive Saturn V stack to the launch pad? That's where the crawler carrier comes in:

Crawler Carrier

The crawler carrier is a massive tracked vehicle with the surface area of a baseball diamond. Moving at a top speed that's about as fast as a leisurely walk, it would haul the Saturn V out, slowly but surely, to the Pad 39 complex. (More on that below.) Today, it serves the same purpose for Space Shuttles, hauling each one out atop the Shuttle launch platform:

Shuttle launch platform

This is much more than a platform: it's really a small building, complete with offices and machine shops. The crawler carrier slides under it, lifts it up, and carries it into the VAB. There a crane lifts the orbiter and the external tank and the booster engines into place, so that workers can attach them. The two pylon-like buildings on top of the platform help stabilize the orbiter's tail.

But before the orbiter can be placed on the launch platform, it has to be prepped in one of the three Shuttle "garages". Here's the door into one:

Shuttle work bay

Notice the door has a notch in the top to allow for the orbiter's tail fin.

Once the orbiter and the tank and the boosters are assembled, the crawler carrier pulls them out along this path:

Crawler path

The two lanes allow for the two sets of treads. The lanes are not gravel, but rather Tennessee River Rock from Alabama. (Hey, it was funny when Don said it!) This rock is chosen because of its small round size and hardness, but especially because it is pretty much immune to sparking under compression. In the Apollo days, sparks might be a problem, but not too big of a problem: the Saturn V engines used liquid fuel (kerosene and liquid oxygen), and were fueled up while on the launch pad. The Shuttle orbiter also uses liquid fuel; but the external boosters are solid fuel rockets. That means that they're fully fueled and ready to ignite as the Shuttle goes down the path. A stray spark at the wrong moment could lead to a fire; and that could lead to a real disaster.

After the VAB, the bus took us out to a photo stand on the Pad 39 complex. There we could see the two launch pads used for the Apollo launches as well as almost every manned NASA launch. (Unmanned rockets usually launch from the Air Force's facilities at Cape Canaveral.) Here's Pad 39A, from which Columbia launched on both her first and last flights:

Pad 39A

And here's Pad 39B, from which Challenger launched on her last flight:

Pad 39B

That shot of Pad 39B was a close-up as we drove past to our next stop, the Space Shuttle landing strip. Further along, we passed the Media Center where reporters and camera crews set up to cover missions:

Media Center

And then we arrived at the Space Shuttle landing strip:

Space Shuttle landing strip

This is another place where a picture just can't capture the immensity. That landing strip is 15,000 feet long, making it one of the largest in the world.

Here's the traffic control tower for the landing strip:

Space Shuttle traffic control

Along the way to our last stop, we passed what looked like a futuristic junk yard:

Testing Grounds

What it actually is is what my buddy Tom Lavey would call a bunch of giant test shims. These pieces of "junk" are actually mock-ups of various fittings and assemblies from the launch pads and elsewhere. When engineers are working on new systems that have to integrate with these fittings and assemblies, they can bring their equipment here and test it on the test fittings first, rather than waiting for time on the actual launch pad and possibly wasting a lot of time. While it may sound funny to think about having the wrong sized parts at launch day, NASA knows it's not funny at all. As Murray and Cox explain in Apollo, the heat shield on the very first Mecury test capsule turned out to be larger than the missile, and had to be carved down to fit, right on the launch pad. It's better to learn that sort of thing before launch day.

Our last stop on the tour was the Saturn V Center. The Saturn V at KSC used to be outside; but when weather began to take its toll, NASA built a special exhibit center and then moved the rocket inside and refurbished it. You enter the Saturn V Center through a small stand-up movie theater which introduces you to the Apollo program. Then from there, you move into the actual Apollo Launch Control room:

Launch Control

There they present a complex multimedia presentation of the last three minutes of an Apollo launch. As recorded voices from the various comm loops play over the speakers, each console is spotlighted when the corresponding voice is on the loops. Meanwhile, screens overhead show video from the various cameras: Launch Control, the launch pad, and elsewhere. The presentation ends with the building-shaking sound of the Saturn V launch. And then the doors open, and they let you in to see the Saturn V itself. We'll start with my traditional rocket butt shot:

Saturn V butt shot

Those five F-1 engines combined to produce 7.5 million pounds of thrust; and yet as powerful as they were, they were also delicately gimballed, so that they could pivot in different directions to control the angle of thrust. Growing up, I would see film of the engines, and I always thought I was only imagining that things that big and powerful were moving; but it was no illusion.

Here's a close-up of the plumbing for one F-1 engine:

F-1 Plumbing

Here's a length-wise view from Stage II forward:

Stage II on up

And here are the five J-2 engines of Stage II, as well as Stage II itself:

Stage II J-2s

Stage II

Here's a length-wise view from Stage III forward:

Stage III and CSM

And here's the single J-2 engine of Stage III, as well as Stage III itself:

Stage III J-2

Stage III

Here's an Instrumentation Unit that sat between two stages and provided cameras and other sensors:

Saturn V Instrumentation Unit

Here's the Service Module:

Service Module

Note the spherical tanks, which I believe contained H2, O2, and water.

Here's the Command Module and the escape tower (the rocket and tower which would fling the Command Module to safety in the case of an emergency before launch or early in the launch):

Command Module and Escape Tower

And here's a length-wise shot from the nose backward:

Saturn V lengthwise

They have a second Command Module and Service Module (collectively, Command and Service Module, or CSM) on the ground beneath the nose of the Saturn V:

CSM

I think that the Command Module here is the actual CM from the Apollo-Soyuz mission:

Command Module (Apollo-Soyuz?)

It's supposed to be at the Saturn V Center, and I didn't see it anywhere else. Also, this CM was sealed in plexiglass, something they usually reserve for actual flight articles:

Command Module through the top hatch

But I didn't see every sign, and I never saw a sign that identified this Command Module, so I can't be certain. (I'll verify this on my next trip.)

Here's another angle on this Command Module:

Command Module at an angle

And here's a rare opportunity, a butt shot of the Service Propulsion System or SPS, the main engine of the CSM:

SPS butt shot

And here's an even more rare butt shot:

LM butt shot

That's the Descent Engine of an actual Lunar Module (or LM, pronounced "LEM"). Not a mock-up or a tester, but a real LM. Most of the real LMs went on missions, and were left in space. Those that went to the Moon left their Descent Stages there, while their Ascent Stages usually were crashed into the Moon to gather seismic data. Other Ascent Stages burned up in the atmosphere. One went into a solar orbit.

But this LM never flew. It was commissioned and built for the Apollo 15 mission; but then they redesigned the LM to carry the Lunar Rover, and this LM no longer fit the spec. And so now it hangs from the ceiling in the Saturn V Center:

LM

Here's a model of a LM in the adapter stage of a Saturn V:

LM in adapter (model)

And speaking of the Lunar Rover, there was one parked near the Saturn V:

Lunar Rover

Lunar Rover front view

And nearby is a replica of an Apollo spacesuit: