Archive

Archive for May, 2006

May
18
Craig has started his VFP World Domination Night in Detroit.
 
He started out his session talking about VFP strengths and weaknesses. He talked about the power of one! One developer making a difference. He promoted the concepts of starting a blog, writing articles, giving sessions, taking part in the online community, and helping create positive hype about VFP.
 
He then jumped in on the power of the community. Image what 100,000 developers can do vs. the 10 people working at Microsoft on VFP. Even if it is 1% of this group: 1000 developers. Starting or attending user groups, getting to a conference, promoting the product, writing case studies and demos, influencing Microsoft, influence other developers about VFP, and the SednaX initiative.
 
The Craig discussed the future of VFP highlighting FLLs, enhancements to the IDE, .NET integration, useful libraries and tools created by the Fox Community, and world domination!
 
All givens for sure, and things I really believe in.
 
The slides are done. Time to buckle in the seat belt!
 
 

May
18
One of my jobs with the Detroit Area Fox User Group is publicity. Each month I post notices on the various forums on meeting dates, locations and topics. This month (actually in just hours) Craig Boyd is bringing his “VFP World Domination Tour” to our fair city. When I posted the notice on ProFox, Malcolm Greene requested I post a “trip report” of the event. Andrew MacNeill seconding this and is also suggesting not only trip reports, but session recordings.

Great ideas.
I am going to do my part by blogging about Craig’s session. I am not sure I will be able to keep pace with this insanely energetic developer, but I’ll give it the old college try. Watch for the posts coming later this evening and likely tomorrow.

We might experiment with the recording part as well. This is all very last minute so it might never see the light of day.

May
18
I have often said Scott Adams has a direct implant into the heads of people in the corporate world. They say humor is better when it is based in reality. So I read the Dilbert comic and blog each day to get a chuckle. Sometimes it helps me build corporate directives (doing absolutely the opposite of anything the pointy hair boss does).
 
I just took a break and caught up on this weeks comic strips and I have to tell you I had tears in my eyes from laughing.
 
“I’ll bet you ten billion dollars you can’t”, “and the loser has to introduce himself as ‘the dumb one’ “, stop it, my stomach hurts already. Want to get in on the fun? Head here and read each one for this week.

May
16
I was talking to a friend of mine today who hit a small battle on his vertical market app with potential buyers who asked him what language his app is written in. He noted it was entirely written in VFP. So the potential buyers raised a concern after a little research and noted Microsoft’s support for VFP *only* goes to 2014. They are concerned their needs for the software could reach 15 to 20 years and this surpasses the Microsoft support lifecycle.

I mentioned to my friend that Microsoft’s policy on this seems to be that extended support for their products ends approximately ten years after release. I also mentioned to him that Visual Studio 2005 (the tool his prospect recommended) has a support expiration date of 12-Apr-2016. You can see this here.

So out of curiosity I looked up the VFP support lifecycle and I was pleasantly surprised to see it has been changed to 13-Jan-2015, which is only a little more than a year before the Visual Studio expiration, and a whole year later than I had read anywhere before for VFP. This is excellent news!

Not sure how I missed this or if things have recently change, but in case I am not the last person on the planet to know, I thought I would pass it along to you.

May
13
I just loaded my feeds to Share Your OPML based on reading about it on YAG’s and Chris Prillo’s blog this week. I was shocked to learn I have 206 feeds set up in FeedDemon, and this is after I cleaned out several dozen when I upgraded to version 2.0 recently.
 
Now I do not read all of them all the time. There are several I use just to ping me on topics I am interested in. Some of them are stagnant. Some of them are research. Some of them are for future development. Some are for business ideas. Some of them are educational.  Some of them are to bring humor in my life. Some of them are must reads as soon as the post hits FeedDemon.
 
So I thought I had a lot, maybe even too many. Then I read the list of prolific subscribers who have submitted their subscriptions on the site and I figure I still have a life {g}. The top person on this list subscribes to more than 8000 feeds. All of the top 15 people subscribe to more than a thousand. Shoot, where do these people find the time?!
 
Anyway, I think this could be an interesting experiment.

May
13
This week I got a chance to do one of my White Light Computing Field Trips. This time I was invited to spend the day at Epiq Systems in Kansas City. I was in town to present a couple of sessions at the Midwest FoxPro Users Group, and Doug Carpenter was kind enough to share his office with me on Thursday.
 
Epiq is a company developing software solutions for the bankruptcy industry. They are using Visual FoxPro to develop both Web solutions and workstation solutions, and do some .NET too. I was interested in how a large team developing with Visual FoxPro successfully implements the Agile methodology for software development.
 
Each developer has their own office where they can isolate themselves. This initially looked contradictory to the typical agile environment where collaboration is so important. Each office is designed so developers can do pair programming. In fact, Doug showed me something I have never seen before on a desktop computer: two keyboards. This is very cool because both developers can be involved in the development. I am a fan of pair programming when working on difficult code, debugging a sticky problem, and doing design. One of the things I dislike about pair programming is one developer usually hangs out over the shoulder of the other developer. It is my experience that the developer on the keyboard is usually doing more work and the sidekick can lose interest. I think the dual keyboard forces both developers to remain engaged.
 
