Skip to content

Instantly share code, notes, and snippets.

@smerchek
Created January 15, 2014 16:49
Show Gist options
  • Save smerchek/8439856 to your computer and use it in GitHub Desktop.
Save smerchek/8439856 to your computer and use it in GitHub Desktop.
CodeMash 2014 Highlights/Notes

Putting the D&D in TDD (FULL DAY)

Guy Royse; George Walters

I used Ruby and Minitest with my Blink(1) to TDD through this very big Kata. It was fun and a great learning experience. It did a good job of going slowly at first to get the basics and then ramping up. There is much left that I could do here for further practice.

Sweet Elixir! A Gentle Introduction to Erlang’s cute younger brother Elixir (FULL DAY)

Ryan Cromwell; Chris McCord

This was a good introduction to Elixir and the Erlang runtime. I got a good feel for the language and also a good look at some of the power of macros and other functional aspects of elixir. We saw how to keep state in a purely functional language by looping infintely on ones self. We saw a widely distributed, fault tolerant Tweet aggregator running on all of our laptops.

Erlangs message passing and mailbox are very interesting.

Keynote: Designing for Emergence

Ann Pendleton-Jullian

Emergence: Movement from low-level rules to higher level sophistication

  • Examples: Snowflakes, Corral Reefs, Cities (Venice)
  • Scaffold, not Structure

In software, I think this shows up in how we either create features that enable our users or create features that force our users into one path. We can create tools that become something bigger than themselves or we can create tools that dictate a certain way of thinking (usually ours).

I noticed this element of emergence in the original Settlers of Catan game. In contrast, the expansion Explorers and Pirates felt very structured and was not nearly as enjoyable.

How We Build Realtime Systems at Bitly

Sean O'Connor

They use streams for tracking everything. If another system wants to use that data, they just fork the stream for that particular topic. They use "at least once" messaging guarantees with retries to ensure delivery. Custom NSQ open source messaging system with efficient wire protocol.

Secrets of Clojure Web Development

Clinton Dreisbach

It was really cool seeing what was possible with clojure in the web. It's a very declarative way of building web pages and APIs. The REST API framework, liberator, looked pretty amazing. It supports the full WEB RTC decision tree for the life cycle of a request.

Startup Tips and Tricks: Getting a small IT shop off the ground

Kevin Grossnicklaus

Basically learned how much crap Matt and Dave had to go through to get Softek started. The speaker had very similar roots, starting small and in consulting, although he still has not made a jump to product development.

Applied API Design

Jon Skeet

The obligatory Jon Skeet talk since I hadn't heard him speak before. Live coding session on building a Tetris game that supports Console, Twitter, Email, and Wpf clients. Showing choices that he made or would make to make the API make sense and the extended clients make sense.

Angular Directives: demystified

Brian Genisio

A good talk on Angular.js (a client-side MVVM-like framework like knockout.js). Although it was fairly advanced, it was good to see the power of Angular once you get past the 'Hello World' type application. Important to note that he successfully uses Angular to support IE7+ clients which was a concern for us.

Gambling for Rubyists

Kerri Miller

  • Making money in gambling is about making choices, yet there is always a weakness in each choice. It's about making the least worse choice, usually based on incomplete information.
    • This is also the case in software, whether it's choosing between languages, frameworks, or open source projects.
  • The important thing is to analyze failure and dig in to the process rather than just chalk it up as a failure. Gamblers cannot be affected by their mistakes, they have to learn from them.
    • In software, we too should be resilient to our mistakes and learn from them rather than be defensive or try to cover them up.

Other Stuff

  • Played with an Oculus Rift (pretty amazing virtual reality)
  • Sat in a Tesla Model S
    • This Tesla was part of a presentation using the Tesla API to honk the car on a build failure. The API can do other things like lock the doors or close the windows. Really cool.
  • Demos of AR Drones powered by node.js (one that followed a person with a bright green shirt)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment