Friday, September 29, 2006

Newest Stonefield Members

I'm pleased to announce the birth of Gavin Lee Zinnert, first child of Jeff and Amanda Zinnert, born last night at 11:18 pm. The baby was a healthy 6 lb. 7 oz. and 20". Jeff is a National Account Manager for Stonefield Software and has worked for us for a couple of years. You may have met him at DevCon, Southwest Fox, or German DevCon.

Also, technical support guru Tonia Batten has left us (her husband got a job in another city). We're sad to see Tonia go; her professionalism and keen attention to detail will be missed. However, I'm happy to announce the addition of two new members to our technical support team: Trevor Mansuy and Chris Wolf. Both have quickly come up to speed on Stonefield Query and Trevor has already taken over webinars. Because he is the third Chris and the second Wolf at Stonefield, which is interesting for a company of 18 people (we also have two unrelated Andersons and, including spouses, two Peggys), Chris Wolf has agreed to change his name to Quentin Tarantino, whom he vaguely resembles.

FoxTalk Rips Off Itself

I got another mailing from FoxTalk yesterday. Thinking it was their weekly load of spam mail soliciting a subscription, I almost didn't open it, but it was in a bigger envelope, so I decided to chance it. Of course, inside was the usual subscription offer, but it also included the September 2006 issue of FoxTalk. There on the front cover was an article by me titled "Generate Web Page Components in VFP". I immediately saw red, not just because that's the magazine's theme color. I wrote that article a couple of years ago and it was published in the May 2004 issue. Essentially, editor Jonathan Rabson repackaged it to fit their new, goofy editorial guidelines (and introduced a typo -- my Web site is, not and published it again. So now, in addition to the fact that most articles have nothing to do with VFP and are written by folks who aren't VFP developers at all let alone experts and that the Kit Box column is a shadow of the excellence written by Andy and Marcia each month, we have to put up with recycled articles!

It is truly sad to see the incredibly fast decline in a once great magazine (and as a charter subscriber who still has the very first issue, I thought it was great long before I started writing for it).

Tuesday, September 19, 2006

Sightseeing in Prague

On Wednesday, Craig, Alan, Uwe, Venelina, Igor, and I took the train to Karlstejn, a picturesque little town about 40 km south of Prague with a castle high up overlooking the town. It was a bit of a hike up to the castle, but well worth it. We took a guided tour of the castle, including a chapel that included many rare paintings.

Here's the castle from the town:

Here's a view of one of the turrets from another part of the castle:

We took the train back to Prague and had a great dinner hosted by Gaby and Hans Lochmann at the TV Tower. The TV Tower is a Communist-era structure with a restaurant at an observation deck. It recently was decorated with what I think look like naked alien babies. Here's a close-up:

Craig and I spent Thursday and Friday sightseeing in Prague. I must say I'm very impressed. Prague is a lovely city: very tourist-friendly, the people are nice, the majority of the historical buildings are within walking distance of each other, and it's inexpensive (Igor, Craig, and I had a fabulous dinner Thursday night which cost, including beer, about $8 per person). It felt like we walked at least 20 or 30 km each day. We saw a lot of beautiful Gothic churches and climbed five towers: the clock tower at Old City Hall, a scaled-down version of the Eiffel Tower, the Powder Tower, and the towers of both St. Nicholas church (the one in New Town; there are two churches named St. Nicholas in Prague) and St. Vitus Cathedral (at the Prague Castle). Here's the Old City Hall (the observation deck is above the clock):

Here's the Powder Tower (the observation deck is just below the steeple):

Here's the Eiffel Tower clone:

As you can tell from these pictures, we spent as much time going vertical as we did horizontal.

Here's the beautiful Municipal Hall, used for concerts:

We met up with Igor late Thursday afternoon and went bar hopping to try out the various local brew. Craig doesn't drink beer (or a lot of anything else), so Igor and I felt challenged to corrupt him. He finally agreed to drink one beer, and here's the result:

Igor led us to Two Cats, where I had a great traditional Czech dinner of roast pork stuffed with cabbage, bread dumplings, red cabbage, and more beer.

