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)
New in '92 and still going strong - no leaks, no squeaks, no squeals. The old saying was "they don't build 'em like they used to." I think now we have to say, "they didn't used to build 'em like this." Happy 200th to my '92 Caravan.
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
Ah, the things we won't do for a free T-shirt. < s > Seriously, though, I do use it and it's a great tool. Go get your own shirt.
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.
8.30.2005
Free Opera license
As part of their 10th anniversary celebration, the folks at Opera Software are giving away free registration codes for the Opera browser. If you're a Web developer and want to be able to test in Opera — or if you simply want to try it out — this is a good opportunity to get what I assume is an ad-free version of their popular browser.
Jon Galloway blogs that this offer is good only until 12 AM PDT August 31, so if you're interested hurry on over to the Opera Party page or go directly to the free registration page.
Jon Galloway blogs that this offer is good only until 12 AM PDT August 31, so if you're interested hurry on over to the Opera Party page or go directly to the free registration page.
8.25.2005
ISTool 5.1.5
If you use Inno Setup you owe it to yourself to also use the companion tool ISTool, which provides a phenomenally useful GUI interface to your Inno Setup scripts. ISTool v5.1.5 was just released, keeping up its tradition of staying in sync with the latest version of Inno Setup itself.
8.18.2005
Inno Setup 5.1.5 Released
Inno Setup version 5.1.5 has been released and is available for download at jrsoftware.org/isdl.php. Read what's new in this latest point release at jrsoftware.org/files/is5-whatsnew.htm.
It's been nearly three months since v5.1.4 came out, which was the first non-beta version to support the installation of 64-bit applications on 64-bit versions of Windows. This product is very stable and has been for quite some time, but it continues to receive tweaks and enhancements.
It's been nearly three months since v5.1.4 came out, which was the first non-beta version to support the installation of 64-bit applications on 64-bit versions of Windows. This product is very stable and has been for quite some time, but it continues to receive tweaks and enhancements.
8.12.2005
Deja View, or Why Too Many RSS Feeds May Not Be A Good Thing
In the beginning, there was RSS. Along came a good feed reader, and my daily work-related surfing habits changed dramatically: 30-60 minutes every day of browsing individual websites to keep up with what's happening were replaced by 5-10 minutes of scanning headlines and occasionally reading a complete story.
Time was saved. Life was good.
But that was then, and this is now. It's no exaggeration to say the number of RSS feeds out there has grown exponentially in 2005. This is largely due to two factors: blogs, and publishers adding RSS feeds to websites that didn't have them before.
Naturally, as the number of feeds proliferated, so did the population of my Favorite Feeds folder. One year ago, there were probably 10-15 feeds I looked at every day. Today, there are easily over a hundred. My 5-10 minutes of scanning headlines has ballooned to 20-30 minutes of reading feed updates. Twice a day. And that's just to stay current: never mind the forays into new and interesting feeds that crop up all the time.
Information overload is very real these days.
What makes it worse, I'm seeing a growing amount of overlap among feeds. For one thing, many news feeds pick up the same story. Then somebody who sees that new item blogs about it, and somebody else sees that blog and posts a reference to it. And so on. I find myself seeing the same material, in one way or another, more than once on a regular basis.
Call it Deja View: the feeling of "haven't I seen this someplace before?"
Is this happening to you, too?
At least one solution is obvious, albeit painful: cut back on the number of feeds I'm reading every day. It's not an easy decision to make, but it's probably inevitable. The risk of missing something important has to be weighed against the benefit of gaining back some valuable time.
I have no idea which feeds I'll stop reading regularly. But I'm going to have to start somewhere. Tempus fugit.
Time was saved. Life was good.
But that was then, and this is now. It's no exaggeration to say the number of RSS feeds out there has grown exponentially in 2005. This is largely due to two factors: blogs, and publishers adding RSS feeds to websites that didn't have them before.
Naturally, as the number of feeds proliferated, so did the population of my Favorite Feeds folder. One year ago, there were probably 10-15 feeds I looked at every day. Today, there are easily over a hundred. My 5-10 minutes of scanning headlines has ballooned to 20-30 minutes of reading feed updates. Twice a day. And that's just to stay current: never mind the forays into new and interesting feeds that crop up all the time.
Information overload is very real these days.
What makes it worse, I'm seeing a growing amount of overlap among feeds. For one thing, many news feeds pick up the same story. Then somebody who sees that new item blogs about it, and somebody else sees that blog and posts a reference to it. And so on. I find myself seeing the same material, in one way or another, more than once on a regular basis.
Call it Deja View: the feeling of "haven't I seen this someplace before?"
Is this happening to you, too?
At least one solution is obvious, albeit painful: cut back on the number of feeds I'm reading every day. It's not an easy decision to make, but it's probably inevitable. The risk of missing something important has to be weighed against the benefit of gaining back some valuable time.
I have no idea which feeds I'll stop reading regularly. But I'm going to have to start somewhere. Tempus fugit.
8.10.2005
Amyuni PDF Converter 2.50d bug fix
Among other issues it addresses, Amyuni PDF Converter 2.50d includes a fix for a bug that sometimes caused Adobe® Reader® 7.0 to encounter errors when attempting to render images in a PDF file created by an earlier version of the Amyuni PDF Converter. In my experience this problem showed up frequently in Web pages I'd captured to PDF. According to Amyuni's release notes for version 2.50d, the issue is specific to Acrobat® version 7.
7.20.2005
Firefox 1.0.6 is released
It's not my intention to blog every single release of Firefox or any other piece of software, but because I noted the release of Firefox 1.0.5 just a week ago I felt obliged to point out the release of 1.0.6 today. While Firefox 1.0.5 implemented several security fixes, 1.0.6 is characterized in the release notes as "stability update", to wit: "Restore[s] API compatibility for extensions and web applications that did not work in Firefox 1.0.5." In other words, we broke something and now we've fixed it. Maybe this should've been caught in the pre-release testing of 1.0.5, but a fix within a week is still pretty good. Download from www.mozilla.org.
7.15.2005
Atom 1.0
From ongoing, via kottke.org remainders: The Atom feed specification is about to go to 1.0. The link to the comparison of RSS 2.0 and Atom 1.0 is worth following if you're interested in the differences, or read the actual Internet-Draft document for all the details.
7.13.2005
Windows Installer Team Blog
"As part of the ongoing MSDN Communities effort, the Windows Installer Team is pleased to announce the creation of the Windows Installer Team Blog." Find it at blogs.msdn.com/Windows_Installer_Team/. The Windows Installer Team has already been active in MSDN Chats for quite some time. I'm glad to see the new blog, too. Subscribed.
7.12.2005
Firefox 1.0.5 is released
Firefox 1.0.5 of has been released and is available for download here. The release notes indicate this is primarily a security update. The list of issues addressed by this release is here.
7.10.2005
NewsGator acquires FeedDemon Redux
If you've been reading this blog for a while, you know that my favorite RSS feed reader is Nick Bradbury's FeedDemon. In fact, I liked it so much I awarded it my first Insanely Great Software recognition back in February.
You also know that my initial reaction to the news that Nick had sold his company to NewsGator a couple of months ago was not very positive. That reaction was based largely on my concern that FeedDemon would lose its stand-alone capabilities and become subscription software used to sell NewsGator's services.
Last Wednesday, July 6th, those concerns were realized when Nick announced on his blog that yes, indeed, FeedDemon would become subscription-based software. A careful reading of the related blog post by NewsGator CTO and founder Greg Reinacker, in which he explains the rationale behind the software-by-subscription model, revealed that not only would FeedDemon become subsription software but it would effectively cease working -- you wouldn't be able to retrieve any new content -- if you allowed your subscription to expire. To me, it looked like the end of FeedDemon as we know it.
But, fortunately, that's not the end of the story. One reason I've always been a fan of Nick's software, besides its great design and functionality, is his responsiveness to customers' ideas and concerns.
And the good news is, that hasn't changed.
In his July 6th announcment, Nick acknowledged the decision to switch FeedDemon to a subscription model might cause some concerns, and he asked for feedback from users. Predictably, he got it, and, not surprisingly, the comments were mostly opposed.
Nick and NewsGator really did listen.
On July 8th, not two days after the original announcement, Nick blogged that based on the comments they'd received, the decision had been reconsidered and reversed.
The result is that FeedDemon will be able to take advantage of NewsGator's subscription services, such as server-based synchronization, as long as you continue to pay for the service, but FeedDemon won't stop working if you decide to let the subscription lapse.
This is good news for both FeedDemon and its users. I'm now looking forward to trying out the new services, knowing I still have choice down the road. Kudos to both Nick and NewsGator for getting it right.
You also know that my initial reaction to the news that Nick had sold his company to NewsGator a couple of months ago was not very positive. That reaction was based largely on my concern that FeedDemon would lose its stand-alone capabilities and become subscription software used to sell NewsGator's services.
Last Wednesday, July 6th, those concerns were realized when Nick announced on his blog that yes, indeed, FeedDemon would become subscription-based software. A careful reading of the related blog post by NewsGator CTO and founder Greg Reinacker, in which he explains the rationale behind the software-by-subscription model, revealed that not only would FeedDemon become subsription software but it would effectively cease working -- you wouldn't be able to retrieve any new content -- if you allowed your subscription to expire. To me, it looked like the end of FeedDemon as we know it.
But, fortunately, that's not the end of the story. One reason I've always been a fan of Nick's software, besides its great design and functionality, is his responsiveness to customers' ideas and concerns.
And the good news is, that hasn't changed.
In his July 6th announcment, Nick acknowledged the decision to switch FeedDemon to a subscription model might cause some concerns, and he asked for feedback from users. Predictably, he got it, and, not surprisingly, the comments were mostly opposed.
Nick and NewsGator really did listen.
On July 8th, not two days after the original announcement, Nick blogged that based on the comments they'd received, the decision had been reconsidered and reversed.
The result is that FeedDemon will be able to take advantage of NewsGator's subscription services, such as server-based synchronization, as long as you continue to pay for the service, but FeedDemon won't stop working if you decide to let the subscription lapse.
This is good news for both FeedDemon and its users. I'm now looking forward to trying out the new services, knowing I still have choice down the road. Kudos to both Nick and NewsGator for getting it right.
RSS Feeds for Microsoft KB Articles
Microsoft is now providing RSS feeds for its Knowledge Base (KB) articles. The feeds are organized by product, making it easy to subscribe only to those of interest. Visual FoxPro developers will find individual feeds for VFP 7.0, VFP 8.0, and VFP 9.0, and of course there are also individual feeds for the Visual Studio languages and tools (both .NET and 6.0), SQL Server, Office, and whole lot more. You can start with the introductory page at support.microsoft.com/gp/rsshelp or go directly to the full index of feeds at support.microsoft.com/selectindex/?target=rss.
7.08.2005
Free ASP.NET Training from Microsoft®
Spotted on the MSDN home page: For a limited time, Microsoft is offering for free the online training course entitled "Developing Microsoft® ASP.NET Web Applications Using Visual Studio® .NET". Information and registration at msdn.microsoft.com/asp.net/learn/asptraining/.
6.21.2005
Ken Levy's July letter is up
Ken Levy's July Letter from the Editor is up on MSDN. Among other things, Ken offers a few additional comments on Sedna (announced earlier this month in the Visual FoxPro Roadmap) and includes a link to the slides from the Microsoft keynote at DevCon.
6.20.2005
New FeedBurner Feed
Today I set up a FeedBurner feed for this blog. If you use a feed reader that doesn't support the Atom feed supplied by Blogger, you can now subscribe to the RSS feed via FeedBurner. If you're coming at this blog from its index page, you'll notice there are now two separate feed links.
Up until now I have been reluctant to sign up with FeedBurner, out of a vague sense I might be entering into a commitment I didn't fully understand and might not want to continue. But recently, FeedBurner announced that it now offers a graceful way out if you decide to stop using their service, and as a result, I'm much more comfortable with it. A fellow named Tom Coates posted a good analysis of this new FeedBurner service, which I found helpful. Judging from Tom's post and comments posted in response to the announcement on the FeedBurner blog, others have shared similar concerns and are welcoming this new service, too.
Up until now I have been reluctant to sign up with FeedBurner, out of a vague sense I might be entering into a commitment I didn't fully understand and might not want to continue. But recently, FeedBurner announced that it now offers a graceful way out if you decide to stop using their service, and as a result, I'm much more comfortable with it. A fellow named Tom Coates posted a good analysis of this new FeedBurner service, which I found helpful. Judging from Tom's post and comments posted in response to the announcement on the FeedBurner blog, others have shared similar concerns and are welcoming this new service, too.
6.07.2005
Behavior Changes in VFP 9.0: _TALLY
One of the SQL data engine changes introduced in VFP 9.0 affects the value of _TALLY returned after certain kinds of SQL SELECT statements. This change is not documented in the "Changes in Functionality for the Current Release" topic in the VFP 9.0 Help file, and may therefore have escaped the attention of some VFP developers. It is documented under the "SET ENGINEBEHAVIOR Command" topic, however.
The change is this: In previous versions of VFP, _TALLY returns zero when an aggregate function such as SUM() is used and there are no matching records, while in VFP 9.0, when an aggregate function such as SUM() is used without a GROUP BY clause and there are no matching records, _TALLY returns 1 and the result set contains one record with a null value for the aggregate function.
This change breaks code that tests the value of _TALLY to determine if any matching records were found.
To illustrate this, create a table of ten records with integer values and an ID of "foo".
Now perform a SELECT statement to SUM() the nValue of all records with an cID of "bar". Of course, there are no matching records. Under VFP 7.0 and VFP 8.0, the test for _tally = 0 returns true so Procedure A is performed.
Now perform the same test in VFP 9.0. With no other changes to the code, the test for _tally = 0 returns false so Procedure B is performed instead of Procedure A.
The null value of the aggregate function can be seen in the one record in the result set:
Although the best solution is probably to stop relying on _tally altogether, for this as well as for other reasons, one workaround in VFP 9.0 is to include a GROUP BY clause in the SELECT statement, which restores the result obtained in VFP 7.0 and 8.0.
The changes to the SQL engine implemented by the VFP team in versions 8.0 and 9.0 have helped bring VFP's SQL implementation closer in line with SQL standards. This is a good thing, but watch out for changes like this one that might break existing code.
The change is this: In previous versions of VFP, _TALLY returns zero when an aggregate function such as SUM() is used and there are no matching records, while in VFP 9.0, when an aggregate function such as SUM() is used without a GROUP BY clause and there are no matching records, _TALLY returns 1 and the result set contains one record with a null value for the aggregate function.
This change breaks code that tests the value of _TALLY to determine if any matching records were found.
To illustrate this, create a table of ten records with integer values and an ID of "foo".
CREATE TABLE myTable ( cID c(10), nValue I)
LOCAL lni
FOR lni = 1 TO 10
INSERT INTO myTable ( cID, nValue) VALUES ( "foo", lni)
ENDFOR
Now perform a SELECT statement to SUM() the nValue of all records with an cID of "bar". Of course, there are no matching records. Under VFP 7.0 and VFP 8.0, the test for _tally = 0 returns true so Procedure A is performed.
SET ENGINEBEHAVIOR 70
SELECT SUM( nValue) ;
FROM myTable ;
WHERE cID = "bar" ;
INTO CURSOR csrBehavior70
IF _tally = 0 && true
DO Procedure_A && Procedure_A is performed
ELSE
DO Procedure_B
ENDIF
SET ENGINEBEHAVIOR 80
SELECT SUM( nValue) ;
FROM myTable ;
WHERE cID = "bar" ;
INTO CURSOR csrBehavior80
IF _tally = 0 && true
DO Procedure_A && Procedure_A is performed
ELSE
DO Procedure_B
ENDIF
Now perform the same test in VFP 9.0. With no other changes to the code, the test for _tally = 0 returns false so Procedure B is performed instead of Procedure A.
SET ENGINEBEHAVIOR 90
SELECT SUM( nValue) ;
FROM myTable ;
WHERE cID = "bar" ;
INTO CURSOR csrBehavior90
IF _tally = 0 && false
DO Procedure_A
ELSE
DO Procedure_B && Procedure_B is performed
ENDIF
The null value of the aggregate function can be seen in the one record in the result set:
SELECT csrBehavior90
?csrBehavior90.sum_nValue && .NULL.
Although the best solution is probably to stop relying on _tally altogether, for this as well as for other reasons, one workaround in VFP 9.0 is to include a GROUP BY clause in the SELECT statement, which restores the result obtained in VFP 7.0 and 8.0.
SET ENGINEBEHAVIOR 90
SELECT cID, SUM( nValue) ;
FROM myTable ;
WHERE cID = "bar" ;
INTO CURSOR csrBehavior90 ;
GROUP BY cID
IF _tally = 0 && true
DO Procedure_A && Procedure_A is performed
ELSE
DO Procedure_B
ENDIF
The changes to the SQL engine implemented by the VFP team in versions 8.0 and 9.0 have helped bring VFP's SQL implementation closer in line with SQL standards. This is a good thing, but watch out for changes like this one that might break existing code.
6.03.2005
David Stevenson's Talking Fox
The number of VFP developers who are blogging continues to grow as well-known VFP developer and FoxTalk 2.0 editor David Stevenson launches his new blog called Talking Fox. Welcome aboard, Dave!
InstallShield Express News
Macrovision has announced the end of support for several older versions of InstallShield, effective November 1, 2005. Included in the list is InstallShield Express versions 2.0-3.x. Support will continue for InstallShield Express 5.0 and later. See the Macrovision End-of-Life Policy for the official announcement.
The InstallShield Express Limited Edition for Visual FoxPro that ships with VFP 9.0 is based on InstallShield Express version 5.0 and should therefore still be supported. The InstallShield Express Limited Edition for Visual FoxPro that ships with VFP 8.0 is based on InstallShield Express version 3.54, for which support is apparently ending.
The current version of InstallShield Express is version X (as in 'ten'). The InstallShield Premier and Professional editions are already at version 11. In an InstallShield webinar yesterday, InstallShield Product Manager Bob Corrigan announced that Macrovision will be releasing version 11 of the Express product in "mid-2005".
The InstallShield Express Limited Edition for Visual FoxPro that ships with VFP 9.0 is based on InstallShield Express version 5.0 and should therefore still be supported. The InstallShield Express Limited Edition for Visual FoxPro that ships with VFP 8.0 is based on InstallShield Express version 3.54, for which support is apparently ending.
The current version of InstallShield Express is version X (as in 'ten'). The InstallShield Premier and Professional editions are already at version 11. In an InstallShield webinar yesterday, InstallShield Product Manager Bob Corrigan announced that Macrovision will be releasing version 11 of the Express product in "mid-2005".
6.02.2005
Beyond Compare 2.3.1 Released
Scooter Software today released Beyond Compare version 2.3.1. This point update fixes a startup issue under Windows 95, which surfaced in the recently released version 2.3.0, along with a few other miscellaneous fixes and changes. See the change log for a complete list.
It doesn't affect me personally, but kudos to the guys at Scooter Software for still caring about Windows 95. Hard to believe anybody is still running that old horse any more, although I'm sure I'd be surprised to know how many actually still are.
It doesn't affect me personally, but kudos to the guys at Scooter Software for still caring about Windows 95. Hard to believe anybody is still running that old horse any more, although I'm sure I'd be surprised to know how many actually still are.
5.31.2005
Insanely Great Software: Beyond Compare
There are a lot of good utilities out there, but every once in a while one comes along that stands out above the rest. Such programs provide a unique combination of usefulness, reliability, quality, value, and a certain "wow" factor that, in my opinion, earns them the title of Insanely Great Software. This is certainly true of one of my long-time favorite utilities, Beyond Compare® from Scooter Software.
At its core, Beyond Compare is a file and folder comparison and synchronization utility. As a developer, I rely on this kind of utility many times a day to sync my backup folders with their corresponding live folders, to update my deployment folders with the files from the latest build, to compare 'before' and 'after' results during testing, and a variety of other such tasks. Beyond Compare quickly became my favorite for its intuitive interface, ease of use, and great features.
Folder Comparison and Synchronization
Beyond Compare's user interface consists of a pair of side-by-side treeviews showing folders, sub-folders and files. The display, which refreshes rapidly even for long lists, drills down the folder hierarchy from whatever drive or folder you have selected as the root on each side. The intelligent use of color makes it easy to quickly spot matches, mismatches, and orphans between the two sides.
You can choose to view all files or only files that are different on one side than on the other. If you choose to view only files that are different, there are several choices involving various combinations of mismatches, orphans, and files newer on one side than on the other. Toolbar buttons enable you to quickly select the desired view and to expand or collapse all the sub-folders in the view, among other things. As you would expect, you can expand and collapse individual folders by double-clicking them in the treeview.
Other buttons on the Beyond Compare toolbar enable you to easily synchronize two folders by copying newer and unmatched files from one side to the other. Synchronization can be done either en masse or for individually selected folders and/or files.
Zip and FTP
Beyond Compare treats Zip files as folders, enabling comparison and synchronization between a folder and a Zip archive, or even between two Zip archives, as though they were all actual folders. It can also connect to an FTP site on one or both sides of the comparison, thereby extending its functionality beyond the local machine or network.
Sessions and Explorer Integration
If you find yourself frequently comparing the same pairs of folders, Beyond Compare lets you save each set as a named session, which you can then open from a drop-down list the next time you need it. Integration with Windows Explorer (optional, but recommended IMO) enables you to select two folders in Explorer and launch Beyond Compare from the right-click menu. Although I have several dozen saved sessions I use all the time, I still find the integration with Explorer extremely useful for ad hoc comparisons and synchronizations.
File Compare and Editing
Beyond its core functionality, one of Beyond Compare's most useful features IMO is the built-in file comparison and editing capability. With any two files selected, you can launch a file comparison with a just click or two. This gives you a side-by-side, line-by-line comparison of the two files in a separate window, again using color to highlight the differences. The basic file comparison is designed for text files, which of course also works great for Visual FoxPro® program (PRG) files, INI files, header (.h) files, and the like. Plug-ins are available for viewing and comparing other file types, including a Hex viewer for binary files and an image file viewer for popular graphics file types.
The file comparison window has its own toolbar, which includes one-click buttons to immediately jump to the next or previous difference without scrolling. A visual representation of the file runs down the left-hand side of the file comparison window and uses bands of color to illustrate where areas of difference occur. I find this very intuitive and especially useful when working with large files that have only a few differences. The file comparison utility also enables you to edit the files in situ; you can edit individual lines on either side and/or copy a line or a group of selected lines from one side to the other.
Licensing
Another plus is that Beyond Compare can be licensed to the person, not just the machine. The license states that "One registered copy of the Software may either be used by a single person who uses the software personally on one or more computers, or installed on a single computer used by multiple people, but not both." As an independent developer who works primarily on two machines (a desktop PC and a laptop PC) not shared with anyone else, I value this kind of license agreement a lot.
Automation
Beyond Compare can also be automated -- that is, run without a user interface -- via scripting. Rick Schummer of White Light Computing is currently doing some interesting work in this area. Look for his upcoming Class Compare utility for Visual FoxPro, which takes advantage of Beyond Compare's scripting capability to implement some very cool reporting.
When you add it all up, Beyond Compare is a really great piece of software. Go download the latest version and see for yourself.
Beyond Compare is a registered trademark of Scooter Software, Inc. Visual FoxPro is a registered trademark of Microsoft Corp.
['Insanely Great Software' is an occasional series about some of my favorite programs and utilities.]
At its core, Beyond Compare is a file and folder comparison and synchronization utility. As a developer, I rely on this kind of utility many times a day to sync my backup folders with their corresponding live folders, to update my deployment folders with the files from the latest build, to compare 'before' and 'after' results during testing, and a variety of other such tasks. Beyond Compare quickly became my favorite for its intuitive interface, ease of use, and great features.
Folder Comparison and Synchronization
Beyond Compare's user interface consists of a pair of side-by-side treeviews showing folders, sub-folders and files. The display, which refreshes rapidly even for long lists, drills down the folder hierarchy from whatever drive or folder you have selected as the root on each side. The intelligent use of color makes it easy to quickly spot matches, mismatches, and orphans between the two sides.
You can choose to view all files or only files that are different on one side than on the other. If you choose to view only files that are different, there are several choices involving various combinations of mismatches, orphans, and files newer on one side than on the other. Toolbar buttons enable you to quickly select the desired view and to expand or collapse all the sub-folders in the view, among other things. As you would expect, you can expand and collapse individual folders by double-clicking them in the treeview.
Other buttons on the Beyond Compare toolbar enable you to easily synchronize two folders by copying newer and unmatched files from one side to the other. Synchronization can be done either en masse or for individually selected folders and/or files.
Zip and FTP
Beyond Compare treats Zip files as folders, enabling comparison and synchronization between a folder and a Zip archive, or even between two Zip archives, as though they were all actual folders. It can also connect to an FTP site on one or both sides of the comparison, thereby extending its functionality beyond the local machine or network.
Sessions and Explorer Integration
If you find yourself frequently comparing the same pairs of folders, Beyond Compare lets you save each set as a named session, which you can then open from a drop-down list the next time you need it. Integration with Windows Explorer (optional, but recommended IMO) enables you to select two folders in Explorer and launch Beyond Compare from the right-click menu. Although I have several dozen saved sessions I use all the time, I still find the integration with Explorer extremely useful for ad hoc comparisons and synchronizations.
File Compare and Editing
Beyond its core functionality, one of Beyond Compare's most useful features IMO is the built-in file comparison and editing capability. With any two files selected, you can launch a file comparison with a just click or two. This gives you a side-by-side, line-by-line comparison of the two files in a separate window, again using color to highlight the differences. The basic file comparison is designed for text files, which of course also works great for Visual FoxPro® program (PRG) files, INI files, header (.h) files, and the like. Plug-ins are available for viewing and comparing other file types, including a Hex viewer for binary files and an image file viewer for popular graphics file types.
The file comparison window has its own toolbar, which includes one-click buttons to immediately jump to the next or previous difference without scrolling. A visual representation of the file runs down the left-hand side of the file comparison window and uses bands of color to illustrate where areas of difference occur. I find this very intuitive and especially useful when working with large files that have only a few differences. The file comparison utility also enables you to edit the files in situ; you can edit individual lines on either side and/or copy a line or a group of selected lines from one side to the other.
Licensing
Another plus is that Beyond Compare can be licensed to the person, not just the machine. The license states that "One registered copy of the Software may either be used by a single person who uses the software personally on one or more computers, or installed on a single computer used by multiple people, but not both." As an independent developer who works primarily on two machines (a desktop PC and a laptop PC) not shared with anyone else, I value this kind of license agreement a lot.
Automation
Beyond Compare can also be automated -- that is, run without a user interface -- via scripting. Rick Schummer of White Light Computing is currently doing some interesting work in this area. Look for his upcoming Class Compare utility for Visual FoxPro, which takes advantage of Beyond Compare's scripting capability to implement some very cool reporting.
When you add it all up, Beyond Compare is a really great piece of software. Go download the latest version and see for yourself.
Beyond Compare is a registered trademark of Scooter Software, Inc. Visual FoxPro is a registered trademark of Microsoft Corp.
['Insanely Great Software' is an occasional series about some of my favorite programs and utilities.]
Inno Setup 5.1.4 Released
Inno Setup 5.1.4 has just been released and can be downloaded here. The major enhancement in this version is support for installing 64-bit Windows® applications. This version also includes other miscellaneous changes and additions since the previous version 5.0.8. See the Inno Setup 5 Revision History for a complete list.
5.28.2005
BeyondCompare 2.3 Released
Scooter Software has released version 2.3 of Beyond Compare, one of my all-time favorite utilities. After spending a couple of months in beta, this release has been widely anticipated. Judging by the list of changes and enhancements, which runs two printed pages, there's a lot to look forward to. Beyond Compare version 2.3 is available for download here.
Beyond Compare will be featured in the next installment of my Insanely Great Software series here on this blog. Stay tuned.
Beyond Compare will be featured in the next installment of my Insanely Great Software series here on this blog. Stay tuned.
5.26.2005
5.25.2005
What time is it?
I registered for an online 'webinar' today. The confirmation e-mail informed me the event would take place on the specified date at 15:00 BST, 16:00 CEST. Not being sure how to translate this to U.S. time zones, I had to do a search on those terms to find out what they meant. In the process I found a good site at www.computerhope.com/jargon/t/time.htm with a list of several time zone abbreviations and their relationship to GMT. BST in this case is British Summer Time, and CEST is Central Europe Summer Time.
5.17.2005
Newsgator acquires FeedDemon
Straight from the source: Nick Bradbury of Bradbury Software reports on his blog this morning that Newsgator has acquired FeedDemon, Nick's outstanding and highly popular feed reader (see my recent blog), along with Nick's other excellent product, the TopStyle CSS and HTML editor. Given that Nick himself is going to work for Newsgator, the headline should probably read "Newsgator acquires Bradbury Software."
I don't blame Nick in the least for selling out while the market was hot, but I'm not optimistic about this. Main reason? Two words: subscription model. More later after I've had a chance to cool down. Right now I'm not feeling too good about this.
I don't blame Nick in the least for selling out while the market was hot, but I'm not optimistic about this. Main reason? Two words: subscription model. More later after I've had a chance to cool down. Right now I'm not feeling too good about this.
5.16.2005
Internet Explorer 7 has tabs
From Microsoft's IEBlog: "Yes, IE7 has tabs." Good news, and about time. Tabs make inifinite sense when you want to work with multiple Web pages open at the same time. I hope the tabs are on top of the main content and not at the bottom, or at least that they're moveable to suit individual preferences. I also hope IE7 will implement Ctrl+Tab to move from one tab to the next, Ctrl+PgUp and Ctrl+PgDn to move back and forth among tabs, and Ctrl+T to open a new tab from the keyboard. Keyboard shortcuts sometimes get short shrift; those three ought to be standards, IMO.
5.14.2005
Three Cool Firefox Extensions for Developers
If you design Web pages and write your own HTML/XHTML and CSS, or even if you're just interested in seeing how your favorite Web pages are put together, you'll probably find these tools as useful as I do.
Web Developer Extension
Chris Pederick's Web Developer Extension provides a whole range of useful little tools, many of them focused on helping you work with CSS. Among them is the ability to selectively disable CSS styles -- all styles, embedded styles, inline styles, linked styles, or even individual style sheets -- making it easy to see (and debug) the effect of each style. You can even interactively edit CSS styles and see the effect of your changes immediately, even on public pages. Other groups of tools in this extension help you work with forms and images, outline selected elements on the page, view information about the page, perform various validations, and more. You can find Web Developer Extension at chrispederick.com/work/firefox/webdeveloper/.
View Cookies
This nifty little extension, by Edwin Martin, adds a tab to the Firefox Page Info dialog on which you can view the name, value, domain, path, and scope (duration) of the cookies for any page you're viewing. Very useful when developing and debugging cookie-based pages. View Cookies is available for download from addons.mozilla.org/extensions/moreinfo.php?id=315.
Aardvark
When turned on, Aardvark outlines each page element as you pass over it with your mouse, showing you the associated element type such as div, p, td, h3, etc., along with its CSS class or ID info, if any. A set of keyboard shortcuts enable you to interact with the selected element in various ways. From Karmatics, Inc. at www.karmatics.com/aardvark/.
Others
There are of course many other Firefox extensions, both for developers and for other uses, too. You can find an alphabetical list on mozilla.org at addons.mozilla.org/extensions/?application=firefox. Two that I'll be checking out soon include View Formatted Source and View Rendered Source. Look for them near the bottom of the Developer Tools list.
Web Developer Extension
Chris Pederick's Web Developer Extension provides a whole range of useful little tools, many of them focused on helping you work with CSS. Among them is the ability to selectively disable CSS styles -- all styles, embedded styles, inline styles, linked styles, or even individual style sheets -- making it easy to see (and debug) the effect of each style. You can even interactively edit CSS styles and see the effect of your changes immediately, even on public pages. Other groups of tools in this extension help you work with forms and images, outline selected elements on the page, view information about the page, perform various validations, and more. You can find Web Developer Extension at chrispederick.com/work/firefox/webdeveloper/.
View Cookies
This nifty little extension, by Edwin Martin, adds a tab to the Firefox Page Info dialog on which you can view the name, value, domain, path, and scope (duration) of the cookies for any page you're viewing. Very useful when developing and debugging cookie-based pages. View Cookies is available for download from addons.mozilla.org/extensions/moreinfo.php?id=315.
Aardvark
When turned on, Aardvark outlines each page element as you pass over it with your mouse, showing you the associated element type such as div, p, td, h3, etc., along with its CSS class or ID info, if any. A set of keyboard shortcuts enable you to interact with the selected element in various ways. From Karmatics, Inc. at www.karmatics.com/aardvark/.
Others
There are of course many other Firefox extensions, both for developers and for other uses, too. You can find an alphabetical list on mozilla.org at addons.mozilla.org/extensions/?application=firefox. Two that I'll be checking out soon include View Formatted Source and View Rendered Source. Look for them near the bottom of the Developer Tools list.
5.13.2005
Windows Installer 3.1 Redistributable (v2) Now Available
5.12.2005
Windows Installer 3.1 Redistributable Temporarily Withdrawn
As reported last week by Stefan Krueger of InstallSite.org, Microsoft has temporarily withdrawn the Windows Installer 3.1 Redistributable due to issues discussed in knowledge base article #898628. The original post with a bit of follow-up discussion is here.
Firefox 1.0.4 now available
Firefox 1.0.4 is now available for download. This update fixes three recently publicized security issues. More information is available in today's mozillaZine article.
5.09.2005
Firefox Security Advisory
Mozilla.org has posted a security advisory for two "potentially critical" vulnerabilities in its Firefox Web browser. The advisory suggests users temporarily disable JavaScript until a fix is published.
4.13.2005
Not new, but still great
Going through CDs and listened to an old favorite this afternoon. Santana's Supernatural is not new but it's still great. This is probably my favorite Santana album since the original, which by the way I still have on LP. (Yeah, I know... what the heck is an LP??) This guy is amazing: even after 35-plus years, still high-energy and cranking out some of the cleanest and most compelling guitar work around. Made my day.
Windows Installer 3.1 Redistributable Now Available
The redistributable for Windows Installer version 3.1 is now available. It is being released through this month's Windows Update service and can also be downloaded from here. KB article 893803 explains what's new. Windows Server 2003 SP1 already contains Windows Installer 3.1 and therefore does not need this update.
4.12.2005
New Visual FoxPro Section on MSDN Forums
In my 4.8.2005 blog about Microsoft's new MSDN Forums, I noted there was no section for Visual FoxPro. I commented that I didn't see this as a cause for concern, but that it would nonetheless be a plus to see VFP in the mix there. Well, this morning I was pleased to discover that a Visual FoxPro forum has in fact now been added. Alex Feldstein noticed this first and blogged about it yesterday evening - thanks for pointing it out, Alex.
It remains to be seen how much activity this site will attract, but whether it's a lot or a little it's still gratifying to see VFP have an 'official' presence among the other, mainly .NET-related sections of the MSDN forums. For my part, I'll certainly continue on the Universal Thread, the FoxPro Wiki, and the other VFP sites I've used, contributed to, and relied on for years, but I'll be dropping in on the MSDN site from time to time, too.
It remains to be seen how much activity this site will attract, but whether it's a lot or a little it's still gratifying to see VFP have an 'official' presence among the other, mainly .NET-related sections of the MSDN forums. For my part, I'll certainly continue on the Universal Thread, the FoxPro Wiki, and the other VFP sites I've used, contributed to, and relied on for years, but I'll be dropping in on the MSDN site from time to time, too.
Blog Stylesheet Revised
This morning I revised the stylesheet for my blog. I've always felt the original style was a tad on the large side, and I finally got around to changing it. I've tightened things up a bit and reduced the size of most elements.
The new style's been applied to the index page, but the archives are still the older style (for now, anyway). I think I did all this in such a way that the old stuff won't hit your news aggregators again, but if it does, my apologies.
If the new style doesn't look good in your particular browser, please post a comment and let me know.
The new style's been applied to the index page, but the archives are still the older style (for now, anyway). I think I did all this in such a way that the old stuff won't hit your news aggregators again, but if it does, my apologies.
If the new style doesn't look good in your particular browser, please post a comment and let me know.
4.08.2005
MSDN Forums Beta Now Available
Alex Barnett blogs that MSDN Forums Beta is now available. Check it out at forums.microsoft.com/msdn/. It's organized around .NET, with sections for .NET Development, Visual Studio in general, individual Visual Studio languages, and others. If you do .NET development, this forum promises to become a valuable resource.
No, there is no section for Visual FoxPro. But then again, the VFP community has been setting the standard for community-based peer-to-peer support forums for a long time. With the rich set of community resources already available to VFP developers, the absence of a VFP section here -- although it would be welcome for the additional visibility and credibility it might provide -- does not place us at a disadvantage.
No, there is no section for Visual FoxPro. But then again, the VFP community has been setting the standard for community-based peer-to-peer support forums for a long time. With the rich set of community resources already available to VFP developers, the absence of a VFP section here -- although it would be welcome for the additional visibility and credibility it might provide -- does not place us at a disadvantage.
4.05.2005
Google Local Adds Satellite Imagery
Google has added satellite imagery to its Google Local service. Google Local, which I blogged about on March 16th, is a city and state-specific search with a movable map display alongside the results. With the addition of satellite imagery you can now view a geographic image of the search location, too. Imagery resolution depends on location, with the major metropolitan areas having the highest resolution right now. Some of it is spectacularly detailed.
Try it out for yourself by zooming in on Google headquarters in Mountain View, California.
For even more cool imagery, take a spin with Google's Keyhole product. It features the ability to 'fly over' an area and tilt the view so you can see things from different angles. With imagery resolutions of 1 foot in many places and even better in others, it's awesome.
Try it out for yourself by zooming in on Google headquarters in Mountain View, California.
- Point your browser to www.google.com and click the Local link on top of the search box.
- In the What box type Google, and in the Where box type Mountain View, CA. Then click the Google Search button.
- In the list of results, result A should be Google. Click that link.
- Under the small map, click View Larger Map.
- You should now be looking at a larger map with Google's location marked and identified near the middle. Click the Satellite link in the upper right-hand corner.
- You should now be looking at satellite imagery for the area under the map. Use the navigation and zoom tools at the upper left of the map to move around and drill down to the desired resolution.
For even more cool imagery, take a spin with Google's Keyhole product. It features the ability to 'fly over' an area and tilt the view so you can see things from different angles. With imagery resolutions of 1 foot in many places and even better in others, it's awesome.
3.18.2005
Andy Kramek has a blog
Well-known VFP developer, author, speaker, and MVP Andy Kramek has a new blog at http://weblogs.foxite.com/andykramek/.
3.16.2005
R2: Emiew. Emiew: R2
This is cool. From MSNBC: "Hitachi wheels out fast-moving humanoid". Emiew doesn't really look a lot like R2, but enough so to draw the comparison. How long before this type of robot is part of everyday life? Maybe not as long as we think. And with wheels of its own, Emiew won't have to borrow the Segway® to go to the store, either.
Google Local
Have you tried Google Local yet? It's a city and state-specific search with a cool movable map display alongside the results. First thing I tried was 'FoxPro' and 'Champaign, IL'. I was delighted to see my company come up first on the list. Guess who comes up first on a search for 'FoxPro' and 'Redmond, WA'? (Yep, it's who you'd expect.) Of course, Google Local is useful for finding pizza, movies, bookstores, and whatever else, too. Try it out for yourself.
3.15.2005
VFP 9.0 in the news
From Key Levy: "A detailed press announcement has been released on Microsoft PressPass called Developers Report on Power, Productivity and Extensibility of New Visual FoxPro 9.0."
This is good material, much more than just a cursory announcement that VFP 9.0 has been released. The article features case studies and comments by John Harvey of the Shelby County, Tennessee, Sherrif's Office, Michel Fournier of Level Extreme (the Universal Thread), and Doug Hennig of Stonefield Systems Group, among others. It goes on to enumerate four areas of significant improvement in VFP 9.0 that should be of interest to developers and clients alike. Keyword: extensibility.
It's always nice to see good press for this great product, especially when it comes directly from Microsoft.
This is good material, much more than just a cursory announcement that VFP 9.0 has been released. The article features case studies and comments by John Harvey of the Shelby County, Tennessee, Sherrif's Office, Michel Fournier of Level Extreme (the Universal Thread), and Doug Hennig of Stonefield Systems Group, among others. It goes on to enumerate four areas of significant improvement in VFP 9.0 that should be of interest to developers and clients alike. Keyword: extensibility.
It's always nice to see good press for this great product, especially when it comes directly from Microsoft.
Take a ride with Eric Rudder
Take a ride with Microsoft's Eric Rudder on Channel 9. Eric gives Channel 9's Lenn Pryor a ride around the Microsoft campus. Video and sound, from what looks like at least two hood-mounted cameras, rolls as they drive to Eric's building and talk shop.
What's New in IE 7.0
Mary Jo Foley reports that details are beginning to leak out about what may be coming in Internet Explorer 7.0. The focus is expected to be on "myriad security enhancements" (no surprise), some of which are enumerated in the article. Among new features, tabbed browsing makes the list (good!) along with the "likely" inclusion of a built-in news aggregator (interesting, but probably not likely to threaten the best of breed third-party tools). Full support for CSS 2 is not expected (why not?). Much of this may be speculation at this point, but with a first beta due out this summer it shouldn't be long before we begin to find out for sure.
3.03.2005
Global Flyer: Mission Accomplished!
Steve Fossett piloted the Virgin Atlantic Global Flyer to a smooth landing under sunny skies and calm winds in Salina, Kansas this afternoon, successfully completing his record-setting, non-stop, non-refueled circumnavigation of the globe in just over 67 hours. Concerns about lower than expected fuel supplies threatened to bring the mission to an early conclusion over Hawaii yesterday, but favorable winds and a true spirit of adventure brought home the prize.
I followed this mission on the Global Flyer team's website, which supplied continuously updated mission status and tracking information from departure to touchdown. Kudos to their Web team for a great job in making this possible.
Kudos also to MSNBC, who provided a live video feed of the last hour or so of the flight via MSN Video. As a pilot, I thoroughly enjoyed the live ATC (air traffic control) feed that accompanied the video, especially because it was provided without additional commentary of any kind. It was almost like being up there, sharing the airspace with the Global Flyer during the exciting final minutes.
At something like 16 miles out, Fossett called the field in sight, canceled IFR (his instrument flight plan) and requested a visual approach. As he was handed off from approach control to Salina tower, congratulations began to come in from other aircraft in the area who were on the same ATC frequency. "Congratulations from U.S. Airways," "Congratulations from American," "Congratulations from Southwest," "Congratulations from Cessna Aircraft," and so on. "Fossett, you're a stud," someone added.
As N277SF taxied to the ramp, a pair of giant checkered flags were brought out and waved to signal the finish. After some considerable jockeying around for the right parking position -- determined, I imagine, at least in part by where the media were set up -- engine shutdown occurred at 2:05 PM CST. The live video feed continued from near the nose of the aircraft, and I was struck by how small and confined the cockpit space Fossett occupied actually was. From the way it appeared, he must not have been able to move around much if at all for the entire duration of the flight.
This is an historic accomplishment for many reasons. Certainly it's a technological triumph and an aviation first, but we shouldn't lose sight of the fact that it's mostly a human accomplishment, a testament to planning, perseverance, teamwork, dedication to purpose, and the power of the human spirit. Congratulations to all involved!
I followed this mission on the Global Flyer team's website, which supplied continuously updated mission status and tracking information from departure to touchdown. Kudos to their Web team for a great job in making this possible.
Kudos also to MSNBC, who provided a live video feed of the last hour or so of the flight via MSN Video. As a pilot, I thoroughly enjoyed the live ATC (air traffic control) feed that accompanied the video, especially because it was provided without additional commentary of any kind. It was almost like being up there, sharing the airspace with the Global Flyer during the exciting final minutes.
At something like 16 miles out, Fossett called the field in sight, canceled IFR (his instrument flight plan) and requested a visual approach. As he was handed off from approach control to Salina tower, congratulations began to come in from other aircraft in the area who were on the same ATC frequency. "Congratulations from U.S. Airways," "Congratulations from American," "Congratulations from Southwest," "Congratulations from Cessna Aircraft," and so on. "Fossett, you're a stud," someone added.
As N277SF taxied to the ramp, a pair of giant checkered flags were brought out and waved to signal the finish. After some considerable jockeying around for the right parking position -- determined, I imagine, at least in part by where the media were set up -- engine shutdown occurred at 2:05 PM CST. The live video feed continued from near the nose of the aircraft, and I was struck by how small and confined the cockpit space Fossett occupied actually was. From the way it appeared, he must not have been able to move around much if at all for the entire duration of the flight.
This is an historic accomplishment for many reasons. Certainly it's a technological triumph and an aviation first, but we shouldn't lose sight of the fact that it's mostly a human accomplishment, a testament to planning, perseverance, teamwork, dedication to purpose, and the power of the human spirit. Congratulations to all involved!
3.01.2005
Around the world in 80 hours
Pilot Steve Fossett departed an airfield in Salina, Kansas yesterday evening in his attempt to become the first person to fly solo non-stop around the world without re-fueling. Information about the mission, the aircraft, and the records that may be set can be found on the Virgin Atlantic Global Flyer home page. Continuously updated flight tracking is available on this page. Site response is a little slow right now, for obvious reasons.
Having just seen the movie The Aviator, I find it interesting to consider Fossett's mission in the context of what people like Howard Hughes and his contemporaries were attempting not really all that long ago. There probably aren't many aviation frontiers left to be conquered, but this is one of them.
Having just seen the movie The Aviator, I find it interesting to consider Fossett's mission in the context of what people like Howard Hughes and his contemporaries were attempting not really all that long ago. There probably aren't many aviation frontiers left to be conquered, but this is one of them.
2.26.2005
SQL Server 2005 Packaging and Pricing Announced
Y. Alan Griver (yag) blogs: "I'm a few days late posting this, but I wanted to point y'all to Tom's article on the new set of SKUs for SQL Server - including the new Workgroup Edition which is even available now for SQL Server 2000."
2.25.2005
Firefox 1.0.1 Released
From mozillaZine: "Mozilla Firefox 1.0.1 has just been released. A minor update, this version fixes a few security holes and some other bugs. If you're using Firefox 1.0, you want this release." The Firefox 1.0.1 release notes are here.
2.23.2005
Sysinternals releases RootkitRevealer
Seen on Slashdot: "Sysinternals releases RootkitRevealer". Yet another form of malware to be concerned about. In the wake of recent news about the threat posed by rootkits, Sysinternals has released a free rootkit detection utility called RootkitRevealer. The download page for this utility includes a description of what rootkits are how and how they work.
2.22.2005
Closing the gap between Web apps and desktop apps
First, a little quiz. "Ajax" is:
a) a powdered cleanser
b) the other name for Aspen Mountain
c) a Web technology
d) all of the above
Turns out the answer is (d), all of the above. Okay, in this context it's actually a composite of several Web technologies, as described by Jesse James Garrett in his article Ajax: a New Approach to Web Applications. Citing current development work by Google and others as examples of its use, Garrett introduces Ajax and describes how this fusion of five current Web technologies comprises a new and different model for delivering improved interactive experiences over the Web. It's a quick but challenging read, virtually guaranteed to get you thinking about new possibilities.
a) a powdered cleanser
b) the other name for Aspen Mountain
c) a Web technology
d) all of the above
Turns out the answer is (d), all of the above. Okay, in this context it's actually a composite of several Web technologies, as described by Jesse James Garrett in his article Ajax: a New Approach to Web Applications. Citing current development work by Google and others as examples of its use, Garrett introduces Ajax and describes how this fusion of five current Web technologies comprises a new and different model for delivering improved interactive experiences over the Web. It's a quick but challenging read, virtually guaranteed to get you thinking about new possibilities.
Insanely Great Software: FeedDemon
I don't know who coined the term 'insanely great software', but once in a while it really fits and that's the case with FeedDemon from Bradbury Software. It's not an understatement to say FeedDemon has changed the way I use the Web.
In case you haven't heard of it yet, FeedDemon is an RSS reader and aggregator for Windows®. It's written by Nick Bradbury, who is also the author of the TopStyle CSS/XHTML/HTML editor. Anybody who's been slinging HTML for more than just a couple of years probably also recognizes Nick as the author of the HomeSite HTML editor, one of my early favorite tools for Web authoring. FeedDemon is the latest in a line of great stuff by a talented developer.
There are other RSS readers and aggregators on the market, but for my money what makes FeedDemon stand out is its clean design, ease of use, rich feature set, and the fact that it's a stand-alone product. Oh, and let's not forget excellent support via the Bradbury software forum, where Nick often answers questions, offers suggestions, and responds to issues personally.
Did FeedDemon really change the way I use the Web? Yes, and here's how: Instead of spending an hour or more every day visiting a large set of bookmarked Web sites, one by one, to keep up (as if that's possible) with what's going on in content areas of interest to me, I now use FeedDemon to pull in the RSS feeds from all these sites and present them in a single reading pane which I can browse in five or ten minutes. I've been using FeedDemon since it's pre-release days over a year ago so this seems very familiar to me now, but the first time I used it it was a real "Wow!" experience.
FeedDemon has Internet Explorer built in (with a tabbed interface for multiple windows - Microsoft, are you listening?), so in addition to reading RSS feed summaries you can actually use FeedDemon as a browser. You can also open any link in an external browser with a single click, if that's what you prefer. Either way it's easy to jump from an RSS summary to the full article or Web site when you want more information.
FeedDemon uses channel groups to organize feeds of related interest. It comes with several pre-defined channel groups and you can easily create your own, too. Adding a new channel (feed) to a channel group typically takes just a couple of clicks. I've created a single channel group of all the feeds I want to see on a daily basis for a kind of one-stop shopping effect. Using the 'Group Newspaper' feature for a channel group makes it even easier by enabling you to see a filtered sub-set of items (unread items, today's items, last 24 hours, etc.) from all the feeds in that group in a single window. This is a real time-saver and one of my favorite features.
A couple of days ago, Alex Barnett put together a nice screencast (Flash movie) about RSS and FeedDemon. In about ten minutes you get a good idea of the look and feel of FeedDemon, so this is a good place to start.
['Insanely Great Software' is an occasional series about some of my favorite programs and utilities.]
In case you haven't heard of it yet, FeedDemon is an RSS reader and aggregator for Windows®. It's written by Nick Bradbury, who is also the author of the TopStyle CSS/XHTML/HTML editor. Anybody who's been slinging HTML for more than just a couple of years probably also recognizes Nick as the author of the HomeSite HTML editor, one of my early favorite tools for Web authoring. FeedDemon is the latest in a line of great stuff by a talented developer.
There are other RSS readers and aggregators on the market, but for my money what makes FeedDemon stand out is its clean design, ease of use, rich feature set, and the fact that it's a stand-alone product. Oh, and let's not forget excellent support via the Bradbury software forum, where Nick often answers questions, offers suggestions, and responds to issues personally.
Did FeedDemon really change the way I use the Web? Yes, and here's how: Instead of spending an hour or more every day visiting a large set of bookmarked Web sites, one by one, to keep up (as if that's possible) with what's going on in content areas of interest to me, I now use FeedDemon to pull in the RSS feeds from all these sites and present them in a single reading pane which I can browse in five or ten minutes. I've been using FeedDemon since it's pre-release days over a year ago so this seems very familiar to me now, but the first time I used it it was a real "Wow!" experience.
FeedDemon has Internet Explorer built in (with a tabbed interface for multiple windows - Microsoft, are you listening?), so in addition to reading RSS feed summaries you can actually use FeedDemon as a browser. You can also open any link in an external browser with a single click, if that's what you prefer. Either way it's easy to jump from an RSS summary to the full article or Web site when you want more information.
FeedDemon uses channel groups to organize feeds of related interest. It comes with several pre-defined channel groups and you can easily create your own, too. Adding a new channel (feed) to a channel group typically takes just a couple of clicks. I've created a single channel group of all the feeds I want to see on a daily basis for a kind of one-stop shopping effect. Using the 'Group Newspaper' feature for a channel group makes it even easier by enabling you to see a filtered sub-set of items (unread items, today's items, last 24 hours, etc.) from all the feeds in that group in a single window. This is a real time-saver and one of my favorite features.
A couple of days ago, Alex Barnett put together a nice screencast (Flash movie) about RSS and FeedDemon. In about ten minutes you get a good idea of the look and feel of FeedDemon, so this is a good place to start.
['Insanely Great Software' is an occasional series about some of my favorite programs and utilities.]
1.25.2005
Trying to Catch On, Finally
In their cover article Try Catch Patterns in the February, 2005 issue of FoxTalk 2.0, Randy Pearson and Lauren Clarke show us a range of uses for structured error handling (TRY...CATCH...FINALLY). Although introduced in VFP 8.0, I would guess (because I am one of them) that many long-time VFP developers haven't fully appreciated the power of structured error handling, much less integrated it comfortably into their daily development work. Randy and Loren's article is a wake-up call to the design improvements possible with the use of this structure. For myself, I think it's going to be one of those things I start using, perhaps awkwardly at first, until I finally grok its real potential and then wonder how on earth I got along without it. Thanks, Randy and Lauren, for the kick in the seat of the pants.
Visual FoxPro 9.0 now in retail channel
Microsoft® Visual FoxPro 9.0 Professional is now available from retail distributors. Spotted it this morning at FoxToolbox.com and at Provantage®. Packaging is new for this version - VFP 9.0 comes in a sleek DVD case instead of a cardboard box. With its host of exciting new features, including the entirely new report engine, the best just keeps getting better.
1.10.2005
Eric Sink's Finance for Geeks
Eric Sink, founder of SourceGear, writes a monthly column under The Business of Software on MSDN. In Finance for Geeks, from November 2003, he walks us through the basic concepts of accounting and finance from the perspective of a small ISV. Whether you've had any formal education in small business accounting and finance or not, this should be required reading for independent software developers. [Updated 01/26/2005 - link to article was corrected.]
1.08.2005
Wireless Printing
I added a wireless (Wi-Fi enabled) printer to our home network over the holidays. With three of us needing to print from three different computers, one of which is a Mac, this seemed like a good way to go. The appeal of a Wi-Fi printer was not only the ability to use it from any machine, but also the freedom to put it anywhere in the house without having to tether it to a computer or the router. Think kitchen counter, bookshelf, etc.
We decided on the HP 6840 Color Inkjet printer, which has 802.11g capability built-in. It also has an Ethernet port for a wired network connection, plus a USB connector for direct use from a single computer. When used in wireless mode a built-in signal strength indicator on the front panel lets you know you're still within range of your router, and the only thing coming out the back of the printer is the AC power cord. Sweet.
Setup was fairly painless: install the software from the CD-ROM, configure the printer, and go. We chose to give our printer a fixed IP address, and on our Windows® machines it was then necessary to go to the Ports page of the Printer Properties dialog and add a port for that address. If that step was in the instructions from HP I didn't see it, but other than that the instructions were simple and complete.
So far, our experience with this printer has been very positive. My only disappointment is that it has only two ink cartridges - black and color - which of course means you have to replace all the colors when one runs out, but I knew this going in. Our intended use is mainly for everyday printing, but the HP 6840 is also a photo printer with a front slot for feeding photo-quality paper and a PictBridge connector for digital cameras. PC Magazine has a review of this printer here.
We decided on the HP 6840 Color Inkjet printer, which has 802.11g capability built-in. It also has an Ethernet port for a wired network connection, plus a USB connector for direct use from a single computer. When used in wireless mode a built-in signal strength indicator on the front panel lets you know you're still within range of your router, and the only thing coming out the back of the printer is the AC power cord. Sweet.
Setup was fairly painless: install the software from the CD-ROM, configure the printer, and go. We chose to give our printer a fixed IP address, and on our Windows® machines it was then necessary to go to the Ports page of the Printer Properties dialog and add a port for that address. If that step was in the instructions from HP I didn't see it, but other than that the instructions were simple and complete.
So far, our experience with this printer has been very positive. My only disappointment is that it has only two ink cartridges - black and color - which of course means you have to replace all the colors when one runs out, but I knew this going in. Our intended use is mainly for everyday printing, but the HP 6840 is also a photo printer with a front slot for feeding photo-quality paper and a PictBridge connector for digital cameras. PC Magazine has a review of this printer here.
1.07.2005
Economics 101 for Software Developers
In Camels and Rubber Duckies, Joel Spolsky of Joel on Software answers the question, "How much should I charge for my software?" Remember that micro-economics class you took in college? Neither do I, but here's everything you need to know on one page.
First post
Seymour Cray, founder of Cray Research and a pioneer in the development of some of the world's fastest computers, said "If you do keep trying, you will occasionally do something worthwhile." An understatement is his case, but good advice for the rest of us. That quote, which has hung on my office wall since I first encountered it in 1996, is on my mind this morning as I launch this blog with the sentiment that "If you keep trying, you may occasionally say something worthwhile."
Blogs have exponentially increased our ability to communicate with one another. Whether it's a short post linking to something of interest or a longer one contributing to the body of common knowledge, whether it's a well-reasoned opinion or a rant, it's a pretty good bet that what you say will be of interest to someone. Communication is a good thing.
So from now on I'll be adding my two cents worth to the blogfest. I expect to be posting on an irregular but not infrequent basis. If you're interested, subscribe to the feed and take a look whenever something new comes along. Of course, it's always up to you to decide what's worthwhile. Meanwhile, keep on bloggin'!
Blogs have exponentially increased our ability to communicate with one another. Whether it's a short post linking to something of interest or a longer one contributing to the body of common knowledge, whether it's a well-reasoned opinion or a rant, it's a pretty good bet that what you say will be of interest to someone. Communication is a good thing.
So from now on I'll be adding my two cents worth to the blogfest. I expect to be posting on an irregular but not infrequent basis. If you're interested, subscribe to the feed and take a look whenever something new comes along. Of course, it's always up to you to decide what's worthwhile. Meanwhile, keep on bloggin'!
Subscribe to:
Posts (Atom)