Wednesday, August 31, 2005

Natural Disasters - Cubed

I watched a little coverage of the Katrina aftermath last night and this morning on television. All day it has bothered me. How can one man help out and do his part to help those in need? My head hurts thinking about this. I am a fortunate man because my family is safe and my home is not under water or blown to smithereens.

The story I am really having trouble listening to is the looting. Not only taking the food off the grocery store shelves, but taking the shelves?? Worse yet, looters shooting other looters to take the stuff they already stole. What the heck is this world coming too???

In the last twelve months humankind has witnessed three unbelievable natural disasters: the peninsula of Florida get ravaged by too many powerful hurricanes, the Indian Ocean tsunami, and now Katrina. I am not sure we will ever see this level of natural disasters back-to-back-to-back and can only pray it never happens again. It will take a decade to recover from this.

To make matters worse, local news coverage seems more interested in the US$3.30 a gallon gasoline prices we have here in Michigan. Sorry, I have been inside all day. For all I know it could be US$3.60 a gallon by time I head home. The oil companies should be ashamed of themselves. This is just an un-natural disaster triggered by greed.

OK, back to work so I can afford to drive home :).

Tuesday, August 30, 2005

Andy Kramek - The Conference Season is upon us

If you are not a regular reader of Andy Kramek's blog - head over there, hit the syndication RSS feed and make sure your aggregator is letting you know when Andy posts. I can count on both hands the blogs I read as soon as I see them pop up in FeedDemon. Andy's is right their at the top of the list. I have been wondering why he has not posted in a while. I should have guessed.

Andy's post on the conference season is dead on. There is no better time to head to a conference. If you are having trouble convincing your boss to pay for it, then consider paying your own way. I paid my way to two Advisor DevCons and one Great Lakes Great Database Workshop (GLGDW) when EDS did not want to pay. At least they gave me the time (not docking my pay). I can tell you from personal experience this was one of the many investments I have made in my career which have paid big dividends.

OK, back to my session preparation (nine sessions to create or refresh in the next few weeks).

Monday, August 29, 2005

Folder Size Manager (part 2)?

Home run! I am back in the PowerDesk fold and Size Manager is working as sweet as it was back in the good old days. The ease of managing disk space is back in my powerful little hands... again.

Thanks to Rick Borup who tested out Size Manager on XP to back up a not-so-confident sounding statement by the V-Com salesperson. The only glitch was V-Com sending me out into left field looking for a serial number to a product I purchased back in the early 2000's. I purchased it online at the Ontrack Web site so they should have records of it. "That Web site is obsolete Mr. Schummer." Duh! So use those old-fashioned database apps to look up my registration.

A couple minutes later they provided me a serial number which might be mine, or might be one made up on-the-fly. I don't care because it worked and I was able to upgrade and once again I am a happy camper.

Then it hits me. They finally fixed this little useful tool after it was broken for a long time. Now I know how a couple of the ViewEditor alpha testers felt last week when I finally tracked down and fixed the sorting bug in the list of tables and views when picking columns to be copied to the clipboard. Finally!

ViewEditor v3.6 enters beta

I am happy to announce ViewEditor Professional v3.6 entered beta today. A small team of dedicated developers are hard at work testing out all the new features (and several bug fixes) included the new version.

New features added so far:
  1. SQL code window is now a normal program editor window when you are using a VFP Resource file (FoxUser), otherwise it uses the same editor window it has used since this tool was first released (fixed size to start). This allows you to retain the size and fonts you specify for the program editor.
  2. You can specify Default SQL code when you first edit the SQL in the SQL program editor. This new code defaults to the null character string, but you can change the default code on the Configuration page.
  3. The Validate SQL setting is saved between sessions instead of defaulting to "on" each time you start the ViewEditor.
  4. The AllowSimultaneousFetch view property introduced in VFP 8 can be set on the View Properties page when running ViewEditor in VFP 8 or higher on remote views with shared connections.
  5. The list of views and tables (when opening a view, or when copying columns to clipboard) are now ordered based on the collation sequence you select. This defaults to Machine because this is what the lists were previous to this release, but you can change the collation on the Configuration page.
  6. The main ViewEditor window is now resizable when using VFP 9 or better.
  7. Table and view selection dialog retains the position and size between ViewEditor sessions.
  8. Minor user interface tweaks.
  9. Added FAQs, macro expansion and view clauses, and made some improvements on the DBC-Specific Options Help topics.
  10. New version of the Help file includes Favorites page (based on upgrade to West Wind HTML Help Builder 4.0).
