Day 2 began with Steve Sawyer presenting a session on Software Project Management. During the past couple of years I've taken more of an interest in the business side of software development, therefore this session was something I was really looking forward to. Steve did a good job of explaining what a project manager is, and just as important, is not. One key point that I got from the session was that project management requires a lot of diplomacy when they take the role of a liaison between customers and technical people. Steve also recommended a book by Thomas Friedman, "The World is Flat". I'll have to add that to my reading list.
My next session was Michael Hogan's 254 Fields in that Table? This presentation addressed the problem where you need to store different fields for each record in a table. For example, an Items table contains a record for Shoes and a record for Blenders. Each Shoe item has a Brand, Color, and Size attribute. Whereas each Blender item has a Brand, Motor Speed, and Watts attribute. He demonstrated several common solutions such as a single flat table, many related tables, a generic attribute table, and using embedded XML. Michael discussed the pros and cons of each solution, with last one being the best overall solution.
My third session was Christof Wollenhaupt's Introduction to COM. This session discussed the history COM, what makes it so cool. He also offered an excellent rebuttal to the argument that COM is dead and went on to provide evidence to the contrary. A real highlight of this session is a function he wrote that can be used to load DLLs without registering them first!
After lunch, I attended Whil Hentzen's session Introduction to Client-Server Using VFP and MySQL. One of the topics he discusses is the problem of loading MySQL on a development machine. It is easy to be misled by the performance since the data is "local". I though about this and wondered if running MySQL in a virtual environment, such as VirtualPC or VMWare, would address that issue. If this topic was something you missed, I would suggest checking out Whil's book "MySQL Client-Server Apps with Visual FoxPro" at Hentzenwerke. Having read the book and attended the session, I would say that the book covers what he presented and more.
Following that I went to Christof Wollenhaupt's session On the Dark Side of FoxPro. This session explained a lot about how Visual FoxPro works internally. He discussed data sessions, object creation, variables, memory management, tables and indexes, Rushmore optimization, and so much more. This is one of those times when you don't want the presentation to end because you are learning so much.
My last session of the day was Doug Hennig's Developing Visual FoxPro Applications for Windows Vista. Doug did an excellent job of explaining what has changed in Vista, how it affects application development and deployment, and what we need to do for our applications to run on Vista. One of Doug's comments was something to the effect that Vista is not going to go away anytime soon - so we might as well get used to it.