My (annotated) plans for CodeMash

CodeMash is next week. My favorite feature of CodeMash is that there is great content from start to finish. Because there is so much great content, it’s not possible to give others recommendations that are universally correct. Instead, I’ll say where I’m going to be. I’ve annotated some of my choices with alternative sessions and I’ve said why.

Wednesday Precompiler

  • Morning: User Story Workshop with Barry Hawkins. I’m attending this because I don’t feel as comfortable writing user stories as I should. I can do them competently when I’m writing an application. However, much of my daily work is creating libraries that are used by others. When my end user is another developer, I struggle writing great user stories.
  • Afternoon: You won’t see me. I’ll be practicing my talk for Thursday.  However, I strongly recommend the Scala Koans precompiler. As you’ll see throughout this post, the folks at SRT have been prepping and practicing for a while now. I’ve already been through early drafts of these, and it’s a great way to learn a new language.
  • Evening podcast recording The Java Posse and .NET Rocks on the same stage at the same time. It’s going to be fantastic. 


  • Chad Fowler keynote . Hey, it’s Chad Freakin’ Fowler. (I’ve heard he even legally changed his name to Chad Freakin’ Fowler after CodeMash announced that he’s keynoting. I could be wrong about that though.)
  • 9:45: Future Directions for C# and VB.NET with Kevin Pilch-Bisson. Yes, this is an introductory talk. However, it’s an introductory futures talk. It’s always useful to get some context around the future vision.
  • 11:00. What the Math Geeks Don’t Want You to Know About F# with Kevin Hazzard. I’m going here because I want to be better at F#. I expect to stretch different parts of my brain.
  • 12:15Enter the WebMatrix.Yes, even if you did not get into CodeMash, you can see this part.  Microsoft is live-streaming this event from CodeMash. (Who would have thought that CodeMash would gain enough prominence to be chosen for a major launch event from one of the most important software companies on the planet? Kudos again to everyone that helped build CodeMash!)
  • 1:45. C# Puzzlers with Bill Wagner. That’s kind of a given, because if I don’t go, there’s no talk. CodeMash organizers would get mad and feed me to the rhino in the lobby. (I know rhinos are herbivores. Doesn’t matter. When angry CodeMash organizers want someone eaten, rhinos obey.) I have had good feedback on this talk when I’ve given practice sessions, or when I’ve given a similar talk (with different puzzles) last summer. I do hope you’ll join me, if you are at CodeMash. If not, I recommend LINQ Scalability with Jim Wooley. Jim is a very smart guy, and you’ll learn quite a few techniques about how to make LINQ work in different environments.
  • 3:00 / 3:35: After my talk, I’ll be hanging in the SRT booth. (SRT Solutions is a proud CodeMash sponsor, as we have been every year.) That’s the best way for me to continue to answer any questions about my talk, while making sure that the next speaker can setup and give his talk. However, if you’re not interested in questions about my talk, go to Jeremy Miller’s Functional Programming for Everyday .NET Development talk. You’ll learn techniques that will make your code more clearly express your design intent.
  • 4:50: Parallel Without Pain: Parallel Programming in .NET 4.0 with Jennifer Marsman. Once again, I know less about this than I’d like. It’s an important part of every .NET Developer’s toolkit, and it will be the foundation for the future (See the async CTP for what I mean.)
  • 6:00: TJ Giuli keynote. TJ is a research engineer at Ford, and one of the main brains behind the Ford Sync system.  Cool!
  • Evening:  Yes, I’ll be at the water park.  I’ll be the pasty developer relaxing with a full brain.


You’ll note that most of Thursday was spent on the .NET platform.  Friday, I’m exploring other areas. (but see annotations)

  • 9:30Scala 2.8 with Dick Wall. Scala is a functional language on the JVM. I want to learn how much it is different from the LINQ implementation (or F#) on the .NET platform.
  • 10:45: Rules for Good UX design with Joe Nuxoll. I admit it, I’ve got the design skills of a library developer. I need to work on that.
  • 12:20:  Scott Chacon keynote. He works on GitHub.  He says it’s awesome.  I believe him.
  • 1:45Mobile Smackdown with Chris Judd, Jeff Blankenburg, and Daniel Steinberg. We’ve built some mobile applications, and I’m certain that we will build more. I’m more certain that most of the mobile applications we will build in the future will have to support all three of these platforms (and possible blackberry as well).  However, I can say this because I’ve already seen Everything You Always Wanted to Know About Flex But Were Afraid to Ask with Brian Genisio when he gave his practice session at the SRT office.
  • 3:00: The SRT Vendor session happens.  We’re hosting Lightning Talks, so if you have a lightning talk, or want to gain some experience giving a short talk, come by room D.
  • 3:35:  I admit that I’ll end with a .NET talk:  Become an rX Pusher with the Reactive Framework, with Jim Wooley. I have done very little with the rX framework, and I want to know more.  My goal is to come out of that talk with a motivation to do more with the rX framework. Of course, I do strongly recommend Getting Your func(tional) on with F#, by Chris Marinos and Prototyping with Sketchflow by Mike Woelmer. Chris’s talk take you beyond the F# syntax to show you design techniques that are facilitated with F#. Mike’s talk will show you skills to take a customer from concept to UI with sketchflow.  If you’re involved in User Interface design, this is a great talk.
Created: 1/6/2011 7:06:18 PM

Current Projects

I create content for .NET Core. My work appears in the .NET Core documentation site. I'm primarily responsible for the section that will help you learn C#.

All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.

I'm also the president of Humanitarian Toolbox. We build Open Source software that supports Humanitarian Disaster Relief efforts. We'd appreciate any help you can give to our projects. Look at our GitHub home page to see a list of our current projects. See what interests you, and dive in.

Or, if you have a group of volunteers, talk to us about hosting a codeathon event.