Monday, June 25, 2007

My Birthday is Overdue?



# 

Upon logging in at the office this morning, I was greeted with an Outlook reminder that Alan Stevens' Birthday is two days overdue.  Perish the thought!  My birthday is a commitment I always keep. :-)

Wally completed another circle of the sun yesterday.  Cheers mate!

++Alan

 Wednesday, June 13, 2007

What's Your Programmer Personality Type?



# 

I can't get enough of these dumb online personality tests:

DHTC

You're a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.
You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.
You work best in a Team.
A good group is better than the sum of it's parts. The only thing better than a genius programmer is a cohesive group of genius programmers.
You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently.

Now it's your turn to take the Programmer Personality Test.

Cheers,

++Alan

 Sunday, June 10, 2007

Tech Ed 2007 Day 5



# 

By the last day of Tech Ed, I am exhausted.  Many people have already left, and the ones that remain are often burned out.  The only reason any of us attend day 5 is that there are always awesome sessions saved for the last day.

I spent the morning in the Dev Lounge, trying to blog, but mostly talking to people.  My first session was the Birds of a Feather that Shawn and I were moderating.  On the way to the session, I ran into Don Demsak and invited him to join the discussion.  Don came, and added many insights.

I was pleased with the interaction in our BOF.  Attendees seemed interested in the subject, and contributed frequently to the discussion.  Shawn had someone take notes, and we'll each post those on our respective blogs.

Douglas White, whom I had dinner with two nights previous, attended the BOF, and we continued discussing the topic through lunch.  After lunch I attended a talk on implementing CMMI with Team Foundation Server.  This was a niche topic, but I'm square in the middle of that niche.

I was totally conferenced out by this point.  I met up with Geff and Randall to say goodbye, and I went back to the room to catch up on some sleep.  I'll have some reflections on the week once I return to Knoxville.

Cheers,

++Alan

    Comments [0]

Tech Ed Day 4



# 

After picking Michele up at the airport and settling her into the room, I headed to the Convention Center for more interaction.  I didn't attend any sessions on Thursday.  Instead, I spent my time in the Technical Learning Center talking to people.

I had a very intense conversation with Tim Mallalie from the Entity framework team.  He helped me understand the difference between the Entity framework and the Entity Data Model.  As teh conversation proceeded, we got into a discussion of the tools support for the entity framework.  He reported that they will have limited tooling at release in April, but they will have an extensibility model to encourage third parties to begin building tools and utilities to work with the EF and EDM.

I let Tim know about the conversations I had with Ken Levy about VSX, and offered to look into extending the EDM tooling options.  He seem very excited, and gave me his contact info, along with the contact in charge of the extensibility API.  After that, I talked to Ken about this development, and he asked me to get in touch with him once I had the VSX installed, and I was ready to work with it.

This is a very exciting development.  I think this could turn into a useful Codeplex project by the time the entity framework ships in April 2008.  Watch this space for further developments.

Thursday evening is always the big conference party.  This year, I was able to bring Michele with me, and we both enjoyed it very much. 

Adios,

++Alan

    Comments [0]
 Friday, June 08, 2007

Tech Ed Day 3



# 

Wednesday was exciting and choc full-o-goodness.  I spent a lot of time talking to people inside Microsoft.  If you've never been to Tech Ed, you may not appreciate how valuable this interaction is.  There are representatives of every team inside Microsoft standing around for the sole purpose of interacting with customers.  This is a terrific opportunity to find out about features and technologies you may be interested in. 

I attended one breakout session on test driven development.  It was the best session I've seen this week, and I will be sharing the slide with my peers when I return to the office.  This is a difficult practice to sell to people with little experience.  There were some good examples used to explains the benefits of a TDD approach.

At lunch, I had a great discussion with Noah Coad and Abhijit Rao about encouraging change at the developer level.  We agreed that developers must experience the pain of suboptimal practices before we embrace best practices. 

Back in the developer area, I sat down with Sam Guckenheimer to discuss organizational change around development process.  Sam said that most decisions to pursue CMMI or ISO process certification are motivated by the desire to pursue business opportunities that require those credentials.  This correlates with my experience.

Sam agreed that this is not a technological problem, but an organizational change issue.  Sam recommended the book Leading Change for guidance in implementing change at that level.  I'll most likely constrain my efforts to developer practices, but it's good to know about the resources.

I took a few minutes to visit with Bill Vaughn at the SQL CE booth.  I didn't realize that CE could be hosted in an ASP.NET session.  Bill asked why I might want to do that.  My reply is that my blog runs on flat xml files currently, and SQL CE would handle more performance and scalability than this solution, while maintaining the xCopy flexibility.

I spent some more time configuring my laptop, and a VPC to demo some tools for Ken Levy. I had a problem forming a network connection between the laptop and the running vpc image.  After fooling with it for a few minutes, I realized I could get expert help.  I found the VPC kiosk, and a MVP there, got me straightened out.

