Blog issues are fixed

10 Feb 2011
by mjeaton, posted in Uncategorized   |  3 Comments

After some craziness with Subtext that caused my blog to be down for about a week, I finally decided to push ahead and move to WordPress. I couldn’t be happier with the result, although I still have some work to do on the theme and probably clean up a few missing links here and there.

Please let me know if you see any issues!

Learning WPF: Share your experiences

15 Dec 2010
by mjeaton, posted in Uncategorized   |  10 Comments

I have spent the past few years working almost exclusively in WPF with a little bit of Silverlight thrown in for good measure. While I have worked on some web projects over the years (mostly 99-08), I spent much of the 90s working on VB applications (versions 2 – 6), so I’ve always considered myself a client / desktop developer.

WPF was a natural step for me, but I do remember having to get over the learning curve. I definitely recall a few “aha!” moments, but never found it all that difficult. When I was in Redmond earlier this year for the MVP Summit, I recall talking to some folks from Microsoft that told me how tough they thought WPF was. This surprised me because I never thought it was *that* tough, and honestly, the people saying it to me are freakin’ SMART, so how could something that came relatively easy to me be tough for them?

So, as I prepare for an upcoming talk, I’m interested in your experiences learning (or trying to learn) WPF. If you have learned, tried to learn, or are currently learning WPF, please take a few minutes to share your experiences in the comments section.

Specifically, what I’m looking for are answers to these questions:

What was your initial impression?
Was it easy? Was it difficult?
What did you find most difficult to learn?
Did you give up? If so, why?
What was your prior experience? What technologies? Was it with desktop applications or exclusively web?
What resources did you use to get past the issues / problems you ran into?
What advice would you give to someone learning WPF? (Question added on 12/17/2010 @ 10:10am)

As added incentive, on December 29, 2010 at noon (eastern time) , I’ll randomly select someone that shared their experiences. That person will get a cool prize from DevExpress!  If for some reason that person doesn’t want the prize, I’ll select someone else. I’ll announce the selection both on this blog and on twitter.

Technorati Tags: ,,

St. Louis Day of .NET!

16 Aug 2010
by mjeaton, posted in Uncategorized   |  Comments Off

This coming Friday and Saturday (August 20, 21), I will be delivering two talks at the St. Louis Day of .NET. This is my first time speaking at this particular event and I’m really looking forward to it. I’ll be giving an intro to WPF talk on Friday and my “Going Independent” talk on Saturday.

The plan is to drive down on Thursday with Jason Follas and head back home Saturday afternoon.

Microsoft MVP 2010

07 Jul 2010
by mjeaton, posted in Uncategorized   |  Comments Off

For the second year in a row, July 1st brought an email from Microsoft presenting me with the MVP award in Visual C#. :-)

Codestock 2010 Wrap-up

07 Jul 2010
by mjeaton, posted in Uncategorized   |  2 Comments

As I did last year, my trip to Codestock involved stops at user groups in Ohio. My first was on July 22nd when I delivered “Writing Your First WPF Application” at the Cincinnati .NET Users Group. I think the talk went pretty well, but since this was only the second delivery of the talk, I found a couple things I needed to change. After CINNUG, a bunch of us went out for drinks. With the exception of all the World Cup talk, the conversations were fantastic. The night was only marred by the fact that Claddagh’s was short-staffed AND it was the first night for our waiter. :-)

On the 23rd, after hanging out in and around Dayton for the day, I delivered the companion “Writing Your First Silverlight Application” talk at the Dayton .NET Developers Group. The group met at a location in downtown Dayton instead of Wright State University, so I made sure I gave myself plenty of time. :-) Of course, I ended up getting lost and had to call Jim Holmes to guide me to the correct location. I arrived right at 6pm, but luckily I had some time to chill out before my talk as Joe Wirtley gave a good overview of Microsoft Pivot. Once I was up, I spoke for close to 90 minutes. Here’s the write-up (including links to the code) of the talk after I delivered it at the Ann Arbor Day of .NET.

