Blog Archives

Kalamazoo X in a Nutshell

This past weekend I was fortunate enough to attend my 3rd consecutive Kalamazoo X conference.  This event has gotten better every year thanks to the efforts of Mike, Mike, Matt, and Mark.  I’ve written about the conference recently so I won’t go into detail about what Kalamazoo X is.  Instead I’ll let a quote from the home page do the work for me:

The X Conference is the other half of your career; the half that makes you stand out.

Kalamazoo X has a rich history full of great speakers with interesting topics and this year was definitely no exception.  As with years past I took quite a few notes, the highlights of which I’d like to capture here and share for you to ponder.  As you read through them I think you’ll find some of the recurring themes begin to fall out naturally.

Read the rest of this entry

Kalamazoo X Conference 2012

I don’t get to as many conferences as I’d like to during the year.  I have yet to go to Code Mash, I missed out on Code PaLOUsa, and I envy everyone tweeting from VSLive (especially since Aria is a great place), but one conference I always make sure to attend is Kalamazoo X.  I’ve attended this conference for the past two years and didn’t hesitate when I was invited to take advantage of early bird registration for this year’s event.  It’s a four-hour drive from Indianapolis but it’s always well worth the trip.

I’ve mentioned this before but Kalamazoo X isn’t like other developer conferences.  Instead of focusing on the latest frameworks and toys, Kalamazoo X looks at things like communication skills, process improvement, and design.  I generally view it as a personal and career development conference for geeks.

The organizers have traditionally done a great job pulling this event together.  With speakers including Leon Gersing, Jeff Blankenburg, Tim Wingfield, and Joe O’Brien this year should be no exception.

Kalamazoo X is on April 21 from 8:00 AM – 5:30 PM at Kalamazoo Valley Community College (check the conference site for full logistics).  If you’re free that day I highly recommend registering.  It’ll likely cost you less than seeing a movie but the lessons will last for years to come.  You won’t be disappointed.

KalamazooX 2011 Recap

I attended the 2011 Kalamazoo X conference in Kalamazoo, MI on April 30, 2011.  There were no family emergencies this year which was great because this year’s event was even better than last year’s!  I’d like to extend another huge “THANK YOU” to the organizers and speakers for making it happen again.

For those unfamiliar with the Kalamazoo X conference it’s not your typical software development conference.  While most software development conferences focus on technical skills, Kalamazoo X focuses on the often forgotten soft skills.  Also unlike other software development conferences Kalamazoo X only has one track of consisting of highly focused 30 minute sessions.  This format is perfect for my limited attention span.  I feel less tired after this conference than I typically do with others of similar length despite being bombed with a steady flow of information.

Read the rest of this entry

My Day of Agile

On March 26th I attended the Cincinnati Day of Agile conference.  It was nine hours and three tracks of talks and discussions about using Agile practices to build software.  The first track focused on introducing Agile concepts and techniques while track two was more about “soft” skills and getting the most out of Agile.  Track three was mostly an open space type track.  Despite still being a relative n00b to Agile I spent my day bouncing between tracks two and three.  What follows are my notes and thoughts from the sessions I attended.

Read the rest of this entry

My IndyTechFest Experience

This past Saturday I, along with 400+ developers, admins, and DBAs attended IndyTechFest.  It was a long, intense day of sessions covering topics such as WPF, Silverlight, SQL Server, C#, VB, Testing, and Windows Phone 7.  I’ve had a few days to digest what I heard and wanted highlight some things from each of the sessions I attended.

This year’s conference was split into seven tracks each with five sessions and an all-day open space.  All of the tracks had at least one topic I was interested in and many time slots had conflicts but ultimately I stayed within the general .NET and Silverlight tracks.  My schedule for the day was:

  • Keynote: Are My Three Screens Cloudy?
  • WPF for Developers
  • Implementing MVVM for WPF
  • The State of Data Services: Open Data for the Open Web
  • C# Tips and Tricks
  • Silverlight Code Survey

For the most part I found value in each of the sessions I attended.  Thanks go out to the sponsors, organizers, and volunteers that made this event possible.

Keynote: Are My Three Screens Cloudy?

Presented By: Jesse Liberty

In many ways Jesse Liberty’s keynote was the highlight of the day.  I think my #1 takeaway for the day is that Jesse Liberty is awesome!  In the keynote Jesse briefly described his position within Microsoft, how he got there, and gave a quick history on the evolution of Silverlight.  He went on to describe what Microsoft sees as the “three screens” (computer, TV, and phone) and how Silverlight is the technology that will bring the three screens together through Windows, XBox360, and Windows Phone 7.

WPF For Developers

Presented By: Phil Japikse

