Click here to Skip to main content
Click here to Skip to main content

CodeMash 2013

, 15 Jan 2013
Rate this:
Please Sign up or sign in to vote.
CodeMash at the Kalahari Convention Center in Sandusky, OH, from January 8th through January 11th, 2013.

My son Evan (a high school junior) and I attended CodeMash at the Kalahari Convention Center in Sandusky, OH, from January 8th through January 11th, 2013.

We arrived Tuesday evening and spent most of out time playing the Artemis Spaceship Bridge Simulator.  This was a great way to start the conference.  I most enjoyed being the science officer, while Evan tried most of the stations and then took a shot at being the captain of a successful campaign.

IMG_2327 IMG_2322

On Wednesday morning, we attended the “C# Async Programming Workshop” by Bill Wagner.  This was indeed a workshop, where we were given a working Windows 8 Store application and tasked with enhancing it to properly implement asynchronous programming constructs.  Bill did a great job of making us think about how to solve the problems without just telling us the answers.  During the session, Bill introduced Evan to Jon Skeet, indicating Evan was a very talented developer.  Evan and I quickly found out that Jon likes to ask the presenter a lot of tough questions.  At the end of the session, the group of Bill, Jon, Evan, and Cori Drew took a minute to pose for a picture.  Bill also introduced Evan to Esther Lee (Microsoft MVP Program Lead).

WP_000124

On Wednesday afternoon, we attended “How it's made: Behind the scenes of building Microsoft Roslyn” by Kevin Pilch-Bisson and Brian Rasmussen.  I thought it was a very courageous undertaking to re-write the C# compiler in C#, support scripting, provide a parse tree, allow for extensible code refactoring, etc.  Evan was simply smitten.  This is exactly what he was looking for to begin his next programming challenge.  That night it took him 10 minutes to implement a REPL script processor, and another 4 hours of sheer glee working with Roslyn before he finally decided to get some sleep before his own presentation.

On Thursday morning we listened to Neal Ford’s very disappointing (and dare I say hypocritical) keynote.  We then attended the first 10 minutes of “Machine Learning – Predicting the Future” before walking out.  Evan went to “JVM Bytecode for Dummies” while I prepared for my presentation.

On Thursday afternoon Evan presented “Compute Faster with the GPU in C#”.

Abstract: We all know the GPU can be thousands of times faster than the CPU. Yet few of take the trouble to learn yet another obscure language just to gain a few clock ticks. If you think it would be nice if we could just write code in C# and have it run on the GPU, then this talk is for you. Join us as we write code from scratch to run on either the CPU or GPU. We will cover how to install and use Cudafy, pass data to and from the GPU and upload methods to run on the GPU’s massively parallel architecture. After this talk, the shroud of mystery preventing you from using the GPU will have been lifted.

IMG_2380

Evan’s presentation was attended by 56 people, including Jon Skeet, Bill Wagner, Brian Rasmussen and an old friend Michael L.  Jon asked a lot of questions, which was fine by Evan since Evan covered the material faster than he expected to.  While the questions were tough, I felt they allowed Evan to demonstrate his depth and breadth in GPGPU computing and quick thinking.  After the session, Brian mentioned that Evan’s session was the best he attended so far that day and casually invited him to visit Redmond sometime.  Jon said the talk was “really good” and would install Cudafy.  Evan continued to receive complements from several more attendees throughout the days.

IMG_2382 IMG_2381 IMG_2383

Later Thursday afternoon, I presented “Controlling Precision Electric Motors”

Abstract: So you want to build a computer controlled device and toy motors just won’t cut it. It might be that you want to add motors to your telescope, build a model cable car with realistic acceleration, or add smooth precision motion to your parade float. If you want to graduate to industrial grade (and reasonably priced) small motor programming, then this talk is for you. We will dive deep into controlling intelligent stepper motor by tuning accelerations, experimenting with position accuracy, developing a homing sequence, adjusting run currents, and implementing dynamic position maintenance. After this talk, you will see the world of movement just waiting to be automated. The presenter has written code for many automation systems.

 IMG_2171 IMG_2178

The session was relatively well attended and was fun for me.  Because the room was not mobbed, I focused on participation and answering questions more than following the script I had prepared.  I had no trouble covering all the material in the allotted time and received polite compliments after the talk.

Untitled

As Evan was helping me gather the hardware together after my talk, Clark Sell stopped by to pick up Evan and bring him to the Dot Net Rock’s guys (Carl Franklin & Richard Campbell).  Not long after, Carl and Richard took Evan behind closed doors to record a podcast session.  The podcast should be out in a few weeks.

IMG_2386  IMG_2389 IMG_2393

The waterpark party on Thursday night involved too much food, too many scraped knees, and too many coders sharing a hot tub.  What could be better?

On Friday, Evan held an “open spaces” session on fractal rendering. Unfortunately, no one else was interested.

FractalRender

We attended “Touring the Universe with Scientific Python” where we both realized that Python seems to be a universe behind C#’s Linq.  The concept of an active notebook where code snippets, output, and blog entries co-exist in a single document was impressive as a tool for the presentation of coding techniques.

I was invited by Jeff Blankenburg to co-present a KidzMash session “Why I Write Software”.  We had a blast writing some code with the kids, even as they threw us for all kinds of “octagonal loops”.

Later in the afternoon, we attended “JVM JIT for Dummies” by Charles Oliver Nutter.  This was an informative overview of how the compiler optimizes its work.

We could not help but to be impressed with the care and effort that went in to SRT Solutions’ very impressive Choose Your Own Application during their 20 minute vendor presentation.  I strongly urge others to check out this great learning tool.

At the Bacon Bar, Evan topped his fresh hot bacon with chocolate syrup and sprinkles while I opted for a bit of white chocolate drizzle.  A great way to end a great CodeMash!

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

John Michael Hauck
Software Developer (Senior) LECO Corporation
United States United States
John Hauck has been developing software professionally since 1981, and focused on Windows-based development since 1988. For the past 17 years John has been working at LECO, a scientific laboratory instrument company, where he manages software development. John also served as the manager of software development at Zenith Data Systems, as the Vice President of software development at TechSmith, as the lead medical records developer at Instrument Makar, as the MSU student who developed the time and attendance system for Dart container, and as the high school kid who wrote the manufacturing control system at Wohlert. John loves the Lord, his wife, their three kids, and sailing on Lake Michigan.
Follow on   Twitter

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web01 | 2.8.140721.1 | Last Updated 15 Jan 2013
Article Copyright 2013 by John Michael Hauck
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid