Monday, June 04, 2007

Tech Ed 2007 - Day 0



# 

Day 0 began at 4:30 am!  You have to get up early to defeat terrorism, you know. ;-)  For the first time, I have traveling companions to Tech Ed.  This made the whole experience of dealing with airports much more pleasant.

After a short flight, I made it to my "hotel."  In truth, I have a small apartment for the week, overlooking a golf course, no less!

After unpacking we went looking for a prime lunch spot.  We hit the jackpot with Nile Ethiopian Cuisine.  None of us had eaten Ethiopian before, so it was an adventure.  If you are in Orlando this week (or any time), you should check out this gem. 

I met with Shawn in the afternoon to get our ideas together for the BOF on Friday.  After this discussion, I'm very excited.

In the evening we made our way to the Party With Palermo.  Jeffrey put on a great shindig.  I got to catch up with DonXML and Paul Ballard.  I also enjoyed meeting Josh Holmes and Chris Coneybeer.

After packing our copious swag in the car, Geff, Randy and I retired to my "crib" for pizza and cigars.  Whew, the conference hasn't even started and I'm exhausted. :-)

More to come,

++Alan

PS Check out Randy's blog for more pictures and info.  Here's a pic of Randy on the plane, since he saw fit to grab one of Geff and I.

    Comments [1]
 Saturday, June 02, 2007

I'm Off To Tech Ed



# 