Both groups are fantastic, and honestly, I wish I was closer to both cities so I could attend regularly. The networking before and after both meetings was outstanding. I decided to skip the Columbus user group this year so I could make it to Codestock for the geek dinner, but hopefully I’ll be able to make it down to the user group soon.

Thursday around 2:30, I met up with James Bender for another fun-filled, totally unfiltered drive to Knoxville. :-) We arrived in Knoxville, checked into the Hilton IMG_3266and made it to the geek dinner just as it was ending. Thankfully everyone was simply getting up to head to the next place to socialize. I did have dinner with Mike Neel and his wife Cecile where I learned a lot about Codestock “behind the scenes”. It was interesting to hear and compare with planning for something like the Kalamazoo X Conference. After dinner, there was more socializing. :-)

Codestock in downtown Knoxville was AWESOME. So much better than being out in the middle of nowhere with everyone at multiple hotels. I loved being able to walk out of the hotel and across the street to the venue. My first session was at 11:10 which worried me because it was up against the first (of two) lunch slot. Before my session, I participated in a panel / live Community Megaphone podcast talking about “Speaker Horror Stories”. This was my second time on the CM podcast and I had a ton of fun listening to other speakers relate their stories.

When I arrived in my room for my first talk, I was pleasantly surprised to see a relatively full room. Overall, the talk (Writing Your First WPF Application) went pretty well, but I did run into some demo issues near the end. I received some great feedback for the talk that I will be incorporating before I give the talk again.

Later in the day, I participated in a fantastic panel discussion (more of an open space session actually) on Give Camps. I wish someone had recorded it because there was a ton of great content.IMG_3302

The keynote for the event actually occurred after the sessions on Friday. It was an interesting change and, for the most part, the keynote was good. I think it could have been trimmed by about 20 minutes, but overall, it was enjoyable and I did walk away from the keynote with a $100 Amazon gift card. :-) The rest of Friday was spent hanging out with friends and talking about everything under the sun. I did head to bed a bit early because my next talk was at 8:30am on Saturday.

IMG_3340My “Going Independent” talk was in the first time slot Saturday morning, so after some slide deck re-work, I headed over to the venue around 8am. I really enjoy giving this talk because there aren’t any code demos to get in the way. ;-) I had a good crowd who asked some good questions. After the talk, several of us hit the open spaces room to continue the discussion.

IMG_3357Later in the day, I participated in another panel discussion (recorded by David Giard / Technology and Friends) about running a community event. This was a great discussion that involved the panel and a lot of interaction from the audience. I’m not sure when it’ll be published, but when it is, I’ll link to it.


Later in the evening on Saturday, I made an appearance at Alan Stevens’ “Poststock” event, but only stayed for a short time because we (me and Bender) needed to be up early on Sunday for the drive back.

I met a lot of great people (who I won’t attempt to list) and heard about some cool opportunities. I’m already looking forward to Codestock 2011.

I definitely want to thank the user groups for having me down again this year. :-) For as much as I’m in the state of Ohio, I should probably consider relocating at some point.

Silverlight 101: Writing your first Silverlight application – slides and code

22 May 2010
by mjeaton, posted in Uncategorized   |  Comments Off

My goal for this talk is to introduce people to Silverlight in enough depth that when they sit at their desk and choose File | New | Silverlight application, they’ll understand the components that make up a Silverlight application as well as how screens are constructed using XAML. It has been well received at both the 2010 Ann Arbor Day of .NET and the Richmond Code Camp.

My slides are pretty sparse, but here they are.

I also kept the sample (download) very simple and straightforward since I was focusing on how you construct a screen and not all the silly, flashy stuff you see in most Silverlight demos. There are no gradients, animations or spinning purple ghosts in this demo. Oh, the solution was created using Visual Studio 2010.