Once I had things running, I found Ken Levy and demoed my extensions to the Visual FoxPro IDE to connect to Team Foundation Server.  I showed the Version control tool I built for my employer.  Ken understood this tool immediately.  Next I showed the work item editing control I built using the Windows Forms Interop Toolkit.  Ken wasn't familiar with the toolkit, and it took a minute for him to see what I was doing, and what the potential uses are for the interop user control.

Ken then called his boss and Amanda Silver, a PM for Visual Basic, over to show them the potentials for this toolkit.  Ken then jumped into brainstorming about how to render WPF inside this control.  Next, we talked about how to provide tools for VFP developers to move to .NET.  We agreed that I could use the VSX tools to build some familiar tools in Visual Studio, so that Fox developers can get up to speed faster.  This conversation was probably the climax of Tech Ed for me.

Next I sought out the Entity Framework team.  I met with a couple of PMs and grilled them on the features, and future extensibility.  I'm pleased to report that we were all on the same page.  They have an excellent mapping solution, and planned integration with synchronization services and reporting services.

Before I left, I stopped by the WPF stand.  I asked Rob Relyea about hosting WPF inside a winforms user control.  I learned about the ElementHost and ControlHost.  Next, I asked about generating dynamic XAML and rendering it at runtime.  The answer lies in XamlReader.Load().  I also saw part of the "Booyah" video from MIX.  This is exciting because I can generate dyanmic XAML in VFP and render it inside of an Interop User Control.  I look forward to sharing this at Southwest Fox.

With my head full of exciting possibilities, I left the convention center to prepare for the Microsoft Influencers Party.  This party is a way Microsoft acknowledges people who promote their technologies in the community.  This includes user group leaders like me.

I wanted to visit the Corona Cigar Co. and get a nice smoke for the evening.  I found the most amazing cigar store/wine bar that I have ever seen.  I picked up a few smokes, and made plans to return on Friday.

The party was at Margaritaville, and it was packed.  I had dinner with Douglas White and Bill Vaughan.  We had a good time shouting our conversation over the sound of the live band.  :-)

After dinner, I made my way out to the patio to enjoy my cigar.  There I ran into Dustin Campbell, whom I met at last evening's flying adventure.  We had a great time smoking cigars while discussing agile practices and functional programming until they closed the upstairs including the patio.

The evening carried on at the Red Coconut where I enjoyed the company of Keith Elder, whom I had never met before.  There were many others there including Peter DeBetta,  Paul Ballard, Cory Smith and many others. I hung out far too late, and I paid for it the next morning.

Cheers,

++Alan

    Comments [5]
 Wednesday, June 06, 2007

Tech Ed 2007 Day 2



# 

Tuesday started with a good conversation with a member of the SQL Server Replication Services team over breakfast.  I love sitting down at a table with someone in a blue Microsoft shirt and asking what they work on. 

I was too late to bother with the first session of the day, so I headed over to the Hands on Labs.  I started a session on the new Acropolis application framework.  This was a totally new technology to me, so I spent most my time reading the manual.  I saved my partial session for later resumption.

There were lots of great sessions to choose from, but I settled on Joel Semeniuk's "Best Practices for Team-Based Software Development."  Joel is an excellent speaker with lots of great insight to share on this topic.  The room was packed, and I sat on the floor, but it was worth it.  I'll be sharing the slides from this session as soon as I return to the office.

I grabbed my lunch in a take-out box, and headed to a Birds of a Feather sessions called "Exiting the Zone of Pain: Static Analysis with NDepend."  This was an interesting discussion on a topic I was familiar with, code profiling metrics, and a tool I was not familiar with. 

It was during this lunch session that I bumped into Cam Soper for, at least, the fourth time.  It's obvious that Cam has excellent taste in parties and sessions. :-)  This time, we finally exchanged business cards.

I tried to attend Joel's interactive discussion after lunch, but it was packed again.  My Acropolis session from the morning took too long to resume, so I took the opportunity to work on a Hands On Lab on WPF.  I completed a couple of exercises, and enjoyed getting more familiar with the new GUI coding model.  I'll do more later.

For my last session, I attended "Developing Data Driven Applications Using the New Dynamic Data Controls in ASP.NET", but I left just as it got started to deal with a weird technical difficulty.  I'll find out more about these new controls later.  They look very interesting.

Shortly after lunch, I ran into Ken Levy, who has changed teams once again.  He is now doing community development for Visual Studio extensibility.  I promised to stop by later in the week to show him some extensibility I've been doing to bring VS features into VFP, and get his feedback.

In thinking about doing this demo, I realized that I didn't have the Team Foundation Server client installed on my laptop.  While I was sitting in afternoon sessions, I downloaded the client from Codeplex, and grabbed an ISO extractor from a Google search.  I extracted the image and tried to install, but I kept running into missing files.  I downloaded the 180 trial of TFS and performed the same routine with similar results. 

