Wednesday, January 15, 2014

Though Through Tough Thought

... I finally realized how weird the English language really is. I couldn't imagine having to learn all the nuances of "ou" and "gh", when is the "th" strong and when is it soft.

Sunday, January 12, 2014

CodeMash 2014 (Pre Compiler Workshops)

Yet another great conference. CodeMash gets better every year. The first year it hosted 220 people and it has been growing drastically each and every year. I am proud to say that I've been to each one and it almost acts as a reunion for me to see all of the local nerds that I respect so much. I look forward to the event each and every year and I already can't wait until next year's event.

This year I did the "Double Pre-Compiler Package". This consisted of two days of hands-on training before the actual event. This post is merely an opportunity for me to express my feedback for the workshops. Later this week, I plan to provide feedback on the sessions during the event.

Fixing the JavaScript Mess (Day 1)

This session was hosted by Jared Faris and Travis Smith. They showed various techniques on how to consolidate legacy applications into modular js files using jQuery event handlers on initialization routines. Their approach was quite interesting and I can say that I did learn a few things. It was a bit more for beginner / intermediate JavaScript developers and a few of the techniques were more of a "refresher" for me. They did a great job during the session, but there were a few times where a few of us weren't sure what to do along the way since most of the code they wanted us to modify was already in their Git repository. The workshop assumed proper knowledge of Git and I noticed a lot of the people around me were behind for a while. All in all, this was a great workshop!

Applied Application Security (Day 1)

I really enjoyed this workshop! It was hosted by Bill Sempf, who is a highly skilled Pentester (Penetration Tester). Bill makes a living by letting companies hire him to find security problems in their applications. Basically he is paid to be a hacker. Cool job title! In this session, Bill had us install a VM for security testing called Samurai WTF; it's basically a Linux config configured for Pentesters. In this session, Bill showed us all the various tricks and techniques that hackers use to penetrate servers through SQL Injections, Cross Site Scripts, and various other techniques. Best yet, we all had the opportunity to try some of the techniques ourselves (after all it was a "work shop"). Again, I really enjoyed this workshop and learned a lot. It opened my eyes to some of the things I am (and am not) doing at work.

Intro to MongoDB Workshop (Day 2)

This was a workshop that I was looking forward to very much! It was hosted by Sridhar Nanjudeswaran who is on the MongoDB team. My goal was to get my hands dirty with MongoDB once and for all. We started the session by installing it on our machines and getting it up and running. Once we all had it installed, Sridhar began talking about the high-level features and low-level intricacies of the database. About 20 minutes into the "workshop", I was in over my head. I will be honest in saying that I was a bit dissappointed in this workshop (sorry Sridhar). We never got the hands-on training that I thought we would get. I left the workshop with too much information and not enough hands-on time using the technology. A better approach might have been to allow us to try adding, editing, deleting, and querying data. After all, the title said "Intro to" and that was exactly what I was expecting. It turned out to be a 4 hour talk about MongoDb. Sridhar was crazy smart and I highly respect him, it's just that the workshop was not at all what I expected.

Test Driven Node.js (Day 2)

This workshop was really cool! It was my first real intro into Node.js. I'd downloaded it a while ago, but merely to serve as a service on my machine for other things (mostly for compiling CoffeeScript). The workshop was put on by Todd Kaufman and 2 of his colleagues at Test Double. The room was full and the presenters were very knowledgeable in the topics. We basically got to build Battleship (the ship sinking game) using Node.js using a TDD approach. Functions included:
  • Placing the Battle Ship
  • Aiming the Cannon
  • Shooting the Topedos
  • Check for direct hits
The best part about it was that I got to actually use the node package manager, use Grunt and Bowerman, and even run Lineman to run my server, run my tests, and many other things that I'd never done before as an ASP.NET MVC developer. I highly enjoyed this workshop and learned a ton.

The pre-compiler workshops are a great opportunity for us developers to learn new things that we never take time out of our day-to-day lives to figure out. Perhaps it's due to the fact that we don't know where to start, or perhaps it's simply that we don't take the initiative to actually learn new things because we get "comfortable" with the things that we do know. I force myself every year to learn new things at CodeMash, and this year was no different.