After sightseeing Friday, Craig and I were both wiped out, plus I had to get up at 4 am for my flight home, so we ate at the Bavaria Restaurant at our hotel, and once again had a fabulous meal (peppercorn steak in my case, cooked perfectly).

What a great trip! Thanks to Igor for inviting me to speak and being a wonderful host.

Thursday, September 14, 2006

Prague DevCon, Day 2

I decided to skip Craig's COM+ sessions: I'd seen him present this topic before, he has excellent session notes, and I wanted to practice the two sessions I was doing that afternoon one last time. After doing so, and catching up on some email, I attended Alan's Introduction to LINQ session. LINQ is a lot further along that when I last looked at it, and it's very cool. I especially like the way you can query against anything IEnumerable, including arrays and collections, and that you can call functions and do just about anything in the query itself, just like you can with VFP.

After lunch (submarine sandwiches again), I presented my Mining for Gold in XSource session. In this session, I show how to reuse some of the components that come with VFP, such as a progress bar, object-oriented shortcut menu, and even a powerful but easy-to-use builder framework. I saw a lot of smiles when I showed how to create a useful builder in less than five minutes.

My second session, Cool Uses for ReportListeners, followed a short break. This is a fun session to present, because I show how to hyperlink reports, useful for things like drilldown reports, how to create a report preview window with a "live" surface (one that supports click and other events), and doing text search within a preview window. I got a lot more feedback from these two sessions than I did yesterday's, so hopefully they went over well with the audience.

That evening, the speakers took a bus, the metro, and a tram to a restaurant in downtown Prague (the TOP Hotel, where the conference is located, is quite a ways out of central Prague) owned by Derek, who is the majority owner in the company Igor works for. It's a brand-new restaurant (only open for two weeks) and is very nice. The restaurant was closed to the public for the night, so Derek, his son Adam, Liz, and the other staff devoted their time to just us. Figuring we were a group of geeks, Derek prepared a flowchart of the evening, including what would be served at each course and the drinks we were expected to consume. The food was fabulous -- I especially liked the toast with pieces of garlic you rub on them, as everyone who watched me pound back about 10 of them can attest. Of course, I wasn't the only one enjoying the food; Alan had several helpings of the thinly-sliced roast beef, including one after dessert! Adam, who's only 13 and had school the next day, was a waiter extraordinare. He was incredibly funny and a talented singer (he favored us with a couple of songs, including dancing). We left the restaurant after midnight and must have been a little noisy while waiting for our cabs, because someone dumped a bucket of what I hope was water from an upstairs window (fortunately, they just missed us).

Prague DevCon was a great conference. The sessions were top-notch, the food excellent, the conference staff wonderful, and Igor was an extremely gracious host. I can't wait until next year's conference!

Wednesday, September 13, 2006

More Tips for Speakers

Rick's tips for speakers has an excellent list of things all speakers should do before presenting a session. It prompted me to post one of my own: controlling your fonts.

One thing that's always distracting to attendees is when a speaker has to constantly increase the font size of every window they open. This is really unnecessary because it's very easy to do it in advance. Obviously, for sample forms you create, you should use a large font, such as Arial 14 or 16 bold, but what about Windows dialogs and VFP windows?

You can easily control Windows dialogs with a special theme you set up in advance. I have one I call "Demo" because that's what it's for. To create such a theme, right-click on the Windows desktop and choose Properties. Select the Appearance page and click Advanced. Change Size to 29 and Font Size to 14 for the following elements: Active Title Bar, Caption Buttons, Inactive Title Bar, Message Box, Change Size to 21 and Font Size to 12 for Menu, Selected Items, and Tooltip. Choose OK, then select the Theme page, click Save As, and save the new theme in the default folder (My Documents). You can then switch back to your normal theme. Before you start a presentation, switch to your saved presentation theme and all Windows dialogs will be readable to everyone in the room. After the presentation, switch back to your normal theme.