This was the first of two Windows Presentation Foundation (WPF) sessions from Phil Japikse.  In this session Phil gave a good introduction to WPF for the non-initiated (like me).  He started by defining WPF, describing the advantages and disadvantages of WPF to WinForms, and discussing new features in .NET 4.0.  The majority of the session was demonstrating some of the more common features.

Some highlights:

  • Creating custom spell-check dictionaries with .lex files
  • Panels dock in XAML order
  • Controls tab in XAML order by default
  • INotifyPropertyChanged interface
  • INotifyCollectionChanged interface

The presentation and example code are both available on Phil’s Samples and Presentations page.

Implementing MVVM for WPF

Presented By: Phil Japikse

Expanding upon his first WPF session, Phil discussed how to implement the Model-View-ViewModel (MVVM) pattern in WPF.  This session was almost entirely demo showing the classes that represent each part of the pattern and how they interact.

The presentation and example code are both available on Phil’s Samples and Presentations page.

Additional Resources:

The State of Data Services: Open Data for the Open Web

Presented By: Dan Rigsby

Dan Rigsby gave a great introduction to OData, a protocol developed by Microsoft to facilitate data interchange between systems using existing Web technologies.  He started by describing REST and Atom/Pub, two technologies that make OData possible then went on to show OData in action.

