# Tuesday, February 5, 2013
Tuesday, February 5, 2013 3:12:23 PM (GMT Standard Time, UTC+00:00)
# Monday, January 28, 2013
Monday, January 28, 2013 3:40:30 PM (GMT Standard Time, UTC+00:00)
Monday, January 28, 2013 3:13:00 PM (GMT Standard Time, UTC+00:00)
# Thursday, January 24, 2013

2012 was a busy year for me.

I did well at my day job as a consultant for Sogeti. At the beginning of 2012 I was promoted to Senior Manager consultant. Of course, that title means nothing to you, but there are only a few of us in Michigan, so we are basically responsible for leadership in the unit. I think my biggest accomplishment in this role was to improve our counselor program, encouraging senior consultants to serve as mentors to more junior consultants.

I also completed a number of successful projects for a string of Sogeti customers. Along the way, I learned more about Windows Azure, SQL Server Reporting Services, Identity Management, and cascading style sheets.

I continued my active role in the developer community.

Although I didn't seek re-election as an officer of The Great Lakes Area .NET User Group (GANG), I remain involved in the group and focused much of my time on recruiting speakers. Seth Juarez, Sarah Dutkiewicz, Phil Japikse, Kathleen Dollard, Steve Smith, Gael Fraiteur, Mike Wood, Randy Pagels, Jason Follas, Jimmy Bogard, and Ted Neward all spoke at GANG during 2012 - an impressive list by any measure. As a bonus, we held an extra meeting in October at which Richard Campbell and Carl Franklin interviewed Jeff Wilcox for an episode of The Tablet Show, which you can hear at http://thetabletshow.com/?ShowNum=55.

Early in the year, I organized the first Detroit Day of Azure, an event that featured 14 outstanding speakers from 7 different states. The conference sold out and the feedback was positive. You can watch many of the presentations at http://detroitdayofazure.com/.

I continued to do a lot of public speaking in 2012, delivering about 30 public presentations during the year. I spoke at 15 conferences, 6 user group meetings, and a couple companies during the year. The most challenging event was the Tampa Code Camp, where I delivered 5(!) different presentations in a single day. The high point of my 2012 speaking came at Tech Ed North America, where I won the Speaker Idol competition. As a result of winning this contest, I was invited to speak at the 2013 Tech Ed conference in New Orleans this June. I was able to attend a lot of conferences in 2012 thanks to the Support of Telerik. As a member of the Telerik Insiders program, they sponsor my travel and I help to promote their products and company at the events where I speak.

I taught an Azure Kick Start for Microsoft in March.

At the beginning of the year, I accepted an invitation to join the INETA Board of Directors and in March, I was elected INETA Treasurer. INETA is an organization that supports .NET User Groups around the world. My primary role is promoting the Champions program, which recognizes people who contribute their time to help the developer community.

At the end of the year, I volunteered to help Dave McKinnon organize 1DevDay Detroit, an ambitious conference held at Cobo Hall in downtown Detroit. We sold 600 tickets to this event and I was honored when Dave asked me to serve as Master of Ceremonies.

I continued producing episodes of Technology and Friends and I think the show has improved with time. I'm proud to say I was able to publish at least one episode every week of 2012. Hopefully, I can keep this streak alive during 2013. As of the end of 2012, I had release 246 episodes.

In November, I won the first annual Compiler Award, which was created by the current GANG officers. They presented me with an engraved trophy and I was surprised and grateful to receive it.

I had a lot of success this past year, but I also received a lot of help. The user group volunteers kept GANG going strong and many of them helped run the Day of Azure. When I whined on Twitter that I was stressed about teaching the Azurei Kick Start, Dennis Burton volunteered to teach two of the modules – a huge relief for me. I facilitated an Azure “Birds of a Feather” session at Tech Ed and I was fortunate to have experienced Azure developer Mihai Tataran to co-present and answer all the hard questions. When running the INETA Champs program, I enlisted the help of Dave Noderer and Mark Rosenbert, who are connected to the developer community outside my local region. It’s largely because of the help I receive that I’ve been so willing to give my time to others.

As I look back on 2012, I'm proud of the things that I accomplished, but I realize that I focused a disproportionate amount of my time on work.

There were reasons for this: My two sons are getting older (18 and 21) and have become independent and I have no intention of stifling that independence; also a long-term romantic relationship ended suddenly and unexpectedly (for me, anyway) at the end of 2011.

I did spend many weekends this past spring and summer traveling the country with my son and his basketball team. The summer season ended at a tournament in Las Vegas, NV.

Both my sons are preparing to graduate in the next few months – one from high school and one from college. Tim has been accepted to 4 different colleges, but has not yet decided on his destination. Nick will complete a business degree this summer and plans to launch a career coaching college basketball. He is currently the Freshman basketball coach at Okemos High School.

Bu my time commitments were different this year than they have been the past few years, so I put my time and energy toward achieving my goals and I tried to accomplish as much as I could.

In 2013, I plan to have a bit more balance in my life. And a bit more sleep.

Thursday, January 24, 2013 3:12:00 PM (GMT Standard Time, UTC+00:00)

Here are the slides and demos from my How I Learned to Stop Worrying and Love jQuery presentation at the 2013 CodeMash conference.

Demos and Slides

Thursday, January 24, 2013 2:07:42 AM (GMT Standard Time, UTC+00:00)
# Tuesday, January 22, 2013

This past weekend, I rebuilt my laptop. I decided to reformat my hard drive so I could get a clean start from all the mess left behind installing and uninstalling software. I like to do this about once a year to keep my PC fresh.

I spent a little time preparing for this radical move because I wanted it to go smoothly and I did not want to lose any data.

The first thing I did was to make sure I had a Windows install disc and a valid license key. I have an MSDN subscription, so for me this meant downloading the ISO, burning a DVD and retrieving a license key from MSDN. For you, this might mean digging out the original install disc that came with your PC or buying a copy of Windows. However you obtain your Windows disc, do yourself a favor and pop the disc into the drive on your computer and verify that it can be read. If this is your only computer, it may be tough to get a new disc after you start the rebuilding process.

The next step before starting the rebuild is to take an inventory of the current state of your computer.

  1. Make a list of the files on your hard drive that you want to save.
  2. Document the settings of your favourite apps.
  3. Make a list of the applications you want to keep.

Files to Save

If you already have a comprehensive backup strategy for your computer, you can skip this step. But my experience is that most people lack such a strategy.

You won't get another chance at this, so make sure you find all those critical files that you don't want to lose. Look through Windows Explorer and make a list of the folders to back up and any files in odd folders. Open your favourite application and check the "Recent File" list. Most of my really important documents are in Dropbox, so they are automatically synced to other computers, so I don't need to explicitly back these up. My list looked like the following:

  • My Videos
  • My Music
  • My documents
  • C:\Install
  • C:\Development
  • C:\Utilities
  • search for *.PST files (1.5GB)

I do a pretty good job of keeping my work in some clearly-defined folders. But, Outlook has a tendency to create PST files wherever it wants without asking me, so those tend to be in cryptic locations. Before I began my rebuild, I copied these folders to an external hard drive.

Document Settings

I always have trouble remembering server names and other account settings for the e-mail accounts in Microsoft Outlook, so I write these down before I begin wiping my computer clean. It's a good idea to check out the settings and preferences of all your favourite applications and document anything that you might have trouble remembering. Sometimes these settings are saved to a file that can be easily backed up. Are there any passwords that your computer is caching for you? You will need to re-type these after your rebuild, so make sure you can remember them all. If you are the type to save web page bookmarks, open the bookmarks folder and save this file.

Apps to Install

I always make a list of apps to re-install. The list consists only of apps that I am currently using. Over the last 12 months, I've installed a lot of crapware and this is a chance to rid myself of these programs in one fell swoop. Look at your Start Menu and Taskbar; Check out the services that Start automatically; and take a look through Windows Explorer. List the programs that you use frequently. Do you have the install bits? Is it time to download a fresh copy?

My list looked like the one below

  • PowerIso
  • Visual Studio (2008, 10, 12)
  • Office 2010
  • SQL Server 2008R2, 2012
  • Filezilla
  • Spotify
  • Browsers (Chrome, Firefox, Opera)
  • Tweetdeck
  • Dropbox
  • Fiddler
  • Pluralsight Offline Player
  • Camtasia Studio
  • Live Writer
  • Tweetdeck

