Starred notes from CodeMash 2016

0
January 10, 2016 // irl

I had another great experience at CodeMash this year and would like to once again share some highlights.

Please keep in mind this is only my paraphrasing or lessons learned from each talk, and may not be even remotely accurate of what the speaker was trying to convey.  We all hear what we want to hear.. 😉

7 Languages in 7 Hours – Amber Conville

  • We covered Ruby, Clojure, Haskell, Rust, Scala, Elixir and Go – exercising the same kata in each
  • Ruby was the most elegant and simple (my opinion)
  • Clojure was the most awkward with its ((heavy (use) of (parentheses)) (my (opinion(s))))
  • When you exercise the same simple kata 7 times, the differences between the languages become a lot more muted and the algorithms/approaches stand out

[Factory] Fun with Machine Learning – Jennifer Marsman

  • 3 primary classes of algorithms
    • Classification (Discrete answers)
    • Regression (Continuous answers)
    • Clustering (Answer unknown, group things that are alike together)
  • Azure has made it crazy easy to get up and running quickly
  • Domain knowledge is really helpful to sniff test results

Humanitarian Toolbox Hack for Good (Day 2, Part 2) – Tony Surma

  • ASP.NET 5 is back to the command line (currently, rumor has it that it’s changing)
  • My past AppVeyor/NPM experience is reusable
  • It’s easy to step in and solve detailed technical problems, without broader context

Node.js Crash Course – David Neal

  • Node.JS utilizes an asynchronous single-threaded message pump, forcing you into pit of success (callback/async patterns)
  • node-inspector lets you debug through Chrome
  • Edge.JS will let you run .NET code in a Node.JS process

Building Angular 2.0 Applications with TypeScript – Bill Wagner

  • Angular 2.0 is built using TypeScript
  • Can set breakpoints on TypeScript source within the browser
  • There’s a lot of special characters in use (parentheses, brackets, asterisks, pounds)
  • Main benefits of TypeScript are avoiding injector errors (typos) and better IntelliSense

Designing C# 7 in the Open – Kevin Pilch-Bisson

  • Limit design meetings to 8-10 people to avoid design by (large) committee
  • ~40 people work on Roslyn
  • Considering a lot of features.. a few particularly interesting ones:
    • Non-null by default
    • Records (i.e. very basic class type)
    • Strong types for data over the wire (e.g. JSON)
    • Pattern matching / switching on type

From Developer to Manager – Sean O’Connor

  • Coding is not doing your job
  • Management is a learn-able skill, just like a new language
  • Management is about setting the tone for the team
  • While tempting to let issues self-resolve, need to be very wary about letting things fester

Design for Non-Designers from a Non-Designer – Jay Harris

  • Primary principle of design is usability, which is familiarity
  • There are rules and they can be broken, but as a novice follow them
  • Developers hate repetition (monochrome), and want to abstract it into a class 😉
  • Contrast will always draw the eye, control the contrast in your design

Why I Left Angular and Knockout for React – Cory House

  • React is not a framework, it’s a library
  • React puts JavaScript and HTML into the same file, as they’re closely coupled
  • React only supports one-way flow to force developer to think through data flow
  • Angular embraces HTML, React embraces JS

You CAN Kanban – Steve Smith

  • 2 rules – Visualize the work, minimize in progress
  • Optimize for flow (time from conception to completion) over utilization (maxing out the developers, which leads to context switching and inefficiencies)
  • When prioritizing, avoid low/medium/high.. you’ll never do anything but high

ASP.NET 5: How to Get Your Cheese Back – Tugberk Ugurlu

  • Complete rewrite, only “concept compatibility”
  • Project content is inherent from folders (no .csproj)
  • Project output is explicit in webroot folder
  • Configuration hierarchy is explicitly defined, no more transforms
  • No ties to msbuild at all, gulp instead for client-side building

Art And Code: Make Useless Things – Jamison Dance

  • Art recognizes value in the process of creation, and in the thing that is created in itself – not just in the utility of what the creation does which is how we generally evaluate code
  • Code can be art, with or without great utility
  • All of the worst things in coding (estimation, status meetings, micro management) can be jettisoned so the best things in coding (creation from nothing, imagination) can flourish when making something useless
  • Happiness and laughter are worth creating, so useless things may not be actually useless at all
  • If you only code for utility, you are missing out on opportunities

How to Add S.P.I.C.E. to Your Speaking – Maureen Zappala

  • Something memorable gets revisited
  • We all have stories, we’re just not convinced of their value
  • Most important process of a speech is the thought process the audience undertakes
  • Vocal variety and body language are important

Software Development Lessons Learned from Industrial Failures in the 1980s – Charlotte Chang

  • US GM automotive plant in Fremont, CA in 60’s-70’s – one of the worst work forces in automotive
  • Closed plant and opened a new one following Toyota processes/principles
  • Same individuals that were horrible and dissatisfied in the former, were successful and happy in the latter.
  • Process can transform people.

Program some health into your life – Stan Jonsson

  • You can train yourself to eat almost anything if you give it a month
  • Slip-ups happen – not a reason to slip up more
  • The best cardio is the one you find most enjoyable
  • Weight training steers your body to burn fat over muscle
  • Open debate in weight lifting about 1 set providing 80% of the value of 4 sets
  • Need to keep changing routines, body adjusts and you don’t get the same value

Cross-Platform Desktop Apps with Electron – David Neal

  • Electron apps are written in HTML/CSS/JS
  • Electron apps are packaged/run within Node.JS + Chrome
  • You don’t need permission to be awesome

Summary

If you haven’t been to CodeMash, you should check it out.  There’s a great community, great content and a very modest cost.  My sincere appreciation and gratitude to all of the speakers, organizers and everyone who helps participate to make it all possible. 🙂

About the author

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

Leave a Comment