Thursday, November 01, 2007

Charles Petzold to Deliver the Keynote at Memphis Day of .NET!



# 

In case you are unaware, Mr. Petzold is the Grand Jedi Master of Windows programming.  He wrote THE BOOK on the subject back in "the day." 

Now, he is the ultimate authority on the workings of Windows Presentation Foundation with two tomes out on the subject.  If you can make it to Memphis next weekend, then head over to the site, and sign up!

See ya' there,

++Alan

    Comments [0]
 Wednesday, October 31, 2007

Speaking at Memphis Day of .Net 2007



# 

I'm excited to be speaking at Memphis Day of .Net 2007 next weekend.  I'm a former student at Memphis State... er, I mean University of Memphis, where the event is taking place.  This will be a bit of a homecoming.

I'll be talking about VSX, and getting into more detail than I have previously.  I've been digging deep into the Visual Studio 2008 SDK as work ramps up on VFP Studio.  Now that I have a better understanding, I'll be able to show how to create and access services in the shell.  Here's the session description:

VSX: Xtreme Xtensibility with the Visual Studio 2008 Shell and the Managed Package Framework

During this session we will look at ways to extend Visual Studio 2008 using the VS 2008 SDK. We will build extensions using the Managed Package Framework that access the same APIs that the Visual Studio team uses. We will explore the opportunities for distributing tools as packages to users without Visual Studio installed. Finally, we will examine the new possibilities for developing commercial software on top of the Visual Studio platform leveraging the Visual Studio 2008 Shell Isolated Mode.

Check out the rest of the sessions here.  It looks like a great lineup.  I hope to see you there!

++Alan

My Life | VSX    Comments [0]

Jeff Prosise Lights up Silverlight at ETNUG



# 

Last night at our monthly meeting of ETNUG, Jeff Prosise walked us through the basics of Silverlight and demonstrated some of the potential of this new web platform.  I had read plenty of blog posts about Silverlight, but this was the first demo from scratch that I had seen.

Jeff is a Knoxville area resident, and a model airplane buff.  He showed a Silverlight streaming video of his new model jet that he's learning to fly.  Who knew you needed a license to fly a model airplane.  His initial demo was of a video website that he called "Foo Tube." ;-)

Jeff showed us his MyComix site and his implementation of the Game of Life, Silverlife.  He also walked us through starting a new Silverlight project in both Visual Studio 2005 and 2008.  Jeff is no fan of JavaScript, to put it mildly, and he was particularly excited to show the use of C# for code behind Silverlight events.

While I was disappointed that he didn't get into the dynamic language runtime in detail, Jeff talked for a solid ninety content-packed minutes.  I always enjoy watching Jeff present on any topic, but he was particularly excited about the possibilities enabled by Silverlight.

Jeff's enthusiasm definitely rubbed off on me.  I can't wait to explore the next release of Silverlight 1.1 which Jeff said will be available "Real Soon Now."  I am especially interested in using the DLR with Linq in a Silverlight app.

Cheers,

++Alan

 Friday, October 19, 2007

Uninstall U3 from Your Thumb Drive



# 

I have a SanDisk cruzer thumb drive and I love it... except for one thing.  Whenever it is plugged into a new PC, it autoruns and installs an application called U3 without asking.

Fortunately, Rick Borup pointed me to the U3 uninstall tool.  You have to confirm you want the tool multiple times, but when they let you download the tool, it works as advertised.

Southwest Fox Day 1



# 

I flew into Phoenix Thursday, and lost most of the day to travel + jet lag.  I did get to hang out with Craig Boyd and Bo Durban briefly.  Bo and I made a trip to the airport to pick up Dave Bernard.  Bo rented a sweet Shelby Mustang convertible for the week, so it was a fun trip.

Friday morning I was up at 5:00 am.  Traveling west makes me feel super human. :-D  I wanted to be certain that I had everything ready for my afternoon pre-conference session on test-driven development (TDD).  My concern was that I might not have enough material to fill four hours.  As it turned out, I could have filled an extra hour or two! 

Apparently my preparation payed off for attendees.  I got lots of positive feedback on the session.  Steve Bodnar has a very flattering review here.  I really enjoyed making the audience tell me what to type.  I let them set the requirements, then reason about how best to tackle the problem using TDD.  I had blast, and I'll probably continue to do talks on agile methodologies. 