I use other applications, but I could wait until I need them before installing them.

Some of these apps (e.g., MS Office) have large installation files that are only updated every few years. I will generally keep a copy of these installation files on an external hard drive. Others are smaller and updated frequently and it is generally better to download the latest version when you are ready to install the app. A few years ago, I purchased and downloaded some video editing software from an online vendor. When I lost the installation files, the vendor would not allow me to download a second copy. It is for this reason that I now save such files in an "Install" folder.


When you are done installing Windows, it becomes a simple thing to copy back your files to the original location and to re-install your applications. I almost always get an immediate performance both from rebuilding my laptop; and a little planning can reduce the stress of this project.

Tuesday, January 22, 2013 3:11:00 PM (GMT Standard Time, UTC+00:00)
# Monday, January 21, 2013
Monday, January 21, 2013 9:46:28 PM (GMT Standard Time, UTC+00:00)
# Saturday, January 19, 2013

CodeMash 2013 is in the books. A record 1500 people attended this conference and many (including me) left with their brains and bellies full.

This community event has swelled to 1500 attendees - almost the size of many commercial conferences that charge many times the $280 price tag. It also attracts many of the same speakers as these larger and more expensive events.

As a result, you get to hear great presentations from top technical people; and a chance to interact with these speakers, asking technical questions of industry experts and finding out how they are applying technology on their projects.

Attendees had their choice of about 200 presentations on a wide range of topics. Presentations covered development platforms, such as .NET, Java, Ruby, JavaScript, and Scala; as well as development concepts such as Testing, Agile methodologies, Application Lifecycle Management, and User Experience.

CodeMash also included an area for open spaces. In these sessions, the attendees picked a topic and discussed it as a group, rather than listening to a lecturer. I found these to be better suited to my learning style because I could ask specific questions of the most knowledgeable people and draw on the experiences of more than one person in the session.

In addition, CodeMash offered a few things I did not take advantage of:

  • Coding Dojos allowed users to get hands-on experience practicing their coding skills by solving defined algorithms.
  • KidzMash was a mini-conference aimed at teaching software to children. (The waterpark makes this an ideal conference to bring your family to)
  • At the Thursday evening Jam Session, musicians could bring their instrument and play together.
  • Carl Franklin and Richard Campbell recorded an episode of their popular .NET Rocks podcast in front of a live audience.
  • Customer obligations kept me from much of the "Pre-Compiler" sessions. These are half-day sessions that either dive in-depth to a topic or provide attendees a chance to try out a set of technologies and skills as they learn them. In particular, I would have like to attend the speaker workshop, because I'm hoping to organize something similar in Michigan.

Here are a few things I learned at CodeMash

  • I learned a new technique for redirecting old links when migrating a web site. This is important for Search Engine Optimization.
  • I learned the difference between JavaScript and CoffeeScript.
  • I learned the strengths and weaknesses of Backbone.js and Knockout.js. (Backbone is better at interacting with server data; Knockout is better at automatically updating visual elements in response to model changes)
  • I saw examples of how to build robotics using Arduino and Netduino microcontrollers.
  • I learned the advantages of using KendoUI controls and learned the basics of adding them to a web site.

CodeMash takes place at the Kalahari Conference Center in Sandusky, OH - a venue most famous for housing "America's Largest Indoor Waterpark". Conference activities always keep me occupied during the hours that the water park is open; fortunately, the CodeMash organizers negotiated one evening when the park re-opened for a few hours for the conference attendees.

This was my 6th consecutive year attending CodeMash (of the 7 total). For the second consecutive year, I was honored to be selected to speak at CodeMash. My presentation was titled "How I Learned to Stop Worrying and Love jQuery" and focused on how jQuery made client-side JavaScript coding much easier.


Saturday, January 19, 2013 8:12:09 PM (GMT Standard Time, UTC+00:00)
# Wednesday, January 16, 2013
Wednesday, January 16, 2013 4:57:00 AM (GMT Standard Time, UTC+00:00)
# Tuesday, January 8, 2013
Tuesday, January 8, 2013 4:51:00 AM (GMT Standard Time, UTC+00:00)