# Wednesday, June 30, 2010
Wednesday, June 30, 2010 10:58:30 PM (GMT Daylight Time, UTC+01:00)
# Monday, June 28, 2010

Mike Neel does an amazing job with Codestock. Two years ago, he (along with Alan Stevens) introduced open spaces to the heartland; Last year, he wrote an application that allowed attendees to vote on their favorite sessions; and this year, he held the keynote in an classic movie theater and invited Rachel Appel to talk about community and bring onstage others to give their views of community.

Two days after Codestock (and a day after a 9-hour drive home from Knoxville, TN), I’m still processing the information learned.

I delivered two presentations and hosted a discussion panel. My first presentation – Writing Your First ASP.Net MVC Application – was well-received. I love showing people how accessible a hot technology like MVC is. In the afternoon, I gave a 2-hour presentation on An Introduction to Relational Database and T-SQL. I had no slides: I spent most of the talk showing examples of writing T-SQL code to modify schemas and data. I wasn’t sure if anyone would be interested in this topic, but I heard some positive feedback. Many in the audience were experienced C# developers, who knew very little about the data they were accessing; and there were a couple experienced people who listened to get ideas on teaching this topic to others.

Because I had 4 hours of material to present, I spent most of Day 1, delivering or preparing my presentations. As a result, I was unable to observe much of the conference on Friday. My evening was free, so I was able to enjoy a nice dinner with about 20 folks from the community, watch the keynote, and hang out in the hotel lobby talking with developers from all across the US and Europe. I also sneaked in the filming of a couple episodes of Technology and Friends.

Saturday, my only responsibility was hosting a Panel Discussion – How to Put on a Great Conference. I did one really smart thing: I invited some really smart people to be on the panel. Because of this, I had to do very little during the discussion. I would ask an open-ended question, such as “What is the first thing you need to think about when planning a conference” and the conversation flowed with many great ideas exchanged. (The most popular answers to this question were venue, date and goals).  Jamie Wright made a video recording of this session and I plan to release it soon as an episode of Technology And Friends.

I was able to watch a few sessions on Saturday.

Chris Woodruff asked me to film the premiere of a new talk he created called “Embracing Failure”. Chris emphasizes that we should examine our shortcomings, accept responsibility for them and use them to improve ourselves.

Patrick Foley gave a presentation on becoming and independent software vendor (ISV). Patrick suggests that you don't try to tackle every feature on every platform: Instead, start by focusing on one platform and do something better than everyone else.

In Nathan Blevins’s Mindstorming presentation, he showed off programs that controlled a car, making it drive, turn and automatically avoid falling off a ledge.

Saturday evening included a dinner sponsored by Telerik (Thanks Rob and Sasha) and a trip to Alan Stevens’s house for an evening of ping pong, cigars and fellowship.

During my time in Knoxville, I also spent a lot of time picking the brains of other attendees and speakers. I met a lot of intelligent and passionate people at this conference.  I was late for dinner every night because I found myself engaged in a conversation with someone about error handling or MVC view engines or search engine optimization or one of  dozens of other topics. Often I turned on the camera when I realized how much information I was getting from a conversation, so many of these talks will be available on future shows.

As with most conferences, it was the people that made this one. Codestock attracts many of the same people that attend local events in Michigan and Ohio. But it also draws people from New York, Philadelphia, Atlanta, Alabama, and many other parts of the country. There were even people from Manitoba, Canada and from the United Kingdom.

I’m already looking forward to my next trip to Tennessee (DevLink in Nashville in August) and my trip to Codestock next year. Let me know if you will be there.


More photos from Codestock

Monday, June 28, 2010 6:26:38 PM (GMT Daylight Time, UTC+01:00)
Monday, June 28, 2010 11:35:26 AM (GMT Daylight Time, UTC+01:00)
# Wednesday, June 23, 2010
Wednesday, June 23, 2010 11:42:27 AM (GMT Daylight Time, UTC+01:00)
# Tuesday, June 22, 2010

The Elements of Style by William Strunk Jr and E.B. White changed my life.

In 1919, E.B. White was a student in William Strunk Jr's Cornell English class. The course textbook - written by Strunk a year earlier - impressed White enough that he decided to revise and expand it 40 years later.

While Strunk's version focused primarily on rules of proper English grammar, White added sections on writing style.

White argued that writing can be grammatically correct but poor quality, if it lacks good style. In his revised edition, White established guidelines by which a writer can improve his or her writing style.