I'm on an early flight to Orlando tomorrow.  This will be the first time I've stayed at "unofficial" lodging for Tech Ed.  This means I won't be able to take advantage of the free bus transport, which, in turn, means I will have to watch how many beers I consume at the evening events. :'(

On a brighter note, I will be co-moderating a Birds of a Feather session with Shawn Weisfeld from the Orlando .NET Users Group on Friday morning.  I love the BOF format because it allows many points of view to be shared.  Join us if you can.  Here are the details:

BOF26 - Binding GridView, DropDownList, etc. with CRUD

Friday, June 8 10:45 AM - 12:00 PM, S331 A 

Join in a discussion of binding with ASP.NET controls such as GridView, DropDownList and DetailView and others. Share in the discussion of techniques using automatic code generation, using the List<> generic to bind data in a form to data in a database, and using other techniques that have worked well and not so well. We Birds of a Feather can help each other by promoting discussions of how to bind into templates for highly customized views of the data with nearly zero code, providing for GUIs.

See you in sunny Florida,

++Alan

 Friday, June 01, 2007

Follow My Web Browsing



# 

I've been using Google Reader as my feed reader for six months.  Scoble uses his reader to create a link blog.  I've been using this feature for a while, and find it very useful.

If I see something interesting in my feeds, but I don't want to read it immediately, I can add it to my shared items, and read it at my leisure.  This is less formal than a bookmark.  Later, if I think the article is interesting enough, I can bookmark it.

Because these shared items are public, you can follow along with me.  There is also a feed, so you can track my feed reading in your feed reader.  Think of it as a recursive feed.  I've added the links to the navigation section at the right.

Enjoy,

++Alan

 Thursday, May 31, 2007

Blog Redecorating



# 

If you read this humble blog in the browser, rather than a feed reader, you will notice some updates.  I have replaced the three-years-out-of-date photo with one from May 2007, and provided a link to the source image.  If you've ever wondered why this humble author is smiling, you can now click the pic to see the answer.

I've added some flair.  I'll try to include any events I am attending whether I am speaking or not.  Please explore the links in the flair section, they are all valuable, to me anyway.

I have updated my blogroll, and it was a lot of work.  It now consists of all the  developer blogs I follow, ordered by the author's name.  Some are .NET, some VFP, and some are none of the above.  This list represents the single most valuable resource in my developer toolkit.  I am constantly caught up in an ongoing conversation with the great minds represented there.  The conversation has been largely one sided for quite a while, but I'm beginning to interact again. 

2005 and 2006 were filled with upheaval as I changed jobs, and watched my marriage and my children's home fall apart.  This year began with my marriage to the most amazing partner I could ever imagine.  We set up a new household with four (sometimes five) children, and began the task of finding a new groove.  I'm happy to report that we have achieved that groove, and I am now able to direct more energy outside my home life.

This is why I'm updating the blog, I've got a lot to share, and I have the energy to do so, once again.  I'll be at Tech Ed in Orlando, next week, so look for lots of updates on the goings on there.

Cheers,

++Alan

 Wednesday, May 30, 2007

Windows Live Writer Beta 2



# 

Michael alerted me to the new version of Windows Live Writer this evening.  I just downloaded and installed Windows Live Writer Beta 2, and I'm happy to report that the installation file was not named setup.exe

The installation routine was unusual, however.  The setup wizard dialogs appeared in the bottom, right of my desktop.  I initially thought they were large windows running off the screen, but the were actually dialog sized windows, like you would expect to find centered on the screen.

I moved the first two windows in an attempt to see the whole thing, only to discover that I could already see the whole thing.  I'm pretty fed up with Microsoft usability guidance lately.  They appear to make up a new look and feel for every product setup and UI.  This attempt at innovation was probably intended to be less intrusive, but it was disconcerting in my experience.

In addition, why must MS attempt to reset my home page and search engine in Internet Explorer?  I like my home page and search engine, and they have nothing to do with the tool I'm trying to install.  At the very least, these options should be unchecked by default.

Anyway, if you're reading this, it works for me.

++Alan

Your Code is Suboptimal (Even at Graceland)



# 

I'm dusting off the blog, and making a fresh start.  I have plenty to say about technology, but first I need to thank Eric Sink for the excellent t-shirts.

 

If you want one of these cool t-shirts, you can pick one up at Tech Ed, or just ask.

Cheers,

++Alan

 Monday, April 30, 2007
 Tuesday, March 20, 2007

J# Is Put Out to Pasture, and No One Notices



# 

After last week's announcement of the end of the line for Visual FoxPro, I found it entertaining to read that J# suffered a similar fate, two months ago!  J# is Microsoft's implementation of Java syntax on the Common Language Runtime.  It was never promoted as a primary .NET language.  It was intentionally a clone of Java so that Java developers could move painlessly onto the .NET runtime.

Cheers,

++Alan

 Wednesday, March 14, 2007

The Fox is dead. Long live The Fox.



# 

I suppose once Wally blogs about a topic, it has broad developer interest. I read the news on Visual FoxPro specific blogs earlier in the day, and I emailed the story to my coworkers.  Today, Microsoft announced the end of active development on Visual FoxPro.

Personally, this is not a surprise in any way.  Ever since the announcement that VFP would never move to 64bit, I've known this day was coming. Furthermore, I spent a day with the Microsoft PM for VFP in January, and he gave no indication that the future would be any different. With that said, I want to share my thoughts on what this announcement means for Visual FoxPro applications and developers.

On a DotNetRocks episode, Don Box was asked if COM is dead.  His response applies to Visual FoxPro as well.  Don replied, "COM isn't dead, COM is done."  That is the best summary I can think of regarding this announcement.  Visual FoxPro isn't dead, Visual FoxPro is done.  We can certainly unpack that in a number of ways, but I will mention two details to back up that statement.  Microsoft is releasing service pack 2 for Visual FoxPro 9 to make VFP fully Vista compliant.  Microsoft has developed a set of .NET managed extensions to VFP named Sedna, and released these extensions as shared source. 

So, we have a stable, Vista certified platform with a bunch of Microsoft developed hooks into the .NET framework.  They have provided VFP developers everything they need to maintain their existing apps on the most recent version of Windows, and they have provided the tools to extend those apps using .NET.  Now, I don't think anyone is suggesting green-field development with Visual FoxPro, but any existing investments are fully support until 2015, and extensible with development tools that are under active development.

Furthermore, Microsoft has provided a plethora of materials to help experienced VFP developers leverage their existing skills while moving to a new language and development environment.  Here are some of my favorites:

  • .NET Samples for Visual FoxPro Developers
    This is a nice collection of solutions introducing VFP developers to .NET basics using Visual Basic.  I recommend VFP developers download these samples along with Visual Basic Express.
  • Visual FoxPro Toolkit for .NET
    I love this toolkit, although I've never actually used it.  Let me explain, this toolkit provides a DLL which users can register to access VFP syntax within Visual Studio in either C# or VB.  I've never actually done that.  I use the help and the provided source code as a reference when I want to learn how to do something in .NET for which I already know the command in VFP.
  • Interop Forms Toolkit
    This is super cool.  This toolkit was developed for VB6, but works great in VFP, or any other COM enabled language.  It provides a set of COM wrappers around a Windows Forms component, so that you can launch a .NET form from within your VFP app.  This solution is rock solid and fully supported.
  • Interop UserControl
    This last tool is my very favorite.  It is not currently supported, but I've been in touch with the developers, and they are making progress on it.  They have even fixed a bug that I experienced when using this in VFP!  Quite simply, this is a project template which enables you to create a .NET user control, and register it as an ActiveX control, allowing you to display new .NET features within existing VFP forms! This is truly the secret sauce for extending existing VFP applications.

Let me explain the title to this post.  Truth be told, Visual FoxPro development will continue beyond Microsoft's current product timelines, but it will  not be called Visual FoxPro. Henceforth it will be known as LINQ, ADO.NET and SQL Server.  Members of the Visual FoxPro development team have been working on Visual Studio and SQL Server technologies for years.  Today's announcement means that they will be doing that full time. 

Alan Griver gave a presentation on LINQ at the East Tennessee .NET Users Group in January, and he made the best association I've heard for the connection between VFP and LINQ.  Alan said, "In Visual FoxPro, all data is converted to a common format called a cursor, and all data operations are made against the cursor, then updates are sent to their data source.  With LINQ, we replace the cursor with collections of objects."  That statement helped seal my enthusiasm for LINQ and the future of data access in Visual Studio and .NET languages.

I must emphasize that there is nothing to be afraid of.  There is no bad news today for VFP developers.  There is no conspiracy against Visual FoxPro.  This is a natural and logical business decision by Microsoft.  All the resources you need to continue developing data-driven software using RAD tools are available today, or coming in the next release of Visual Studio.  Let today's announcement be a reminder to you to download some code samples and read some articles so that you will be prepared for Orcas.

I want to close with a quote from Visual FoxPro MVP Craig Boyd, "If Microsoft is trying to kill VFP, then they're doing a piss-poor job of it." Amen, Craig.

Cheers,

++Alan