REST (http://en.wikipedia.org/wiki/Representational_State_Transfer)

  • Embrace the URI
  • HTTP Verbs (GET, POST, etc…) translate to methods
  • Content-Type defines the object model
  • Status code is the result

Atom/Pub (http://atompub.org/)

  • Standards based XML syndication format for publishing and editing web resources
  • Preserves metadata
  • Provides constructs

OData (http://www.odata.org/)

  • “Open” Data
  • Formerly known “Astoria” and ADO.NET Data Services
  • Open protocol
  • WCF Data Services is Microsoft’s provider for creating and consuming OData
  • Netflix provides an OData interface to its video library

C# Tips and Tricks

Presented By: Mark Strawmyer

With all due respect to Mr. Strawmyer I was incredibly disappointed by this session.  The IndyTechFest program had this to say about the session:

This C# presentation focuses on tips and tricks for the C# developer.  It contains a mixture of C# specific features along with other handy how-to items such as shortcuts for working with the C# IDE that will make you more productive.

This session did not fit the description.  I understand the the previous session was a C# 4.0 overview and there was a strong desire to avoid duplication of information but only two of the tips/tricks mentioned were actually specific to C# and one of those was a C# 4.0 feature!

For the curious, the tips and tricks discussed were:

  • Optional & named parameters
  • Extension methods
  • ObsoleteAttribute
  • GC.Collect()
  • using keyword
  • Parallel extensions
  • Utilities

I really question offering up GC.Collect() as a tip, especially when it was provided with the caveat “you can do this but don’t.”  Is letting people know something is possible really a tip if it shouldn’t be done or is not doing it the tip?

To me, a C# tips and tricks presentation should include things such as lesser known/used operators, XML documentation & IntelliSense, compiler options, automatic properties, etc…

Silverlight Code Survey

Presented By: Jesse Liberty

This session was originally going to be “Application Development with Silverlight 4″ but after some feedback from the morning’s keynote and the overlap with the MVVM session it was changed.  In this session Jesse did a quick run-through of creating a new Silverlight application, showing some basic data binding, and some basic animation.  Most of the demonstration is available on the Learn page of Silverlight.net.  Nevertheless, I wasn’t about to miss the opportunity to listen to Jesse present again.

In the Hallway

As with just about any conference lots of interesting things happen in the hallway between sessions.  I’ll sheepishly admit that I didn’t use this time as well as I could (should?) have but I really did enjoy playing with the Windows Phone 7 demo application at the Microsoft booth.  I was even clever enough to crash the app by clicking the emulator’s home button while a dialog box was open :)

KalamazooX Recap

The KalamazooX conference was held on Saturday, April 10.  It lived up to the expectations set by all of the positive comments I’ve seen and heard about last year’s event.   This year’s event consisted of eleven sessions that lasted approximately 30 minutes each.  The sessions all focused on soft rather than technical skills.  It really was worth the trip.

Be a Better Developer

Presented By: Mike Wood

A few days before the conference I read through Mike’s blog posts about this subject and was looking forward to hearing him present the abbreviated version.  I highly recommend reading through the full series.

Key Points

  • Don’t be a code monkey
    • Code monkey’s are expendible minions
    • Stand out from the crowd
    • Thinking about programming can’t stop at 5:01 PM

If all your learning happens on the job, all you learn is the job.

  • “Shift” happens
    • Learn to deal with change
    • Keep up with changes in the field
    • “Steal” time to learn
      • Listen to podcasts during a commute
      • Study over lunch
    • Find a mentor
  • Be a salesman
    • Need to sell yourself and ideas
    • Don’t be a sleazy salesman

Additional Resources

Why Testing is Important

Presented By: Phil Japikse
As I mentioned in a previous post, Phil recently spoke about Behavior Driven Development (BDD) at the March IndyNDA meeting.  This session touched a bit on BDD but only briefly.

“If you don’t test, your customers will.”

Key Points

  • Unit Testing
    • Testing individual blocks leads to better certainty that the system as a whole will work
    • Helps close the developer/requirements mismatch by becoming a rapid feedback loop
    • Helps improve team trust through collective ownership
    • Provides a safety net for change
    • Helps with estimation by identifying points of impact
  • Test Driven Development
    • Less code – only develop enough to satisfy requirements
    • Higher code coverage – tests are written up front rather than never due to schedule constraints
    • Cleaner design – code is written in small increments

Women in Technology: Why You Should Care and How You Can Help

Presented By: Jennifer Marsman

Although Jennifer’s talk was focused on attracting women to technology and keeping them there she started off with a general discussion about diversity.  What I really appreciated about this portion of her talk was how she made a point to show that diversity doesn’t need to be restricted to race and that a group of white males from differing backgrounds counts as diversity as well.

Key Points

  • Two Problems
    • Recruiting
      • No interest
    • Retention
      • Reasons women leave the field
        • Lack of role models
        • Lack of mentors and career coaching
        • Sexual Harassment
  • Addressing Recruiting
    • Need to get them interested in the first place
      • Encourage daughters
      • Leverage obsessions
        • Wouldn’t it be cool to build facebook?
  • Addressing Retention
    • Understand that men can be mentors for women
    • Connect women to each other
    • Have women speak at conferences
      • Avoid having a “token” woman for PC reasons
    • Understand that harassement does exist
      • Often not blatantly but as the summation of many little things
      • Realize that men worry about it too

Additional Resources

What Tools Should Be In Your Workshop

Presented By: Tim Wingfield

I sat in on Tim’s Care About Your Craft talk at IndyCodeCamp last year and was happy to see him speaking at KalamazooX.  In this session Tim lists a number of tools that he believes should be in every developer’s toolbox.  He challenged everyone to start using some of these tools.  Lucky for me, my dev team and I already use many of them.

Tools For The Team

  • Whiteboard/Giant 3M Post-it sheets
  • IM/Twitter
  • Wiki
  • Issue/Change Tracking software
  • Source Control
    • Subversion
    • git
  • Build Server
    • Cruise Control
    • Team City
    • Hudson

Tools For The Individual

  • Text Editor
    • Notepad++
    • TextMate
    • vi/vim/emacs
  • Command Shell
  • Scripting Language
    • Python
    • Ruby
    • perl
  • Your Brain
    • Care about your craft
    • Think about what you’re doing
    • Read often
    • Do critical analysis

Additional Resources

Stone Soup, or a Culture of Change

Presented By: James Bender

James focused on being a change agent in your organization.  Large, sweeping changes are scary but by changing things incrementally we can often get to the large change with less disruption.

“Change where you work or change where you work.”

Stone Soup

  1. Find low-hanging fruit
    • Unit Testing
    • Refactoring toward SOLID
    • Abstraction
    • Agile practices
  2. Make small but meaningful changes
  3. Support and simmer
    • People need time and help to adjust
    • As results are noticed future changes will be met with less resistence

Tips

  • Don’t judge
  • Know your tools
  • Only introduce changes you believe in
  • Add value
  • Know when to stop
  • Evangelize about the changes
  • Build a network of like-minded people
  • Realize it may be difficult to reach everyone
  • When all else fails, try bribery
  • Be patient

Treating the Community Like a Pile of Crap Makes it Stronger

Presented By: Brian H. Prince

As odd as the session title sounds Brian’s talk was one of the most engaging sessions of the day.  In his talk he compared the development community with working with a compost or manure pile.  Over time, the top layers get crusty and the pile needs to be turned to keep it fresh.  The same holds true for communities.

Brian observed that community leaders tend to get burned-out after around 2-3 years.  Once the burn-out sets in many leaders stop participating and there’s often no one to take their place.  Community leaders need to plan for their succession.  They need to discover, engage, and groom the next generation of leaders to get them involved and keep the community alive.

Churn the pile of crap to attract new flies and keep the pile fresh or watch it dry up and disappear.

Agile+UX: The Great Convergence of User Centered Design and Iterative Development

Presented By: John Hwang

I didn’t take many notes from this session.  As interesting as the topic was it moved really quickly and to me it seemed to really be trying to compress way too much information into such a short time-span.  I might be interested in hearing more about this in a more expanded time slot but it didn’t really seem right for KalamazooX.

Toward the end of this session I received the first of several phone calls regarding a family emergency (more on that later) so I was a bit distracted.

How to Work Effectively with a Designer/ How to Work Effectively with a Developer

Presented By: Amelia Marschall & Jeff McWherter

Amelia and Jeff discussed overcoming some of the difficulties that are often encountered when developers and designers need to work together on a project.  I didn’t get many notes from this session either due to the aforementioned family emergency but I still managed a few. 

Key Points

  • Know each other’s abilities
    • All designers and developers are not created equal
      • Some designers know CSS and HTML, some don’t
      • Some developers are decent designers, others aren’t
  • Set boundaries
  • Set a workflow
  • Create code that a designer can read
  • Create designs a developer can implement
  • Do things to make the other person’s life easier
    • Educate each other
    • Ask questions

Additional Resources

Does Your Code Tell a Story?

Presented By: Alan Stevens

This was the last session I was able to attend.  After travelling eight hours one-way from Knoxville, TN (wow!) to present for a whopping 30 minutes Alan understandably requested that attendees to put away all of their electronic devices.  This was the first time I’d heard him speak and I’m truly glad I was able to stay for this one.  It was one of the highlights of the day.

There’s a big difference between having 10 years of experience and having 1 year of experience 10 times.

Key Points

  • Beauty is the ultimate defense against complexity
  • Read alot, write alot
  • Beauty is the ultimate defense against complexity
  • Write shitty first drafts
  • Beauty is the ultimate defense against complexity

Missed Sessions

During the Agile+UX session I received a call from my mother.  When she left a voicemail I knew something was wrong.  My wife had either broken or dislocated her ankle getting out of the car and was in an incredible amount of pain, and being taken by ambulance to Bronson Methodist Hospital in Kalamazoo.  I had to leave the conference early and as a result I missed the final two sessions.

  • Unwritten Rules of Resumes
  • Have You Hugged Your Brand Today?

I was sorry to have to leave early and my apologies to the speakers but family emergencies take priority.  When I got to the hospital the nurses were taking X-Rays of her ankle.  Amazingly her ankle was not broken but she really had dislocated the ankle bones and had to undergo conscious sedation to put them back in place.  The procedure was successful so no surgery was required.  She’ll be wearing a partial plaster splint for a few weeks.

The ER staff at Bronson was great.  Everyone we worked with was very attentive and did everything they could to make sure that my wife was as comfortable as she could be.  Should we ever be in need of medical services while in Kalamazoo I know where I’ll be looking.

Luckily she wasn’t carrying our 5 month old at the time and both my mom and aunt were there to help her.  We both appreciate their help.

For the curious, I snapped a picture of the ankle before the procedure.

Change Log 

4/12/2010

After sleeping a few hours and driving to work I remembered two things I had intended to include.  I added a paraphrased quote to the notes for both Mike Woods’ and Alan Stevens’ sessions.  I also promoted a quote from Phil Japikse’s session from being a bullet point.

Kalamazoo X Sessions

The organizers of the Kalamazoo X Conference recently posted the session and speaker list.  All of the sessions sound interesting but the ones that have really grabbed my interest are:

I’ve previously attended two of Mike Wood’s presentations (one at Indy Code Camp and an nPlus1 event in Indianapolis) and really get a lot from them.  He has posted a series of articles about being a better developer that I admittedly haven’t read yet but will probably do so before April 10th.

I was also fortunate enough to hear Phil Japikse speak about Behavior Driven Development at the March IndyNDA meeting.  He shared tons of great information about methodologies and tools and I’m really looking forward to hearing more of his thoughts on testing.

I was really excited about this conference based on what I’d heard about last year’s event.  After seeing the session list I’m glad I registered.

IndyTechFest

Last year I made the mistake of missing IndyTechFest.  That’s not a mistake I care to repeat and one I certainly will not be making this year since my registration is already confirmed.

This year’s event includes forty sessions broken out into seven tracks.  The sessions are of interest to developers, architects, and DBAs and include topics such as Silverlight, WPF, Visual Studio, Windows and SQL Azure, Windows Phone 7 Series, Database Maintenance, SharePoint, Iron Ruby, and many, many more.  The list of speakers is equally impressive and is topped off with a keynote from Jesse Liberty, a Developer Community Program Manager for Silverlight.

Registration is limited to 500 attendees and with more than 400 spaces already spoken for time is running out!

I hope to see you there.

Kalamazoo X Conference

This past weekend I learned of the upcoming Kalamazoo X Conference, a one day conference in Kalamazoo, MI.  Instead of focusing on individual technologies or languages this conference places emphasis on “softer” skills such as communication, interface and graphic design, development processes, and architectural concerns.

According to the conference web site the conference will be held on April 10, 2010 but registration is not yet open and the venue hasn’t been announced.

I think it sounds like a great excuse to take Nadia up to visit her grandparents.  Anyone want to meet up?

More Information:

Conference Web Site: http://kalamazoox.org
Twitter: @kalamazoox

Follow

Get every new post delivered to your Inbox.

Join 628 other followers

%d bloggers like this: