Sunday, October 22, 2006

Southwest Fox 2006, Part 1

After a very early start (5:30 am flight), I arrived here in Phoenix mid-afternoon for the Southwest Fox 2006 conference. Several people told me that Rick Schummer and Craig Boyd were panicking because I hadn't shown up yet, and we were due to deliver the keynote at 7 pm, and hadn't really gone through our presentation yet. Fortunately, we got together about 6:30 and briefly went over what we were planning to show, then spent the rest of the time setting up and fighting with the projector.

I think the keynote went well. Craig started off with a funny story about a hair-raising drive through the canyons of Phoenix (which somehow I've never seen) with me at the wheel. We then showed a Fox Software video from about 1990 showing the then newest version, FoxPro 1.0. Moving on to the recently released CTP of SP2 and Sedna, Craig showed some of the cool reporting enhancements in SP2, I showed My and the new Upsizing Wizard, Rick showed the Data Explorer enhancements he's been working on and discussed NET4COM, and Craig showed some of the things he's created in the Vista Toolkit. We had planned to show some demos of VFPX projects, but since I promised attendees that "shorter keynote = earlier beer", we figured we'd better wind up. However, Ken Levy then got up and announced that I was awarded the 2006 FoxPro Community Lifetime Achievement Award. I was completely surprised and blown away by this!

Friday morning, I had a tough decision to make: attend Rick Borup's Automating the Build session or Christof Wollenhaupt's Security Cookbook session. I knew Rick always creates great white papers, so I decided to see Christof's session because I knew it would be pretty important. Actually, like most of the other attendees, it scared the crap out of me. Christof showed how easy it is to extract the source code from a VFP EXE, even one that had been locked down with Refox. He discussed some of the ways hackers can get access to applications and discussed ways to secure an application. I took about a page of notes from that session!

Next, I presented Installing Applications with Inno Setup. I've been using Inno Setup for several years now and love it. One of the early slides was titled "Why I Hate Windows Installer". Some of the reasons I gave are the large file sizes, incredibly slow performance, problems with installation of ActiveX controls, proprietary database, and the fact that sometimes Windows Installer seems to have a mind of its own when it comes to deciding what files to install. I showed how fast Inno loads, how easy it is to create an Inno setup script (which is just a text file), and the flexibility it gives you in configuring the setup executable. I also showed how you can change the appearance and behavior of the setup using scripting.

I then attended Craig Berntson's Agile Software Development. This session was a nice introduction to the topic, covering things like the principles of agile development, why agile vs. traditional development methods, different types of agile, such as Scrum, and some books worth reading on the topic.

After lunch, I repeated my Inno Setup session, then attended Christof's Crashing VFP and Preventing Crashes session. Once again, Christof showed us internals of VFP that most people aren't aware of. For example, he created a trigger on a table and in the trigger code, did a SUSPEND. This left VFP in data session 0, the so-called "system" data session, and he showed the types of things that appear in that data session. He also showed the types of things that cause VFP to crash, such as dangling object references caused by not nulling references to one object stored in another when the second object is destroyed, and how to avoid those types of problems.

I finished the day with Bo Durban's Creating Custom Report Controls. Bo showed the basics of ReportListeners, then moved on to show some cool uses, including displaying negative numbers with parentheses so the decimals line up and there aren't extra spaces. He then spent time going over new features in SP2, including how easy it is to add you own pages to the Properties dialogs in the Report Builder. I took a lot of notes in this session!

After a few minutes to freshen up, 17 of us went to the F1 Race Factory for some karts racing (other folks went to a local casino). There had been some trash talking before the race, such as Steve Hanlon stating that because he drove a Mini Cooper that he was a force to be reckoned with, Craig challenging Cathy Pountney, who's been around cars and racing her whole life, and even me, who came in third at kart racing in Germany last year behind only Rick Strahl and Jeff Zinnert, neither of whom were here. The race was a blast, but at 10 minutes not nearly long enough. The winner isn't decided by who finishes first but by the fastest lap time, and Cathy was the winner over Rick Schummer by 0.03 seconds. I came in third, largely because I spun out a couple of times while driving a little more aggressively than I should have. This was definitely the most fun activity you can have at a conference!

1 comment:

Anonymous said...


Thanks fr a great write-up of the first day, and CONGRATULATIONS on the Community Lifetime Achievement Award!

Well deserved!