I expect the beta to last a few weeks, but longer if necessary. The product will be shipped when it is ready, not a minute before.

Friday, August 26, 2005

Folder Size Manager?

Back in the day, the PowerDesk explorer replacement had a great utility I used when I wanted to find obsolete files and folders hogging space. It allowed me to rapidly search and destroy, and free up space so I could load one more set of sample data for the applications I support. This tool did not work on Windows XP and I have missed it ever since.

You would think this would be a common utility built into the operating system. Even so, you would think it would be easy to find a utility out on the various shareware download sites. Not today. I Googled, I looked on Download.com, Tucows, ZDNet, PC Magazine, and found little to nothing.

Last night I tried Disk Space Inspector v3.3 from AdvexSoft LLC and it is not too bad, but it is not perfect and is a little slow. Definitely not as good as Size Manager in PowerDesk. Size Manager was fast and it worked really well. In case you are not familiar with PowerDesk, it is an Explorer replacement and it rocked. Unfortunately it was a casualty of software company mergers and was not really upgraded. A couple of years ago Novatix got the rights from VCom and created ExplorerPlus, but they did not fix Size Manager. I asked and they said it was on the to-do list. My recent check on ExplorerPlus updates reveals Novatix is focusing on other packages and does not even show ExplorerPlus on their main Web site. Bummer.

Now I see VCom has released PowerDesk v6.0. Maybe they have fixed it, but I would be perfectly happy paying $30-$50 for a Disk Size Manager tool which works well. I want a packaged tool designed and tested to do the following:
  1. Show me a bar graph of with each drive and the space consumed
  2. Drill down in the graph to subfolders showing me another bar graph with the space consumed for more subfolders and files
  3. Ability to delete folders and files
  4. Good performance
  5. Ability to sort manager by folder name, size consumed, dates
  6. Not adware or spyware
  7. Established software (not interested in v1.o)
  8. Reasonable priced and supported
Anyone know of a good package and willing to share? Please do not point me to Calvin Hsia's VFP code which calculates drive and folder space. I already know about this and want a program someone already constructed and others have debugged, not the base code for me to write the rest of the tool.

Monday, August 22, 2005

Having ASORT of Frustrating Day

Have you ever had one of those days where nothing seems to go your way? Today was one of those days for me. I hit three deadends on three different projects today. We are definitely near a full moon. When this happens I put the project down for a bit and hope for inspiration or divine intervention, and most of the time it works.

About a year ago a developer who uses ViewEditor sent me a bug report noting the list of tables and views in the Copy Columns to Clipboard feature was not sorted properly. I looked into it and could not reproduce the problem. He was using the VFP 9 beta at the time and we both passed it off as a possible bug in the beta. Frustrating for both of us, but I kept the report around in case I got another report or better steps to reproduce the problem. It is not a show stopper type bug, but definitely causes frustration when working with lots of views or lots of tables in a DBC.

Fast forward one year. No one else reported this problem, well, until a week or so ago. The second developer is using the production version of VFP 9. The results were the same on my end as I could not reproduce the problem based on the report. One report could be a fluke, but two is doubtful. So I spent 3 hours while I was on my way home from vacation trying to figure out some reproducible steps to show Microsoft how ASORT() is broken. I could not get it to fail. Searching the Microsoft Knowledgebase and a post on Tek-Tips turned up nothing.

This morning I wrote a quick program for the developer to run which created the array using ADBOBJECTS() and sorted it using a couple of different collation sequences. Sure enough the results on the other developer's machine were identical to mine. This drove another couple of questions, which triggered additional information, which lead me to find the bug in the ViewEditor. Finally. Once I had the complete information I was able to develop the test condition and plain as day, there was a list of tables out of order. Took me less than 15 minutes to find the bug, make the fix, and test it.

The good news is the bug is finally found. The better news is I will be starting a beta for ViewEditor v3.6 soon with the highly respected White Light Crash Test Dummies. I have nearly a dozen enhancements and a half dozen bug fixes almost ready to roll.

Thursday, August 18, 2005

Cell Phone Contact Insanity

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.

Tuesday, August 16, 2005

Why I buy assembled computers

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

Rocketboom and the TI-99/4a

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?

Tuesday, August 09, 2005

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.

Sunday, August 07, 2005

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.

Tuesday, August 02, 2005

Southwest Fox is getting hotter

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.

Foxcast - Don't be confused

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