Aug
16

I am sitting here in my camper in College Park, Maryland, back from an exciting day witnessing my tax dollars being wasted n Washington DC. I am loving the wireless Internet connectivity here in the campground (something I looked for when booking this trip last week). Finally caught up on a couple of things I promised for customers and conference organizers so I decided to sit back and review the blogosphere for a few minutes (ok, more like an hour or two).

One of my subscriptions in FeedDemon is Rocketboom. This is a humorous video blog from Amanda Congdon. One of the things she does is hit a keyboard when she wants to run a video clip. Quite a while ago I thought to myself the computer looks like an old TI-99/4a. Sure enough in yesterday’s episode (#200) Amanda did a behind-the-scenes/review show and low and behold, there it was, a video of a monitor with the TI boot screen, and more video of Amanda taking out a cartridge from computer.

Ah the memories of good days. You see, the first computer I owned was a TI-99/4a. It was terrific computer, fast, and inexpensive. I still have it boxed up in the basement. I wonder if it would boot and still run my “Extended Basic” programs?

Aug
09

Wheels Stopped

Wheels stopped is important NASA lingo to say the orbiter is firmly stopped on the runway. It is good news to everyone involved with and interested in the shuttle Discovery’s very successful return to Earth. I watched coverage on CSPAN-2, CNN, and NBC. CSPAN-2 had the longest coverage picking up Discovery long before it entered the atmosphere over the Indian Ocean. CNN’s coverage was the most accurate coverage from a technical perspective and had good insight from three former astronauts including one of my personal heroes, John Glenn. NBC’s coverage was horrible so I only watched it very briefly.

I want to learn more about the improvements made in the communications technology. On every previous return from space there was a communications “blackout” period caused by the interference during re-entry. The return of Discovery did not have a blackout period and Mission Control was able to keep in constant communication with the orbiter and the crew with only static during the transmissions. Excellent and innovative engineering triggered by the loss of Columbia.

The biggest annoyance on the coverage was the banners that blocked the full video feed of the orbiter. Wheels touching the runway is what everyone observing wants to see and both NBC and CNN had to have their banners announcing “breaking news – shuttle landing” blocking the most important part.

One other little fact I found interesting is Edwards Air Force base has one billion candle power lighting the desert runway. It sounds like a lot, but the video was still dark. My daughter asked me what that meant so in true dad form I told her a billion people were holding one candle each to guide Discovery home. She bought it hook line and sinker, which proves teenagers are not designed to be awake early on any summer morning.

Aug
07

Fox Frame Debugger Tip

Those of you who have attended my Debugging Essentials presentation at a conference, user group, or via the Foxcast video know I generally prefer using the FoxPro Frame debugger instead of the Debug Frame. One of the disadvantages of using the FoxPro Frame is the need to close all the individual debugger windows to deactivate the debugger and remove the debugger toolbar. This can be a big time waster if you are jumping in and out of the debugger (something I do frequently).

If you use the Debug Frame all you have to do is close the Debugger Window. One click on the close button or one Alt+F4 keystroke and you are set. It obviously is not so fast with the FoxPro Frame. So after years of repetitively “slow closing” the debugger windows it hits me to write a program I can hotkey to open and close the windows. You can save the following code to a program (mine is called DebugWindows.prg)


PROCEDURE ShowDebugWindows

ACTIVATE WINDOW “call stack”
ACTIVATE WINDOW “debug output”
ACTIVATE WINDOW “watch”
ACTIVATE WINDOW “locals”
ACTIVATE WINDOW “trace”

RETURN

PROCEDURE HideDebugWindows

LOCAL lcOldOnError, llWindowNotActive

* Can replace with structured error handling
* if using VFP 8 or higher. You get an error
* if the window is not open
lcOldOnError = ON(“Error”)
ON ERROR llWindowNotActive = .T.

HIDE WINDOW “trace”
HIDE WINDOW “locals”
HIDE WINDOW “debug output”
HIDE WINDOW “watch”
HIDE WINDOW “call stack”

ON ERROR &lcOldOnError;

RETURN

In my start up program I have these two lines:


ON KEY LABEL F7 DO ShowDebugWindows ;
IN “J:\WLCProject\Tools\DebugWindows”
ON KEY LABEL Ctrl+F7 DO HideDebugWindows ;
IN “J:\WLCProject\Tools\DebugWindows”

The code also works in the Debug Frame, although I am not sure what advantage this could be for a developer.

This is just one more simple example of how you can extend the Visual FoxPro IDE to make yourself productive. If you have not seen Craig Boyd’s post called Visual FoxPro Community Action, go check it out. One of Craig’s call to action is for VFP developers to extend the VFP IDE and to share ideas and code to do so. Just trying to do my little part.

Aug
02

Just when you thought Arizona was a very hot place to be in October, Bob Kocher (the Southwest Fox 2005 conference organizer) works with Microsoft to turn up the heat! Based on the news in Ken Levy’s Monthly Newsletter to the Fox Community, it looks like Microsoft is sending some heavy weights to do keynote sessions at the conference. Calvin Hsia never disappoints with his demos!

More surprises to come:

“More announcements about Southwest Fox 2005 including the disclosure of various free VFP related items for all attendees sponsored by Microsoft. We may also have additional members of the VFP team hangout out at Southwest Fox 2005, so be sure attend this event in October.”

I guess I better get back to prepare for my two sessions. I am really excited by this news. Nice work Bob and thanks to the Fox Team for supporting the conference.

Aug
02

Make sure you are not confused by Fox Broadcasting’s Foxcasting. I’d hate to see developers expecting fantastic information about Visual FoxPro get a shocking surprise with a conservative twist on the news. More possible confusion, Fox Broadcasting has a The Late Night Fox Show and Andrew MacNeill has The FoxShow.

The right place (pun intended) to get your Visual FoxPro Foxcasts is FoxCast.org and the correct place to get Andrew’s The FoxShow is akselsoft.libsyn.com (both are terrific resources). Glad I had a chance to clear up this possible confusion for the Fox Community (tongue firmly planted in cheek).

Jul
31

Big Announcement!

Class Compare is a new tool from White Light Computing and it is entering beta. I have been working on this new tool for the last six months which compares VCX classes together. It is simple to compare PRG-based classes with any text comparison tool, but comparing VCX classes together is a bit more difficult. In fact, the more I worked on this tool, the more difficult I found it.

The use cases for this tool is simple. Developers regularly get updates to framework classes from the framework vendors. What has changed? What are the new classes? What are the changes to the existing classes? What classes were removed? What are the new attributes and behaviors? What classes changed baseclasses? I need a tool to help find this out with the framework I use.

Another use case is comparing the intermediate classes (subclasses from the framework classes) I have for different customers and their projects. To help keep these intermediate classes in synch I wanted a tool to help me understand what is different.

The next change is to compare two versions of the same class or the same class library. This is fairly simple today if you are using a source code control system, but I know all developers do not. This tool will help until they can move to a source code control model.

This tools not only compares two classes together, it will compare two class libraries together, and two folders of class libraries together. A report is previewed to show you details found during the comparison. If you have Beyond Compare from Scooter Software, Class Compare will optionally take advantage of this tool and create some extremely useful output. While I have selfishly developed it for my own needs, I believe the alpha testers have also found this a valuable addition to their VFP toolkit.

So the call is out: I need beta testers! I have been testing this with a few alpha testers since April and they have helped me iron out many of the rough spots and made numerous enhancement requests which have been implemented and made this product so much better.

What do you have to do to become a White Light Computing Crash Test Dummy? Simple, send an email to betatestATwhitelightcomputing.com (making sure to replace the AT with the appropriate email syntax) with the following information:

  1. Name
  2. Framework(s) you use
  3. Whether you have Beyond Compare from Scooter Software (not essential)
  4. How many developers in your organization might have time to test it

Not everyone who applies will be accepted to the beta program. You will know one way or the other in the next week or so.

This tool is VFP 9 only. Why? It takes advantage of the “no init” feature of the NEWOBJECT() function (one of the features that really allowed this tool to work exceptionally well) and the BINDEVENT() function’s hooks into Windows events. So only apply if you own VFP 9.

What can you expect during and after the beta? You will get an initial EXE and one report form. I need you to test the program to the best of your ability. Hopefully using it in ways I have not. Bug reports will need to follow a certain format which you will get instructions with the initial beta release. I will be enhancing the tool and fixing bugs, and sending out occasional updates. I still have a couple of features to implement (which you will learn about when I ship the initial beta). Once the beta is over you will get a free copy of the tool.

But do not get to excited about getting a free tool because this will be a freebie tool when it is done. That is right, free, even though it is a product I think I could sell. It definitely will be on par quality and feature wise with HackCX Professional, ViewEditor Professional and the upcoming MenuDesigner Professional. It will even have a Help file (not in the initial release).

So let me know if you are interested in the beta program for Class Compare.

Jul
30

Go for email

Taking a break before heading to bed tonight, I listened in on the Discovery wake up call via a video stream from NASA. Today is spacewalk day which hopefully is not overshadowed by the news media’s constant probing to find some fatal flaw in the thermal heat shield. After the kids choir music was played to wake the astronauts, the crew was told they were “a go for email.”

There are so many things we take for granted here on planet Earth these days. I never gave much thought about getting email while I am in space. How cool will it be when I can post a blog from space? Well I can tell you I have permission to buy my trip as soon as I win $100 million or more in the lottery. Now all I have to do is get the nerve to buy a ticket. :)

Another cool note, Sergei Krikalev, the current commander of the space station crew is starting his third year in space. He is on the way to setting the record for most days by a human in space. He will break the record before his tour is up. This is his second stay on the International Space Station after one extended stay on Mir.

Jul
29

Sedna is not 10??

Absolutely true! It was announced today scientists funded by NASA have discovered what is being called the tenth planet. It looks like this planet is larger than Pluto, has a moon, is three times as far from the Sun as Pluto, has an orbit which is 45 degrees from the main solar system plane, and is temporarily called 2003 UB313.

Full news release can be found on the Jet Propulsion Laboratory site.