I’ll be delivering this talk again at Dayton .NET Users Group on June 23rd. Check out their website for meeting details. I’ll also be delivering the WPF version of this talk at the Central Ohio Day of .NET on June 5th, the Cincinnati .NET Users Group on June 22nd and Codestock on June 25/26th.


Upcoming events: May through August

30 Apr 2010
by mjeaton, posted in Uncategorized   |  Comments Off

Quick review of April: I helped run another successful Kalamazoo X Conference on April 10th, gave my Software Estimation talk at the user group I help run in Kalamazoo on April 22nd and talked about the Silverlight Toolkit at the recent Silverlight Firestarter event in Grand Rapids on April 17th. I also had the chance to talk to a college class (Web Programming at KVCC taught by my friend Marty Adams) about what it’s like to be a (independent) developer.


I’m speaking at the following upcoming events:

Ann Arbor Day of .NET on May 1st. I’ll be doing “Silverlight 101: Write your first Silverlight Application

Day of Agile on May 15th. I’ll be doing a 30-minute talk on software estimation.

Richmond Code Camp on May 22nd. I’ll be doing “Silverlight 101: Write your first Silverlight Application

West Michigan .NET User Group on June 8th. I’ll be doing my “Software Estimation” talk

Cincinnati .NET Users Group on June 23rd. I’ll be doing “Silverlight 101: Write your first Silverlight Application

Dayton .NET Developers Group on June 24th. I’ll be doing “Silverlight 101: Write your first Silverlight Application

Codestock on June 25/26th. I’ll be doing “WPF 101: Write your first WPF Application” and “Going Independent 101: Lessons learned from a decade of independence”

devLink on August 5/7th. I’ll be doing “Going Independent 101: Lessons learned from a decade of independence”

I was selected to speak at the Central Maryland Code Camp on May 8th, but had to back out due to family obligations. :-( I’m kinda bummed about it, but hopefully I’ll make it a future event.


I’ll be attending the following upcoming events:

StirTrek on May 7th

Visual Studio 2010 Launch Event in Detroit on May 25th

Central Ohio Day of .NET on June 5th (I submitted talks, but the selections haven’t been made yet)


I’m also heading up the 2010 Ann Arbor Give Camp on July 9th through the 11th. A separate blog post will be coming about the Give Camp.


Kalamazoo X Conference 2010

15 Mar 2010
by mjeaton, posted in Uncategorized   |  Comments Off

The Kalamazoo X Conference is back! On April 10th, 2010, the rest of the planning team and I will be putting on another event in downtown Kalamazoo, but this time we’ll be at the Radisson. We’re really looking forward to another excellent day of one-track goodness with speakers like Alan Stevens, Clovis Bordeaux and many more.

Space is limited, so please register now.

See you on April 10th!

WPF, Silverlight and more

07 Oct 2009
by mjeaton, posted in Uncategorized   |  3 Comments

As many of you know, I love the desktop and have been very vocal against web development over the last couple years. There was a time when I said, “I hate the web” and “I will not do any more web development”. I have changed my tune slightly to, “I will NOT do any more webforms work”. ;-) I’ve come to the realization that webforms (for the most part) is what turned me off to doing web development. The last couple webforms projects I worked on involved lots of user controls created dynamically at run-time, so I was definitely in webforms page lifecycle hell.

Most of the past 2 years has been spent working exclusively on desktop applications. As an old-school VB Classic and Delphi developer, this is always where I’ve felt most at home. My projects recently have either been WPF or WinForms, although the WinForms work has slowed way down. I continue to do WPF and love every freakin’ second of it.