The book has been revised several times over the years as the English language and the audience have changed and evolved.

The major points of the Elements of Style are

  • Know the basic rules of grammar. Be aware of the most common errors of grammar and spelling.
  • Tell your story in a clear and straightforward manner. The message is more important than the style.
  • Be Concise. Wasted words dilute your writing.
  • Excessive adjectives, adverbs and qualifiers detract from your message. Eliminate them.
  • Choose established usage, before deviating

Most of these rules can be broken, White tells us.

The Elements of Style is often criticized because many great writers ignore this book's advice. But White does not claim to preach dogma: He provides guidelines that will improve most writing.

But we should understand the rules that we are breaking and we should break them for good reason.

If you do any writing in English, you will benefit from this book. At less than a hundred pages, the time investment is small but it packs more information than much larger books.

This is a book that I read every few years because it reminds me of the power of strong, concise writing.

Tuesday, June 22, 2010 11:39:35 AM (GMT Daylight Time, UTC+01:00)
# Monday, June 21, 2010

Episode 95

Jay Wren on Mono

Monday, June 21, 2010 5:29:25 AM (GMT Daylight Time, UTC+01:00)
# Wednesday, June 16, 2010

Episode 94

In this show, Joe Wirtley discusses how he addressed the challenges in building an e-commerce site.

Wednesday, June 16, 2010 3:52:49 PM (GMT Daylight Time, UTC+01:00)
# Monday, June 14, 2010

Episode 93

In this interview, Dr David Truxall describes the features of Microsoft Team Foundation Server

Monday, June 14, 2010 5:35:13 PM (GMT Daylight Time, UTC+01:00)
# Wednesday, June 9, 2010

Episode 92

At the 2010 ann arbor Day of .Net, I hosted a panel discussion in front of a live audience.

Michael Eaton, Jay Harris, Patrick Steele, Jim Holmes and Jason Follas described how they cope with the information overload of keeping up with technologies.

Wednesday, June 9, 2010 10:57:39 AM (GMT Daylight Time, UTC+01:00)
# Tuesday, June 8, 2010

Interest in F# has risen dramatically with the release of Visual Studio 2010 and Microsoft's decision to include this language with this product.  Many of us are scrambling to understand this new language and how it relates to our software projects.

F# is a functional language, which means that it focuses on giving developers the ability to create functions that consistently return the same value, given the same inputs. It does so by discouraging mutability in its language constructs, thus minimizing side effects that can alter state from one call to the next.

Chris Smith's book Programming F# provides an introduction to and an overview of this language. Because so many of the constructs are foreign, this book can be a bit overwhelming - particularly Chapter 2, which quickly introduces many of the language constructs of F#.

But Smith brings it together after pushing through the language details. He goes through the basics of functional programming; then compares it to imperative programming, showing how you can implement either style using F#. He follows with a discussion of object-oriented programming and its relevance to F# (it is a key to allowing F# programs to interact with programs written in other .Net languages).

The book is filled with examples to illustrate the points made. If you are new to F#, Programming F# is a good book to get you started with the language.

books | F#
Tuesday, June 8, 2010 7:59:33 PM (GMT Daylight Time, UTC+01:00)
# Monday, June 7, 2010

I had every intention of going to more sessions at the Central Ohio Day of .Net. But one speaker was sick and I was asked to fill in with a second session. So I spent time after lunch preparing and only saw bits and pieces of other sessions.

But I did learn a lot. This conference always attracts smart people and I exchanged ideas on unit testing, code refactoring, Visual Studio 2010 new features and web hypermedia. Many of these conversations took place on camera, so I will be able to share them online in the coming weeks.

And I delivered presentations on ASP.Net MVC (scheduled) and Managed Extensibility Framework (unscheduled).

Many thanks to Mike Wood and the rest of the crew that put on this excellent conference.


More photos from CODODN

Monday, June 7, 2010 2:12:36 AM (GMT Daylight Time, UTC+01:00)
# Friday, June 4, 2010

In this Grok Talk, I describe the importance of ASP.Net MVC and walk the viewer through building a simple application using this framework.

Grok Talk | MVC | Video
Friday, June 4, 2010 5:33:10 PM (GMT Daylight Time, UTC+01:00)
# Tuesday, June 1, 2010

Episode 91

Matt Van Horn and I began by talking about Expression Blend and the conversation moved toward collaborations between developers and designers

Tuesday, June 1, 2010 8:38:29 PM (GMT Daylight Time, UTC+01:00)