Because Friday newsletters are overrated
March 10, 2014
git-ing it wrong! - Murray Steele
I was helping someone on my team prepare a deploy recently and noticed they tagged the release with
git -a tag <sha> -m “tagging for release”. I was mostly confused by the
-m, as I didn’t know you could add a message to a tag, but I couldn’t recall seeing the
-a either. I did some research, and it turns out I’ve been creating lightweight tags all along. How embarrassing!
On stupid classes - Murray Steele
I can’t remember how I found this article about controller patterns and stupid classes, but the arguments about object design, and MVC controllers in particular, are very interesting. Some of the stuff is particular to Python (e.g. method annotations, which we don’t have in Ruby, although there’s plenty of discussion if you’re interested), but the main point is that objects should have state and behaviour and from that you can talk about what they are. Controllers are stupid classes because they’re don’t really represent anything other than the mechanics of MVC. My tl;dr isn’t very good, so you should just read it.
Ruby implementation of Bitcoin - Henry Turner
It’s just a Gist… But it’s a Ruby implementation of Bitcoin’s proof of work concept. Proof of work is what Bitcoin is based on and mining is often described as ‘solving mathematical problems’ when it’s little more than a coin toss.
ECMAScript 6 Roundup - Gavin van Lelyveld
"This standard is targetting ratification in December 2014. ES6 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009"
Git automation - Gavin van Lelyveld
Cape Town newbie Gavin is a big fan of automation - so much so he's decided to educate us all in configuring our git configs to make the default behaviours work betterer.
Things I learned when stuff went wrong - Sven Agnew
We recently had a sprint which was very heavy on system administration and command line work as opposed to development work and I thought I'd share a few of the links I hit during my frantic Googling in the face of downtime clock increments.
Tools to test load
We used the excellent httperf to pre-test load management on a web cluster by replaying production nginx log file data with various concurrency and step-increment models.
The vast and powerful Apache Jmeter is a massive multi-protocol load and performance testing application. Not good for emergencies. Excellent for planning and research.
Tools to debug with
Spelunking into 3rd-party libraries and system code is impossible without a solid understanding of this ubiquitous tool. Probably you won't need to use it often. When you do, you really do.
The Enterprise version of Passenger has some debugging and resource management facilities which really make digging into live code much simpler. In the case of a production system, that alone is probably worth the license fee.
Tools to stay focussed with
Hospital Records - simply brilliant Drum n Bass to while away those 8pm debugging sessions ;)