« June 2005 | Main | August 2005 »

July 31, 2005

Visual FoxPro Community Action

I just read an excellent post by Craig Boyd that I highly recommend you read if you have any interest in VFP at all.  In fact, you might add his blog to your list; in addition to typical blog entries, he has quite a few posts of useful technical items.  Just this weekend, it looks like he had nothing better to than create a generic VFP SpellChecker.  Craig has also been prolific in posting on the www.tek-tips.com VFP forums – you should check out his FAQs there. 

Posted by Drew Speedie on July 31, 2005 | Permalink | Comments (1) | TrackBack

July 29, 2005

Windows Vista Beta 1

Microsoft has released Beta 1 of Windows Vista (the Operating System Formerly Known As Longhorn).  It's available as an MSDN download.  If you just want to know what Vista is all about, I recommend these two pages.

For a very brief overview: http://www.theregister.co.uk/2005/07/28/_vista_beta1/

For a pretty good in-depth review: http://www.pcmag.com/article2/0,,1840816,00.asp  Don't miss the SlideShow, which you start by clicking its icon near the beginning of the article.

I am looking forward to any and all improvements to my operating system.  I see lots of good stuff in what I've read on the above web sites.  I do find it interesting that:

  • Microsoft has had to scrap so many features originally slated/announced for Longhorn.

  • Microsoft released Beta 1 of a product for which the UI is apparently not at all finished and so many other features that aren't available/don't work yet.  I thought that was more the definition of an Alpha release.  But I can see Microsoft wanting to get something out there to generate excitement; they have plenty of nay-sayers/detractors that are quick to read something negative in everything they do.

Posted by Drew Speedie on July 29, 2005 | Permalink | Comments (0) | TrackBack

Best Free Utilities

Here's a link to The 46 Best-Ever Freeware Utilities.  Chances are you already have and are using some of them, and that you will find others that you will add to your collection.  It's just a bit of a shame to see how many of those in the Top 10 perform tasks that are currently considered so essential that a computer novice would probably expect that they would be built into the Operating System, not add-on utilities.  Anti-Virus protection, Adware/SpyWare/ScumWare removal, Browser Protection, Firewall, Trojan Remover, Rootkit Removal, and Intrusion protection seem to me to be functionality that could (should?) be built into the OS.  I'd sure rather see these features in my next Windows OS than some of the other stuff Microsoft is working on for Longhorn.  Why should I have to spend so much time installing/running/maintaining all these utilities that, in today's world, are required in order to turn my computer on and run it successfully.  Maybe it's just me…

Posted by Drew Speedie on July 29, 2005 | Permalink | Comments (2) | TrackBack

July 28, 2005

Microsoft-sponsored VFP technical support forum

There are a number of popular forums for VFP-related support and related activities.  However, here's a site you may not know about, the Visual FoxPro General forum of the Microsoft Technical Support Forums.  It's an official VFP site sponsored/hosted by Microsoft, as you can see from the URL: http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=60.  I've seen questions get answered by the likes of no less than Ken Levy, Randy Brown, Calvin Hsia, Alan Griver (YAG), plus numerous VFP MVPs.

Posted by Drew Speedie on July 28, 2005 | Permalink | Comments (0) | TrackBack

July 27, 2005

.NET does Data? Not like the Fox!

