October 17, 2008
Phoenix in the fall; Arizona in the autumn
If you aren't at Southwest Fox 2008 in Mesa, AZ (http://www.swfox.net/) this weekend, you're missing a real treat. Tamar Granor, Doug Hennig and Rick Schummer have once again done an excellent job organizing a conference that is a tremendous value for your money.
To give you taste, here are some of the sessions I attended today:
- In "Profiling and Refactoring: How to Analyze and Clean up Your Code", Andrew Ross MacNeill talked about a powerful tool in VFPX called Code Analyst that can help you identify "issues" in your code (e.g., too many lines of code in a single routine, too many comments, too many loop structures, has more than one return value, etc.). (VFPX is a Visual FoxPro Community effort to create open source add-ons for Visual FoxPro 9.0). You can select which rules you want run against your code; you can also create your own rules.
You can download Code Analyst for free from the VFPX CodePlex web site: http://www.codeplex.com/VFPX.
Andrew also discussed an add-in for the Coverage Profiler.
- Christof Wollenhaupt gave an introduction to mobile development; employing his product, Guineu (Catalan for "Fox"), you can develop mobile applications from within Visual FoxPro. Cool!
- Doug Hennig talked about Advantage Database Server for VFP Developers; with this alternate back-end, you can either read VFP .DBF files directly or you can move your data into the proprietary ADD format. With Advantage Database Server (ADS), your .DBF files are no longer limited to 2 GB. "In ADS, there isn't a direct limit on the size of the file; instead, the limit is a maximum of 2 billion (2,147,483,648) records. Of course, if your DBF becomes larger than 2 GB, you'll only be able to access it through ADS since VFP will see it as invalid."
"ADS [also] has a fast and powerful full text search (FTS) feature. FTS uses an index on each word in a memo field to provide fast, index-based lookups for desired words."
- Rick Schummer did a presentation focusing exclusively on "Using VFPX Components"; he demo-ed various controls like Themed Controls (e.g., OutlookNavBar), the ctl32 project (e.g., StatusBar and BalloonTips [tooltips on steroids]) and Desktop Alerts. VFPX controls add pizzazz to your VFP applications, giving them a more polished/professional appearance. You can download these controls for free from the VFPX CodePlex web site (http://www.codeplex.com/VFPX) and then implement all of these controls in your VFP applications
- In "Creating Owner Drawn Controls in VFP", Christof Wollenhaupt showed us how to "exploit the power of GDI+ to create our own controls" in VFP forms (e.g., "new pageframes, progress bars, formatted text, chart controls, basic text input or Unicode text output"). He also covered "dealing with mouse and keyboard input."
- Bo Durban showed us how to create custom report controls with VFP 9, employing the GDIPlusX library; rotated text, dynamic text formatting, graphs and custom shapes are a few examples of things you can do/include in your reports.
October 07, 2008
Bitten by Performance Counter issues in Virtual Machine
I've been using virtual machines for software development for just over 3 years now. At this point, virtually all of my software development is done on virtual machines (no pun intended... it was just a side effect).
About 8 months ago, I started noticing a recurring issue on my virtual machines with regards to SQL Server 2005. I was regularly getting errors in the application event log about SQL Server 2005 performance counters. Since this was the only error I was getting, and SQL Server 2005 seemed to plug right along just fine despite these errors, I ignored them.
Fast forward 8 months to today. I've been using SQL Server 2008 in development projects for a few months now. I had one particular virtual machine that did not have SQL Server 2008 reporting services installed and I wanted to install it today. When I ran the installation wizard, it kept failing during initial check steps, reporting that there was a problem with the performance counters. In this case, it would not let me install reporting services withough resolving this issue. The details reccomended following the steps of Microsoft KB article 300956, "How to manually rebuild Performance Counter Library values".
I followed all of the steps of this KB article (not a quick task mind you), rebooted and started the installation again. Much to my chagrin, it failed due to the same performance counter check failing AGAIN..... UGH!
Some additional googling let me to this blog post.
The short story here is that performance counters were disabled.... ALL OF THEM. Rebuilding them was a completely unnecessary step. I also know why they were disabled, and I will remember this for a LONG time to come.
I've been using VMOptimizer from Vizioncore (desktop version now discontinued) since before it was purchased by Vizioncore from Invirtus (or they merged, or whatever happend). There is a checkbox in the opimization options regarding disabling disk performance counters. Unfortunately, this is mislabled. It doesn't disable "disk performance counters", it simply turns off ALL OF THEM.
Guess when I started using VMOptimizer again.... say... about 8 months ago.
If you need any performance counters turned on, don't check this option or possibly suffer the same fate that I did.