After fighting the issue for half an hour, I realized that the people who wrote the installer were standing 50 feet away.  I went over and asked for help, and received lots of it.  In the end, it was Chris Menegay who determined that the ISO extractor I used, WinISO, was chocking on path lengths over a certain point, and couldn't even read the files to extract them. 

I felt humbled, but grateful to get back on track.  When I got back to my room, later that night, I downloaded WinRar, extracted and installed without problems.  Moral:  don't download unknown software you find on Google. 

Once Chris identified my problem, he and I headed off to meet up with the rest of the Central Region group for our party.  Drew Robbins put together a cool event at the Skyventure Orlando indoor skydiving attraction.  I had never done anything like this before, and it was a blast.  I couldn't stop grinning.

 

What will tomorrow bring?

++Alan

 Tuesday, June 05, 2007

Tech Ed 2007 Day 1



# 

Day 1 started well.  I realized I could drive to a nearby hotel to park, and then ride the bus to the Convention Center.  Once onsite, I ran into a fellow Knoxvillian and ETNUG member at breakfast.  I did my best to recruit him for the "Best of Tech Ed" session at our June meeting.

After checking email and blogging a bit, I attended a session called "A Lap Around Visual Studio Orcas."  Unfortunately, the presenter's VPC was locked when he tried to do his first demo.   I've seen the presenter before, and he is awesome, but I'm tired of watching people fight VPC on stage, so I left. 

I went down to the cabanas, or whatever they're calling them this year, to talk to some Microsoft people.  I stopped at the dynamic languages kiosk to find out about the future of tool support in VS for dynamic languages.  I explained to the two members of the team present, about the development style in VFP.  During the conversation, Mahesh Prakriya, the PM for dynamic languages, joined us. 

I asked Mahesh if he knew any members of the VFP team, and he happily reported that he was friends with Alan Griver from his time on the SQL Server team.  We went on to discuss the role that iterative execution plays in development with dynamic languages.  Mahesh used the example of Query Analyzer as a tool that supports dynamic execution.  While he couldn't make any promises, he said his confidence was high that Visual Studio would support a dynamic execution model in the VBx time frame.

I went on to chat with Chris Menegay about the challenges of convincing managers to adopt best practices when using Team Foundation Server.  While we were talking, I was introduce to Juan Perez.  Juan is a very friendly guy, and I thanked him for producing TeamLook, which allows users to access TFS from within Outlook.

Once the vendor area was open, I stopped by to see Eric Sink.  I just wanted to say "Hi", but I ended up discussing the DiffMerge tool that SourceGear produces.  I am very dissatisfied with the diff tool that ships with Team Explorer, so I asked how much SourceGear's tool costs.  It turns out that this tool is fee, and they've just released a new version.  Eric asked me to try it out and email him with my impressions.  Turns out, he blogged about it in detail yesterday.

I lingered too long at lunch, so I missed Don's session on extending VS.  Instead I wandered over to the Hands On Labs, to see what I've been missing the past two years.  I found the labs easy to use, but there were some technical difficulties.  I chose a lab on using LINQ.  I completed the first exercise successfully, but the second exercise required connecting to the Northwind database, and I couldn't find it.  The instructor verified that it was not installed, and sought assistance.  Apparently, that is a flaw in their VPC image, and I won't be able to perform that exercise.  While this was disappointing, I enjoyed the first exercise, so I'll probably try some other labs this week.

Next I attended a session titled "A Lap Around Windows Presentation Foundation."  I've seen a few WPF overviews, but it is still a foreign technology to me.  I was fairly bored until the presenter demonstrated this.  I work on logistics applications, and this animation was the first example I've seen where WPF could add dramatically to our applications.  I left the session early to IM my coworkers about this cool discovery.  I'll try some of the WPF Hands On Labs before I leave, so I can understand better how to produce such exciting data visualizations.

My final session of Day 1 was on the Entity Data Model.  I've read some about this, but I never understood where it fit with LINQ.  My understanding today, is that EDM is an ORM technology that will ship as part of ADO.NET.  This means that I can use stock ADO, and still manage my data without using datasets.  This is good news indeed!  Once the objects are in memory, LINQ can be used to query against the model.  This is good stuff, and I'll be exploring it further during the week.

During the EDM session I heard a quote that was new to me, but the message was familiar.  "Normalize 'til it hurts. Denormalize 'til it works."  Perhaps this could be restated that in practice, theory is only theoretical. :-)

The evening ended with a reception in the vendor area with free food and "beverages."  Here's Geff getting his fair share.

 

I filled my bag with swag, ate and drank my fill, then headed home to collapse and rest up for Day 2.

Cheers,

++Alan

 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