Anders Hejlsberg (The Father of C#) was recently interviewed about the future direction of C# programming.  In the excerpt from that interview that you can read at this link, Anders discusses a number of data-related issues.  He even uses the dreaded 'F' word <g>.  No, not F#, although he does mention that, too, but FoxPro.  Here's one quote (italics mine):

"No.  I wouldn't say that it [C#] specifically borrows from FoxPro.  As I have said before, the area where we're already laying some groundwork for in Whidbey (Visual Studio 2005) is this big and largely unexplored area of deeper language and data integration.  And, of course, FoxPro is a language that has been there … I think they show how closeness to data is tremendously useful for a certain class of applications."  No disrespect intended, but, Duh! 

If you read this interview, you'll note that Anders is mostly talking about features for "Orcas", the code name for the next next version of Visual Studio, the one after Whidbey, which is slated for release in November.  So I'd guess a release of no sooner than 2007 for Orcas.  If I read Anders right, he's saying that by the time .NET is about 7 years old, C# might possibly include features that make it 'close to data', which would be 'tremendously useful' for some applications.  Such as any application that manages data.  In the meantime, VFP has been doing that extremely well for longer than Microsoft has owned it.

A little further in the interview, referring to FoxPro and other dBase-d languages, Anders says "They lacked some capabilities that programmers, generally speaking, want."  Like maybe… marketing?  Ken Levy has done the best job by far of anyone I can remember in his 'VFP evangelism' position, but his hands are clearly tied.  Sure, VFP developers have always had a number of features on their wish lists (just check out the listings on the Fox wiki and the UT).  But the number one 'capability' VFP developers have historically requested was a respectable marketing effort even in the same ballpark as VFP's technical capability.

As for the last FoxPro mention in the excerpt, check this out:

"Let's just say for the sake of argument that I want to make it as easy to program data in C# as it is in FoxPro.  Or pick whatever goal you'd like.  I'm not saying that is a particular goal."

On the one hand, he accurately points out that it is easier to program data in VFP than in C#.  No big relevation there.  But then he is careful to deny any specific attempt to achieve the same ease of data management in C# as he knows is in VFP.  But Microsoft wants all us VFP developers to move to .NET as soon as possible, even though everything we do is directly related to  managing data.  Again, keep in mind that we're not even talking VS 2005 here, but no sooner than the next version after that.

I did like everything Anders said regarding the possibility of an Integrated Query Framework that would make it possible to query data over multiple different types of data, including XML and objects, not just SQL/relational DBMS.  It will certainly be interesting to see how that works out in Orcas.  Although I find this Anders Hejlsberg quote at the end of the interview excerpt a little foreboding:

"You sort of declare what you want to have done, but not exactly how you want to have it done.  And in many ways, we've educated generations of programmers to think not just about what, but about how, and to explicitly state how in their programs.

"In many ways, programmers have to gradually unlearn that and learn to trust that when they're just stating the 'what,' the machine is smart enough to do the 'how' the way they want it done, or the most efficient way."

Hmm…  The goal is to improve the .NET languages so that the developer just has to tell the computer what they want done, and it will 'just happen' in an efficient, consistent (and correct) manner.  Sounds quite a bit different from what I've come to expect in VFP, where I always have a number of ways to complete any given task, including querying data.  Frequently, that ability to state the 'how' makes it possible for me to produce code that works – the first technique I use may not be fast/efficient, may not work quite as expected, or work at all.  Or as I recently heard a developer put it, "There's almost always about a million ways to arrive at the same location. That's what keeps things interesting."

And please forgive me for the chuckle, but why do I have such a hard time swallowing this concept of turning my programming commands into requests, from a high-level manager at a company whose operating system has such a hard time running all the Windows-certified software on my computer?

Hey, I'm not bashing Microsoft/C#/Anders Hejlsberg here.  Really.  I think his goals for C#/.NET in the Orcas timeframe are lofty, worthwhile, and beneficial for developers.  But VFP developers surely have to read this kind of stuff and just shake their heads in incredulity over the lack of data-centric features in the sister .NET languages.  We have to wonder how a company that owns VFP and has spent hundreds of millions of dollars (maybe into the billions?) developing and marketing .NET still has to say that its .NET languages don't natively handle data all that well.  And, near as I can tell, features like Integrated Query Framework address querying issues, not data-update issues.

Rumors about the incorporation of VFP-like data-centric features in .NET have been circulating lately.  For example, here's a link to a David Stevenson blog.  That would certainly make .NET more interesting to VFP developers, but we'll have to wait and see what form such features might take.

Oh, and did I mention that this is all contemplated for the next version of .NET?  No, not Visual Studio 2005, but the one after that.

Posted by Drew Speedie on July 27, 2005 | Permalink | Comments (8) | TrackBack

July 18, 2005

Some Great Team System and Agile Resources

For those wanting to get started, here are some good Team System and Agile related resources:

Books

Introducing Microsoft® Visual Studio® 2005 Team System Beta Edition

Test-Driven Development in Microsoft .NET

Agile and Iterative Development: A Manager's Guide

Integrating Agile Development in the Real World

Blogs

Directory of folks currently blogging about Team System (courtesy of Rich Hundhausen)

Posted by John Alexander on July 18, 2005 | Permalink | Comments (0) | TrackBack

July 08, 2005

New VFP 9 book

The What's New In Nine: Visual FoxPro's Latest Hits book for VFP 9 has been available for some time from Hentzenwerke; I've read most of it, and can definitely recommend it.

I just heard of a new VFP 9 book, written by the president of the LAFox Users Group, Michael Cummings:  Visual FoxPro 9 For Developers.  You can find it here: http://www.lulu.com/content/106787
When you read it, post a comment here!

As for the picture on the cover, Bill Anderson (previous president of the LAFox Users Group) says Michael just likes that picture -- it's not a depiction of the unofficial Microsoft slogan for VFP marketing:  "You're on your own if you use VFP!"... <g>

Posted by Drew Speedie on July 8, 2005 | Permalink | Comments (1) | TrackBack

July 01, 2005

If CEOs had Time to Code

Agile software development means different things to different people resulting in a wide variety of agile implementations, but the core goal is the same: The continuous and consistent delivery of quality software features on a just-in-time basis. Critical to achieving and supporting this goal is frequent feedback and clarification from the business domain experts that understand the business vision or strategies behind the requested software features. There are a number of perspectives that are helpful in understanding and always keeping this in mind as you plan or refine your agile implementation.

One intriguing idea is that of a CEO (or any person in an organization charged with driving organizational vision or strategy) developing software themselves, creating the ultimate feedback loop (from vision to delivery) for delivering software features.

In all companies decisions are routinely made reacting to shifts in the market, changes in business strategy or other demands and influences.  These decisions become plans that ultimately create new or modified business tactics that are necessary to implement the plans and support decisions.  More often than not, underlying software applications require modifications to support these new decisions. The faster an organization embraces changes in vision and makes supporting changes in functional and technical infrastructure, the more valuable the vision becomes.

Since people in non-technical management, strategy or visionary roles in most companies don’t develop software, they communicate or delegate changes to various areas and levels tasked with responding to needed technical changes.  This creates the need for overhead to manage communication and feedback efforts necessary to carry a strategic intent from initiatives as high as C-level folks down through the different areas of an organization, turning the plans into achievable activities.  Those activities are then often turned into supporting software features.

Although the notion of CEOs developing software is obviously highly unlikely, it does help illustrate the idea that the closer a software developer is able to get to the people holding the secrets to the business strategy they’re supporting, and the more feedback they can receive from the business experts, the faster and more accurately software features will be delivered and the more valuable the strategy becomes to the business.

Agile practices represent an opportunity to address this potential disconnect between the different communication layers by recognizing the need for less (or optimal) overhead and oversight and more (and more frequent) feedback and contact with business domain experts. Abstract and voluminous documentation and long development cycles can slow or disrupt the implementation of business initiatives, which are often moving targets.

Remembering the core goals of agile processes and perhaps keeping an image in mind such as a CEO developing a strategy, then leaning over a keyboard to deliver the relevant software features will help provide a proper frame of reference as you continue to identify potential areas of waste in your development processes and optimize your agile approach.

Posted by Doug Bliss on July 1, 2005 | Permalink | Comments (0) | TrackBack