Posts Tagged ‘DAFUG’


Today Cathy Pountney drove across the state of Michigan and presented/rehearsed her Southwest Fox session called “Customizing Your Vertical Market Application” to the Detroit Area Fox User Group. I have been looking forward to this session from the moment I saw it proposed to the organizers of the conference. Tonight I was not disappointed.

What Cathy showed is one approach, one architecture to developing and extending vertical market applications (those built with several potentially diverse customers who work in common businesses). Her approach uses a data driven, hook infested, dynamic approach. The ideas presented are not just something she is thinking of doing, but are a simplified version of the real world approach she and her teammates are using in the app they support.

The session starts out with a demonstration I won’t spoil for those coming to the conference. Trust me though when I tell you there is some humor and some fun poking at herself and the three Southwest Fox organizers. Cathy then demonstrates how she makes the core app work completely different in the other three implementations.

Her architecture works for forms, reports (naturally), menus, processes, and controls. It is built into the base classes and is extremely extensible. While her session focuses on the vertical market application implementation, it could be applied to any software that needs ultimate flexibility to adapt to a dynamic business environment. Here examples are fun, the code is all there for the taking, and the ideas there to use and be expanded upon.

Cathy’s approach might not be exactly what we implement in the first vertical market application White Light Computing develops, but the ideas and approaches were inspiring and could easily be the basis for something we design and integrate with the commercial framework we use.

Definitely a five out of five stars. While I have been to many sessions where I can say this session paid for the entire conference, I can say this session paid for the entire conference and the conference has not even started yet. Very well done.

, ,


Last Thursday Mike Feltman of F1 Technologies presented his new session on Collections to the Detroit Area Fox User Group. Mike is putting this session together for the 2008 conference season and wanted to rehearse it to get some feedback before presenting it at conferences this year.

This session was excellent! Mike talked about collections, some advantages and disadvantages, how they work, how they compare to arrays, and then went in and demonstrated some code. Mike has put together a really cool set of utilities using collections based on his work with JavaScript over the last year. These utilities show the power of collections and are worth the price of admission to his session alone.

I rarely use the Collection class in Visual FoxPro, primarily because they are more difficult to debug than arrays. I use arrays for the same thing I can use a Collection. After seeing Mike’s session I likely will use the Collection class more. Another thing Mike showed is how you can return an array property from a method in class code. This is something I either knew and forgot, or learned last Thursday.

Great session Mike! I know Mike is showing this session in Grand Rapids on May 10th, and anticipate this session will be selected by conference organizers too.



Christof Wollenhaupt presented a marathon session this evening at the Detroit Area Fox User Group, and what a session it was. For those who saw Christof present this session at Southwest Fox and/or German DevCon, you saw a terrific session. But DAFUG listened to Christof discuss some really interesting observations he has made with respect to the behavior of VFP for more than three hours – a true director’s cut.

Christof started the session and told us (maybe warned us {g}) we are in a democracy he will talk until 50% of the people in the room left. He ended by running out of material to cover. Only one person left. I think he would have gone on to a second session, but the group was getting hungry for dinner and it was 9:30.

I personally learned numerous things and I saw part of his session in Mesa. One particular aspect was the discussion on memory, variables, and garbage collection. Christof discussed how VFP uses the idle loop to take time to purge unused memory variables. This loop is entered when VFP is waiting (READ EVENTS, INKEY(), a WAIT WINDOW, or even while tracing code in the debugger). Christof also noted something important to me in particular when he pointed out the SYS(1104) function (documented since VFP 7.0 and in the product since FoxPro 2.6) gives the developer a way to initiate garbage collection. I think this is perfect for a project I am working on where I am converting data and one of the routines is taking 11-12 hours scanning through records. The loop gets slower the more records it processes. Using the SYS(1104) function may improve performance.

Thanks Christof for taking time out of your vacation to stop in Detroit and give us a real treat! This was a terrific session! I can’t wait to hear your session proposals for Southwest Fox 2008.

, , ,