It is 2011 and I have decided to start a blog. That is a term coined by my friend Peter Merholz which means a “web log” or “online journal.” As you can see, Peter has been blogging perhaps since the beginning of time, or at least since the beginning of Swatch Internet Time. Whereas I have forsaken this flash-in-the-pan trend until now. I thought perhaps this would be a great way to ease into using Twitter, and also as a means to justify the cost to my company of dispatching me to Portland to attend OSCon. With that in mind, my first post shall concern the topic of OSCon 2011 and What Was Learned Therein.
OSCon Day -1 & 0: Community Leadership Summit
Before OSCon starts, a bunch of very friendly, talkative people get together to discuss the ins and outs of community management. These are evangelists, marketing folks, product managers, generally good people persons. They get together to discuss the craft of people person-ing; when by “people” you mean “many geographically diverse people gathered around a particular open source project or other product.” I only attended one session, but my partner who is in developer marketing attended both days and got a lot out of it. I found it interesting but did not connect it to a direct relevancy to the art of software engineering management. That said, being on the forefront of user input and feedback for Contacts, I could probably spend more time thinking and acting on the topics discussed in this forum.
OSCon Day 1: A Battle of Old and New
The morning was spent learning the latest thinking on the PHP framework front, the afternoon in a session on the new hotness that is Node.JS.
Top Shelf PHP (Kris Wallsmith, Jeremy Mikola, Dustin Whittle): I was impressed with the problems these guys are tackling, very relevant to the challenges we face on the Yahoo! Contacts team. To summarize:
- Symfony 2: Influential application framework, I later saw ideas from Symfony re-implemented in some of the Node.JS middleware. I am interested in Symfony as I have personal projects written in version 1 of this framework, however this is less relevant in the work context.
- Assetic: Asset management for symfony / php. Solves some problems we run into in an elegant way, by allowing runtime, configurable transformations of your static assets as developer runtime, which you can also integrate in your build process for simple CDN deployment. Uses a decorator-like “filter” system to apply various transformation steps to your assets, and is easy to configure for dev vs. production environments. As we are currently investigating our build process with regards to assets and speed, this might be work a look.
- Behat and Mink: BDD test creation and driving system. Allows you to write natural language behavioral tests in the same format as a user story, turn that to code, or with Mink, turn it into something that can automatically test your app. The simple case demoed was fairly impressive. The Contacts team is moving to a more lean development methodology and we need all the help we can get in the QA automation space. This tool has promise. Very similar to Pyccuracy, a tool written by our friends in the meme.com team in Brazil.
- node-inspector: in-browser Node.js debugging tool
- The Chrome team has an Eclipse-based Node.js debugger as well, it looked very impressive on the big screen.
- npm: Node Package Manager, developed by ex-Yahoo! Isaac Shlueter (who also lives in Oakland, woot!) is a necessity (but does not install if you followed the instructions to install node from the ubuntu package. I spent the second half of the tutorial re-installing node from source so I could install npm. Very irritating!)