Wednesday, October 07, 2009
#
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.
Tuesday, October 06, 2009
#
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. :-)
Saturday, October 03, 2009
#
Wow…my last post was on August 18th!
On September 27th, I took the train to Chicago so I could start a short-term (1-month) Silverlight gig in Chicago on Monday. After 3 intense days with the project team, I came back home Wednesday night so I could see my family before heading out for the Richmond Code Camp. I left home around 7am Friday morning, stopped in Columbus, OH around 11am to pick up James Bender and then after another 7 1/2 hours, we arrived at our hotel in Richmond. I’m currently sitting in the final session at the Camp after presenting two successful sessions (ActiveRecord and Software Estimation) earlier in the day. This has been a great event -- Kevin and crew have done an outstanding job.
We’re going to leave early Sunday morning for the long-ass drive back to Columbus and then on to Michigan. I’ll be catching the early train back to Chicago Monday morning so I can spend the entire week in the city. I’ll be home Friday night for 2 days, then back, to Chicago for 4 days. I’ll be heading to Cincinnati on October 15th/16th 16th/17th (with my family) for the MVC.NET Firestarter event. I’m looking forward to the event because I really haven’t done any web development for close to two years and I think this will be a great re-introduction. We’ll head back home so I can catch the train back to Chicago on the 17th 18th. The final day of the gig is the 23rd. Did I mention my birthday is on the 21st? :-(
Anyway, life has been crazy. I’m already looking forward to getting back to my normal schedule. :-)
(Updated at 10:01pm on 10/2/2009 – updated dates after Matt nicely corrected me in the comments) :-)
Tuesday, August 18, 2009
#
It’s been just over a month since the event. I’ve tried to write this post many times, but I haven’t been able to put into words just how cool the event was. It was a physically and emotionally exhausting weekend. It was also incredibly satisfying. I met some amazing people, had some great conversations and came away from the event inspired. At one point during the event, I sat down with Dave Giard for one of his “Technology and Friends” interviews. Dave also did a great job of summarizing that talk as well as the camp itself in this post.
Running an event like this was extremely challenging, but the planning team I pulled together did an outstanding job. Things ran very smoothly and I’m so grateful for the dedication people like Todd Bohlen and his wife showed to make sure everyone had food and drinks for the entire weekend. There was some drama over the weekend as we realized we had some team assignment issues, but quick meetings and developers who wanted to help solved those pretty quickly.
Patrick Steele put together this awesome video of the event.
While it took me a few days to recover, I am looking forward to the event next year.
Tuesday, July 07, 2009
#
Central Ohio
On June 23, 24 and 25th, I had the opportunity to speak at the Cincinnati, Dayton and Columbus .NET user groups on Software Estimation. This is a topic that is rarely talked about so I’ve been on a mission to get developers thinking about it. Over the course of 3 days, 117 people heard me talk about the importance of estimation. Hopefully those people will start doing what they can to improve their own estimates and get their employers to realize how ineffective our current methods are. I have a good time giving that talk and it’s one I hope to continue giving at user groups.
I want to thank the user group leaders for having me. The leaders of these groups are not only people I look up to and admire in the community, but good friends as well. The members of the groups were all very engaged in the topic and asked a lot of great questions, many of which are being incorporated into the talk.
I really enjoyed the trip because I got to hang out and talk to a lot of friends I don’t get to see very often. I have to thank Dan Hounshell for opening his house to me a *second* time this month (the first was for the ORM Firestarter on June 13). Without friends like Dan, trips like this would be a lot tougher to justify due to the cost of hotels for multiple nights.
On Tuesday, I spoke at the Cincinnati user group. There were about 40 people in the audience. I was a bit nervous because I hadn’t given the talk since the Indy Code Camp in May. After my talk, I demoed Zen for those that were interested (I’ll be writing a post or two about Zen in the coming days). A bunch of us went out for drinks afterwards. It really was nice to sit outside, have a drink or two, relax and chat about anything and everything.
During the day on Wednesday, I hung out at a Panera not too far from Wright State University. I managed to get a little work done on my presentation during the day and before I knew it, it was time to head to the venue. The Dayton group was a bit smaller with only 17 attendees, but just as engaged. After the event, Justin Kohnen and I hit up the nearby BW3 and talked about life as an independent consultant until midnight. Good times. :-)
On Thursday the 25th, Joe invited me to come hang out at the EdgeCase office in Columbus. While I was a stranger to most, Joe made me feel at home. I tried to keep out of the way while I was there, but I have to say, I really enjoyed listening to all the collaboration that took place while I was there. It was an environment I haven’t experienced before and honestly, it made me realize how much I’m missing as an independent consultant. Joe and I had a great conversation at the end of the day before I headed to the user group meeting. In fact, I was so engaged in the conversation with Joe that I didn’t leave the EdgeCase office until 5:30 and the user group meeting started at 6! Once I hit the parking lot they call I71, I called Jeff to tell him I’d probably be late to the user group. :-) Thankfully he told me NOT to get off on Polaris Pkwy and instead head to the next exit. Good call! I ended up walking through the door just after 6.
Columbus was by far the largest group I talked to with 60 people in attendance. As with Cinci and Dayton, the group was very engaged and had a lot of great questions. After the group, a bunch of us went out for dinner and drinks at Hoggy’s. We started out on the patio, but we were eventually forced inside due to a storm that rolled through. It was a great time with lots of jokes made at each other’s expense. ;-)
I stayed Thursday night at Bender’s house bachelor pad. :-) We talked about music for a bit and finally headed to bed around midnight.
CodeStock
We were up bright and early Friday morning for our 5+ hour drive to Knoxville for CodeStock. It was great to talk to James completely unfiltered during the drive. By the time we hit Knoxville, we were laughing our asses off, mostly at the expense of those living south of Cinci. ;-)
My “Developing Solid WPF Applications” was scheduled for 2:20 on Friday, so by the time we arrived at 1pm, I had enough time to say hi to a few people and make sure my demos were working before giving the talk to a FULL room. By full, I mean I had a few people sitting on the floor in the front of the room. :-) I’m my biggest critic, so I know that a few things went wrong during the session, but I got some good / positive feedback right after the session ended. I ended up hanging out for the rest of the day with Alan and a bunch of other speakers (too many to list).
On Saturday, I sat in Leon’s AWESOME Ruby Koans session. I’ve been making my way through the Koans, so it was great to sit down and show Leon where I was and get some feedback. After that session, Leon, Tim Wingfield, Dean Weber and I went to lunch and then came back to the end of Mike Wood’s excellent “Be a Better Developer” session. That was followed by an open space on the same subject. Good times. :-) After the closing circle, a bunch of us headed to the Chop House for dinner before heading to the major after-party at Alan’s house.
I can’t express enough how awesome it was to see all my friends again, but after 5 days, it was nice to be home again. :-)
Thanks again to the user group leaders for allowing me to speak to their groups. Thanks to the speaker selection team for CodeStock for selecting me and finally, thanks for all the attendees who sat through my talks. :-)
Monday, July 06, 2009
#
In less than 2 weeks, the 2nd Annual Michigan Give Camp in Ann Arbor will be upon us. It’s hard to believe that almost a year has passed since the first Give Camp in Ann Arbor! When I talk to people about Give Camp, here is what I normally tell them:
“In the 15 years that I’ve been a software developer, the first Ann Arbor Give Camp was the most physically and emotionally exhausting weekend of my life, but absolutely the most satisfying thing I’ve ever done related to software development.”
If you’re a developer of any level, a designer, DBA or PM and want to help out some great charities, head over to the registration site and sign up. If you’re involved with a non-profit organization in the state of Michigan and want to send us a proposal, there’s still time to submit. Check out this post on the Michigan Give Camp website for more information. You can also follow us on twitter. If you have any questions at all about participating in the Give Camp (either as a developer or a nonprofit), email info@MichiganGivecamp.org. If you’re interested in sponsoring the Michigan Give Camp, contact sponsors@MichiganGiveCamp.org.
If you’re in Ohio, a Give Camp is planned for the same weekend in Columbus. Head over to their site and sign up. If you’re interested in sponsoring the Columbus Give Camp, check out their Sponsors page. If you’re in Knoxville, TN, several developers have already committed to holding a satellite Give Camp. Contact Nate Blevins if you’re interested.
On July 1st around 11:30, I received an email with the subject of “Congratulations 2009 Microsoft MVP!” To say I was stunned would be putting it lightly. :-) Over the past few days, a number of my friends have announced that they were not being renewed as MVPs, so honestly the closer it got to July 1st, the more I convinced myself that I wouldn’t be one of those receiving the award this quarter.
For my friends that don’t know about the MVP Program, here’s a snippet from the email I received:
“This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.”
As I said, I was pretty shocked when that email arrived in my inbox. What’s really cool is that around the same time, my friend Nate received the same email. :-) I was also pleased to find out my friend John Stockton (no, not the basketball player) also received the award.
I gotta thank a few people because as cheesy as it sounds, I couldn’t have done it alone.
The first person I need to thank is Dustin Campbell. After I complained on a mailing list about how I was too far from user groups to attend / speak, Dustin approached me at Codemash 2008 and said (his exact words), “Dude, don’t be a p****. Get out there and speak.” Keep in mind that at the time, Dustin was kind of a big deal around Heartland, so who was I to argue. ;-) Anyway, Dustin, thanks for motivating me to get off my ass and into the community.
Over the past couple of years, Josh Holmes has gone from being “that guy from Microsoft” to a close friend and mentor. He has been a guiding force in my development in the community since my first user group talk in Toledo in February 2008. Josh, thanks for being there.
Jim Holmes and Mike Wood have both been inspirations and without leaders like them in the community, I probably would have stopped being so involved a long time ago.
Nate, James, Jayme, Sean and Dave have helped keep me grounded during my speaking “tours” and making me realize how important it is to “do something”, not just talk.
Thanks to the Microsoft evangelists (Jeff, Jennifer and Brian) in my region for being such great supporters of our dev community.
Big thanks to my family for being so supportive while I traveled all over to attend / speak at some really cool events. :-)
There are so many others, but I know I’ll forget someone, so we’ll leave it at this: thanks everyone. ;-)
Monday, May 25, 2009
#
This coming Saturday, I’ll be at the Chicago Code Camp in Grayslake, IL. I’ll be presenting two sessions:
- Developing Solid WPF Applications (ugh. Fingers crossed this talk goes as expected this time)
- An Introduction to Castle ActiveRecord, or How to stop writing CRUD
I’ve given the WPF talk a couple of times this year and both were plagued with issues. I’m really hoping to nail it this time. As for the ActiveRecord talk, I gave it about a dozen times last year, so I foresee no problems at all and am looking forward to giving it again.
While I love all of our cool Heartland events, one of my big motivations for going to the Chicago Code Camp this year is to meet and hang out with new people. :-)
If you don’t have any other plans for the 30th and are somewhat close to Chicago, there is still time to sign up!
Monday, May 18, 2009
#
Justin has started a series of posts on tips for giving technical presentations, so I want to throw my hat in the ring and give a tip that will help all of us do better in our presentations.
The Past
I’m terrible at not fully preparing for talks and it has definitely shown. I’m not proud of my WPF talks at the recent Central Ohio Day of .NET, Stir Trek and the Indy Code Camp. I struggled with content at Central Ohio and with other problems coming up during the talks at the other events. I never gave any thought to what would happen if hardware failed or if I forgot some important piece of code. The ratings for those talks were justifiably low because I *did* run into hardware problems and I did forget important code. I was NOT prepared. Ugh.
At Central Ohio, I made a change to my WPF talk the night before the session, but never ran through it before actually giving it in front of an audience. HUGE mistake. At Stir Trek, I spent more time worrying about how to get the damn HP TouchSmart to display on the projector than I did on what I was actually going to say. HUGE MISTAKE. At the Indy Code Camp, I discovered DURING the presentation that I copied the WRONG virtual machines to my laptop so I didn’t have the correct code. HUGE MISTAKE. I ended up having to remote into my home development VM and demo from that. Ugh.
A Revelation
I gave two talks at the Indy Code Camp. One was very successful, one was a failure. During the day, I spent some time talking to Mike Wood. Mike is not only a friend, but a fantastic speaker, so I opened up to him on how poorly my WPF talk went versus how my Software Estimation talk went.
Because my Software Estimation talk was new, I spent a lot of time over the past couple of weeks on it. In fact, I did something I have NEVER done with one of my talks before: I rehearsed it. Let’s be clear on what I’m talking about – I stood in my office, alone, and gave the Software Estimation talk to an empty room. I didn’t stop. If I ran into a slide with no notes (I was using Presentation View), I forced myself to say something. This was a HUGE WIN because I realized BEFORE the live presentation that I only had 45 minutes of material for a 75 minute session! It was also a HUGE WIN because once I was in front of the audience I *knew* what I was going to say!
During my conversation with Mike, he said he does that for every one of his talks! You know what? It shows. It shows when he’s in front of an audience and it shows in his speaker evaluations. I will admit though that standing up in my office felt strange. It felt strange talking to no one. It also felt very satisfying!
A Promise
I will NEVER do another presentation without first running through it out loud in the comfort of my home/office. I will do this multiple times if possible.
Technorati Tags:
speaking,
tips
Wednesday, April 29, 2009
#
Sarah’s Pictures
Alan’s Pictures
Dave’s Pictures
On Saturday, April 25, the first Kalamazoo X Conference was held at the Anna Whitten Hall in downtown Kalamazoo, Michigan. I can only describe the day as a huge success. It exceeded my expectations in every way. I can’t think of a better way to spend a Saturday than watching 13 of my friends give some of the best talks I’ve ever seen. The speakers KICKED ASS! I have come away from this event energized and ready to tackle anything.
The energy of the day was incredible. As the MC of the event, I had the chance to do something I’ve been looking forward to since
we changed the format to a single track: introduce the speakers – my friends – to the audience. I actually didn’t prepare any of the introductions ahead of time, instead coming up with stuff on the fly. Whether that was the best decision is another story. ;-)
While I enjoyed every talk, there were some definite standouts.
Soft Skills in 25 Minutes
It was very cool to see Brian boil his 2+ hour “Soft Skills” talk down to 20 minutes. When I first created the schedule for the single-track event, I gave Brian 2 back-to-back slots because I knew this particular talk could go long. Brian told me he really wanted to stick with the short format like everyone else, so I cut him back to the single slot. I was very surprised when he ended a couple minutes early!
I am Ammal!
Dave’s “Effective Communication” talk was good if for no other reason than I am/was “Ammal”. :-) What really sucked is that because of the sun, most of Dave’s slides were washed out and you couldn’t really see the pictures.
A Scary Black Man
Clovis did an outstanding job with his “Branding 101” talk. There were some technical difficulties at the last minute, so he did his entire talk without slides. He actively engaged the audience and held a very
entertaining conversation. At one point, he jokingly described himself as the “scary black man”. Good stuff. It was one of the few talks I wish could have gone on for another hour.
Simplicity, simplicity, simplicity!
Josh’s “Lost Art of Simplicity” was a bit more polished than when he did it at the Central Ohio Day of .NET. His pacing was dead-on and the graphics he used in his presentation were very, very cool.
Stepping up
I have to point out that about halfway through Andy Van Solkema’s talk, I realized that I wasn’t sure if Brian knew he was supposed to do the “What is an Architect” talk. :-) He and I had talked about it early on in the X Conference planning, but somehow it fell off the radar. Immediately after Andy’s talk, I mentioned it to him. He said he was wondering who was going to do it, but luckily he jumped at the chance to get back in front of the audience. Instead of doing “What is an architect”, he decided to do his “5 Ways to be more Agile” talk. It was a great decision!
Without change, there would be no butterflies
I have to say, the standout session for me was Leon’s “Change”. This talk was EXACTLY why I wanted Leon at the conference. It was a very powerful, personal talk given in Leon’s engaging, comedic style. He ended his talk with an amazing quote by Deming: “It is not necessary to change. Survival is not mandatory”. Wow.
A Community Leader on Leadership
Jim’s “Leadership 101” talk started out in a very intense way as he described how soldiers in World War I went “over the top” of the trenches into almost certain death. He talked about why they did what they did and then transitioned into a short, but amazing talk about leadership. When I first asked Jim to speak and he pitched this particular talk, I jumped at it. In my opinion, there is NO ONE in the development community I’d rather have talk about
leadership.
Community
A few weeks before the event, I asked Mike to do a talk on Community knowing he’d kick ass. The talk that capped off the day almost had me in tears because it was THE PERFECT ending for the day. Mike Wood did an awesome job explaining what community meant to him. His final slide (which stayed up during our short group conversation) asked the very simple question, “What does community mean to you?” Good stuff. :-)
Thanks
I have to thank all of the speakers for making this such a great event. Without their willingness to travel (some drove several hundred miles) to this small first time conference, seemingly out in the sticks, we would have not been able to pull this off.
Thanks to all our great sponsors for providing monetary support and giving us all sorts of great stuff to give away. Thanks to the others on the planning team who helped make this event the success it was.
Will there be a Kalamazoo X Conference in 2010? Based on the feedback we’ve gotten, it’s almost certainly YES. :-)
* Pictures by Dave Giard, Sarah Dutkiewicz and Alan Barber used with permission.
Technorati Tags:
kalamazooX,
kalx
Sunday, April 19, 2009
#
To those that attended my talk at the Central Ohio Day of .NET on the 18th: I apologize. It was not meant to be a “tool” talk. At the last minute, I decided to change the order of my slides hoping a *short* discussion of tools would help when I got to the “meat” of the talk. BIG MISTAKE. It really changed the whole tone and direction of my talk, especially since I got a late start due to projector issues.
I am re-working the talk for the Indy Code Camp so it is what I intended it to be: a session heavy on architectural guidance.
Technorati Tags:
cododn,
speaking
Thursday, April 16, 2009
#
This coming Friday I’ll be heading down to Wilmington, Ohio for the Central Ohio Day of .NET on Saturday. This was one of the first events in the region when it started out as the Dayton-Cinci Code Camp a few years ago. I always look forward to it and this year is no different. The session lineup looks pretty damn good, even with mine included. :-) Yes, I will be presenting at this years event on “Developing Solid WPF Applications”.
I’ve been on the planning team for the Kalamazoo X Conference (register here) since late last year, so when I head to Kalamazoo on April 25th, I’ll be looking forward to listening to all the amazing speakers we have lined up. Since we changed the format of the event to a single track, attendees and staff will be able to see every session! Good stuff.
May is a busy month for me, both personally and professionally. Between my anniversary (12th), my wife’s birthday and Mother’s Day, the month would be busy enough, but on top of that, I’ll be heading to Columbus on Friday, May 8th to present on “What’s New in WPF 4.0” at Stir Trek. This will be a very cool event, especially if you’re a Star Trek fan because there will be a private screening of the new Star Trek movie at 4PM for all attendees. To be perfectly honest, I’ll probably be leaving at 4 because I haven’t been able to sit through a Star Trek movie since Wrath of Khan (the best of the movies). :-)
On May 16th, I’ll be at the Indy Code Camp in Indianapolis. For the second year running, I’ll be presenting two sessions: “Writing Solid WPF Applications” and “Improving our Craft: A Discussion on Software Estimation”.
On May 30th, I hope to be at the Chicago Code Camp whether I’m speaking or not. I did submit some abstracts, but haven’t heard back yet.
Monday, April 06, 2009
#
When we first started talking about having an event in Kalamazoo in October of 2008, we wanted to do something different. This region has plenty of Day of .NET events, so our idea of “different” was to focus on soft skills and stay clear of hardcore technical topics. In the past month or so, we have lined up an extraordinary group of speakers who are bringing over a dozen amazing sessions to the Kalamazoo X Conference (register here).
As the person responsible for putting together the schedule, I immediately realized how difficult that particular job is. All these great speakers (almost all of them good friends) and all the great topics made the task almost impossible. I did my best to put together a 4-track event with each session coming in at about 70 minutes. As I began updating the website with the session information, something didn’t feel right.
A couple weeks ago, the planning team (me, John, Mark and Michael) had lunch in Kalamazoo (Fat Tony’s Grille & Sports Bar is really good BTW) and started talking about the schedule. Everyone at the table voiced the same opinion: multi-track conferences suck because you always end up having to make decisions and end up missing out on sessions you want to see. We began discussing how we could alleviate this problem. The most obvious idea was to change the format of the event.
One of my concerns with this idea is that almost all of the speakers are good friends, many from Ohio, and I hated the idea of screwing with the format with only 3-4 weeks until the event. I mean, if we changed it too much, maybe some of them wouldn’t want to make the 4+ hour drive to Kalamazoo. In the end though, we had two choices: do nothing and force attendees (including ourselves) to choose between some amazing sessions OR we could make a drastic change and hope the speakers would go for it. :-)
After a lot of deliberation, the X Conference planning team has decided to make a major change to the format of the event: We are now a single-track conference!
Instead of 4 tracks with 5 sessions each, we have asked all the speakers to adjust their talks to fit within a 20-30 minute session. This means everyone will get to see all of the sessions and all the speakers will be able to present in front of the entire crowd. While I’m still waiting to hear back from all the speakers, the ones that have responded have done so in a very positive way. One of the speakers responded with this:
“On a personal note, Mike, I'm really looking forward to this event now that you've changed the format. It's different, fast, exciting, I'm VERY interested to see how this format shapes the conversations of the day. I simply can't wait to be there.”
I’m really excited about this change too and hope, if you’re within a few hours of Kalamazoo, that you’ll be there! I will be posting updated speaker / session information to the website over the next couple of days.
Register here
Monday, March 16, 2009
#
On April 25th, the Microsoft Developer’s of Southwest Michigan (MDSM) will be hosting The Kalamazoo X Conference. While a relatively new member to the group, I have been working very closely with Mark Gilbert, John Burns and Michael Merkel (and a few others) to make this a kick-ass event. :-)
The Kalamazoo X Conference is a one-day software development conference hosted in beautiful Southwest Michigan. While there are many great technical conferences in the region, their focus tends toward new technologies and programming languages. The Kalamazoo X Conference intends to uniquely complement those conferences by enabling attendees to boost their process, design, and communication skills in the following areas:
- Human interaction, including social, personal, and career development.
- Interface and graphic design
- Development processes and best practices
- Requirements analysis, architecture, design, and modeling
This one day, one of a kind conference is being held April 25, 2009 from 8AM to 6PM in beautiful downtown Kalamazoo.
Check out our website, register and follow us on twitter!
Wednesday, January 28, 2009
#
On January 22nd, I attended the MDC in Detroit. Since I didn’t feel like braving the Detroit-area traffic Thursday morning, and since I made plans to room with Alan, I drove up the night before. After picking Alan up at the airport at 6, we headed for the RenCen.
While Alan was off doing “speaker” things, I caught up with Corey and then recorded almost an hour of video for his “How did you get started in programming” video series. :-) I love how my simple blog post inspired Corey to take it one step further. I definitely expanded on my story in that 45+ minute interview. I had a great time doing it, so hopefully I don’t bore everyone to tears. ;-)
After the interview with Corey, we caught back up with a bunch of the speakers and talked for a while about a wide range of subjects. By the time we were done talking, it was almost midnight, so Alan and I headed up to our room and crashed.
Before I knew it, it was 6am and my alarm was going off. Since Alan had some pre-event stuff to do, he was up, showered and dressed pretty damn quick. I on the other hand, managed to snag another 30 minutes of sleep.
Thankfully, I left my laptop in the room because with no wi-fi at the event, there was no point in hauling it around. I registered pretty quickly, then caught up with Josh and some other friends. I originally planned on skipping the keynote because, well, because most keynotes suck. :-) I’m not sure why, but I decided to stick this one out. I think 90 minutes is a long time for a keynote, but Ron Jacobs did a good job of giving us the 50k foot view of all the technologies the day would cover.
I ended up hanging out a lot of the day, catching up with friends that came in from Ohio and western Michigan. The sessions I did try to catch were packed. I’m not sure what was up with the tiny-ass break-out rooms, but there was standing room only in the sessions I checked out. Alan was leading the Community Courtyard, so I sat in a few great conversations, almost exclusively focused on the technologies being presented in the breakout sessions.
After the event, a bunch of us went out for pizza (thanks Microsoft for picking up the tab!), hung out and talked (well, tried to talk since it was pretty freakin’ loud). After pizza, a few brave souls headed to a casino, while the rest of us walked back to the hotel. My plan was leave around 9 so I’d be home before midnight. Yea, right. I ended up getting caught up in a great conversation with Brian, Bender and Chris and didn’t leave until around 10:15.
While Chris and I drove separately, we were heading in the same direction so we decided to stick close on the drive back. Of course, it took about 30 minutes for Chris to find his car in the parking garage and then we made a wrong turn based on bad directions given to us by a parking attendant. We finally got on the road around 11pm. We decided to take US-12 since it was the most direct route home. The heavy fog we ran into during the first part of our trip was unexpected, but overall, the trip back wasn’t bad.
When all was said and done, I came away from this event pretty fired up about Windows 7 and MEF. I actually tried installing Windows 7 on my laptop, but due to some driver-related issues, I bailed and reinstalled Vista. The features I was really anxious to use were mounting VHDs as drives, booting to VHDs and the decreased resource usage / increased performance. Hopefully when Windows 7 is fully-baked, I won’t have as many issues.
As for MEF, I’m not sure I’m as fired up today as I was leaving the event. Again, it comes down to it being an “in-progress, almost-there, kinda sorta” offering that I’m not comfortable using in a production application. Maybe I’ll re-visit it when .NET 4.0 comes out, but for now, as with Windows 7, I’ll survive without it.
Monday, January 19, 2009
#
On January 5th, Jeff called me out in his "Goals for 2009" post.
My goals for 2009 are pretty simple:
1. Keep the work coming in.
The first six months of 2008 were tough. While waiting for some contracts to come through last year, I had a really tough time finding work to fill the gaps. The last six months of 2008 were amazing and I hope to continue that success through all of 2009 and into 2010 (and further). :-) This means focusing on the business side of things and making sure I'm keeping the pipeline full *without* burning myself out.
2. Write more.
Jeff talked about posting 100 times to his blog and I think that's a great goal. I posted 69 times to my blog in 2008. I think an additional 31 posts is doable. :-)
3. Waste less energy on stuff that doesn't matter.
Basically, I'm going to try and not sweat the small stuff this year. Too many people get worked up over things that, in the end, really don't matter.
4. Continue my community involvement
This includes putting on the upcoming Ann Arbor Give Camp, supporting my "local" (within an hour) user groups by attending / speaking, attending regional technical events and more fundraising for worthy charities. :-)
5. Be healthier
This really means doing more to get off my ass during the day instead of sitting behind my computer for 12+.
Technorati Tags:
goals,
2009
Wednesday, January 14, 2009
#
Sarah's pictures
Dave's pictures
Jeff's pictures
Alan's pictures
Codemash 2009 marked my 1-year anniversary of really being out in the community. Last March, I wrote a post titled "See what happens when geeks socialize?" that described my evolution in the community. I have come so much farther and made so many new friends and connections since that post that Codemash 2009 was more of a family reunion for me than anything else.
On Tuesday the 6th, exactly a week after my surgery, I hopped in a car with Jason Farrell and Chris Roland to make the 2 1/2 hour drive to The Kalahari. My plan was to get there in time for a 7pm meeting with the heartland evangelists (Brian, Jeff and Jennifer)
and then hang out with my friends before the Precompiler event on Wednesday. Since I'm helping to plan a couple major events in the region this year, the influencer meeting was informative, and it was great to see and talk to everyone. We did have a scare when we found out that the car Leon was driving (passengers were DaveD and Dan) went off the road. After a few hours in the hospital making sure everyone was ok, they finally arrived at the hotel around midnight.
Chris roomed with me Tuesday night, so after all the festivities, we ended up talking until after 3am. Good stuff.
Wednesday's Precompiler event was really cool. I started out in Joe O'Brien and Jim Weirich's Ruby session. I absolutely loved the approach they took. Essentially, we were given a set of failing unit tests and had to fix them. After getting through a few of the exercises, I bailed so I could wander around and see what else was going on. After lunch, I
ended up bouncing between the "codejam" session and Leon's TDD session. :-) During the TDD session, I ended up working a bit with Mike Wood. I also jumped into a conversation
Leon was having with a couple "students" and the next thing I know, it was just me and the 2 attendees. Leon later said that he could see I had things under control and he was more than happy to move on and help others.
At one point, a few of us (James, Nate, Mike, Corey and Jay) from ##twittertribe sat down for some hacking on a project. I'm not sure where the project will go, or if anyone will continue to work on it, but it was cool to sit down and talk through things with those guys. We hung out later in the bar and talked about all sorts of stuff....basically an extension of what we talk about every day in IRC. :-)
Wednesday night was a bit crazy. Not only did a lot of my friends show up, but my family also arrived. While my family got settled in and hit the water park, a bunch of started...umm....consuming adult beverages. After a few hours hanging out with Alan and some other friends in Alan's room, I hit the SRT party and then headed back to Alan's room to chill out before finally making it back to my suite around 3am. It was great talking to everyone, including the guy that I credit for starting it all: Dustin. :-)
Thursday saw the start of the event as well as the opening circle for the open spaces event. I spent most of my time hanging out and talking to friends. For some reason, I wasn't as excited about the open spaces as I hoped. Right after the opening circle, I had breakfast with Alan, Jeff and Sara Ford (name drop!). Overall, Thursday was about talking to friends and reconnecting.
Thursday night was spent "adult beverage free" at the vendor party and then back in Alan's room for some excellent conversation and music. I love listening to both Alan and Corey sing and both did their share. :-)
Friday I sat in a great open space about community. I was surprised by how many people consider the community to be "user groups". I called BS on this pretty quickly and tried to steer the discussion to things other than user groups. We talked a bit about Give Camps and impromtu discussions via skype/irc and IM. Skype and IRC have become my lifelines over the past few months.
After that, I attended a lunch with the evangelists, a bunch of community members (my friends) and the head of DP&E in the US (Mark Hindsbo - does he seriously not have a blog?). It ended up being, IMO, a pretty interesting and productive discussion.
The closing circle for open spaces was....well.....different. Alan structured things a bit different from DevLink so in order to talk,
you had to have the "talking stick"...well, in our case, it was Sarah's code monkey, but still, you get the point. The giveaways were cool, but I didn't win anything, so not much to say about it. :-)
Friday night was once again spent with friends, hanging out and talking about a variety of topics. I met Chris Smith and had a cool discussion about F# before Corey started playing Neil Young. :-) At that point, all conversations are done for me.
We finally got home around 3pm on Saturday.
I had a hell of a good time and want to thank all the organizers and sponsors of the event. Codemash continues to get better with each passing year. I've already got the dates for Codemash 2010 on my calendar!
Technorati Tags:
codemash
1. Top N lists.
2. Stupid people.
3. Expert Sex Change
4. Everyone is an expert
5. Spam
6. Stupid people
7. Repetition
8. Not enough free porn
9. People that get pissed off over silly stuff
Technorati Tags:
top 10 list
Saturday, January 03, 2009
#
I was going to write my standard end of the year wrap-up post, but given some recent events, I want to look forward rather than back. Of course, after saying that, I do want to briefly talk about the last few days of 2008. :-)
If you follow me on twitter, you saw this tweet on Sunday:
"Been at the hospital since 2:30am (ER). Was admitted around 6:30am and will be here for the next 2 days because of this http://is.gd/dRbM"
On Tuesday morning around 9:15, my gallbladder was removed by an excellent surgical team and then I spent the next 24 hours recovering. During this time, I was taken care of by a great nursing staff, including someone I graduated high school with. :-) I was discharged on Wednesday morning and then I spent New Year's Eve with my wife, kids and some friends playing games. It's been a crazy few days, but thankfully things are finally getting back to normal.
I'm really looking forward to 2009. In the short term, I'm looking forward to attending Codemash next week and seeing all my friends again. In the longer term, the latter half of 2008 has kept me extremely busy and I hope to be just as busy all of 2009. I have an upcoming announcement regarding business, but it'll probably wait until next week. I had a great time speaking last year and definitely plan to develop new topics and continue presenting at user groups and events throughout the year.
Technorati Tags:
health,
new year,
2009
Sunday, December 14, 2008
#
Due to a screwup at a domain registrar (not godaddy -- more in another post), I decided to move my blog to a new domain: http://mjeaton.net! Please let me know if you find any issues.
The old feed is hosed, but will hopefully come back when the registrar pulls their head out of their ass. :-\
new feed
Update: 12/14/2008 @ 8:01 pm (Eastern): Old feed is up.
Wednesday, December 10, 2008
#
A few weeks ago, for no other reason than I had a few minutes to spare, I decided to setup a new twitter account that would be used to report build status on one of my projects. I initially wanted to post the build status to my primary twitter account, but after mentioning it in a tweet (and receiving some negative feedback), I decided a separate account would be better. After a quick search, I found this post by Thomas Freudenberg which described exactly what I needed: a twitter build publisher for CruiseControl.NET. I did find a couple others in my search, but none as simple as 'ccnet.TwitterPublisher.plugin'.
After downloading the source, building it, copying the required assembly to my ccnet folder and adding the relevant section to my ccnet.config file, I was up and running. I realized pretty quickly that I'd need to make some changes because out of the box, the tweet contains the project name and a link back to the ccnet dashboard. Since this is tied to a client project I'm working on, all I really wanted to display was "build was successful" or "build failed". If this was for a more public project, I'd definitely leave those other pieces of information in place. I would like to add more information to the tweet, but I haven't quite figured out how to get the information I want. For example, I'd love for the tweet to include # tests run / # tests passed.
Changing the code was actually really simple and if people care, I can post my changes. :-)
My build status twitter account.
Anyway, I've found that I'm definitely more careful before commit's because the last thing I want is to see "build failed" come across on twitter. :-)
Wednesday, December 03, 2008
#
I've heard about Balsamiq Mockups, but after seeing this tweet ("FYI, Balsamiq rocks for UI mock ups. Thanks @joeybeninghove for showing it to me!") by Joel, I had to take a look.
I spent about 15 minutes using it and love it! I was in analysis paralysis last night and needed to break out of it. Basically, I created a screen that sucks - it's fugly and not intuitive at all and I needed to fix it. Instead of hacking around in Visual Studio trying to figure out what I wanted to do, I hit the Balsamiq site and very quickly laid out what I think I want the screen to be. The cool thing is that the output looks like I sketched it in pencil. :-)
I've always been a big fan of pencil and paper for initial screen design because it helps me focus. My problem with that method is that if I want to show anyone, I need to scan the paper and then email it -- this was no big deal up until my scanner died about a month ago. :-) With Balsamiq, I can quickly and easily save the design to an image file.
I plan on using over the next couple of weeks to produce some prototypes for another client.
Check it out if you get some time!
Monday, December 01, 2008
#
On Friday, November 14th, my family and I made the crazy 720 mile drive to Raleigh, North Carolina for the Code Camp. We left around 5:30am and finally arrived at our hotel around 7pm. The drive itself wasn't too bad until we hit some major fog somewhere in the southern part
of West Virginia/northern part of North Carolina.
After getting settled into our hotel, I headed to the speakers dinner where I hung out for a few hours with James, Justin, Kevin, Jayme, Dave, Nate, Derik, Dugald and many more super-smart developers.
Nate picked me up Saturday morning for the short ride to the venue. I skipped the keynote to check out the open spaces area and catch up with friends I haven't seen for awhile (Mike Neel and Corey come to mind). Since I was in the 2nd time slot of the day and Alan was giving his talking in the same room during the 1st time slot, I decided to hang out and see what he had to say about the DLR. Due to
some hardware issues, he ended up giving his talk on someone else's system, so some of the demos weren't quite ready, but overall, it was an outstanding talk. I still don't "get" what dynamic languages buy me, but I'm sure I'll figure it out at some point.
My "Introduction to Castle ActiveRecord" talk went extremely well. I had some excellent questions and it appears I inspired at least a few people to take a deeper look at Castle ActiveRecord. Since that was the final event of the year for me, I'm going to find the time to screencast the session and post it.
The open spaces turned out really well. The venue itself kinda sucked and the open spaces room required some reconfiguration, but the topics were solid and the conversations were top-notch. I was a bit bummed to see the event come to an end because we were involved in a very passionate discussion about software estimation. After the give-aways, a group of us ended up at a small irish pub for dinner and drinks. It was here that the mother of all "name drop"
events took place. ;-) Between Alan and Rachel, I think I heard more names dropped than at all other events combined. ;-)
Around 9pm, a group of us headed over to Jayme's house where we talked, played some Xbox and hung out. Good times and I really want to thank Jayme and his wife for allowing everyone to come over. Since I knew I had a long drive the next day, Nate and I bailed around midnight.
We left for home around 9:30 Sunday morning and arrived home around midnight. If I attend the next Raleigh Code Camp, I'm going to make sure I extend the trip and extra day or two so I can actually explore the area a bit. :-)
Wednesday, November 12, 2008
#
I'll be leaving Friday morning around 5am for the long drive to Raleigh. The plan is to arrive around 5 or 6 and then hang out with friends for the evening.
I'm speaking (I'll be giving my "Introduction to Castle ActiveRecord" talk) during the second time slot on Saturday and then plan on spending the rest of the time with Alan, James, Nate and OMG, I can't forget Dave, in the open spaces.
Sunday will be spent driving back home, although I may attend the Shadowcamp in the morning.
Monday, November 03, 2008
#
Maybe I've been living under a rock, but I just found out that the latest versions of NUnit support [RowTest]! Over the weekend, I was about to replace NUnit with mbUnit because I need [RowTest], but thankfully, after a bit of surfing, I found this post by David Hayden (dated December 2007). David's post described an add-in for NUnit that has since been rolled into NUnit proper.
Step 1: Download / install NUnit version 2.4.7 or newer.
Step 2: Add a reference to NUnit.framework.dll and NUnit.framework.extensions.dll.
Step 3: Add using NUnit.Framework and using NUnit.Framework.Extensions to your test class. I include SyntaxHelpers because I like using the .That(condition, Is.<foo>) syntax.
Step 4: Decorate your tests with [RowTest], add individual cases and add parameters to your test that match the data from the test cases.
[RowTest]
[Row("foo", false, true)]
[Row("", false, false)]
[Row(null, false, false)]
[Row("___-__-____", false, true)]
[Row("___-__-____", true, false)]
public void testRequiredFieldValidator(string data, bool ignoreChars, bool result)
{
var rule = new RequiredFieldValidationRule("test field");
rule.IgnoreMaskCharacters = ignoreChars;
ValidationResult temp = rule.Validate(data, CultureInfo.CurrentCulture);
Assert.That(temp.IsValid, Is.EqualTo(result));
}
Step 5: Run :-)
Notes: I did have to download the a new version of TestDriven.net, but other than that, it was a pretty simple process.