At the speakers meeting, I was surprised to hear that I would be giving a keynote address with Craig Boyd!  I've never shied away from an opportunity to get in front of a crowd, but I thought that I might hear of this before the day of the event!  Craig and I spent the next hour getting our ideas together, and talking ourselves into a frenzy.  We are both totally stoked about the project we are working on.

Our project is called VFP Studio.  We are using the Visual Studio 2008 Isolated Shell to build an IDE for building Visual FoxPro projects inside Visual Studio.  We have plans to include reg-free COM for enabling click-once deployment of Visual FoxPro applications.  We are working on a VFP project type, so that we can add a new or existing VFP project to a Visual Studio solution.  We keep coming up with exciting possibilities for this project, and we will be announcing more soon.

While the other two keynote demos were definitely more mature than ours, I'm very excited that we were able to take this opportunity to announce what we are working on. By announcing the project last night, we were able to reach the most people who would use VFP Studio in one room.  Ken Levy, former Visual FoxPro PM and current community program manager on the Visual Studio Ecosystem team, was present at the keynote, and helped clarify what Craig and I were doing for curious attendees during the reception.  I can't wait to see what we have to share at next year's Southwest Fox conference.

My conference photo album is here.

++Alan

VFP | VSX    Comments [3]
 Tuesday, October 09, 2007

VSX: Iron Cool Stuff



# 

I've been combing through the Visual Studio 2008 SDK looking for cool stuff to highlight at DevLink.  There's plenty to show off in the SDK, but I'm smitten by the Iron Python Integration sample.  This is an example of total language integration. 

It's nice to see all the ideas about VS Packages demonstrated in one place.  I learn best by taking working things apart.  This is a great resource to pick apart.  Because it is such an extensive sample, including such features as project integration, language service, the documentation is particularly helpful as a map.

Every sample in the SDK has an excellent summary in the SDK browser which points in the right direction before you even open the code and start reading comments.  Here's an example from the IronPythonProject sample:

PythonProject.cs

Contains three classes related to the IronPython Project: the package, the project factory, and the project node.

Automation.cs

Contains a number of classes that enables automation of the IronPython project and py files in the Iron Python Project. Especially the project object enables the CodeModel

ConfigurationPropertyPages.cs

Contains a defintion for the build property page in the Project Designer.

EditorFactory.cs

Contains a definition for the editor factory that creates the editor for editting iron python code files in code/design view

These descriptions make me want to dive in and see how it all works.  Unfortunately that's too much detail for my DevLink session. 

If you work with Visual Studio regularly, you will benefit from learning about the inner workings of the tool.  Grab a copy of the SDK and take a look.  If you are at DevLink this week, come by and I'll try to convince you that Visual Studio Extensibility is worth your time.

++Alan

VSX    Comments [0]
 Tuesday, October 02, 2007

Loose Ends



# 

I'm picking up some loose ends this week.  I've had a couple of projects "in process", read totally ignored, for a few months.  This week I'm getting back in the groove and making progress on both of them.

First, thanks to some insistent encouragement, read nagging, from Craig Boyd, I have the VFP Build Target code up on CodePlex.  The initial commit should be seen as a design document.  I didn't write the initial implementation, Paul Witt did.  Paul is our configuration manager at DPRA and as such, he's responsible for the builds. 

After a conversation and an exchange of links to documentation, Paul built a working implementation of the VFP Build target to be called from Team Build.  Paul discovered that the build would hang if there was a problem with the build, because VFP was showing a modal dialog.  Paul set up a timer to call a separate program to kill the, now hung, VFP process.

I took Paul's code and removed the parts specific to our build process, and attempted to simplify the structure.  I also converted the build task class to C#.  Now that it's posted, I'll create some unit tests and documentation, so others can begin playing with it. 

My other loose end is my foray into the wilds of VSX.  I began an earnest investigation into the new Visual Studio extensibility features, but I got sidetracked by two exciting opportunities.  Neither opportunity played out, but I learned some things from the process.

Late last week, CoDe Magazine published VSX CoDe Focus magazine.  You should check it out.  In two weeks I'll be doing a talk on VSX at DevLink, so I will be spending my free time making sure I'm up to speed on all the latest updates.

If you are interested in influencing the future of Visual Studio Extensibility, be sure to take the survey.

