Blog

Jonathan Creamer’s Take on DevLink 2012

By Jonathan Creamer

This year’s DevLink conference was back in Chatt-Town at the downtown marriot and it was an incredible conference. This was my first conference also, so that made it even better. Not only was it my first conference, but it was also the first time I got to hang out with my boss at appendTo, Mike Hostetler.

The first night Jim Cowart, Elijah Manor, Mike Hostetler, Jonathan Sampson and I went and ate some ice cream at the Ice Cream Show right near the pedestrian bridge downtown. Also hanging with us was Todd Anglin from Telerik. Left to right: Mike, Todd, Elijah, Me and Sampson. (Jim took the picture.)

The keynote at this year’s DevLink was the one and only Douglas Crockford! He delivered a great keynote called, “Programming Style and Your Brain.” The basic premise of the keynote is that adhering to a style guide while taking extra time and effort can greatly reduce the amount of bugs in code.

Douglas delivered a couple of great one liners such as, “There’s no crying in programming,” “If you’re not consistent, it just looks stupid,” and “Good style can produce better programs.” Also hanging with us here is Dave Purdon.

Jim Cowart had the first session of the day with his Event and Messaging Patterns talk. Jim is a Sr. Architect at appendTo and will blow your mind with knowledge of patterns and architecture. This talk specifically was about how how events and messaging provides Decoupling and SoC, Testability, portability and interoperability. Through libraries such as his own https://github.com/ifandelse/postal.js, messaging provides a way to communicate between modules while maintaining good Separation of Concerns in the application.

Through various messaging channels, topics can be published and subscribed to to provide a great framework for communicating between modules. This allows multiple modules to listen to the same topics and react differently depending on the needs of each individual module.

Next up was Alex Robson, VP of Product Development at appendTo. He delivered a talk called “Putting Your JavaScript to the Test.” This talk was less about actual unit testing and more about writing code that is testable.

“Testing code is about delivering value.” Alex argues that while most customers don’t care about testing, testing is the best way to ensure a quality project. Through the use of Behavior Driven Development, the developer is able to guarantee that the customer’s required set of behaviors is delivered in the final product. These are his qualities of testable code:

  • Clear intent
  • Distinct components
  • Decoupled interactions
  • Isolated dependencies

The next session I attended was called “5 Tips for Better JavaScript” by Todd Anglin. This session covered many basic ideas of speeding up JavaScript code. Tips including things such as using native loops, and selectors when available, caching selectors in jQuery, minifying, using patterns such as pub/sub, and module, and a few more here and there.

The final session was a mind-blowing presentation on Erlang and the Erlang Runtime by Bryan Hunter from Firefly Logic. Bryan took a deeeeep dive into the blazingly fast Erlang Runtime. He demonstrated some of Erlang’s language features, spoke of the OTP, and then the runtime. There was also a brief history of how Erlang was developed by the telecommunication industry to manage connections. He then proceeded to run Erlang on three independent OSs the first being his 64-bit Windows laptop, the second being a VM of Ubuntu on the same laptop, and the third being (amazingly) a Rasberry PI! These three devices had seamless communication among one another and were able to run programs with hundredss of thousands of processes in mere milliseconds. After his talk, I am ready to take a deep dive into Erlang myself!

We started out Day 2 bright and early with a talk on Windows 8 applications in JavaScript by Todd Miranda @tmiranda. This talk was just as the title describes! He briefly mentioned some of the new features of WinRT such as how Projections allow for many languages to interact with Windows in brand new ways. One such language of course is JavaScript. He then went through several of the new templates in Visual Studio 2012 in Windows 8 for developing JS applications.

Next up was another talk by Jim called “Async Strategies and Patterns in JavaScript.” This was a great talk on how to eliminate the callback problems of writing Async JavaScript. He went through several code examples starting with the nastiness of nested callbacks moving through using the EventEmitter, a messaging pattern with Postal.js, and finally with the Finite State Machine, Machina.js. Postal and Machina are both written by Jim and when used in Tandem provide a very powerful framework for writing applications. One hilarious thing to note about Jim’s talk is that he chose to use Back to the Future in his code samples, and what did we happen to see the first day of DevLink parked out front???

I also attended two sessions covering two topics of the latest ASP.NET MVC release. John V. Petersen covered both WebAPI and MVC4 Essentials. In the WebAPI talk, we covered the basics of REST and how to implement the basic REST verbs using WebAPI. The MVC talk covered developing a basic MVC application and using MVC as a client to the WebAPI.

The final day of the talk was divided up between two talks on REST, one by David Neal and Burke Holland, and a talk on underscore.js by appendTo Senior Architect and Trainer, Elijah Manor.

David covered using several different frameworks for REST such as RestSharp and ServiceStack. He also spoke about one of his favorite NoSQL DB’s RavenDB.

Burke talked at length about the history of the browser leading us to where we are now with NodeJS, and then proceeded to develop a small API using ExpressJS. Burke was able to build an API that connected to a MySQL backend.

Elijah’s talk on underscore covered how to use this it to replace what would be complicated JS code with a smaller, easier to use API. Things such as iterating, finding, filtering, binding, joining, concatinating and several other APIs are offered with underscore and allow for writing much cleaner, reusable code.

Then there was the EPIC closing keynote with Elijah, Jim, Byran, James Kovaks and Douglas Crockford!

It was extremely exciting and awesome to see several close friends and appendTo employees on the same stage with Douglas and James. There was a 50-minute Q&A session that went extremely well.

All in all, DevLink 2012 was an incredible event and I was honored to be around leaders in our industry. I already cannot wait ’til next year!

 

~This blog is cross-posted at Jonathan’s personal blog.