The settings for VFP windows are stored in the Registry, so before you begin changing things, save the current settings by running RegEdit, navigating to HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\9.0, and choosing Export from the File menu to save to a file such as VFP9Normal.REG. Launch VFP, choose Options from the Tools menu, and select the IDE page. For each of the window types (including Program Files, Memo Fields, and Browse), change the font size to 16 bold and be sure to turn on Override Individual Settings so all windows will use the desired font size. Close the Options dialog and exit VFP. Run RegEdit again, navigate to HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\9.0, and choose Export from the File menu, saving the settings to a file such as VFP9Demo.REG. You can then restore your normal settings by double-clicking VFP9Normal.REG. Before you start a presentation, double-click VFP9Demo.REG and all code, BROWSE, and Memo windows will be readable to everyone in the room. After the presentation, double-click VFP9Normal.REG.

With these two simple changes, you can completely eliminate the need to apologize and change the font size for every window in your presentation (or worse, make your attendees shout out "Bump up the font!").

Tuesday, September 12, 2006

Prague DevCon, Day 1

I decided to skipped Alan's keynote because I'd seen it at DevCon in Phoenix two weeks ago and wanted to go over my sessions one last time before presenting them (in keeping with Rick's suggestion to practice, practice, practice). I then wanted to go to Craig's session on Windows Communication Foundation and Windows Presentation Foundation, but jet lag got the best of me (although it was 11 am, it was 3 am by my internal clock) so I had an hour nap instead.

Lunch was a submarine sandwich and banana, and then I presented my Extending VFP with VFP session. One thing that's hard for me to get used to is the lack of feedback by European audiences. I mean no disrespect -- it's a cultural thing and I was warned by other speakers last year at the German DevCon -- but it's still hard to tell whether my ideas are sinking in or not. I agree with Dave Crozier's assessment; it was a pretty intense session, so if I do it again, I'll try to lighten up the material a bit.

I attended Craig's Object Thinking session and enjoyed it. As Dave pointed out, some of the concepts are a little controversial, especially the somewhat anti-data ones to a VFP audience. However, it's always good to challenge your viewpoints.

I then presented my Adding IntelliSense to Your Applications session. This is a somewhat esoteric session, in that it's not something every VFP developer would use, but in speaking with several attendees afterward, I know that a least a few will make use of the information.

A group of about 20 of us went to dinner at a restaurant somewhat removed from the hotel (it took about 20 minutes of walking through winding alleys, parks, streets). The food and beer were very good, although the service was very slow -- it was nearly two hours after ordering before our food finally arrived. Igor was kind enough to escort Alan, Craig, and I back to the hotel, as we never would have found it on our own.

I finished up the day catching up on email, talking to my wife, and reading a great book, The Cabinet of Curiosities by Douglas Preston and Lincoln Child (I've read several of their books and am a big fan).

Monday, September 11, 2006

Prague DevCon, Days -1 and 0

Yesterday was a very long day (actually two days). I'm speaking at DevCon in Prague this week, so I got up Saturday at 4 am Mountain Time, which is noon Central European Time (the time zone for Prague), and didn't go to bed until 10 pm Sunday. Except for about a one-hour nap on the flight, I was up for 34 hours.

The flight was uneventful (always a good thing). Igor Vit picked up Craig Berntson and I at the airport because even though we came from different cities on different airlines, we arrived at exactly the same time. After freshening up at the hotel, we had a very traditional Czech lunch of roast pork, bread dumplings, and sauerkraut.

We then met up with several other FoxPro folk (including wOOdy, his wife, Uwe, Venelina, JoKi, and Alan Griver) and took a four-hour walking tour of Prague with a very knowledgeable tour guide, Martina. Prague is beautiful. I loved the architecture of the historical buildings. There were lots of statues and fountains, interesting bridges, and, because it was a gorgeous day, tons of people everywhere. Martina explained the historical significance of the pedestrian-only Charles Bridge and several of the many statues on it. We took the Fundicular (a cross between a cable car and gondola ride) up the hillside and walked through a picturesque park to the Prague Castle. The castle is one of the largest in the world. It isn't a single building but a collection of many, including a Gothic cathedral similar in design to the one in Cologne or the Notre Dame in Paris.

Here are a couple of photos of the areas we visited:

Here's a group photo in front of the fountain in the second courtyard of the castle:

After the tour, we joined up with Hans and Gaby Lochmann and two of the local Microsoft people for dinner at a Brazilian restaurant. If you haven't been to one before, I highly recommend it. We started with a "salad" bar which, although there was no actual salad, had lots of delicious cold foods, including sushi. The waiters then brought us an interesting combination of fried bananas and fries (only Hans and I ate the bananas, so we had all we wanted). Next, the waiters brought an unending series of huge skewers of meat (pork, beef, lamb, sausage) and carved off pieces of any you wanted. You were supposed to flip a card on the table in front of you from green to red when you had enough, but the waiters ignored them and kept bringing tempting morsels anyway. Between all the food, great Czech beer, and pear schnapps in a cool tri-glass, I was completely stuffed. Great conversations with old and new friends, great food, and great beer made for a great evening.

After returning to my hotel room, I called home on my PC using Skype (thanks to Rick Schummer for introducing it to me). I love Skype: it's free to download and you can place calls to another PC on the Internet for free. In my case, I talked to my wife and son on her cell phone using a feature called Skype Out, which isn't free but is very cheap: my 10-minute call from the Czech Republic to Canada cost $0.24.

Time for bed!

Thursday, September 07, 2006

Really Busy

As you can likely tell by the scarcity of my posts lately, I'm busier than usual right now. I had planned to blog about a few things, such as the VFPX GDI+ classes and a new tool called UP2D8, but just haven't had the time. I'll get to them in future posts but first a quick catch-up.

First there was DevCon in Phoenix a couple of weeks ago. I arrived late Saturday night: one of my flights was delayed by three hours so I had a really long layover in Denver, then it took 1/2 hour for my luggage to come down, then SuperShuttle jerked me around for 1/2 hour before taking me to the hotel. The JW Marriott in Phoenix was great. The rooms weren't quite as large or luxurious as the ones in Las Vegas, but the hotel itself was much nicer. It even had a "lazy river" in the pool area.

Sunday Tamar Granor, Rick Schummer, Jeff Zinnert and I went to Sedona, about 1.5 hours north of Phoenix (or about 1 hour with Jeff driving). Rick has been there many times so was a great tour guide for us. The red rock mountains and mesas are so beautiful. My favorite part was the Slide Rock area, where you can slide in a natural water slide (very slippery and pretty cold, but lots of fun) or just jump off a cliff into a somewhat shallow (6 ft. or so) pool.

The conference itself was great as usual: excellent food, good sessions, fun hanging out with friends. The best meal of the trip: the last night at Bahama Breeze in the Desert Ridge Mall, walking distance from the hotel. The only disappointing thing was the attendance; based on a quick head-count at the keynote, I estimated about 120. However, Rick counted attendees in both rooms (yes, only two tracks!) several times and consistently found only 60 - 70 people.

Next, one of our technical support people resigned. Her husband found a job in Saskatoon (about 250 km north of Regina) so she found a new job there as well. So, my partner Mickey and I scrambled to find a replacement. We were already in the process of finding another support person, so we sped things up and did a bunch of interviews the day after I returned from Phoenix. We hired a couple of new guys and they started yesterday. They'll spend the next week with Tonia, getting up to speed on Stonefield Query and how to support it before she leaves us. She'll be greatly missed -- her work ethic, professionalism, and great customer skills were a joy -- so the new guys have big shoes to fill. I'm sure they'll do fine, though.

I had planned to take this week off: my mother-in-law died several weeks ago and my sister-in-law, brother-in-law, and our nephew came from Winnipeg to help my wife Peggy and I clean up her house so we can sell it this fall. What a huge job it's been -- it's not a very large house but she lived there for more than 40 years, so it has 40 years worth of stuff in it. Since they're only here until the end of this week and we're having a garage sale Friday and Saturday, we have some time pressure to get as much done as possible. Unfortunately, with all the things going on at work, I wasn't able to completely take the week off.

Saturday, I leave for Prague to speak at the DevCon there. (Which means I won't be here for the second day of garage sale. Dang. However will I console myself?) Igor Vit has been trying to get me to speak there for four years now, but we could never get our schedules to match up. Fortunately, it worked out this year, so I'm really looking forward to going. I have a few days of sightseeing planned so I'll blog about it when I return.