++Alan

VFP | VSX    Comments [0]
 Thursday, September 20, 2007

Fox Forward Shows Some Love



# 

Kevin posted the news today that Dave Bernard won best presenter at Fox Forward 2007.  I didn't make it in time for his opening session on Instrumenting Your VFP Application, unfortunately, but I did see the first and last halves (in reverse order) of his Does Your Application Understand You? session.  Dave is doing some very exciting things with technology, and he has an easy going style when presenting.  Well done!

My Red, Green, Refactor: Test-Driven Development with FoxUnit session won the best use of technology award.  I was shocked, given the innovative approaches I saw during the conference.  It is quite an honor to be recognized by my peers in this way.  Thank you to everyone who voted, and everyone who attended for making this year's Fox Forward the best yet.

On the first evening of the conference Stephen Bodnar asked me what the difference was between my Red, Green, Refactor session at Fox Forward and my Test-Driven Development pre-conference session at SouthWest Fox next month.  My flip answer to his question is:  about two hours.  :-)  The longer answer is that I will be able to help attendees in Phoenix overcome some of the more challenging hurdles to starting TDD. 

At Fox Forward, I mentioned an approach to test driving the UI, but I didn't have time to demonstrate it.  I talked about refactoring legacy code to support unit tests, but again, no time for a demo.  In Alpharetta, I didn't even touch on the subject of mock objects.  In short, there's lots more to unpack in TDD than I can address in a standard 75 minute session. 

In fact, my repeat presentation was the last session of the day on Saturday, and the entire room kept their seats for ten extra minutes while I gave an extended demo of TDD with FoxUnit.  Kevin came in to collect the projector and everyone was still listening to me talk!  If you are signed up for the pre-con in Phoenix, or if you are considering it, I promise to give you your money's worth.

Cheers,

++Alan

 Sunday, July 08, 2007

My 2007 Speaking "Tour"



# 

In 2005, I began giving talks at our local user group.  In 2006, I spoke at the Atlanta Code Camp, FoxForward and DevLink.  This year, I joined Toastmasters in anticipation of even more speaking opportunities.  I have not been disappointed.

In January, I delivered a talk on Creating Windows Services at the NashDotNet users group.  I am currently preparing six talks for three different conferences on a wide variety of topics.  Fortunately, I picked the topics. ;-)  Each of these presentations is on a topic of great interest to me.

In September, I'll be at FoxForward near Atlanta, discussing TDD and an approach to application architecture I call OGLE. In October, I'll first head to Nashville for DevLink, where I'll be talking about VSX, and the Entity Framework.  The following week I'll be in Phoenix at Southwest Fox, where I'll do a longer pre-conference session on TDD, and a regular session on extending Visual FoxPro applications with Windows Forms elements.

In addition to these great events, I've committed to speak at the Memphis Day of .NET in November.  Details are still being finalized for that event.  I'll also be giving a talk introducing the Entity Framework at ETNUG, most likely at the August meeting.  I'm hoping to add a couple more engagements before the end of the year.  I'll let you know if anything works out.

If you have ever considered giving a technical presentation at a user group, or regional event, I encourage you to act on that thought.  Sharing ideas and interacting with other members of the community at these events has been extremely rewarding for me.  If you attend any of these events, please introduce yourself.

Cheers,

++Alan

 Thursday, July 05, 2007

When the Pattern Is Its Own Anti-Pattern



# 

I'm totally digging Alex Miller's "Patterns I Hate" series.  So far he's taken down Singleton and Template Method.  I love to study patterns and "best practices" in general, but I realize they can do harm when slavishly copied in inappropriate contexts.

While on the topic of Patterns, I must give a shout out to my co-worker Geff Ivey.  I mentioned my liking of Design Patterns Explained as an alternative to the GoF, and Geff convinced me to finally take a look at Head First Design Patterns.  I'm sure this book isn't for everyone, but it was useful to me.  They finally helped me to wrap my head around Model View Controller.  They did it better than the Pragmatic Programmers, or Martin Fowler, although Fowler has more context on the evolution of the design.

Anyway, Alex appears to be a fan of dependency injection, which will soon be promoted by agile practitioners, as a cure for cancer, or at least cancerous code.  Alex has some excellent, thoughtful comments.  You should read them, highly recommended.

Enjoy,

++Alan