A week or so before the Ann Arbor Give Camp in July, I started doing some maintenance / bug fixing on a pretty cool Silverlight-based dashboard application for a client in Chicago. I’ve dabbled in Silverlight before, but this was my first real experience with a larger, production application. While Silverlight isn’t exactly web, it isn’t exactly desktop either. :-) Right off the bat, I jumped in an replaced one of the main screens with a better design and then spent a bunch of time refactoring the WCF service calls to increase performance of the application. Because of my work on that project, my client asked if I’d be willing to spend 3 weeks (which quickly changed to 4 weeks) in Chicago working with a team to go from “whiteboard to working prototype” for one of his clients. When he first mentioned it I was a bit apprehensive, but once he explained how all my expenses would be picked up, I said, “hell yea!” :-)

While I can’t go into details on the project itself, I will say it’s all Silverlight and it will again be a dashboard-type application. The really cool thing is that my client is a very “out of the box” thinker. He won’t accept statements like, “because it’s how we’ve always done it” and he forces people to consider new ways of doing things. If you suggest (which I did NOT by the way) that information should be displayed in a grid with navigation buttons, he will force you to open your mind and really think about other ways to organize and display information. I’m working very closely with him, a great UX / designer, an information architect and two representatives from the end client. It’s been an interesting experience so far because I am the farthest thing from a creative person, so a lot of what we talk about (and put on the whiteboard) scares the hell out of me. :-)

We started the prototype using Sketchflow. Sketchflow is kinda cool, but I think it makes it too easy to say, “ooh, look, it works. Let’s ship it.”  I think for early prototypes, I still prefer Balsamiq Mockups.  Anyway, while the IA continues to use Sketchflow to mock things up, I tend to flip between Blend and Visual Studio a lot, only because I can’t handle the code editor that’s inside Blend 3. The workflow between us all has been pretty smooth, with only a few bumps along the way.

I was in Chicago for 3 days last week (before my crazy-ass trip to Richmond) and honestly, I was pretty amazed by what we produced in a very short period of time. I’m now sitting on the train (well, I was when I originally wrote this post – now I’m sitting in my hotel room), heading to my second week working in Chicago and I’m really looking forward to diving right back in. A lot of my friends know that I can get pretty insecure about my dev skills, but I’m not allowing myself the luxury of saying, “I can’t” or “I don’t know how to do that”. I was brought in to produce results and by God, that’s what I’m gonna do. :-) The fact is, I have access to a metric butt-load of talent on twitter, my IM list and my phone. If I get stuck on a Silverlight issue, it’ll only be for a short time.

The toughest part about this project is being away from my family. I’ve never traveled as much as I have this year, and I have NEVER worked onsite for an extended period like this. Every night my family and I fire up our web cams and chat for 20-30 minutes before the kids go to bed. It’s tough on all of us, but the short-term pain will be worth the long-term gain.

Richmond Code Camp wrap-up

06 Oct 2009
by mjeaton, posted in Uncategorized   |  Comments Off

As I mentioned in a previous post, Bender and I made the insane drive to Richmond for the Code Camp on October 3rd. We both had two sessions on the schedule; he spoke on REST and WCF and I spoke on Castle ActiveRecord and Software Estimation.

I’ve attached the code for my ActiveRecord talk to this post. The archive contains everything you need to run the demo I showed at the camp (and at previous camps). I still enjoy giving that talk and I absolutely love seeing the “AHA!” moments when people realize that writing all the ADO.NET plumbing code is pointless.

My estimation talk went well, although I feel like there are still some tweaks I could make to the content. I’m giving that particular talk at a couple upcoming events: The Great Lakes Software Excellence Conference in Grand Rapids and the Great Lakes .NET Users Group in Southfield, both in November.

Overall, the Richmond Code Camp was one of the best run events I’ve attended. Registration was smooth, I loved how they had the “wall of sessions” with abstracts, speaker bios and pictures of each speaker! They also had these outside each room which made it very easy for attendees to get more information before walking into a session. Kevin Hazzard, Justin Etheredge and the rest of the planners did an outstanding job putting this event on. If my schedule works out, I *will* be back. :-)