Wednesday, February 28, 2007

Runtime Coverage - another VFP 9 Rocks Feature!

Yesterday, I came across another reason why VFP 9 totally rocks above older versions.

I've been aware of it for a while but it struck me at once as to how useful this is, especially at customer sites.

SET COVERAGE TO lets you track how long each line of code is taking. It's used by the VFP Coverage Profiler for both seeing how much of your code you are using and how long it takes.

SET COVERAGE TO xxx.LOG turns it on and outputs all code execution to xxx.log
SET COVERAGE TO turns it off.

In VFP 8 and earlier, you had to be running the Development version of VFP to see the results. This has its problems - as usually, the problems never seem to occur on the Developer's machine but on the end-user's machine.

In VFP 9, however, you can issue a SET COVERAGE TO statement and it will start logging the code even in runtime!

This became extremely valuable yesterday when we were debugging a program that was running as a Windows XP service. It would stop running and we couldn't figure out why. Instead of just providing additional logging messages and overbloating the code - I issued a SET COVERAGE TO in one of the programming hooks I had put into the code and voila! instant access as to what was running and when.

You wouldn't want to do this on a regular basis - running with COVERAGE turned on can create a very large file in a matter of seconds - so be sure to turn it off. But what a benefit to have at the right time!

I also used it earlier this week to track down some performance problems that only seemed to be happening at a customer site. Many times, developers think of debugging tools as to be only accessible within the IDE. Thankfully, in VFP 9, your code can be covered just about wherever it needs to be.



powered by performancing firefox

Glad you're OK

Glad everything and everyone is OK, Craig. (I was originally thinking of a "punny" title for this post but after reading how dangerous it was for those on the third floor, I realized it really wasn't fitting).

Hope you're back home soon...

Fire


powered by performancing firefox

Breeding lazy developers...

Andy Kramek asked back on February 19th (I've been badly missing my reading and Alex pointed me to it - since he's first on my alphabetical listing of Fox bloggers)

Are on-line technical forums breeding lazy developers

The discussion (found in the comments) is a good one but what it also illustrates is a lack of resources or pointing to resources about how to get started in certain issues. As our development environments get larger and more features, it's hard to know where to start. In addition, the help files are often written to say "here's what this does", not "how to do it". I fully agree with Andy's issue about using CREATE CURSOR from ARRAY. That's just crazy. But for those who are posting "How do I create this...", these should be used as great fodder for the various How To sites and I think everyone should be linking to them.

For example, Craig Boyd's posts about learning Visual FoxPro

Craig Bailey's Screencasts on the same

The great VFP Seminar series from VisionPace

I'm sure there are some more - but while developers may seem lazy when they don't RTFM or google for examples, it's also the case that searching between 12,000 articles in Google can be hard to separate the wheat from the chaff. Asking the "forums" may be a way of trying to filter it down.

I'm not saying anyone should be writing the code for anyone - but pointing them to places where they can find basic introductions is a great way to redirect them. Maybe every forum should have pinned topics that say "Before you post a "how do I" topic, go here first"


powered by performancing firefox

Monday, February 19, 2007

Embedding Your Images

Bernard provides a great way to ensure you don't have to keep on distributing bitmaps and icons with your application.

What's interesting about this approach is that in the comments, Fernando Bozzo suggests a very useful application of this approach: "If you make this class an external DLL or EXE library, you can switch libraries with distinct images (like skins). "

Hmm...the mind boggles at the possibilities...

Embed Your Images

Thursday, February 08, 2007

Director/Producer Blogs (Heroes)

TV show blogs can be fairly boring, even if you like the show. However, I do enjoy reading director or writer blogs. Heroes is no different - I find their Hiro blog fairly lame but then - check out this blog from Greg Beeman, the directory/producer of the show.

While it has lots of very generic stuff, what's really cool is reading about how auditions and certain shots were done.

No - this doesn't have anything to do with FoxPro - but it is about breaking boundaries of what you do read. (if you haven't read Eric Sink's post on boundaries, you really should)

Monday, February 05, 2007

Wishful conferencing...

Looks like OzFox 2007 is shaping up to be one of the best conferences of the year (wish I was going).

This past weekend was going to be my most productive, (upgrading my server, recording a FoxShow and more) but instead I ended up at the hospital and am now relegated inside the home office for the next week.

Still, if every user group or conference did as great a job as Craig does on showcasing their meetings and spreading the word, all of those people who still have yet to go to a conference would be able to feel the warmth spreading.

Now all we have to do is convince him to podcast it or better yet, stream it! (hint! hint!)

I know a lot of people have mixed feelings towards this (after all, if people don't have to attend, they won't , right?) - but the real value of a conference, in my mind, is in the networking. The value of the sessions is in sharing the information - so why not share it with as many people as possible?




OzFox 2007

powered by performancing firefox

How to get customer feedback

I really do enjoy Bug Bash. Every Monday morning, it gives me a smile that usually lasts at least two days through the week.

If you've ever wanted a sure fire way to get customer feedback, here it is!


Customer Feedback

powered by performancing firefox