Archive

Archive for the ‘Uncategorized’ Category

Aug
18

My mom always said calculators would make my brain lazy. She was right of course. The same theory works with contacts and phone numbers. I have become more reliant on Outlook and my cell phone to find out how I contact an individual. The big problem? Not a loss memory and the ability to recall a phone number, rather that Outlook and my cell phone are not connected. This problem has become more and more annoying.

My first thought about solving this problem is to get a bluetooth enabled phone. My wife is using my old cell I replaced last year in May. Her batteries are not retaining a charge so I figured I could get a new phone and give her mine. Verizon was helpful in showing me several phones, but they all have the useless and stupid camera technology (a blog entry/rant in the future on why I believe cameras should be disabled and outlawed). So my provider does not have a phone compatible with my lifestyle at the moment.

So I ask the sales guy if there is software I can use to synch Outlook to my phone. He looks at it and giggles, brings it over to the tech support staff and they giggle more. I have had this phone for a year and they tell me it is old. Old?!? The one tech women proceeds to explain to me how the electronic lifecycle works and how technology pace is faster than other commodities. I proceed to tell her how I could have written the software she was using to look up my account on her PC. I understand this, but my phone is not old. My last phone is still in use and I had it for four years. Still works great.

Verizon sells software to connect a PC with a phone, but they could not answer my question about it working with my cell. They give me the number to LG’s tech support (instead of calling it themselves). I call on my way to Best Buy where I wanted to purchase a UPS. LG cannot answer and give me the phone number to their software vendor Susteen. By now I am in Best Buy. The tech support guy tells me about DataPilot and how it not only reads my Outlook contacts, but also writes them to my cell phone address book. He tells me DataPilot is available at Best Buy. Cool!!! Talk about the planets being in alignment.

So I get the product and it works great. It connects to my phone via a USB wire. The connector is a universal design and it comes with probably a dozen different connectors for the different phones (talk about something that needs standardization). It does not sync like a Palm or PocketPC. It reads the contacts and you can edit them (remove duplicates like ones already on your phone which it reads, remove ones you don’t want on your phone, etc.). Then you initiate the write process. This works great.

DataPilot also allows you to read and write images, calendar items, email, ringtones, and connect to the Internet via dialup and your phone. I only wanted the phone contacts and to me that was worth the US$80. I have not played with the Internet connection, but it sounds promising.

I will say the surprise of this is the ringtones. I have been searching for the Harry Potter theme song (Hedwig’s Theme) for my phone since I bought it a year ago. No luck. My daughters were playing it on our piano the night I brought this package home. They have the sheet music. The ringtones module allows you to create ringtones via a piano keyboard and sheet music. So the three of us spent an hour learning how and entering in the music and downloading it to my phone. We had a lot of fun.

So today I have my contacts up to date and Harry Potter music ringing when someone calls. Life is good.

Aug
16

Craig Berntson over on DevBlog was sharing his frustrations of building his own computer from components. I can absolutely say without reservation for me: it is not worth the aggravation Craig experienced to save a couple of bucks. I much rather have a computer that was designed to work with certain components, put together by experts, fully tested out, and have it delivered ready to boot. If I want a desktop in the next couple of days, I can make one phone call or hit one Web site and for $600 I will have a great desktop with state of the art components and a warranty to boot. If it breaks (as did my kids laptop recently) I call a toll-free number, they send a box, I ship it on their dime, they fix it and return it to me. Life is good.

While I admire people like Craig who have a certain desire to learn from the experience and want a better understanding about how things work, my life is going to be too short. I do software. I don’t sell hardware. I recommend to my clients to talk to people who do (like HP, Dell, etc.) or I talk to the experts for my clients. In fact, hardware is such a commodity now and has such low margins it is not worth selling unless you do massive volumes. Recently I went to two local computer stores to do some window shopping and found them out of business. Glad I did not buy hardware from them because they are not here to back up their warranty.

Now if I could just figure out a way to post the tech support line to the manufacturers on the front of the my mom’s computer without hurting her feelings (just kidding mom ).

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 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

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.