The team invited me to sit in on the “scrum” or “sprint”. This is a daily team meeting. I really like this concept. This meeting is very short, which is real different from the normal team meetings I have been in during my career. The team includes developers, program managers, and quality assurance. Each member reviews what they have done in the last day, noting accomplishments and road blocks. A spreadsheet with the tasks are updated live during the meeting to show completed tasks and remaining work. Program managers can determine where they are in the big picture, understand accomplishments to meet the next release, what remains, and can address the roadblocks after the meeting. The quality assurance team can bring up concerns with the latest build (done daily or more frequently as needed).
 
It reminded me of my days at EDS when I worked with a team focused on delivering products for GMAC. We did not use the Agile methodology at EDS, but we used many of the concepts now recognized as best practices in the Agile methodology. This meeting reminded me of the importance of teamwork and the fun one can have working on a team focused on the same goal.
 
The other observation I had is how well the team works together. The quality assurance folks help the developers, and the developers help the quality assurance team. Management works to make the team successful. The Visual FoxPro developers and the .NET developers respect each other.
 
Epiq Systems is run smart, at least from an outsiders perspective. I learned a couple of things I would like to implement at White Light Computing as it grows. It was another day well spent on the road.
 
It was a great day in the windy city (yeah, KC was windier than any day I have spent in Chicago). Thanks to Doug Carpenter for all the hospitality and for the team inviting me to lunch and to the “sprint”.
 
Also a special thanks to Lou Harris for loaning me his Staples Easy Button for my presentation at the user group that night. Lou attended one of my Help Made Easy sessions at Southwest Fox last year and was the recipient of one of the Easy Buttons I gave away. Little did I know I was planting one in KC so I could borrow it six months later {g}.

May
13
At GLGDW 2006 there was a panel session on Debugging Best Practices and Tips. I was on the schedule, but was preempted when Doug needed a machine to do his vertical market session and used mine. So I thought I would present it here instead, although I think Dan Freeman mentioned it breifly during the session.
 

A Visual FoxPro developer can go through a lot of work configuring the debugger with the settings for the watch window, developing the exact breakpoints needed for an application or module, and selecting certain events to be tracked. The settings can change depending on the application or a specific module in an application. We can delete expressions from the watch window and enter in new ones as we test various modules, we can toggle breakpoints in use and not in use, and we can move events that are tracked on and off the list. Another way is to save the exact configuration for the module and later load the configuration without the need to reenter the expressions or toggle the breakpoints.

This is accomplished via the Debug frame only. Using the menu, you can select the File | Save Configuration… to create a file. The file save dialog will default to the current Visual FoxPro directory. To restore a previous configuration you use the File | Load Configuration… menu option. The file contents are stored in an ASCII text file. Here is an example:

DBGCFGVERSION=4

WATCH=_screen

WATCH=set(“deleted”)

WATCH=set(“path”)

WATCH=thisform

WATCH=curdir()

WATCH=recno()

WATCH=eof()

WATCH=_vfp.ActiveProject

BPMESSAGE=OFF

BREAKPOINT BEGIN

TYPE=2

CLASS=    

LINE=0

EXPR=EOF(“curReport”)

DISABLED=0

EXACT=0

BREAKPOINT END

 

BREAKPOINT BEGIN

TYPE=3

CLASS=    

LINE=0

EXPR=”MAIN”$PROGRAM()

DISABLED=1

EXACT=0

BREAKPOINT END

 

EVENTWINDOW=ON

EVENTFILE=

EVENTLIST BEGIN

Activate, Deactivate

EVENTLIST END

 

You can manipulate the contents safely in a text editor and reload the configuration. Make backups of this file if you are worried of breaking the layout.

The really cool thing is these files can be created programmatically. Watch expressions are single line entries and can be in any location in the file. So you can easily add a watch with a simple line of code:

STRTOFILE(“WATCH=ALIAS()”, ;

          ”MyDebugSettings.DBG”, 1)

 

You also can sort the Watch expressions in the file. One of the things bugging me (no pun really intended) in the Watch window is new expressions are added at the bottom of the list. You can add them to the top of the expression list programmatically in the file using this code:

 

lcFileContents = FILETOSTR(“MyDebugSettings.DBG”)

STRTOFILE(“WATCH=ALIAS()” + CHR(13) + lcFileContents, ;

          ”MyDebugSettings.DBG”, 1)

 

Once you add it you have to reload the configuration file. One disadvantage to this approach is you lose the IntelliSense capability of the Watch window.

 

Each time I have talked to developers about this feature someone comments to me how they never knew it existed.

May
13
I know I am late on news item and many of you already know about Alan Griver’s new job. I just want to say I believe this will impact the Fox Community positively in two ways. I know this because I talked to Alan and can tell you he is very excited by this opportunity.
First Alan requested VFP to be part of his job and he would not have taken the new position without it. It was very important to him. I think it is important to have someone who is as passionate about data to have VFP under their direction. He is really excited about delivering Sedna and will be hitting VFP conferences. He could have left the team and left VFP to be someone else’s “problem”. I think this is a big win.

Second, Alan is now an architect at Microsoft.com focusing on the community sites. One of these sites is GotDotNet.com, which is where the SednaX site is hosted. I can tell you there are lots of exciting things planned for Code Gallery for the near future. These changes are really going to enhance the project management of the SednaX projects. Knowing Alan’s experience in the Fox Community, how he leveraged this for the .NET community, how he understands how developers work and communicate, I know he will bring it to the table for the community sites. SednaX is just getting warmed up. We have several diverse projects already started and the momentum is just beginning. Having a friend on the inside should be a big win for the SednaX members.

If you want to read more on YAG’s move check out his posts here and here. and here.

Congratulations Alan!