Last weekend’s Barcamp Auckland unconference had social issues, comedy and politics, but of course no Barcamp would be complete without a heapin’ helping of software development geekery. Mal Curtis (@snikchnz) gave a packed presentation on Web Development Productivity, subtitled “What I use to quickly develop, deploy and maintain html, css, js, php & ruby code at learnable.com and (a lil’ bit) sitepoint.com. Git, Sass, Testing (Rspec, Cucumber, PHP too), Continuous Integration and deployment.” Actually that pretty much covers it.
But there were some particular highlights for me. Git, of course; everybody loves Git. In fact, 5 years ago I started a project in my day job. I strongly advocated using Subversion, and though there was some resistance (“What’s wrong with CVS?”) we did go with SVN. Now all our projects use Subversion. And now, working on an updated project for the same client, I’m keen to move to Git and it looks as if we’ll be doing that. Maybe 5 years from now we’ll be moving on to the next big version control paradigm. Nah, that’ll never happen, because Git is already version control Nirvana. Mmm, this Kool-Aid is delicious.
Mal recommended MacVim. I have installed it now. I spend a lot of time using Vim on various OSes, and I only know about 5 commands. Maybe if I switch to MacVim I will actually become a proper Vim user instead of a perpetual newbie.
He also spoke very highly of Sass, an “extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more”.I’ve always been intrigued by Sass and Less and their ilk, but I worry that it’ll be too easy to write logical and clear Sass code that expands to CSS code with complicated selectors, leading to cascade problems, debugging nightmares and general unhappiness. (Coincidentally, a few days later Stephen Tudor pointed out a few of these issues in Responsible Sass Authoring.) But Mal pointed out that you don’t have to go all-in: just a few key features (like mixins and variables) will make a big difference.
I’m convinced it’s worth a try.