It's Monday morning and I'm back in the office again, a bit bleary-eyed after yesterday's return trip from the Southwest Fox conference in Phoenix. Getting up this morning to face 35° and overcast here in Illinois after leaving 85° and sunny in Phoenix was not easy, but living in the Midwest this time of year builds character (or at least that's what we tell ourselves).
Southwest Fox 2006 was a great conference. Organizer Bob Kocher put together a top-drawer lineup of speakers and sessions, and I got to see many of them when not doing one my own presentations. In addition to the speakers whom I always look forward to seeing at VFP conferences, this year saw the return of Jim Booth to the speakers circuit after a long hiatus, Mike and Toni Feltman were both there as speakers, and Christof Wollenhaupt came all the way from Germany to give two sessions. Unfortunately the schedule had me speaking during the same time slots as Christof for both of his Security Cookbook sessions, which I had really wanted to attend. I did get to see his session on Crashing VFP and Preventing Crashes, and Christof certainly lived up to his reputation as the "Foxpert". It's amazing what he's figured out about FoxPro internals. I also enjoyed the opportunity to meet and get to know Christof in person for the first time. I hope he will come back to the U.S. and speak at a VFP conference again in the future.
Doug Hennig's sessions are always well attended, for good reasons, and this conference was no exception. I went first to his session on Inno Setup. I've been using Inno Setup for years, and have written and given presentations on using it with VFP myself, but I know I'll always learn something new from Doug and that was true here, too. His session on adding IntelliSense to an application was also full of cool ideas. Doug's point in that session was that we developers love the benefits of IntelliSense as we work in VFP, so why not deliver some of the same benefits to our customers in our own apps?
As already noted by many Fox bloggers, Ken Levy presented Doug with the FoxPro Community Lifetime Achievement Award at the opening session on Thursday evening. The quantity and quality of Doug's contributions to the FoxPro community over the years is truly astonishing -- there's a summary on the FoxPro Wiki -- and I think everyone agreed this is a well deserved award. Congratulations, Doug!
Rick Schummer did his usual excellent job in his sessions, too. I attended Fishing With a Project Hook, which explored how to -- and more importantly, why you would want to -- hook into the VFP project builder and access the project file. I've used Rick's Project Builder tool for a long time because it makes building the VFP EXE simpler and easier. His Project Builder is now part of the more comprehensive White Light Computing (WLC) Project Builder and ProjectHook tool, available (and still free) on his web site.
The way the speakers' schedule worked out, I got to sit in on both of Mike Feltman's sessions. In Where Do You Want to Go Today (Mike's comment: I want to go back to bed!) he discussed the pros and cons of several software development tools and presented some interesting statistics on the relative size of the job market for each one. Mike also mentioned some of the lesser known and newer development tools that bear watching, particularly in the area of Web development, such as Ruby and the Rails framework. Mike's other session on VFP and AJAX was also of considerable interest to me since I do a fair amount of Web development in conjunction with my VFP work. Judging by the overflow attendance in a very small room, so do a lot of other VFP developers.
The other session I was able to attend was Toni Feltman's Using Version Control with Visual FoxPro. Toni's been using version control software a lot longer than I have, so I was really interested in her take on ways to use it effectively with VFP. I took more than a page of notes in this session and came away with a lot of ideas and resources to follow up on.
As for the sessions I couldn't attend, I'm anxious to view the slides and read the papers. There's a ton of good material there.
The closing session featured the usual round of heartfelt thanks to all involved, some great prize drawings, and the presentation of a special gift from the FoxPro community to Mike and Toni Feltman, who are expecting to instantiate another little Feltman in the near future (whether it will be a sub-class of Mike or Toni was not revealed). Many speakers and others contributed to the gift basket of baby items and gift certificates, and I think Mike and Toni were truly surprised. Thanks to Cathy Pountney for her efforts in putting it all together.
An important benefit of any good conference like this is the chance to meet new friends or make face-to-face acquaintance with people you may have only known online. I enjoyed meeting Mike Lewis from the U.K. and Esparta Palma from Mexico, as well as seeing again several other friends and colleagues I've met before at other conferences.
As always, it's back to work now with renewed energy and appreciation for all the many ways VFP makes it possible for us to write great apps and deliver excellent solutions to our customers.
Tags: Southwest Fox, FoxPro, VFP
10.24.2006
10.23.2006
Installing IE7 Release Version over RC1
I've been running IE7 RC1 since it was released, and have had no issues with it. In fact, it was stable enough that I felt confident basing a significant portion of a conference presentation about RSS on it ("RSS: Catch the Wave", presented at Southwest Fox 2006 in Phoenix over the weekend).
Naturally, I was anxious to see and show the final version of IE7, but in a case of ironic timing, the final version was released the day before the conference began. I always follow the rule never to install anything new on a presentation machine within a week of the conference, so I had to force myself to wait and do the presentation based on RC1 as planned, hoping that what I showed in RC1 would be substantially similar to what people would see in the final release version. Looks like it was.
Back from the conference today, I decided to install the IE7 release version on my presentation laptop machine. The release notes/FAQs for IE7 indicate it will automatically uninstall a pre-release version, so I simply downloaded the setup package and fired it off. As expected, it uninstalled IE7 RC1, and then asked for a reboot.
After the restart, the machine began automatically downloading "required updates for IE7". Huh? Didn't I just download the latest installer for IE7? This machine is running a fully patched version of Windows XP Pro SP2, so I'm not sure what updates it needed, but of course I let it continue. Eventually it finished downloading whatever it was (I'll have to investigate that later) and began installing IE7. This was followed by another reboot, after which the machine came up apparently as usual.
Upon first launch, IE7 wants to take you to a URL at go.microsoft.com. This page timed out, which wasn't entirely unexpected given the likely huge number of IE7 updates being done today, although to be fair I suspect I'm having DNS and firewall issues on this machine that are unrelated to IE7. I bookmarked the URL so I can go back later and see what it is. Probably just a welcome screen, but likely with some additional information and links that might be useful. [Update: After the IE7 install is complete, the browser opens a run-once page where you can customize your settings. Closing that page takes you to a welcome page with links for a tour of IE7, a page of add-ons, or your home page.]
The next site I tried is one of the localhost sites on my own machine from yesterday's conference presentation. A bit of a surprise here: IE7 popped up a phishing filter warning and asked if I want to turn it on before visiting this site. RC1 didn't do that. I guess localhost is an unknown site and therefore suspicious as far as the phishing filter is concerned. Hmmm... thanks for protecting me from my own machine, I guess.
I bring up my sample autodiscovery page in IE7. The RSS feed icon lights up as expected, so nothing's changed there. Clicking on the feed icon brings up the feed in IE7, also as expected. This particular sample feed (available online here) is a list of sessions at the Southwest Fox conference. It demonstrates the Simple List Extensions (SLE) extension to RSS, which is implemented in IE7. I find the feed looks and behaves the same in the IE7 release version as it did in RC1, so we're good there, too.
I'm not going to post any "first impressions of IE7" here because I already formed my first impressions based on RC1 a couple of months ago, and they're largely positive. IE7 of course comes with tabbed browsing, which is almost indispensable IMO and a big reason I use Firefox, so it's good to finally have it in Internet Explorer too. At first glance the IE7 release version interface looks just like RC1. If there are any significant visual changes I haven't spotted them yet.
The news here is that IE7 release version installed successfully over IE7 RC1, the interface looks the same as RC1, RSS and SLE work as they did in RC1, and you won't lose your favorites folder in the uninstall/reinstall process.
Tags: IE7, RSS, SLE, Southwest Fox
Naturally, I was anxious to see and show the final version of IE7, but in a case of ironic timing, the final version was released the day before the conference began. I always follow the rule never to install anything new on a presentation machine within a week of the conference, so I had to force myself to wait and do the presentation based on RC1 as planned, hoping that what I showed in RC1 would be substantially similar to what people would see in the final release version. Looks like it was.
Back from the conference today, I decided to install the IE7 release version on my presentation laptop machine. The release notes/FAQs for IE7 indicate it will automatically uninstall a pre-release version, so I simply downloaded the setup package and fired it off. As expected, it uninstalled IE7 RC1, and then asked for a reboot.
After the restart, the machine began automatically downloading "required updates for IE7". Huh? Didn't I just download the latest installer for IE7? This machine is running a fully patched version of Windows XP Pro SP2, so I'm not sure what updates it needed, but of course I let it continue. Eventually it finished downloading whatever it was (I'll have to investigate that later) and began installing IE7. This was followed by another reboot, after which the machine came up apparently as usual.
Upon first launch, IE7 wants to take you to a URL at go.microsoft.com. This page timed out, which wasn't entirely unexpected given the likely huge number of IE7 updates being done today, although to be fair I suspect I'm having DNS and firewall issues on this machine that are unrelated to IE7. I bookmarked the URL so I can go back later and see what it is. Probably just a welcome screen, but likely with some additional information and links that might be useful. [Update: After the IE7 install is complete, the browser opens a run-once page where you can customize your settings. Closing that page takes you to a welcome page with links for a tour of IE7, a page of add-ons, or your home page.]
The next site I tried is one of the localhost sites on my own machine from yesterday's conference presentation. A bit of a surprise here: IE7 popped up a phishing filter warning and asked if I want to turn it on before visiting this site. RC1 didn't do that. I guess localhost is an unknown site and therefore suspicious as far as the phishing filter is concerned. Hmmm... thanks for protecting me from my own machine, I guess.
I bring up my sample autodiscovery page in IE7. The RSS feed icon lights up as expected, so nothing's changed there. Clicking on the feed icon brings up the feed in IE7, also as expected. This particular sample feed (available online here) is a list of sessions at the Southwest Fox conference. It demonstrates the Simple List Extensions (SLE) extension to RSS, which is implemented in IE7. I find the feed looks and behaves the same in the IE7 release version as it did in RC1, so we're good there, too.
I'm not going to post any "first impressions of IE7" here because I already formed my first impressions based on RC1 a couple of months ago, and they're largely positive. IE7 of course comes with tabbed browsing, which is almost indispensable IMO and a big reason I use Firefox, so it's good to finally have it in Internet Explorer too. At first glance the IE7 release version interface looks just like RC1. If there are any significant visual changes I haven't spotted them yet.
The news here is that IE7 release version installed successfully over IE7 RC1, the interface looks the same as RC1, RSS and SLE work as they did in RC1, and you won't lose your favorites folder in the uninstall/reinstall process.
Tags: IE7, RSS, SLE, Southwest Fox
10.16.2006
SLE-enhanced session feed for Southwest Fox 2006
Only three days to go... Southwest Fox 2006 kicks off on Thursday! But you don't have to wait: if you're running IE7 RC1, you can get a sneak preview today of something I'll be talking about in my session on RSS, namely Simple List Extensions. SLE is a set of extensions to RSS created by Microsoft to provide sorting and grouping functionality for feeds that are intended to be used as lists. By way of example, I put together a list of all the Southwest Fox 2006 sessions in SLE-enhanced feed format. The feed is available online at www.ita-software.com/SWFox2006/Sessions.xml.
You'll need IE7 RC1 to see this feed the way it's intended, with sorting and filtering capabilities as shown in the screenshot below. Other browsers won't recognize the SLE extensions and will render the feed either as unformatted XML or as a regular RSS feed, depending on how you view it. FeedDemon and other feed readers should see it as a regular RSS feed, too, but the fun stuff is only available in IE7.
SLE is only one of many things I'll be talking about in my session on RSS. If you're coming to Southwest Fox, I hope you'll drop in.
You'll need IE7 RC1 to see this feed the way it's intended, with sorting and filtering capabilities as shown in the screenshot below. Other browsers won't recognize the SLE extensions and will render the feed either as unformatted XML or as a regular RSS feed, depending on how you view it. FeedDemon and other feed readers should see it as a regular RSS feed, too, but the fun stuff is only available in IE7.
SLE is only one of many things I'll be talking about in my session on RSS. If you're coming to Southwest Fox, I hope you'll drop in.
Tags: Southwest Fox, SWFox, IE7, RSS, SLE
10.11.2006
Inno Setup updated
Inno Setup gets an update to v5.1.8 with some enhancements for Windows Vista and (at last!) an HTML Help file to replace the old-school Help file. Read all about what's new in this version or go straight to the download link.
Tags: Inno Setup
Tags: Inno Setup
10.10.2006
Keyword search feeds in FeedDemon
I've been using FeedDemon since its pre-release days, but only recently learned of its ability to create keyword search feeds. A keyword search feed is a subscription to a search engine feed that informs you when references a specified phrase or keyword show up.
For example, I created a keyword search feed to check Technorati for references to FoxPro. Presumably, whenever anybody tags something on Technorati as pertaining to FoxPro, it shows up in this feed. This is a very efficient way to keep up with what's being said about topics of interest.
Side note... Today my FoxPro search feed came up with the following: Request Error, no posts match "FoxPro". I guess knowing nothing was said is a form of information, too. < s >
Tags: FeedDemon, FoxPro, Technorati
For example, I created a keyword search feed to check Technorati for references to FoxPro. Presumably, whenever anybody tags something on Technorati as pertaining to FoxPro, it shows up in this feed. This is a very efficient way to keep up with what's being said about topics of interest.
Side note... Today my FoxPro search feed came up with the following: Request Error, no posts match "FoxPro". I guess knowing nothing was said is a form of information, too. < s >
Tags: FeedDemon, FoxPro, Technorati
10.05.2006
On the importance of trying
Seymour Cray, founder of Cray Research and architect of the Cray line of supercomputers, died ten years ago today on October 5, 1996. His was a well known name in computer science throughout the second half of the 20th century, and many industry publications noted his passing. Among them was Computerworld, whose article contained a quote from Cray that I clipped out and have had on my office wall ever since.
"You have to be prepared to fail, and I have failed about half the time, I guess. But you simply have to pick yourself up and go at it again with whatever insights you've gained from failure. If you do keep trying, you will occasionally do something worthwhile."
Good words to live by.
Tags: Seymour Cray, Cray supercomputer
"You have to be prepared to fail, and I have failed about half the time, I guess. But you simply have to pick yourself up and go at it again with whatever insights you've gained from failure. If you do keep trying, you will occasionally do something worthwhile."
Good words to live by.
Tags: Seymour Cray, Cray supercomputer
9.21.2006
Mary Jo Foley is All About Microsoft
Ed Bott posts the feed URL for Mary Jo Foley's new blog All About Microsoft. Glad to see Mary Jo back online so soon. Both her blog and Ed Bott's Windows Expertise are on my required reading list.
One request, Mary Jo: please publish the full text of your articles in the feed. Judging by your first two posts, the feed has only summary descriptions. Those of us who read news feeds in a feed reader usually don't want to switch to a browser to get the full article.
Tags: Ed Bott, Mary Jo Foley, All About Microsoft, Windows Expertise
One request, Mary Jo: please publish the full text of your articles in the feed. Judging by your first two posts, the feed has only summary descriptions. Those of us who read news feeds in a feed reader usually don't want to switch to a browser to get the full article.
Tags: Ed Bott, Mary Jo Foley, All About Microsoft, Windows Expertise
9.19.2006
Southwest Fox 2006 is only a month away
SET EXCITEMENT ON!
The Southwest Fox 2006 conference in Phoenix, Arizona is only a month away. Conference organizer Bob Kocher says the hotel is filling up fast, but there's still time to sign up and attend what promises to be another outstanding event. I'm a speaker again this year, but I'm also an attendee and I'm not exaggerating when I say I'm really pumped about the sessions I'll be able to attend when I'm not doing one of my own. The depth and breadth of technical content at this conference looks to be outstanding.
If you need incentives to attend -- besides the benefits of getting together with other VFP developers, immersing yourself in high-level technical information for three days, hanging out with friends and colleagues in after-hours bull sessions, etc. -- there are some great prizes to be given away. Bob announced earlier today that Craig Boyd, head honcho at SweetPotato Software, Inc., will give away a Visual Studio 2005 Team Suite with MSDN Premium Subscription during the Keynote Address on Thursday evening, Oct. 19th. And in connection with my session on Automating the Build, VSoft Technologies has donated a copy of FinalBuilder 4 Professional, a $499 value, to be given away during the conference. I don't know for sure, but I wouldn't be a bit surprised if there are going to be other goodies, too.
If I'm reading the registration form correctly, you can still save $25 on the cost of registration if three or more members of your FoxPro Users Group are attending. If you have a user group meeting between now and October 19th, be sure to let your members know about this.
In case you can't tell, I'm really looking forward to Southwest Fox 2006! Hope to see you there.
Tags: Southwest Fox, Visual FoxPro, Visual Studio, FinalBuilder
The Southwest Fox 2006 conference in Phoenix, Arizona is only a month away. Conference organizer Bob Kocher says the hotel is filling up fast, but there's still time to sign up and attend what promises to be another outstanding event. I'm a speaker again this year, but I'm also an attendee and I'm not exaggerating when I say I'm really pumped about the sessions I'll be able to attend when I'm not doing one of my own. The depth and breadth of technical content at this conference looks to be outstanding.
If you need incentives to attend -- besides the benefits of getting together with other VFP developers, immersing yourself in high-level technical information for three days, hanging out with friends and colleagues in after-hours bull sessions, etc. -- there are some great prizes to be given away. Bob announced earlier today that Craig Boyd, head honcho at SweetPotato Software, Inc., will give away a Visual Studio 2005 Team Suite with MSDN Premium Subscription during the Keynote Address on Thursday evening, Oct. 19th. And in connection with my session on Automating the Build, VSoft Technologies has donated a copy of FinalBuilder 4 Professional, a $499 value, to be given away during the conference. I don't know for sure, but I wouldn't be a bit surprised if there are going to be other goodies, too.
If I'm reading the registration form correctly, you can still save $25 on the cost of registration if three or more members of your FoxPro Users Group are attending. If you have a user group meeting between now and October 19th, be sure to let your members know about this.
In case you can't tell, I'm really looking forward to Southwest Fox 2006! Hope to see you there.
Tags: Southwest Fox, Visual FoxPro, Visual Studio, FinalBuilder
Truncated descriptions in feed
I discovered yesterday that the descriptions in my last seven posts were truncated in the feed. This means if you were viewing the posts in a feed reader you saw only about the first 255 characters of the post. If you were viewing the blog as a web page you saw the full post.
This isn't the first time Blogger.com has done this to me, and I'm not the only one it's done it to. I rechecked my settings, which haven't changed (Settings | Site Feed | Description | Full). I have no idea what's causing this to happen, but it's annoying.
This morning I republished the truncated posts and confirmed the feed now has full descriptions. They were reposted with the same date, time, and title as the originals, so this shouldn't cause duplicates in your reader.
If anybody knows why this happens, please leave a comment.
Tags: Blogger.com, truncation
This isn't the first time Blogger.com has done this to me, and I'm not the only one it's done it to. I rechecked my settings, which haven't changed (Settings | Site Feed | Description | Full). I have no idea what's causing this to happen, but it's annoying.
This morning I republished the truncated posts and confirmed the feed now has full descriptions. They were reposted with the same date, time, and title as the originals, so this shouldn't cause duplicates in your reader.
If anybody knows why this happens, please leave a comment.
Tags: Blogger.com, truncation
9.16.2006
Inno Setup #include directive
I just discovered the #include directive in Inno Setup is case sensitive. If you use #INCLUDE you get an error that says, in part:
I checked a couple of other directives in Inno Setup and found they are not case sensitive. For example, the compiler accepts APPID and SOURCEDIR in the Setup section as well as the more conventional AppID and SourceDir, and in the Files section parameters such as Source and DestDir are not case sensitive either. I'm not sure why #include should be different, but it is.
Tags: Inno Setup
To be able to use directives other than '#include'As a VFP developer I'm accustomed to case insensitive syntax, so I had to read the error message a couple of times and double check my script before I understood that #INCLUDE is not the same as #include. The #include directive is a native part of Inno Setup and does not require the ISPP.
you need to install the Inno Setup Preprocessor (ISPP)
I checked a couple of other directives in Inno Setup and found they are not case sensitive. For example, the compiler accepts APPID and SOURCEDIR in the Setup section as well as the more conventional AppID and SourceDir, and in the Files section parameters such as Source and DestDir are not case sensitive either. I'm not sure why #include should be different, but it is.
Tags: Inno Setup
9.11.2006
IIS Admin service - problem and solution
I ran into a problem with the IIS Admin service on my Windows XP SP2 laptop PC yesterday. After some digging, I found the solution. If you run into the same problem, maybe this information will be helpful.
The first sign of a problem was localhost not responding. I checked to see if the web publishing service was running, which it wasn't. When I tried to start it I got
Running sc query iisadmin from the command prompt showed the service stopped with an exit code of 0x8007000d.
I don't know what MetaBase.bin.beforexmlupg is. I checked another Win XP SP2 machine and it didn't have that file. From its name and date stamp I figured it might be related to a security update I applied on or about that date, but that's pure speculation on my part. A search for that file name on MSDN and TechNet turns up no hits.
I'm no IIS expert, but assuming MetaBase.bin was invalid I moved it to a temporary directory (in case I needed it again) and copied MetaBase.bin.beforexmlupg back to MetaBase.bin. I figured this was risky, but I didn't have a lot to lose at that point. I then started the IIS Admin service: success. I started the web publishing service: success. And of course, localhost was back in business, too.
I certainly can't guarantee this solution will work on other machines or in other situations, but it did work in this case. I'm still searching for more information to find out what caused this problem in the first place.
Tags: Windows XP SP2, IIS Admin, MetaBase.bin, 0x8007000d
The first sign of a problem was localhost not responding. I checked to see if the web publishing service was running, which it wasn't. When I tried to start it I got
Error 1068, dependency service or group failed to start.I checked the IIS Admin service and found it wasn't running, either. When I tried to start that service I got:
Error 13, the data is invalid.I checked the system event log and found IIS Admin has been failing to start for several reboots. I don't access localhost on this machine very often so I'm not surprised I didn't notice this sooner.
Running sc query iisadmin from the command prompt showed the service stopped with an exit code of 0x8007000d.
SERVICE_EXIT_CODE: -2147024883 (0x8007000d)A search of the Web for some reference to that exit code turned up a suggestion the problem might be related to the metabase file in windows\system32\inetsrv. I found two files on my machine: MetaBase.bin.beforexmlupg, at about 225KB, and MetaBase.bin at over 2.5MB. A clue was the date stamp on MetaBase.bin was about the same as the date the event log showed the IIS Admin service began failing to run. The other file, MetaBase.bin.beforexmlupg, had an earlier date.
I don't know what MetaBase.bin.beforexmlupg is. I checked another Win XP SP2 machine and it didn't have that file. From its name and date stamp I figured it might be related to a security update I applied on or about that date, but that's pure speculation on my part. A search for that file name on MSDN and TechNet turns up no hits.
I'm no IIS expert, but assuming MetaBase.bin was invalid I moved it to a temporary directory (in case I needed it again) and copied MetaBase.bin.beforexmlupg back to MetaBase.bin. I figured this was risky, but I didn't have a lot to lose at that point. I then started the IIS Admin service: success. I started the web publishing service: success. And of course, localhost was back in business, too.
I certainly can't guarantee this solution will work on other machines or in other situations, but it did work in this case. I'm still searching for more information to find out what caused this problem in the first place.
Tags: Windows XP SP2, IIS Admin, MetaBase.bin, 0x8007000d
9.09.2006
Fox Sighting
[set humor on]
What's the most recommended database development tool from Microsoft? According to the Recommended Downloads that showed up at the bottom of the page when I downloaded Internet Explorer 7 RC1 a couple of days ago, it's Visual FoxPro! VFP comes in at number 2 on the list, just edging out SQL Server 2005.
[set humor off]
The image below is split for size considerations. The highlighting is mine, but the image is real.
I don't know how Microsoft generates that list but I have to believe it's dynamic. I wonder if anyone who doesn't already have VFP installed would ever get this same list? But anyway it's always nice to see the Fox show up in unexpected places.

What's the most recommended database development tool from Microsoft? According to the Recommended Downloads that showed up at the bottom of the page when I downloaded Internet Explorer 7 RC1 a couple of days ago, it's Visual FoxPro! VFP comes in at number 2 on the list, just edging out SQL Server 2005.
[set humor off]
The image below is split for size considerations. The highlighting is mine, but the image is real.
I don't know how Microsoft generates that list but I have to believe it's dynamic. I wonder if anyone who doesn't already have VFP installed would ever get this same list? But anyway it's always nice to see the Fox show up in unexpected places.

9.07.2006
It's all about imagination
Rod Paddock hits the nail on the head in his Axes and Imagination editorial for the Sept/Oct issue of CoDe Magazine. Writing about software development and the need to stay sharp, he reminds us that "...the main ingredient in [our] profession is imagination." Absolutely right, Rod.
Without question, software development is a creative process. Sure, there are mechanical and technical aspects to it as well, but at its core being able to design and develop good software depends on being able to imagine it first. Solutions flow from our minds to our keyboards. As I've often said, "You've got to create it here (pointing to head) before you can create it there (pointing to computer)."
I liked this editorial because I think it's important to be reminded about the creative aspect of our profession from time to time. Software development requires a good deal of mental energy and sustained concentration, and sometimes it's easy to get overwhelmed by the details. Being reminded that it's a fundamentally creative process helps us recognize and avoid burnout. When the creative energy isn't flowing, Rod says it's probably time for an "imagination refill." Translation: take a break, do something different for a little while, go have some fun!
If you don't subscribe to CoDe Magazine, you can read Rod's editorial online at www.code-magazine.com/Article.aspx?quickid=0609011. Be sure to check out the cool photo of Rod with his "imaginary" friends from Family Guy, too. Looks like fun. < s >
Tags: Software Development, CoDe Magazine, Rod Paddock, Family Guy
Without question, software development is a creative process. Sure, there are mechanical and technical aspects to it as well, but at its core being able to design and develop good software depends on being able to imagine it first. Solutions flow from our minds to our keyboards. As I've often said, "You've got to create it here (pointing to head) before you can create it there (pointing to computer)."
I liked this editorial because I think it's important to be reminded about the creative aspect of our profession from time to time. Software development requires a good deal of mental energy and sustained concentration, and sometimes it's easy to get overwhelmed by the details. Being reminded that it's a fundamentally creative process helps us recognize and avoid burnout. When the creative energy isn't flowing, Rod says it's probably time for an "imagination refill." Translation: take a break, do something different for a little while, go have some fun!
If you don't subscribe to CoDe Magazine, you can read Rod's editorial online at www.code-magazine.com/Article.aspx?quickid=0609011. Be sure to check out the cool photo of Rod with his "imaginary" friends from Family Guy, too. Looks like fun. < s >
Tags: Software Development, CoDe Magazine, Rod Paddock, Family Guy
8.31.2006
Universal Thread lowers its prices
Good news from Michel Fournier of Level Extreme Inc., who announced a reduction in the price of the Universal Thread subscription, aka the Premier Universal Thread Membership or PUTM. The price of a monthly subscription drops to CAD$9.95 after the first month, while an annual subscription is reduced to CAD$99.95 (about USD$90.05 at today's exchange rates). The official announcement is at www.universalthread.com/news/subscription.asp.
This should be welcome news for everyone who subscribes to the UT, as well as for those who may have been thinking about subscribing but were put off by the price. For my part, I have always considered a PUTM subscription to be well worth the price, and now even more so. I literally can't count the number of times I've quickly found a solution to a problem or a valuable reference for an issue on the UT. It's a real time saver.
Evidently Canadian GST tax still applies to all subscriptions including international (i.e., not Canadian) residents. This has long been a source of contention but is outside Level Extreme's control. Michel said today that the appeal of this ruling is still in progress.
The only thing I'd question here is why the first month should cost more (CAD$14.95) than the standard monthly rate. It seems to me one good way to attract new subscribers would be to offer the first month for free instead of charging more for it. OTOH I suppose some people might take advantage of this, so maybe that's why it's the way it is.
Tags: Universal Thread, Visual FoxPro, VFP
This should be welcome news for everyone who subscribes to the UT, as well as for those who may have been thinking about subscribing but were put off by the price. For my part, I have always considered a PUTM subscription to be well worth the price, and now even more so. I literally can't count the number of times I've quickly found a solution to a problem or a valuable reference for an issue on the UT. It's a real time saver.
Evidently Canadian GST tax still applies to all subscriptions including international (i.e., not Canadian) residents. This has long been a source of contention but is outside Level Extreme's control. Michel said today that the appeal of this ruling is still in progress.
The only thing I'd question here is why the first month should cost more (CAD$14.95) than the standard monthly rate. It seems to me one good way to attract new subscribers would be to offer the first month for free instead of charging more for it. OTOH I suppose some people might take advantage of this, so maybe that's why it's the way it is.
Tags: Universal Thread, Visual FoxPro, VFP
8.28.2006
Beyond Compare Update
Version 2.4.2 of Beyond Compare, the great little file and folder comparison utility, was released last Thursday. Readers of this blog know I consider Beyond Compare an indispensable part of my developer's toolkit, so I'm always alert for a new version.
In addition to a number of new enhancements, version 2.4.2 introduced a minor bug that caused zip files within zip files to compare incorrectly - they were displayed as different on each side of the comparison even though they were in fact identical and showed the same size and date-time stamp. Knowing how responsive Scooter Software is, I knew it wouldn't take long for a fix to be posted, and sure enough version 2.4.3 appeared this morning with the fix for the zip-in-zip bug and a couple of other things as well.
If you use Beyond Compare, go get version 2.4.3. The best keeps getting better.
In addition to a number of new enhancements, version 2.4.2 introduced a minor bug that caused zip files within zip files to compare incorrectly - they were displayed as different on each side of the comparison even though they were in fact identical and showed the same size and date-time stamp. Knowing how responsive Scooter Software is, I knew it wouldn't take long for a fix to be posted, and sure enough version 2.4.3 appeared this morning with the fix for the zip-in-zip bug and a couple of other things as well.
If you use Beyond Compare, go get version 2.4.3. The best keeps getting better.
8.21.2006
Presentation Fears and Fiascos
As I work to put the finishing touches on my presentations for Southwest Fox 2006, I had a good laugh at this post on Scott Guthrie's blog this morning. Scott posts a link to The ten worst presentation moments from the Microsoft UK site along with the story of one of his own "interesting" conference presentation experiences. Anybody who's made a presentation to a group of any size can probably identify with these moments, or at least has had the fear of something similar happening to them. On the list of ten, my personal favorite is #4. What's yours?
Tags: Southwest Fox, Presentations, ScottGu
Tags: Southwest Fox, Presentations, ScottGu
8.01.2006
Southwest Fox 2006
Southwest Fox 2006 is less than three months away! Join your friends and colleagues October 19-22 at the Fiesta Inn Resort in Tempe, AZ for this outstanding event. Southwest Fox has earned a well-deserved reputation for excellence in past years and promises to deliver top-notch content and value again this year. Register via the conference website, where you'll also find a full listing of speakers and topics, hotel information, and more.
Tags: SouthwestFox, Visual FoxPro, VFP
Tags: SouthwestFox, Visual FoxPro, VFP
7.18.2006
Comments on Microsoft acquisition of Winternals
Several bloggers are commenting today about Microsoft's acquisition of Winternals and Sysinternals. Ed Bott and a post on Slashdot, among others, both suggest downloading the latest versions of Sysinternals' free utilities while you can, 'cause it's not certain how long they'll remain available. The Sysinternals.com website is, predictably, jammed this afternoon with traffic I assume is from people heeding this advice.
Mark Minasi, author of several books in the Mastering(TM) series from Sybex, comments on this acquisition in his monthly newsletter. Minasi, who discloses that he's been a friend of Winternals' Mark Russinovich for years, says of Russinovich: "This is a good move for him and, I think, in the long run for us all. His presence in Redmond has to be a force for sound architecture, openness and innovation."
Tags: Microsoft, Winternals, Sysinternals, Ed Bott, Slashdot, Mark Minasi
Mark Minasi, author of several books in the Mastering(TM) series from Sybex, comments on this acquisition in his monthly newsletter. Minasi, who discloses that he's been a friend of Winternals' Mark Russinovich for years, says of Russinovich: "This is a good move for him and, I think, in the long run for us all. His presence in Redmond has to be a force for sound architecture, openness and innovation."
Tags: Microsoft, Winternals, Sysinternals, Ed Bott, Slashdot, Mark Minasi
Microsoft acquires Winternals and Sysinternals
Mark Russinovich blogs this morning that Microsoft has acquired Sysinterals and Winternals. Sysinternals is known for a wide variety of popular system utilities such as FileMon, RegMon, Process Explorer, and Rootkit Revealer. Winternals focuses on system recovery and management tools, including the Administrators' Pak. See the press release for more information.
Tags: Sysinternals, Winternals, Microsoft
Tags: Sysinternals, Winternals, Microsoft
7.12.2006
No guts, no glory
... and in this case, no glory. In yesterday's post about Execute Selection in VFP, I got a bit carried away and tried to achieve a specific layout involving three images and several paragraphs of text. Two of the images were supposed to be side by side, with text above and below but not next to them.
Unfortunately, I failed to anticipate how blogger.com would treat the HTML when it published the post. The result was that the paragraph following the first two images didn't start below the images as intended, but instead flowed inline to the right. How much (if any) of the first part of that paragraph you could see depended on the width of your browser window. It was, to say the least, not very readable.
This morning I fixed the layout and republished the post. To avoid creating a duplicate, the republished post has the same publication date/time and item ID as the original, meaning that if your feed reader already retrieved the original it won't detect the updated one as being new. In some feed readers, such as FeedDemon, you can delete the original item and the reader will pick up the updated version when you refresh the feed.
Unfortunately, I failed to anticipate how blogger.com would treat the HTML when it published the post. The result was that the paragraph following the first two images didn't start below the images as intended, but instead flowed inline to the right. How much (if any) of the first part of that paragraph you could see depended on the width of your browser window. It was, to say the least, not very readable.
This morning I fixed the layout and republished the post. To avoid creating a duplicate, the republished post has the same publication date/time and item ID as the original, meaning that if your feed reader already retrieved the original it won't detect the updated one as being new. In some feed readers, such as FeedDemon, you can delete the original item and the reader will pick up the updated version when you refresh the feed.
7.11.2006
Execute Selection in VFP
If you're a VFP developer, you probably already know you can run a line or lines of code in the Command window by selecting them and choosing Execute Selection from the shortcut menu. But did you know you can do this in a VFP editing window, too?
This can be useful for testing selected chunks of code during development, but it also gives you a VFP equivalent to the SQL Server Query Analyzer. In SQL Server, you can store several batches of T-SQL statements in a single query file and run them independently of one another using the Query Analyzer. In VFP, you can store several groups of SQL statements in a single program file and run them independently of one another using the Execute Selection command in a VFP editing window.
As in the Query Analyzer, you can revise the code in the VFP editing window and execute it without having to save the file. Unlike the Query Analyzer, though, the F5 key does not execute the selection in a VFP editing window. Neither does VFP recognize the GO command that signals the end of a batch in the Query Analyzer (GO has a different meaning in VFP); if you need a way of ending a batch of statements in VFP, use RETURN.

VFP's Execute Selection feature can be useful during development and testing of almost any kind of VFP code, but it's particularly handy when you're working with lengthy SQL statements. While you could use the VFP Command window for the same purpose, an editing window is much more usable when individual statements run into several lines of code, which is typically the case with SQL statements. A program file is of course also more useful than the command window when you want to save your work and return to it later.

This can be useful for testing selected chunks of code during development, but it also gives you a VFP equivalent to the SQL Server Query Analyzer. In SQL Server, you can store several batches of T-SQL statements in a single query file and run them independently of one another using the Query Analyzer. In VFP, you can store several groups of SQL statements in a single program file and run them independently of one another using the Execute Selection command in a VFP editing window.
As in the Query Analyzer, you can revise the code in the VFP editing window and execute it without having to save the file. Unlike the Query Analyzer, though, the F5 key does not execute the selection in a VFP editing window. Neither does VFP recognize the GO command that signals the end of a batch in the Query Analyzer (GO has a different meaning in VFP); if you need a way of ending a batch of statements in VFP, use RETURN.


VFP's Execute Selection feature can be useful during development and testing of almost any kind of VFP code, but it's particularly handy when you're working with lengthy SQL statements. While you could use the VFP Command window for the same purpose, an editing window is much more usable when individual statements run into several lines of code, which is typically the case with SQL statements. A program file is of course also more useful than the command window when you want to save your work and return to it later.

07/12/2006 - Republished this post with corrected image and text layout.
Tags: Visual FoxPro, VFP, SQL Server, Query Analyzer
Tags: Visual FoxPro, VFP, SQL Server, Query Analyzer
6.12.2006
Cool Web Research Tools
Some terrific Web research tools have surfaced recently. One's an old favorite, now available for Firefox as well as for Internet Explorer. Another's an extension for Firefox itself, while the third is a new offering from Google. All of these tools help you gather, organize, and search information about stuff you find on the Web in a far more useful way than browser bookmarks alone can do.
The first is Powermarks from Kaylon Technologies. I can't remember how many years ago I first discovered Powermarks, but it immediately became a favorite for its ease of use and lightning-fast search capability. Powermarks is essentially a bookmark manager with a built-in search mechanism. Add the Powermarks toolbar to your browser and you can insert a Web page's URL and description into your Powermarks database with two quick clicks of the mouse. You can add your own keywords for each page you catalog, which makes it easy to personalize your searches later on. To search, simply start typing a keyword; as you type each keystroke, the list of entries displayed by Powermarks shrinks to show only those that match. I currently have 876 entries in my Powermarks database, each with multiple keywords, and the search mechansim responds to my keystrokes as fast as I can type. In other words, finding a reference is quick and easy. Double-clicking any link in the Powermarks list opens that page in your browser.
AFAIK Powermarks was originally available only for Internet Explorer, but it now supports a variety of browsers and a beta version is available for Firefox 1.5.x. I'd regretted losing the browser integration with Powermarks when I switched to Firefox as my everyday browser some time ago, but with the new Powermarks toolbar for Firefox it's great to have it back again. And unlike browser-specific bookmarks, Powermarks uses a its own database with all browsers, meaning anything you add to it from one browser is also available when you run Powermarks from any other browser. Kaylon also offers a free 'NetSync' account that enables you to backup and synchronize your Powermarks bookmarks over the Internet.
The second tool is a relatively new extension for Firefox called Scrapbook. I've only begun playing with this one, but at first glance it looks really useful. Scrapbook enables you to save a Web page or fragment of a Web page to a collection on your local machine. Scrapbook is integrated with Firefox via an item on the main Firefox menu and also via additions to the Firefox right-click menu, which enable you to easily capture a page or a snippet from a page you're looking at in your browser. You can organize your Scrapbook entries into folders and view them using a treeview. The Scrapbook treeview is integrated into Firefox and opens in the left-hand panel, just like bookmarks and history do. Scapbook has its own search capability, allows you to add freehand notes, and offers other features as well. If you're a Firefox user, this one is worth checking out.
The third tool I want to mention here is Google Notebook, which I've also only recently started using. Like the other tools, Google Notebook facilitates collecting and organizing information from Web pages. It adds an item to your browser's context menu that you can use to add Web page clippings to your Notebook. Google Notebook works with both IE 6 and Firefox 1.5. It stores the information you gather on Google's servers instead of on your local machine, meaning a Google account (e.g., Gmail) is required, but because of this you can access your Google Notebook(s) from any machine. This is really useful if you consistently work on two or more computers. Your Google Notebook(s) can be public or private. To get a quick sense of what Google Notebook can do, spend a couple of minutes on the overview page - a couple of pictures are worth a thousand words.
When you're doing Web research, the problem isn't finding enough information, it's organizing and remembering the information you do find. Tools like these are making the job a whole lot easier.
Tags: Powermarks, Scrapbook, Google Notebook, Web research, Firefox
The first is Powermarks from Kaylon Technologies. I can't remember how many years ago I first discovered Powermarks, but it immediately became a favorite for its ease of use and lightning-fast search capability. Powermarks is essentially a bookmark manager with a built-in search mechanism. Add the Powermarks toolbar to your browser and you can insert a Web page's URL and description into your Powermarks database with two quick clicks of the mouse. You can add your own keywords for each page you catalog, which makes it easy to personalize your searches later on. To search, simply start typing a keyword; as you type each keystroke, the list of entries displayed by Powermarks shrinks to show only those that match. I currently have 876 entries in my Powermarks database, each with multiple keywords, and the search mechansim responds to my keystrokes as fast as I can type. In other words, finding a reference is quick and easy. Double-clicking any link in the Powermarks list opens that page in your browser.
AFAIK Powermarks was originally available only for Internet Explorer, but it now supports a variety of browsers and a beta version is available for Firefox 1.5.x. I'd regretted losing the browser integration with Powermarks when I switched to Firefox as my everyday browser some time ago, but with the new Powermarks toolbar for Firefox it's great to have it back again. And unlike browser-specific bookmarks, Powermarks uses a its own database with all browsers, meaning anything you add to it from one browser is also available when you run Powermarks from any other browser. Kaylon also offers a free 'NetSync' account that enables you to backup and synchronize your Powermarks bookmarks over the Internet.
The second tool is a relatively new extension for Firefox called Scrapbook. I've only begun playing with this one, but at first glance it looks really useful. Scrapbook enables you to save a Web page or fragment of a Web page to a collection on your local machine. Scrapbook is integrated with Firefox via an item on the main Firefox menu and also via additions to the Firefox right-click menu, which enable you to easily capture a page or a snippet from a page you're looking at in your browser. You can organize your Scrapbook entries into folders and view them using a treeview. The Scrapbook treeview is integrated into Firefox and opens in the left-hand panel, just like bookmarks and history do. Scapbook has its own search capability, allows you to add freehand notes, and offers other features as well. If you're a Firefox user, this one is worth checking out.
The third tool I want to mention here is Google Notebook, which I've also only recently started using. Like the other tools, Google Notebook facilitates collecting and organizing information from Web pages. It adds an item to your browser's context menu that you can use to add Web page clippings to your Notebook. Google Notebook works with both IE 6 and Firefox 1.5. It stores the information you gather on Google's servers instead of on your local machine, meaning a Google account (e.g., Gmail) is required, but because of this you can access your Google Notebook(s) from any machine. This is really useful if you consistently work on two or more computers. Your Google Notebook(s) can be public or private. To get a quick sense of what Google Notebook can do, spend a couple of minutes on the overview page - a couple of pictures are worth a thousand words.
When you're doing Web research, the problem isn't finding enough information, it's organizing and remembering the information you do find. Tools like these are making the job a whole lot easier.
Tags: Powermarks, Scrapbook, Google Notebook, Web research, Firefox
5.12.2006
Tao of the Windows Installer, Part 2
The Windows Installer team has posted part 2 in their series on best practices for the Windows Installer. Tao of the Windows Installer, Part 2 offers twenty-three rules on the subject of Packaging. This series is definitely recommended reading for anyone involved in creating MSI setups.
Tags: Windows Installer, Best Practices
Tags: Windows Installer, Best Practices
5.09.2006
Library Thing
Ted Roche blogged over the weekend about LibraryThing, a web-based way to catalog your books online and share the information with others. Ted mentioned that I'd already cataloged some of my FoxPro books there, which reminded me it had been a while since I posted anything and prompted me to log in again and add some more recent acquisitions and old favorites. Ted's posted some of his books there now, too, and has gone a step further than I have by adding a sidebar to his blog to display some of the titles from his catalog.
LibraryThing is easy to use, and its integration with amazon.com makes adding new entries a breeze. Editing and tagging existing catalog entries is intuitive, thanks to a well designed and flexible user interface. I discovered today you can export your catalog as a delimited text file, which makes it easy to import it into Excel or a database, should you want to do that. Nice.
Tags: LibraryThing
LibraryThing is easy to use, and its integration with amazon.com makes adding new entries a breeze. Editing and tagging existing catalog entries is intuitive, thanks to a well designed and flexible user interface. I discovered today you can export your catalog as a delimited text file, which makes it easy to import it into Excel or a database, should you want to do that. Nice.
Tags: LibraryThing
5.03.2006
Best Practices for Windows Installer
Fresh on the heels of my "Best Practices for Deployment" session at GLGDW 2006 comes some more great information on a related topic, this time directly from the source. The Windows Installer team at Microsoft has just published the first in a series on best practices for Windows Installer.
The Tao of Windows Installer, Part 1 was posted on the Windows Installer team's blog on Monday. This first part focuses on Fundamentals, enumerating six rules (best practices) to go by. The other parts -- Packaging, Deployment, Patching, Testing and Support, and Security Considerations -- are expected to follow approximately one per week.
In addition to simply providing these guidelines, the author(s) are looking for feedback from readers in order to help turn this series of blog posts into an eventual whitepaper. Regardless of whether or not you want to provide feedback, it looks like this will be excellent reading.
Tags: Windows Installer, Best Practices
The Tao of Windows Installer, Part 1 was posted on the Windows Installer team's blog on Monday. This first part focuses on Fundamentals, enumerating six rules (best practices) to go by. The other parts -- Packaging, Deployment, Patching, Testing and Support, and Security Considerations -- are expected to follow approximately one per week.
In addition to simply providing these guidelines, the author(s) are looking for feedback from readers in order to help turn this series of blog posts into an eventual whitepaper. Regardless of whether or not you want to provide feedback, it looks like this will be excellent reading.
Tags: Windows Installer, Best Practices
5.01.2006
"You are not inadequate" [humor]
Feeling overwhelmed? Awash in new technology? Unable to keep up? The secretGeek has good news: You are NOT inadequate. Ahh, thank you. I feel much better now. (This is largely humorous, but it makes a very good point, too.)
WiX Video on Channel 9
Robert Scoble blogs: "What's possibly the most used piece of software developed at Microsoft? The WiX [Windows Installer XML] toolset."
Some readers know I've been talking and writing about WiX within the Visual FoxPro community for a couple of years now, most recently in a conference presentation at Southwest Fox last fall. WiX builds Windows Installer setup file (MSI) from XML source code. It's unique for several reasons, including the fact that it was the first open-source product released by Microsoft. Scoble filmed a 57-minute video featuring Rob Mensching and the rest of the all-volunteer WiX 'virtual team', which is now available on Channel 9.
In the video, Rob talks about the evolution of Wix and demonstrates its use and integration with Visual Studio. He also shows the Orca MSI editor, a nifty little tool for poking around inside MSI files. Around minutes 30:00 to 33:00, Rob and others talk about the importance of integrating setup authoring into the software development process, a theme I touched on in my Best Practices for Deployment session at last weekend's Great Lakes Great Database Workshop (GLGDW) in Milwaukee.
If you're interested in WiX, this video is required viewing. If you're not, this is a good way to start getting familiar with WiX and the team that created it. For more information, read Rob Mensching's blog and visit the WiX home on the Web at wix.sourceforge.net. The tutorial there is particularly helpful. For VFP developers, there is also a WiX page on the FoxPro Wiki.
Tags: WiX, Windows Installer, Scoble
Some readers know I've been talking and writing about WiX within the Visual FoxPro community for a couple of years now, most recently in a conference presentation at Southwest Fox last fall. WiX builds Windows Installer setup file (MSI) from XML source code. It's unique for several reasons, including the fact that it was the first open-source product released by Microsoft. Scoble filmed a 57-minute video featuring Rob Mensching and the rest of the all-volunteer WiX 'virtual team', which is now available on Channel 9.
In the video, Rob talks about the evolution of Wix and demonstrates its use and integration with Visual Studio. He also shows the Orca MSI editor, a nifty little tool for poking around inside MSI files. Around minutes 30:00 to 33:00, Rob and others talk about the importance of integrating setup authoring into the software development process, a theme I touched on in my Best Practices for Deployment session at last weekend's Great Lakes Great Database Workshop (GLGDW) in Milwaukee.
If you're interested in WiX, this video is required viewing. If you're not, this is a good way to start getting familiar with WiX and the team that created it. For more information, read Rob Mensching's blog and visit the WiX home on the Web at wix.sourceforge.net. The tutorial there is particularly helpful. For VFP developers, there is also a WiX page on the FoxPro Wiki.
Tags: WiX, Windows Installer, Scoble
4.30.2006
GLGDW 2006 Conference Notes and Photos
The 2006 edition of the Great Lakes Great Database Workshop (GLGDW, aka Whilfest) wrapped up last Monday in Milwaukee. Others who were there, including Doug Hennig and Rick Schummer, have already posted excellent conference wrap-ups on their blogs that include individual conference session summaries, so I'll just add a couple of general comments here.
GLGDW has a well-deserved reputation for being an excellent conference, and this year was certainly no exception. After a 2 1/2 year hiatus since the last one in October 2003, Whil brought the conference back in a somewhat different format this year. For one thing, it was essentially just a weekend conference, running from Friday evening to Monday noon instead of stretching over four of five days. For another, there was only one track this year, meaning each session was presented only once and everybody attended the same session at the same time. Also, the entire conference was focused on the single theme of "Best Practices for Visual FoxPro", which gave a certain continuity to the sessions.
The one-track format allowed everyone, including speakers, to attend all the sessions. This worked out pretty well for everyone, particularly so for the speakers because we don't ordinarily get to see the whole show. The smaller size of this conference also facilitated more than the usual amount of dialog between the speakers and the audience during the sessions, which added to the informal feeling of this event. Larger, multi-track conference formats are good because they can accommodate a wider variety of topics and a greater number of speakers and attendees, but the intense "weekend jam session" nature of this year's GLGDW was a nice change of pace.
Kudos to all the other speakers, who did a uniformly excellent job with their sessions, and thanks to everyone who attended and helped make the weekend happen. As always, Whil Hentzen deserves a ton of credit for putting it all together, and his daughter Aleix earns special recognition for helping to keep things running smoothly throughout the entire weekend.
I took a few snapshots at the conference. You can see them at www.ita-software.com/GLGDW2006_Photos/index.html.
Tags: FoxPro, VFP, GLGDW, Whilfest
GLGDW has a well-deserved reputation for being an excellent conference, and this year was certainly no exception. After a 2 1/2 year hiatus since the last one in October 2003, Whil brought the conference back in a somewhat different format this year. For one thing, it was essentially just a weekend conference, running from Friday evening to Monday noon instead of stretching over four of five days. For another, there was only one track this year, meaning each session was presented only once and everybody attended the same session at the same time. Also, the entire conference was focused on the single theme of "Best Practices for Visual FoxPro", which gave a certain continuity to the sessions.
The one-track format allowed everyone, including speakers, to attend all the sessions. This worked out pretty well for everyone, particularly so for the speakers because we don't ordinarily get to see the whole show. The smaller size of this conference also facilitated more than the usual amount of dialog between the speakers and the audience during the sessions, which added to the informal feeling of this event. Larger, multi-track conference formats are good because they can accommodate a wider variety of topics and a greater number of speakers and attendees, but the intense "weekend jam session" nature of this year's GLGDW was a nice change of pace.
Kudos to all the other speakers, who did a uniformly excellent job with their sessions, and thanks to everyone who attended and helped make the weekend happen. As always, Whil Hentzen deserves a ton of credit for putting it all together, and his daughter Aleix earns special recognition for helping to keep things running smoothly throughout the entire weekend.
I took a few snapshots at the conference. You can see them at www.ita-software.com/GLGDW2006_Photos/index.html.
Tags: FoxPro, VFP, GLGDW, Whilfest
4.28.2006
FeedDemon 2.0 Wins PC Magazine Editors' Choice Award
PC Magazine agrees with what I've been saying for a long time: "FeedDemon 2.0 is the best desktop RSS aggregator money can buy." Snapshot review at www.pcmag.com/article2/0,1895,1948579,00.asp, full review here.
Tags: FeedDemon
Tags: FeedDemon
Chainsaw unusable after being attacked by crocodile [off topic]
Sometimes you see a headline and you just have to read the story. This one caught my attention on MSNBC this morning. According to the report, neither animal nor man were injured, but the chainsaw didn't fare so well.
"Crocodile comes out on top after fight with saw -
"Chainsaw unusable after being attacked by 14.5-foot saltwater crocodile".
Story at www.msnbc.msn.com/id/12526001/.
"Crocodile comes out on top after fight with saw -
"Chainsaw unusable after being attacked by 14.5-foot saltwater crocodile".
Story at www.msnbc.msn.com/id/12526001/.
4.11.2006
Chicago FUDG Meeting Tonight
If you're a Visual FoxPro developer in the Chicago area, come on over to the FoxPro Users and Developers Group (Chicago FUDG) meeting this evening. I'll be giving a sneak preview of my Best Practices for Deployment session, which will be presented at the Great Lakes Great Database Workshop (GLGDW) in Milwaukee later this month. Tonight's meeting is at 5:30 PM; see the Chicago FUDG website for location and details. In addition to the talk, I'll be giving away copies of Deploying Visual FoxPro Solutions and What's New in Nine: Visual FoxPro's Latest Hits as door prizes.
Technorati Tags: FoxPro, VFP, ChicagoFUDG
Technorati Tags: FoxPro, VFP, ChicagoFUDG
"The 10 worst ways to communicate with end users"
Great article by Becky Roberts over on TechRepublic this morning. "The 10 worst ways to communicate with end users" is a short but valuable read for anybody who deals with end users (and who doesn't?). Originally spotted on the TechRepublic Downloads feed.
Technorati Tags: TechRepublic
Technorati Tags: TechRepublic
4.05.2006
The Future of Programming [Humor]
Charles Petzold, author of "Programming Windows" (Microsoft Press) and many other books, shows us the future of programming with his article on the C# Application Markup Language (CSAML). Note the publication date of April 1, 2006.
FeedDemon 2.0
The newest version of FeedDemon is finally out of beta. FeedDemon 2.0 was released last week and is available for download from NewsGator.
Anyone who's been reading this blog or listening to me speak at user groups and conferences knows I've been a fan of FeedDemon ("Insanely Great Software: FeedDemon") and the other products developed by Nick Bradbury (TopStyle, also now from NewsGator, and HomeSite, now from Macromedia) for a long time. I had some initial concerns about the future of FeedDemon following NewsGator's acquisition of Bradbury Software back in May of 2005 ("Newsgator acquires FeedDemon"), but at least one of those concerns was soon alleviated when it was announced in July that FeedDemon would retain it's stand-alone capabilities and not require a NewsGator subscription ("NewsGator acquires FeedDemon Redux").
My other concerns were (a) how much involvement with and influence over FeedDemon would Nick Bradbury really continue to have, and (b) would NewsGator prove to be as responsive to the FeedDemon and TopStyle user community as Bradbury Software had always been. From what I've observed, the answers are: a lot, and yes.
During the FeedDemon 2.0 development cycle, NewsGator maintained a beta support forum. Those of us who were using the betas got a lot of releases to play with along the way, and needless to say the beta forum was very active. In spite of the daily flood of ideas (and sometimes complaints) flowing their way via the support forum, the company was very responsive to problem reports and suggestions. In particular, Jack Brewster of NewsGator technical support and Nick Bradbury himself deserve a lot of credit for their willingness to listen to and interact personally with the community.
FeedDemon 2.0 features a long list -- ten pages! -- of changes and improvements over the previous release version, v1.5. (Version 1.6 was around for a while but was never released other than as a Beta.) The most noticeable change in 2.0 is that feeds are organized and presented as nodes in a treeview, replacing the separate folders in a drop-down list used in previous versions. Also, synchronization of feeds with NewsGator Online is an option but is not required.
IMO FeedDemon 2.0 is a worthwhile upgrade for anyone still using 1.5 or 1.6, and continues to be an attractive choice for anyone who's looking for a good feed reader. There are still some things I'd like to see added or changed, but it's time to let Nick catch his breath and relax for a while. Meanwhile, FeedDemon 2.0 is ready to rock and roll, and the Technical Support forum and Feature Requests forum are up and active.
Technorati Tags: FeedDemon
Anyone who's been reading this blog or listening to me speak at user groups and conferences knows I've been a fan of FeedDemon ("Insanely Great Software: FeedDemon") and the other products developed by Nick Bradbury (TopStyle, also now from NewsGator, and HomeSite, now from Macromedia) for a long time. I had some initial concerns about the future of FeedDemon following NewsGator's acquisition of Bradbury Software back in May of 2005 ("Newsgator acquires FeedDemon"), but at least one of those concerns was soon alleviated when it was announced in July that FeedDemon would retain it's stand-alone capabilities and not require a NewsGator subscription ("NewsGator acquires FeedDemon Redux").
My other concerns were (a) how much involvement with and influence over FeedDemon would Nick Bradbury really continue to have, and (b) would NewsGator prove to be as responsive to the FeedDemon and TopStyle user community as Bradbury Software had always been. From what I've observed, the answers are: a lot, and yes.
During the FeedDemon 2.0 development cycle, NewsGator maintained a beta support forum. Those of us who were using the betas got a lot of releases to play with along the way, and needless to say the beta forum was very active. In spite of the daily flood of ideas (and sometimes complaints) flowing their way via the support forum, the company was very responsive to problem reports and suggestions. In particular, Jack Brewster of NewsGator technical support and Nick Bradbury himself deserve a lot of credit for their willingness to listen to and interact personally with the community.
FeedDemon 2.0 features a long list -- ten pages! -- of changes and improvements over the previous release version, v1.5. (Version 1.6 was around for a while but was never released other than as a Beta.) The most noticeable change in 2.0 is that feeds are organized and presented as nodes in a treeview, replacing the separate folders in a drop-down list used in previous versions. Also, synchronization of feeds with NewsGator Online is an option but is not required.
IMO FeedDemon 2.0 is a worthwhile upgrade for anyone still using 1.5 or 1.6, and continues to be an attractive choice for anyone who's looking for a good feed reader. There are still some things I'd like to see added or changed, but it's time to let Nick catch his breath and relax for a while. Meanwhile, FeedDemon 2.0 is ready to rock and roll, and the Technical Support forum and Feature Requests forum are up and active.
Technorati Tags: FeedDemon
Blog Comment Notification Issues
Blogger evidently isn't sending me e-mail notification of blog comments until I log in to Blogger again. Either I'm misunderstanding how it's supposed to work (expected behavior: someone posts a comment, I get e-mail notification right away) or I have something configured incorrectly. Maybe it's because I'm hosting the blog on my own server. I'll have to dig into this some more...
WiX turns 2
3.17.2006
Visual FoxPro: How to call back to a form from a popup menu
Popup menus are a useful way to provide users with context-based shortcuts to frequently used actions. In Visual FoxPro, popup menus are commonly invoked from the right-click event code of a control on a form, while the code you want to execute from a bar on the menu may be contained in a custom method of the form.
The challenge is, how do you get a popup menu to run a method of the form that invoked it? You can't reference 'thisform' within the menu, because 'thisform' is out of scope when the menu is active. And it's bad design to reference the calling form with a specific object name, because then the menu is tightly coupled to a particular named instance of the form.
The solution is to pass an object reference to the form as a parameter to the menu. This enables the menu to call back to the form using the parameter as the object reference.
For example, say you have a form with a grid to display rows of data, and another form to edit the data for any given row. The main form has a method named Edit() that does whatever's necessary to launch the editing form, perhaps passing it the primary key of the record for the currently selected grid row. You want the user to be able to right-click on the grid and choose 'Edit' from the popup menu, which in turn should call the form's Edit() method. Here's how to do this:
In the right-click method of a control(s) in the grid, put
DO myPopup.mpr WITH thisform
This passes an object reference to the form as a parameter to the popup menu. In the Setup code of myPopup menu, put
PARAMETERS oCaller
Use PARAMETERS instead of LPARAMETERS so oCaller is PRIVATE rather than LOCAL. As a private variable, oCaller is visible to and can be referenced by any other code in myPopup.mpr. So in the code for the Edit bar of myPopup, you can write
oCaller.Edit()
This runs the Edit() method of the calling form, regardless of what the calling form's object name is.
You can extend this concept even further by passing an object reference to the individual control as a second parameter. For example, put
DO myPopup.mpr WITH thisform, this
in the right-click method, and put the corresponding
PARAMETERS oCaller, oControl
in the menu's Setup code. Within the menu, you now have fine-grained access both to the calling form and to the specific control from which the menu was launched.
Technorati Tags: FoxPro, VFP
The challenge is, how do you get a popup menu to run a method of the form that invoked it? You can't reference 'thisform' within the menu, because 'thisform' is out of scope when the menu is active. And it's bad design to reference the calling form with a specific object name, because then the menu is tightly coupled to a particular named instance of the form.
The solution is to pass an object reference to the form as a parameter to the menu. This enables the menu to call back to the form using the parameter as the object reference.
For example, say you have a form with a grid to display rows of data, and another form to edit the data for any given row. The main form has a method named Edit() that does whatever's necessary to launch the editing form, perhaps passing it the primary key of the record for the currently selected grid row. You want the user to be able to right-click on the grid and choose 'Edit' from the popup menu, which in turn should call the form's Edit() method. Here's how to do this:
In the right-click method of a control(s) in the grid, put
DO myPopup.mpr WITH thisform
This passes an object reference to the form as a parameter to the popup menu. In the Setup code of myPopup menu, put
PARAMETERS oCaller
Use PARAMETERS instead of LPARAMETERS so oCaller is PRIVATE rather than LOCAL. As a private variable, oCaller is visible to and can be referenced by any other code in myPopup.mpr. So in the code for the Edit bar of myPopup, you can write
oCaller.Edit()
This runs the Edit() method of the calling form, regardless of what the calling form's object name is.
You can extend this concept even further by passing an object reference to the individual control as a second parameter. For example, put
DO myPopup.mpr WITH thisform, this
in the right-click method, and put the corresponding
PARAMETERS oCaller, oControl
in the menu's Setup code. Within the menu, you now have fine-grained access both to the calling form and to the specific control from which the menu was launched.
Technorati Tags: FoxPro, VFP
2.09.2006
New videocast on Inno Setup 5.0 with VFP
I've just posted a new videocast on using Inno Setup 5.0 with VFP apps. This videocast describes how to customize an Inno Setup script so you can install your database files to a location that's independent of where the EXE and other workstation files are installed.
The videocast is available from a link on my FoxPro developers page at www.ita-software.com/foxpage.aspx. To launch the video, click on the 'Video' link under the title Deploying Multi-User VFP Apps with Inno Setup 5.0. The video should start playing automatically. Total running time is 16:31.
Technorati Tags: InnoSetup, FoxPro, VFP
The videocast is available from a link on my FoxPro developers page at www.ita-software.com/foxpage.aspx. To launch the video, click on the 'Video' link under the title Deploying Multi-User VFP Apps with Inno Setup 5.0. The video should start playing automatically. Total running time is 16:31.
Technorati Tags: InnoSetup, FoxPro, VFP
2.06.2006
Southwest Fox 2005 papers published
The white papers from my two presentations at the Southwest Fox conference in Phoenix, Arizona last October are now available on my website. Integrating RSS with Visual FoxPro Applications explores ideas for leveraging RSS in VFP apps, while Roll Your Own Windows Installer Setups is a primer on using the Windows Installer XML toolset (WiX) to deploy VFP apps.
Both papers are available in PDF and HTML. Tip: choose the PDF version if you can. The HTML version is what you get when you save a Word document as HTML, which looks pretty good at 600x800 but degrades rather badly in larger browser windows because there is no width constraint.
Southwest Fox conference organizer Bob Kocher didn't place any restrictions on publishing the papers from his conference, but as a courtesy I feel it's appropriate to wait about three months before doing this so as not to diminish the value of the content for those who paid to attend the conference. And speaking of Southwest Fox, be sure you don't miss the 2006 edition coming up on October 19-22.
Technorati Tags: SouthwestFox, RSS, WiX, FoxPro, VFP
Both papers are available in PDF and HTML. Tip: choose the PDF version if you can. The HTML version is what you get when you save a Word document as HTML, which looks pretty good at 600x800 but degrades rather badly in larger browser windows because there is no width constraint.
Southwest Fox conference organizer Bob Kocher didn't place any restrictions on publishing the papers from his conference, but as a courtesy I feel it's appropriate to wait about three months before doing this so as not to diminish the value of the content for those who paid to attend the conference. And speaking of Southwest Fox, be sure you don't miss the 2006 edition coming up on October 19-22.
Technorati Tags: SouthwestFox, RSS, WiX, FoxPro, VFP
2.02.2006
"A New Look for IE"
From Max Stevens over at the Microsoft IEBlog, several screen shots and accompanying commentary on what's new in the IE 7 user interface.
Blogger Spell Checker

SnagIt 8.0 Installer Options
In my blog post last Monday I commented that the installer for SnagIt 8.0 installs the plugins for Microsoft Office applications without asking if you want them. This is true if you run a 'typical' install, which most people probably will do. I haven't gone back to verify this, but I'm pretty sure the installer for SnagIt 7.0 presented this choice as part of the typical install. In any case, it turns out these choices are still available for SnagIt 8.0 but you have to choose a 'custom' install to see them.
Technorati Tags: SnagIt
Technorati Tags: SnagIt
1.30.2006
SnagIt 8.0
Techsmith has released version 8.0 of its SnagIt screen capture tool. The SnagIt user interface has been overhauled and some new features have been added, including the ability to output to PDF.
My first impressions of this new version are positive, although the installer seemed a bit more aggressive than 7.0 in that it installed the SnagIt plugins for all my Microsoft Office apps (Word, Excel, Outlook, etc.) without asking -- or at least, if there was an option to not install these, I missed it. Another change from 7.0 is that the SnagIt Editor tool now includes several of the features that used to be available only in SnagIt Studio. As a result, SnagIt Studio no longer installs with SnagIt, but it is still available for download.
SnagIt has long been a favorite for screen capture duties, and it's good to see a new version come along even if it will take a bit of getting used to.
Technorati Tags: SnagIt
My first impressions of this new version are positive, although the installer seemed a bit more aggressive than 7.0 in that it installed the SnagIt plugins for all my Microsoft Office apps (Word, Excel, Outlook, etc.) without asking -- or at least, if there was an option to not install these, I missed it. Another change from 7.0 is that the SnagIt Editor tool now includes several of the features that used to be available only in SnagIt Studio. As a result, SnagIt Studio no longer installs with SnagIt, but it is still available for download.
SnagIt has long been a favorite for screen capture duties, and it's good to see a new version come along even if it will take a bit of getting used to.
Technorati Tags: SnagIt
1.25.2006
FeedDemon 2.0 Beta 1
FeedDemon 2.0 Beta 1 has been released and is available for public download. Read Nick Bradbury's blog post for complete information and a link to the download.
Note that FeedDemon v2.0 uses the same feed cache as v1.6, which itself is still in beta but has now been superseded by v2.0. The current release version of FeedDemon remains 1.5, which I believe uses a different cache location than 1.6 and 2.0.
Nick recommends you install 2.0 to a different folder than 1.5/1.6. I have v1.6 installed in the default location C:\Program Files\Bradbury\FeedDemon and v2.0 installed in C:\Program Files\Bradbury\FeedDemon2, and can now run either one.
Based on the stability of the beta releases throughout FeedDemon's history, I've been comfortable using 1.6 since its first pre-release version and am now using 2.0 Beta 1 with no discernible problems. Version 2.0 does have some major differences from 1.6, notably the use of a treeview instead of separate folders to organize and view your subscriptions. Although 2.0 Beta 1 appears to be stable, the beta forum is active with feedback and suggestions and I'm anxious to see Beta 2.
Technorati tags: FeedDemon
Note that FeedDemon v2.0 uses the same feed cache as v1.6, which itself is still in beta but has now been superseded by v2.0. The current release version of FeedDemon remains 1.5, which I believe uses a different cache location than 1.6 and 2.0.
Nick recommends you install 2.0 to a different folder than 1.5/1.6. I have v1.6 installed in the default location C:\Program Files\Bradbury\FeedDemon and v2.0 installed in C:\Program Files\Bradbury\FeedDemon2, and can now run either one.
Based on the stability of the beta releases throughout FeedDemon's history, I've been comfortable using 1.6 since its first pre-release version and am now using 2.0 Beta 1 with no discernible problems. Version 2.0 does have some major differences from 1.6, notably the use of a treeview instead of separate folders to organize and view your subscriptions. Although 2.0 Beta 1 appears to be stable, the beta forum is active with feedback and suggestions and I'm anxious to see Beta 2.
Technorati tags: FeedDemon
1.23.2006
User Interface Localization in WiX
The latest version of the WiX toolset makes a change that could affect your current compile and link steps. The WiX user interface (WiXUI) files that come with WiX v2.0.3719.0 -- wixui_featuretree.wixlib, wixui_minimal.wixlib, and wixui_mondo.wixlib -- require a localization file to be referenced in at link time. The WiX download includes a U.S. English localization file named WiXUI_en-us.wxl. This is a standard XML file you can edit for other languages.
Using a project named wixdemo as an example, your compile and link steps prior to v2.0.3719.0 might have been:
Using a project named wixdemo as an example, your compile and link steps prior to v2.0.3719.0 might have been:
candle wixdemo.wxsUnder v2.0.3719.0 the compile (candle) step remains the same but the link must incorporate the localization file using the -loc parameter, like this:
light -out wixdemo.msi wixdemo.wixobj wixui_mondo.wixlib
light -out wixdemo.msi wixdemo.wixobj wixui_mondo.wixlib -loc wixui_en-us.wxlAs before, you need to include the <UIRef Id="WixUI" /> element in your WiX source file (which would be wixdemo.wxs in this example) in order to incorporate the WiX user interface into your setup.
Freezing Fog

1.06.2006
XSource for Visual FoxPro 9.0 SP1 - Follow Up
Yesterday I posted about the release of XSource for Visual FoxPro 9.0 SP1 and said I was off to explore what's in the download. The download is an executable file (VFP9SP1_XSource.exe), so I was expecting an installer of some kind. Turns out it's simply a self-extracting archive that prompts you to accept the license agreement and then extracts the single file xsource.zip to a location of your choice. The expected location is HOME() + Tools\XSource, which is where the copy of xsource.zip from the original release of VFP 9.0 is located.
The SP1 version of xsource.zip contains the same 2459 files as its pre-SP1 counterpart, although most now have an updated date and time stamp. So the good news is, everything we're used to seeing in xsource.zip is still there and is now available under the new permissive license.
The SP1 version of xsource.zip contains the same 2459 files as its pre-SP1 counterpart, although most now have an updated date and time stamp. So the good news is, everything we're used to seeing in xsource.zip is still there and is now available under the new permissive license.
1.05.2006
Microsoft releases fix for WMF vulnerability
Microsoft released a fix for the so-called WMF (Windows Metafile) vulnerability this afternoon. This comes in advance of the customary monthly rollout of security updates expected next Tuesday. See Microsoft Security Bulletin MS06-001: Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution (912919) at www.microsoft.com/technet/security/bulletin/ms06-001.mspx
for details and downloads.
for details and downloads.
XSource for Visual FoxPro 9.0 SP1
Microsoft has released XSource for Visual FoxPro 9.0 SP1. This download comes with its own license agreement, dubbed the Microsoft Permissive License (Ms-PL), which overrides the VFP 9.0 SP1 license agreement with respect to the XBase source files contained in the XSource download. In his January Letter, Microsoft Visual Studio Data Products Manager Ken Levy states "Our goal is to encourage VFP developers to enhance and redistribute any of the VFP 9.0 Xbase components in XSource to share with the VFP community including via the SednaX community project."
A quick glance at the license shows that Microsoft is granting us the rights to reproduce, prepare derivative works, and distribute this stuff royalty-free worldwide (this is my interpretation - I am not a lawyer, so read the complete license and get your own legal advice). There's no question this is going to stimulate a lot of good and creative things to come. Right now I'm off to read the license more thoroughly and to explore what's in the download.
A quick glance at the license shows that Microsoft is granting us the rights to reproduce, prepare derivative works, and distribute this stuff royalty-free worldwide (this is my interpretation - I am not a lawyer, so read the complete license and get your own legal advice). There's no question this is going to stimulate a lot of good and creative things to come. Right now I'm off to read the license more thoroughly and to explore what's in the download.
1.04.2006
Craig Boyd's RegEx Library for VFP
Craig Boyd has written and published a regular expressions (RegEx) library for Visual FoxPro. Check out his blog post for full information, VFP code examples, and a link to download the FLL. Looks like I'm going to have to dust off my copy of "Teach Yourself Regular Expressions in 10 Minutes" and finally get serious about learning this stuff. Nice work, Craig.
Print+Print Preview - Firefox Extension
Another great little extension for Firefox is now available. The Print+Print Preview extension turns the default Print button on the Firefox toolbar into a Print/Print Preview drop-down button. I've often wished Firefox had a Print Preview button, but with this extension you don't need one 'cause the Print button now does double duty.
1.03.2006
Web Developer Extension reaches 1.0
After spending several months at version 0.9x, Chris Pederick's excellent Web Developer Extension for Firefox has reached version 1.0. If you do any Web design and development work, this is a really useful tool to have in your toolbox. Check out the features page for an overview, and read the list of enhancements for details about what's new in this release.
12.29.2005
More feeds added to the FoxBlogs tag cloud
The FoxBlogs tag cloud is now up to 42 feeds. Thanks to everyone who has asked to be added and/or referred me to other lists of VFP-related blog feeds. Also, the list of feeds on the FoxBlogs web page (below the cloud) now has links to both the XML URL and the HTML URL for each blog.
12.26.2005
FoxBlogs tag cloud updated
Thanks to feedback from several folks in the Visual FoxPro community, I've updated the FoxBlogs webpage with several more feeds that were missing from the first go-around. Also, you can now download the FoxBlogs feed list as an OMPL (Outline Processor Markup Language) file - look for the link at the bottom of the FoxBlogs page. The OPML file contains both the XML URL and the HTML URL for the feeds in the list.
12.23.2005
FoxBlogs - The Visual FoxPro Community TagCloud
I've created a new page on my website called FoxBlogs. FoxBlogs is a TagCloud that pulls together keywords from blogs across the VFP community. Tag clouds are a very cool way to view and link to what people are blogging about. Visit the new FoxBlogs page and find out what the Visual FoxPro community is blogging about!
12.19.2005
ITA Website Redesign
Just as the cobbler's kids are the last to get shoes, so the developer's website is the last to get updated. But finally, after months of playing around with it, the overhaul and redesign of my own website (www.ita-software.com) is ready for prime time.
The original site was seriously out of date, not only in appearance but in the mechanics of its design. Like most sites of its vintage (circa 1995), it used HTML tables for layout and HTML font tags for style markup. The site was entirely static, with no dynamic content at all, and there were even a couple of animated GIFs (remember when we thought those were cool?) decorating the home page.
The new site design is entirely CSS-based. Following my own advice, along the lines of the presentation I made to the Detroit Area Fox Users Group (DAFUG) earlier this year, the site redesign accomplishes these objectives:
To that end, the site uses two CSS style sheets, one to control positioning (CSS-P) and the other to control style. The content for each page is thereby freed to reside in simple HTML pages within the appropriate <div> tag. This approach is not difficult to implement and makes the site easy to maintain because each aspect of the design -- layout, style, and content -- can be manipulated separately.
Another objective was to make it a three-column layout with a fluid center. In other words, the width of the center column, where the main content of each page resides, should shrink and expand with the browser window while the left and right columns retain their width. This is accomplished through the use of CSS positioning. There are many resources that describe this technique, both in books and online, and I am indebted to several of them for this and other ideas behind my own site's design. In particular, the following books were very helpful:
DHTML and CSS for the World Wide Web, 3rd edition, by Jason Cranford Teague
HTML & XHTML The Definitive Guide, 5th edition, by Musciano & Kennedy
Designing with Web Standards, by Jeffrey Zeldman
Stylin' with CSS, A Designer's Guide, by Charles Wyke-Smith
The new site also has an XML-driven dynamic news feed, which appears at the bottom of the right column on each page. The news headlines in the right column point to a news page, which in turn draws content from an XML feed with full descriptions for each news item and other information in addition to the headlines. In future this may become a true RSS feed, but right now it's kind of a hybrid that suits my particular purpose. Other improvements in the news feed will also be forthcoming as I get around to them.
Finally, cross-browser compatibility remains both an elusive objective and an ongoing challenge for all web designers. My new site design has been tested in Internet Explorer 5.5 and 6.0, Firefox 1.5, Opera 8.51, and Safari on the Mac. As far as I know it renders as intended on all of those browsers, with the exception that IE does not respect the max-width and min-width property in the container div. I ran into a couple of other random behaviors with IE, too, which forced me to change the design a little bit to accommodate it, but that's a topic for another day.
By adhering to standards as much as possible, the site is cross-browser compatible to the extent the browsers themselves adhere to the standards. Earlier (non-released) versions of my site redesign incorporated various hacks to accommodate anomalies in specific browsers. The final design contains no hacks and lets the browsers fend for themselves. Call this lazy design if you will, but I prefer to call it forward thinking. < s >
Tech Note 1: The site now uses ASP.Net to drive the dynamic content, so the page name extensions are now .aspx instead of .htm. Because many people have bookmarked my FoxPro developers page, I've set it up so the old foxpage.htm now redirects automatically to foxpage.aspx. The redirect will remain in place indefinitely, but please update your bookmarks anyway.
Tech Note 2: This site was built largely using Dreamweaver 8, the latest release from Macromedia (now part of Adobe). I use both Dreamweaver and FrontPage, depending on the particular need and design objectives for a site. Both are good tools, but I have to say that this latest version of Dreamweaver is terrific, making it very easy to work with CSS as well as facilitating the dynamic XML content. Through 12/31 there is a special upgrade price of $399 for the entire Studio 8 bundle of products, which besides Dreamweaver includes Fireworks, Flash Professional, Contribute, and FlashPaper. See the Macromedia website for details if you're interested.
All brand names referenced herein are the property of their respective owners.
The original site was seriously out of date, not only in appearance but in the mechanics of its design. Like most sites of its vintage (circa 1995), it used HTML tables for layout and HTML font tags for style markup. The site was entirely static, with no dynamic content at all, and there were even a couple of animated GIFs (remember when we thought those were cool?) decorating the home page.
The new site design is entirely CSS-based. Following my own advice, along the lines of the presentation I made to the Detroit Area Fox Users Group (DAFUG) earlier this year, the site redesign accomplishes these objectives:
- Migrate from HTML to XHTML
- Eliminate the use of deprecated HTML tags such as <font> to control style
- Eliminate the use of HTML tables to control positioning of elements on the page
- Separate the positioning of elements on the page (layout) from their appearance (style)
- Separate both layout and style from page content
To that end, the site uses two CSS style sheets, one to control positioning (CSS-P) and the other to control style. The content for each page is thereby freed to reside in simple HTML pages within the appropriate <div> tag. This approach is not difficult to implement and makes the site easy to maintain because each aspect of the design -- layout, style, and content -- can be manipulated separately.
Another objective was to make it a three-column layout with a fluid center. In other words, the width of the center column, where the main content of each page resides, should shrink and expand with the browser window while the left and right columns retain their width. This is accomplished through the use of CSS positioning. There are many resources that describe this technique, both in books and online, and I am indebted to several of them for this and other ideas behind my own site's design. In particular, the following books were very helpful:
DHTML and CSS for the World Wide Web, 3rd edition, by Jason Cranford Teague
HTML & XHTML The Definitive Guide, 5th edition, by Musciano & Kennedy
Designing with Web Standards, by Jeffrey Zeldman
Stylin' with CSS, A Designer's Guide, by Charles Wyke-Smith
The new site also has an XML-driven dynamic news feed, which appears at the bottom of the right column on each page. The news headlines in the right column point to a news page, which in turn draws content from an XML feed with full descriptions for each news item and other information in addition to the headlines. In future this may become a true RSS feed, but right now it's kind of a hybrid that suits my particular purpose. Other improvements in the news feed will also be forthcoming as I get around to them.
Finally, cross-browser compatibility remains both an elusive objective and an ongoing challenge for all web designers. My new site design has been tested in Internet Explorer 5.5 and 6.0, Firefox 1.5, Opera 8.51, and Safari on the Mac. As far as I know it renders as intended on all of those browsers, with the exception that IE does not respect the max-width and min-width property in the container div. I ran into a couple of other random behaviors with IE, too, which forced me to change the design a little bit to accommodate it, but that's a topic for another day.
By adhering to standards as much as possible, the site is cross-browser compatible to the extent the browsers themselves adhere to the standards. Earlier (non-released) versions of my site redesign incorporated various hacks to accommodate anomalies in specific browsers. The final design contains no hacks and lets the browsers fend for themselves. Call this lazy design if you will, but I prefer to call it forward thinking. < s >
Tech Note 1: The site now uses ASP.Net to drive the dynamic content, so the page name extensions are now .aspx instead of .htm. Because many people have bookmarked my FoxPro developers page, I've set it up so the old foxpage.htm now redirects automatically to foxpage.aspx. The redirect will remain in place indefinitely, but please update your bookmarks anyway.
Tech Note 2: This site was built largely using Dreamweaver 8, the latest release from Macromedia (now part of Adobe). I use both Dreamweaver and FrontPage, depending on the particular need and design objectives for a site. Both are good tools, but I have to say that this latest version of Dreamweaver is terrific, making it very easy to work with CSS as well as facilitating the dynamic XML content. Through 12/31 there is a special upgrade price of $399 for the entire Studio 8 bundle of products, which besides Dreamweaver includes Fireworks, Flash Professional, Contribute, and FlashPaper. See the Macromedia website for details if you're interested.
All brand names referenced herein are the property of their respective owners.
12.16.2005
Great Lakes Great Database Workshop 2006
Whil Hentzen announced today that the Great Lakes Great Database Workshop, aka Whilfest, will return in 2006. Mark your calendars for April 21-24, 2006 in Milwaukee, Wisconsin. After a two-year plus hiatus, GLGDW has undergone some changes: The 2006 workshop will feature 90-minute sessions, all in one track, focused on examining "Best Practices for Visual FoxPro". Early details are available online at www.hentzenwerke.com/conferences/glgdw2006.htm. Registration information is expected to be available on Dec 20th.
CompuServe® Forum RSS Feeds
I noticed today there are RSS feeds for most if not all of the CompuServe community forums. The VFP sections of the MS Developer Applications forum are still quite active, and having the RSS feed should make it much easier to keep up with what's going on. Subscribed.
The RSS feed for the MS Dev Apps forum is feeds.feedburner.com/ws-msdevapps. A list of all the available forum feeds can be found here.
The RSS feed for the MS Dev Apps forum is feeds.feedburner.com/ws-msdevapps. A list of all the available forum feeds can be found here.
12.08.2005
VFP9 SP1 is released
Service Pack 1 for Microsoft® Visual FoxPro® 9.0 has been released and is available for download. Ken Levy's December 2005 Letter from the Editor has more information along with a link to the SP1 download page. There's also a link to the SP1 download page on the Visual FoxPro home page and on the Visual FoxPro Product Updates page. A link to the VFP9 SP1 Fix List can be found on the SP1 download page.
12.07.2005
Firefox 1.5 Extensions Compatibility - SnagIt Update
I'm not sure what changed, but the Firefox Extension for SnagIt is now compatible with Firefox 1.5. The extension's web page at www.techsmith.com/products/snagit/firefox.asp does not mention an update for Firefox 1.5, and the extension itself is still versioned as 1.0, but this morning it successfully installed and works as expected on Firefox 1.5.
12.03.2005
Firefox 1.5 Extensions Compatibility - Aardvark Update
The Aardvark Firefox extension has been updated and is now compatible with Firefox 1.5. Aardvark 1.1 is available at www.karmatics.com/aardvark/.
12.01.2005
200K and counting (off topic)

Firefox 1.5 Extensions Compatibility
I've been checking my Firefox extensions for compatibility with Firefox 1.5. Here are the early results:
Developer Extensions
DOM Inspector - compatible. The DOM Inspector tool comes with Firefox, but you need to do a custom install (on Windows, anyway) and select Developer Tools to get it. Firefox 1.5 installs DOM Inspector 1.8.
Web Developer 0.9.4 - compatible. Available from chrispederick.com/work/webdeveloper/.
View Cookies 1.5 - compatible. Available from addons.mozilla.org/extensions/moreinfo.php?id=315.
Aardvark 1.0 - not compatible. The Aardvark home page is www.karmatics.com/aardvark/. From what I see on the mozillaZine discussion form, it's uncertain whether an update will be forthcoming from the author, but someone posting as 'ka2er' has published a hacked version that claims to be compatible with Firefox 1.5. I haven't tried the hacked version and can't comment on it one way or the other, but see the discussion thread at forums.mozillazine.org/viewtopic.php?t=329468 for more information.
General Purpose Extensions
Copy URL + 1.3.2 - compatible. Available from addons.mozilla.org/extensions/moreinfo.php?id=129.
ChatZilla 0.9.68.5.1 - compatible. Earlier version 0.9.68a is not compatible, though, so be sure you install the latest update. Available from addons.mozilla.org/extensions/moreinfo.php?id=16.
SnagIt Firefox Extension 1.0 - not compatible. This extension is available directly from TechSmith® at www.techsmith.com/products/snagit/firefox.asp. My guess is an update for 1.5 will be available at some point, but right now I have no information one way or the other.
Developer Extensions
DOM Inspector - compatible. The DOM Inspector tool comes with Firefox, but you need to do a custom install (on Windows, anyway) and select Developer Tools to get it. Firefox 1.5 installs DOM Inspector 1.8.
Web Developer 0.9.4 - compatible. Available from chrispederick.com/work/webdeveloper/.
View Cookies 1.5 - compatible. Available from addons.mozilla.org/extensions/moreinfo.php?id=315.
Aardvark 1.0 - not compatible. The Aardvark home page is www.karmatics.com/aardvark/. From what I see on the mozillaZine discussion form, it's uncertain whether an update will be forthcoming from the author, but someone posting as 'ka2er' has published a hacked version that claims to be compatible with Firefox 1.5. I haven't tried the hacked version and can't comment on it one way or the other, but see the discussion thread at forums.mozillazine.org/viewtopic.php?t=329468 for more information.
General Purpose Extensions
Copy URL + 1.3.2 - compatible. Available from addons.mozilla.org/extensions/moreinfo.php?id=129.
ChatZilla 0.9.68.5.1 - compatible. Earlier version 0.9.68a is not compatible, though, so be sure you install the latest update. Available from addons.mozilla.org/extensions/moreinfo.php?id=16.
SnagIt Firefox Extension 1.0 - not compatible. This extension is available directly from TechSmith® at www.techsmith.com/products/snagit/firefox.asp. My guess is an update for 1.5 will be available at some point, but right now I have no information one way or the other.
11.29.2005
Firefox 1.5 is released
Amid much anticipation, Firefox® 1.5 has finally been released. The free download is available from www.mozilla.com, the new home of Firefox and Thunderbird on the Web. I resisted the temptation to install any of the 1.5 pre-release versions, so this will be my first look at 1.5. I'll be interested to find out not only what's new in the browser itself but also how well my favorite extensions work with the new release. After several public betas and three release candidates, I anticipate things will go smoothly.
11.28.2005
Update your FeedDemon 1.6 RC2
If you're running FeedDemon 1.6 RC2 release 1.6.0.11 or earlier, you should download and install release 1.6.0.12. Earlier releases of 1.6 RC2 expire on December 1, 2005. This date has been extended in 1.6.0.12. To get the latest version, use Help | Check for New Version on the FeedDemon main menu or visit www.feeddemon.com/feeddemon/beta/.
Two software acquisitions of note
The companies behind two of my favorite software utilities were recently acquired.
- On November 3rd, Microsoft acquired FolderShare from Austin, TX based ByteTaxi, Inc. (see the news release). FolderShare is a file synchronization and remote access service, one of those deceptively simple, incredibly useful, "why didn't I think of that?" kind of ideas. The press release indicates Microsoft intends to incorporate the FolderShare technology into its Windows Live initiative.
I started using FolderShare this summer, liked it a lot, blogged about it, and signed up for a year's worth of one of the paid service levels. About a week after the acquisition, FolderShare subscribers were informed by e-mail that the paid services were being discontinued, but that a free version with "many of the capabilities of the previous paid versions" would still be offered. Paying customers are receiving a pro-rated refund for the unused time remaining on their pre-paid service period. My refund already showed up on my credit card statement, so no complaints there.
So far the service is still functioning as before, although I don't stress it much so I can't say if the now-free service has limits my paid subscription did not have. In any case, I have to wonder how long the service will continue to exist in its present form. I hope it's a long time, because I've grown to rely on it and I'd hate to lose it.
- Although I only found out about it recently, anti-spam software maker Qurb, Inc. was acquired earlier this summer by Computer Associates (see the news release).
I started using Qurb two or three years ago on the recommendation of a colleague, and kept using it because in my opinion it's a best-in-class solution. So, whither Qurb now? The press release says "CA will continue to market Qurb's technology as e Trust Anti-Spam...", a product I'm not familiar with but found for sale at ca.com/consumer. I hope this doesn't mean the Qurb brand and stand-alone product are going to be phased out, but at least for now Qurb is still available under its own name from the Qurb website.
Not all change is for the better, but neither is all change for the worse. I'm hopeful both of these two products will continue to thrive under their new owners.
All trademarks, service marks, and trade names referenced herein are the property of their respective owners.
- On November 3rd, Microsoft acquired FolderShare from Austin, TX based ByteTaxi, Inc. (see the news release). FolderShare is a file synchronization and remote access service, one of those deceptively simple, incredibly useful, "why didn't I think of that?" kind of ideas. The press release indicates Microsoft intends to incorporate the FolderShare technology into its Windows Live initiative.
I started using FolderShare this summer, liked it a lot, blogged about it, and signed up for a year's worth of one of the paid service levels. About a week after the acquisition, FolderShare subscribers were informed by e-mail that the paid services were being discontinued, but that a free version with "many of the capabilities of the previous paid versions" would still be offered. Paying customers are receiving a pro-rated refund for the unused time remaining on their pre-paid service period. My refund already showed up on my credit card statement, so no complaints there.
So far the service is still functioning as before, although I don't stress it much so I can't say if the now-free service has limits my paid subscription did not have. In any case, I have to wonder how long the service will continue to exist in its present form. I hope it's a long time, because I've grown to rely on it and I'd hate to lose it.
- Although I only found out about it recently, anti-spam software maker Qurb, Inc. was acquired earlier this summer by Computer Associates (see the news release).
I started using Qurb two or three years ago on the recommendation of a colleague, and kept using it because in my opinion it's a best-in-class solution. So, whither Qurb now? The press release says "CA will continue to market Qurb's technology as e Trust Anti-Spam...", a product I'm not familiar with but found for sale at ca.com/consumer. I hope this doesn't mean the Qurb brand and stand-alone product are going to be phased out, but at least for now Qurb is still available under its own name from the Qurb website.
Not all change is for the better, but neither is all change for the worse. I'm hopeful both of these two products will continue to thrive under their new owners.
All trademarks, service marks, and trade names referenced herein are the property of their respective owners.
Southwest Fox 2006
Others have already blogged about this, but let me repeat the good news from Phoenix: conference organizer Bob Kocher has announced that the Southwest Fox conference is a "go" for 2006. Dates are October 19-22, details to be forthcoming. Southwest Fox 2005 was a rocking success, so mark your calendars and don't miss out on next year's event!
Excuses
I realized today that it's been a while since I posted anything here. My excuse: seasonal packet migrations, or possibly line noise from rats in the wall. If you need an excuse of your own for any reason, head on over to Eric Meyer's Excuse of the Day site (RSS feed at meyerweb.com/feeds/excuse/rss20.xml) and pick up one of your own.
10.28.2005
Bob Muglia to head Microsoft's Server and Tools business
From Microsoft PressPass: "REDMOND, Wash., Oct. 28, 2005 – Microsoft this week named longtime executive Bob Muglia senior vice president of the company’s Server and Tools business. The 17-year Microsoft veteran, who has led Microsoft’s Windows Server business since 2003, will replace Eric Rudder, who is taking on a new role working directly for Bill Gates, Microsoft’s chairman and chief software architect."
PDC05 sessions are available online
Just spotted this on Michael Swanson's blog from Monday 10/24/2005: The session content from last month's Microsoft Professional Developers Conference 2005 (PDC05) is now available online at microsoft.sitestream.com/PDC05/. You can watch the session videos online and/or download the video and slides for offline viewing. There's a huge amount of content here, but it's only going to be available for six months. The site requires Internet Explorer 5.5 or better.
Side note: At my session on Integrating RSS with Visual FoxPro Applications at Southwest Fox 2005 earlier this month, I mentioned Microsoft is working on RSS features for Vista and IE7. In the PDC05 materials I found session DAT320: Windows Vista: Building RSS Enabled Applications, which provides some insight into Microsoft's plans in this area. The session runs just over an hour and fifteen minutes and is well worth watching if you're interested in the future of RSS as Microsoft sees it.
Side note: At my session on Integrating RSS with Visual FoxPro Applications at Southwest Fox 2005 earlier this month, I mentioned Microsoft is working on RSS features for Vista and IE7. In the PDC05 materials I found session DAT320: Windows Vista: Building RSS Enabled Applications, which provides some insight into Microsoft's plans in this area. The session runs just over an hour and fifteen minutes and is well worth watching if you're interested in the future of RSS as Microsoft sees it.
10.19.2005
Jumlbed Txet is Esay to Read
It's been said that people can read jumbled text fairly easily when the middle letters in each word are rearranged, as long as the first and last letters of each word remain the same.
This idea gained attention not long ago from an example floating around the Internet that cited "research at Cambridge University" (acutally, it cited "rscheearch at Cmabrigde Uinervtisy".) That claim appears to be false and is refuted by Cambridge's Matt Davis in a writing posted at www.mrc-cbu.cam.ac.uk/~mattd/Cmabrigde/, in which he dissects the Internet piece and references some real research in this field. There is, however, evidently some truth to this idea, at least in English and other languages where words are similarly structured.
In any case, it's fun to play with. By way of example, here's a jumbled version of the first sentence of this blog entry:
"It's been siad that peolpe can raed jbumeld text farily esliay when the mlidde lrtetes in ecah word are raegarnerd, as lnog as the frsit and lsat lteters of ecah word reiamn the smae."
Did you have much difficulty reading that? Clearly, some jumbled words are easier to read than others. Among other things, the degree of difficulty depends on the length of the word and the extent to which its middle letters are jumbled. In the example above, I find the jumbled version of the word "rearranged" more difficult to read than some of the other, shorter words because it's longer and the letters are pretty well mixed up.
What I find interesting is that jumbles involving the trasnposition of two or even three adjacent letters are so easy to overlook. This is evidently because our brains compensate for the errors in such a way that we don't even notice them (the errors, not our brains).
This is probably one reason why we sometimes fail to see typos in our own work, which of course has implications for software developers. For example, while working in Visual FoxPro I sometimes type 'emtpy' when I mean 'empty', but I usually don't notice it.
BTW, developers using Visual FoxPro 9.0 have an advantage in this regard over developers using previous versions of VFP. The new background compilation feature in VFP 9.0 highlights incorrect syntax as you type by underlining or changing the color of the incorrect syntax. This helps catch errors right away instead of having to wait until compile time or run time. You can choose your preferred style for this feature from the Background Compile drop-down list under Tools | Options | Editor.
Just for fun, I wrote a VFP class called JumbleTron to do this kind of jumbling on any block of text. You can download it from my website at www.ita-software.com/foxpage.htm. Look for the link to JumbleTron under "Just for fun" in the downloads section. By design, the class accepts only 4K-byte blocks of text or smaller, but you can increase this if you want to.
Usage is simple: instantiate a JumbleTron object and pass some text to its GetJumbledText method. For example, copy some text to the clipboard, then in the VFP command window do the following to display the jumbled text on the screen.
ox=NEWOBJECT( "jumbleTron", "jumbleTron.prg")
?ox.GetJumbledText( _cliptext)
Or, to return the jumbled text to the clipboard:
_cliptext = ox.GetJumbledText( _cliptext)
Play around with the JumbleTron and decide for yourself how easy or difficult it is to read jumbled text. Have fun!
P.S. Outside of the deliberate examples, there are two typographical errors in this blog entry. Both are simple transpositions of two adjacent letters. Can you find them? Did they jump out at you as you were reading this, or did your brain take them in stride without notifying you?
This idea gained attention not long ago from an example floating around the Internet that cited "research at Cambridge University" (acutally, it cited "rscheearch at Cmabrigde Uinervtisy".) That claim appears to be false and is refuted by Cambridge's Matt Davis in a writing posted at www.mrc-cbu.cam.ac.uk/~mattd/Cmabrigde/, in which he dissects the Internet piece and references some real research in this field. There is, however, evidently some truth to this idea, at least in English and other languages where words are similarly structured.
In any case, it's fun to play with. By way of example, here's a jumbled version of the first sentence of this blog entry:
"It's been siad that peolpe can raed jbumeld text farily esliay when the mlidde lrtetes in ecah word are raegarnerd, as lnog as the frsit and lsat lteters of ecah word reiamn the smae."
Did you have much difficulty reading that? Clearly, some jumbled words are easier to read than others. Among other things, the degree of difficulty depends on the length of the word and the extent to which its middle letters are jumbled. In the example above, I find the jumbled version of the word "rearranged" more difficult to read than some of the other, shorter words because it's longer and the letters are pretty well mixed up.
What I find interesting is that jumbles involving the trasnposition of two or even three adjacent letters are so easy to overlook. This is evidently because our brains compensate for the errors in such a way that we don't even notice them (the errors, not our brains).
This is probably one reason why we sometimes fail to see typos in our own work, which of course has implications for software developers. For example, while working in Visual FoxPro I sometimes type 'emtpy' when I mean 'empty', but I usually don't notice it.
BTW, developers using Visual FoxPro 9.0 have an advantage in this regard over developers using previous versions of VFP. The new background compilation feature in VFP 9.0 highlights incorrect syntax as you type by underlining or changing the color of the incorrect syntax. This helps catch errors right away instead of having to wait until compile time or run time. You can choose your preferred style for this feature from the Background Compile drop-down list under Tools | Options | Editor.
Just for fun, I wrote a VFP class called JumbleTron to do this kind of jumbling on any block of text. You can download it from my website at www.ita-software.com/foxpage.htm. Look for the link to JumbleTron under "Just for fun" in the downloads section. By design, the class accepts only 4K-byte blocks of text or smaller, but you can increase this if you want to.
Usage is simple: instantiate a JumbleTron object and pass some text to its GetJumbledText method. For example, copy some text to the clipboard, then in the VFP command window do the following to display the jumbled text on the screen.
ox=NEWOBJECT( "jumbleTron", "jumbleTron.prg")
?ox.GetJumbledText( _cliptext)
Or, to return the jumbled text to the clipboard:
_cliptext = ox.GetJumbledText( _cliptext)
Play around with the JumbleTron and decide for yourself how easy or difficult it is to read jumbled text. Have fun!
P.S. Outside of the deliberate examples, there are two typographical errors in this blog entry. Both are simple transpositions of two adjacent letters. Can you find them? Did they jump out at you as you were reading this, or did your brain take them in stride without notifying you?
10.12.2005
Skype and port 80 conflict with IIS
This one bit me yesterday... If you encounter "unexpected error 0x8ffe2740" when trying to start a Web site under IIS, it may be a conflict with Skype using port 80. If so, the solution, which is found on Jon Galloway's blog, is to go into Skype's options and uncheck "Use ports 80 and 443 as alternatives for incoming connections". In Skype 1.4.0.71 this is located under Tools | Options | Connection. You may have to close and restart Skype for the change to take effect.
10.01.2005
WiX has a new Web site
Rob Mensching blogs that WiX has a new home on the Web. WiX in the Windows Installer XML toolset for building MSI and MSM files from XML. The new URL is wix.sourceforge.net.
Side note: I'll be doing a presentation on using WiX with Visual FoxPro applications at the Southwest Fox conference in mid-October.
Side note: I'll be doing a presentation on using WiX with Visual FoxPro applications at the Southwest Fox conference in mid-October.
9.29.2005
SnagIt
9.23.2005
FolderShare
For the past few weeks I've been experimenting with FolderShare™, a service that synchronizes file changes between linked computers over an Internet connection. I'm impressed, enough so that I signed up for the paid version after using the free version for only a few days.
In my software development work, I use both a desktop machine and a laptop machine. The desktop machine is at my office, while the laptop machine normally stays at home so I can continue working in the evening. Keeping the two machines in sync has always been a challenge, involving varying numbers of ZIP® disks, CDs, USB drives, and other portable media to physically transport files back and forth from one location to the other. Although that solution was workable, it was cumbersome and prone to biological memory errors (i.e., I'd sometimes forget to take a file home with me, or to bring it back to the office).
FolderShare enables you to establish a link between a folder on one machine and a corresponding folder on another machine. Once the link has been established (a very simple process), you can turn on automatic sync or on-demand sync. Automatic sync keeps the two folders in sync in the background while you work. This is the way I've been using it and I haven't noticed any effect on performance—no slow or unresponsive apps—while I work, even on the older, slower laptop machine. The process has been completely transparent.
I tested FolderShare while preparing my presentation files for the upcoming Southwest Fox conference. By placing everything I was working on for this conference in one root folder and setting it to auto-sync with the same folder on the other machine, I had automatic two-way synchronization between the two machines. Files updates, additions, and deletions on one machine were automatically reflected on the other. Anything I did during the day was ready for me to keep working on when I got home, and anything I did at home in the evening was ready and waiting for me at the office the next morning. No physical media involved. Very slick.
FolderShare setup involves installing a small (less than 1MB) program on each linked computer. Configuration takes place over a secure connection to your account on the FolderShare website. The free version limits you to two shared or synched folders, while the paid versions increase this to 100 or 250 folders depending on the plan you choose. The paid versions also enable other features, including the ability to access files in any folder on a linked machine over the Web. The FolderShare website has a chart comparing plan features. According to the chart, file transfers are encrypted and secure under all plans.
In my experience, FolderShare is simple to use and works as expected. Try it, you'll like it.
In my software development work, I use both a desktop machine and a laptop machine. The desktop machine is at my office, while the laptop machine normally stays at home so I can continue working in the evening. Keeping the two machines in sync has always been a challenge, involving varying numbers of ZIP® disks, CDs, USB drives, and other portable media to physically transport files back and forth from one location to the other. Although that solution was workable, it was cumbersome and prone to biological memory errors (i.e., I'd sometimes forget to take a file home with me, or to bring it back to the office).
FolderShare enables you to establish a link between a folder on one machine and a corresponding folder on another machine. Once the link has been established (a very simple process), you can turn on automatic sync or on-demand sync. Automatic sync keeps the two folders in sync in the background while you work. This is the way I've been using it and I haven't noticed any effect on performance—no slow or unresponsive apps—while I work, even on the older, slower laptop machine. The process has been completely transparent.
I tested FolderShare while preparing my presentation files for the upcoming Southwest Fox conference. By placing everything I was working on for this conference in one root folder and setting it to auto-sync with the same folder on the other machine, I had automatic two-way synchronization between the two machines. Files updates, additions, and deletions on one machine were automatically reflected on the other. Anything I did during the day was ready for me to keep working on when I got home, and anything I did at home in the evening was ready and waiting for me at the office the next morning. No physical media involved. Very slick.
FolderShare setup involves installing a small (less than 1MB) program on each linked computer. Configuration takes place over a secure connection to your account on the FolderShare website. The free version limits you to two shared or synched folders, while the paid versions increase this to 100 or 250 folders depending on the plan you choose. The paid versions also enable other features, including the ability to access files in any folder on a linked machine over the Web. The FolderShare website has a chart comparing plan features. According to the chart, file transfers are encrypted and secure under all plans.
In my experience, FolderShare is simple to use and works as expected. Try it, you'll like it.
9.21.2005
Firefox 1.0.7 and IDN
According to mozillaZine, "The Mozilla Foundation previously issued a patch for Firefox 1.0.6 that protected users against the IDN link buffer overflow flaw at the expense of removing support for IDNs. Firefox 1.0.7 has a more permanent solution that does not involve disabling IDN functionality and any users who installed the patch will find that IDN support is restored when they upgrade." (emphasis mine)
My experience this morning is that if you did not apply the patch to 1.0.6 but rather set network.EnableIDN false by editing about:config manually, installing v1.0.7 does not set network.EnableIDN back to true. You'll have to do that manually.
My experience this morning is that if you did not apply the patch to 1.0.6 but rather set network.EnableIDN false by editing about:config manually, installing v1.0.7 does not set network.EnableIDN back to true. You'll have to do that manually.
Firefox 1.0.7 Released
With v1.5 Beta 1 already available for public download, another point release of Firefox v1.0 was not necessarily to have been expected, but recent security concerns have prompted the release of v1.0.7 today. From the mozillaZine news site: "Mozilla Firefox 1.0.7, a security and stability update to the flagship Mozilla browser, is now available for download. Fixes are included for the international domain name (IDN) link buffer overflow vulnerability and the Linux command line URL parsing flaw. There are also other security and stability changes..." The release notes are here.
9.19.2005
Farewell Drew Speedie
Words cannot begin to express the shock and sadness I felt upon learning of the death of Drew Speedie and his young son Brent over the weekend. The circumstances of this tragic accident make it even more difficult to accept. Drew was one of the most likeable and talented developers I've every had the pleasure to know. He's been a 'guru' in the FoxPro community for as long as I can remember, and his innumerable contributions have helped me and so many other people to learn and become better at our craft. My sincerest condolences to his wife and extended family. Drew, we'll miss you, old friend.
9.07.2005
Maynard G. Krebs (off topic)
Although perhaps best remembered by TV fans as Gilligan, before that Bob Denver, who died last Friday at age 70, was beatnik Maynard G. Krebs on the Dobie Gillis show. One very cool cat.
Subscribe to:
Posts (Atom)