Starred notes from CodeMash 2015

January 15, 2015 // irl

I was fortunate enough to get to attend CodeMash once again this year and wanted to share some of the great information I picked up.  These bullets are highlights from my notes and may be (i.e. definitely are) tainted with my own opinions/perspectives.  So if you dislike/disagree with anything, don’t judge the speaker blame the messenger. 😉

Metaprogramming – Kathleen Dollard

  • “Only write code that only you can write”
  • Metaprogramming is a broad subject, but specifically talked a lot about code generation via T4 and Roslyn
  • Five principles to metaprogramming – you control the results, metadata is distinct and flexible, metaprogramming should be the easiest way to get it done, human crafted code is sacred, resulting code is the highest quality
  • Good metaprogramming characteristics are very similar to code principles (e.g. DRY, SoC)
  • Consider partial classes and file extension conventions to isolate generated code from human code

Interviewing – Kerri Miller

  • Define your culture – are you a bunch of independent cowboys or do you work in a pair programming style?
  • Have people from diverse roles involved as interviewers – you’ll gain more perspectives on the candidates.
  • Write down your impressions immediately afterwards – avoid a group-think bias.
  • Consider a pair programming audition where neither of you have any foreknowledge of the problem.
  • Collect metrics – register your predictions before-hand and keep tabs on people you don’t hire (false negatives).

C# 6 – Dustin Campbell

  • Primary constructors (the syntax where you had parameters right on the class definition) have been pulled out due to complexity/confusion
  • Expression bodied members can really cut down code size when you have simple return methods
  • Extension methods may become a lot more popular as you will now be able to explicitly pull in only the set of extension methods you want with the new “using static XYZ” syntax
  • C# 6 design is complete
  • C# 7 design will begin soon, moving Roslyn from CodePlex to GitHub, finalizing VS2015

HTML5 Web Components – Cory House

  • Web components in ES6 will make it much easier to share/grab modules that bundle up HTML/CSS/JS together
  • You’ll be able to extend native HTML controls
  • There is a Shadow DOM concept that allows for areas of isolated scope that will help isolate components

Swift – Ravi Desai

  • Swift looks a lot more like Java/C/C# code now
  • Contains some quirks (e.g. two ways to do function calls) for inter-operability with Objective-C

Innovation – Dustin Updyke

  • Proposes that ideas should be tracked (e.g. Trello) and it needs to be part of your culture to foster/encourage ideas
  • Evaluate ideas on interest, value, feasibility and ability
  • “As you think so shall you become” – Bruce Lee
  • Most innovations come from rigorous examinations and hard work, not sparks in a vacuum
  • Same principles that apply within business can apply to yourself as an individual

Xamarin – Jesse Liberty

  • Xamarin platform (non-UI) gets you about 50% code reuse across mobile devices
  • Xamarin forms (UI) can get you up to about 90% code reuse
  • Xamarin forms utilizes XAML and MVVM, is extremely similar to WPF/Silverlight
  • Check out Falafel University

Roslyn – Jon Skeet

  • Roslyn can replace some unit tests you may be writing as code suggestions in VS
  • Bill Wagner is coordinating a public repository for Roslyn helpers
  • The Syntax Tree Visualizer is your friend for doing any work with Roslyn

Social Developer – Seth Juarez

  • You should punch people in the face
  • Ask meaningful questions, don’t need another weather conversation
  • If something didn’t go well, you can still ask “what did you learn”

Agile – Paul Holway

  • FDA medical device software can be done in an Agile environment
  • Cadence is important; It sets a framework for change without interruption
  • Don’t demo until after QA and refactoring – or you’re putting more cats into the wall than you can afford to get out
  • You won’t be able to do it all – be honest about where you’re lacking
  • Option from the crowd – consider a chat room vs. a meeting for daily scrum

Selling Fiddler – Eric Lawrence

  • Have metrics to establish a price
  • Make something, and share it

Developer Flow – Rob Keefer

  • Flow (happiness) comes from a goal, feedback and a balance between challenge and skill
  • Week level – write a plan, have a board to track progress, identify your skill gaps
  • Day level (Pomodoro) – write down task(s), track your progress/interruptions, ensure tasks can be accomplished
  • Moment level (TDD) – write a test, run the test, gain confidence as you pass each piece
  • Shut down e-mail/phone/etc. for as long of stretches as possible (ex: 2hrs)

Long Lived Code Base – Jeremy Miller

  • Architecture can’t be set in stone
  • Have living documentation as part of your build process
  • Diagnostics will be critical over time, invest in them

Growing Beyond Independent – Jay Harris

  • Showed his talk outline as a full screen of icons (no text) then went through each in turn
  • An interview is really about setting expectations, in both directions
  • You have to trust your employees
  • Learn to delegate – not that you can’t do it, it’s that you could be doing something else

C# On Arduino – Eric Potter

  • Scriptcs lets you quickly write and run C# from the command line
  • Chocolatey is an excellent way to install tools on Windows
  • Arduino runs C and is half the cost of Netduino which runs C#
  • Utilizing scriptcs, a library pushed to Arduino and a USB connection Arduino can be made to run C#
  • Want: Build a missile launch type system where two key turns are required to push to production


CodeMash is an awesome conference that I highly recommend.  Thanks again to all of the speakers, conference organizers, sponsors and my employer Quintiles. 🙂

About the author

Steve Cadwallader is a software developer who geeks out on user interfaces, clean code and making things easier.

One Comment

  1. Pingback: Starred notes from Kalamazoo X 2015 - Code Cadwallader

Leave a Comment