Conclusions on CoffeeScript
March 2nd, 2010Well, having played with CoffeeScript for a few days, I think it’s a wonderful thing – but for the moment, at least, I’m going back to JavaScript, with some regret.
Read the rest of this entry »
Well, having played with CoffeeScript for a few days, I think it’s a wonderful thing – but for the moment, at least, I’m going back to JavaScript, with some regret.
Read the rest of this entry »
I’ve been fiddling with Coffeescript, a nifty language for writing Javascript – well, really it’s more like a pre-compiler than a language; it compiles directly to readable javascript (including comments!) and generally one Coffeescript statement produces one javascript statement.
So why would you use it? Because it bypasses some of the horribleness of Javascript syntax, and implements a few handy patterns, like anonymous function creation, in much clearer code.
Read the rest of this entry »
This isn’t particularly new – I wrote this code a while ago, but it never got “finished” so I never wrote it up…
Many agile dev teams use Delcom USB build lights:
http://delcomproducts.com/productdetails.asp?productnum=804005
Coding for these is apparently quite complex… unless you are on a recent-ish Linux machine, in which case it’s amazingly trivial.
Read the rest of this entry »
[Please note - if you are familiar with BDD, Cucumber, or Selenium, parts of this may be a tad basic - but I thought it was worth writing a from-scratch guide for those to whom this is unfamiliar territory...]
BDD is a new-ish term used as a contrast to Test Driven Development – it was coined by Dan North in 2006, as described in his article at http://dannorth.net/introducing-bdd – there’s also a good introduction in wikipedia.
In a nutshell, BDD is all about describing the behaviour of an application, in a plain-text language that can be understood by end users, testers, and developers – and then hopefully automating acceptance testing, so you can prove that at any time, the application meets the BDD description.
Read the rest of this entry »
Well, I’ve been reading again (always a bad move) – first Outliers, by Malcolm Gladwell, which talks about the 10,000 hour rule. He theorises that to truly master something, you need to spend 10,000 hours practising it.
I’m an old-school geek – I started coding in year 7 on my sister’s university account, in Basic; and I spent many, many years coding bad procedural programs in Basic, Assembler, Pascal, and C. I racked up at least 10,000 hours of procedural coding – sometimes with cool results, but generally it was pretty ugly.
Somewhere along the way, I got paid to code, and eventually I discovered C++, and a while later, Java and object-oriented ideas, and a more "professional" approach to coding; which, sadly, often meant forays into realms of ugly complexity commonly associated with "professional" coding – it can be summed up with a pile of acronyms, most of which still make me break out in a cold sweat – UML, STL, J2EE, Corba, RUP, COM, MDA … I shudder to go on. Another 10,000+ years of ‘practice’ – and a lot of useful lessons learned, though mostly about what kind of things to avoid, and what kind of promises to be sceptical about.
Thankfully, things got somewhat better after that – moving to Agile development made the world a lot more sane; test-driven and behaviour-driven development have drastically improved code quality and transparency; and I discovered shiny new languages like Ruby, which re-introduced me to Functional Programming, which led to Clojure and Scala and a host of new ideas and technologies. And all of these connected me to new communities of people with new ideas… This starts to look like a great 10,000 hours!
That brings me to the other book I read recently – from the always excellent Pragmatic Press, "The Passionate Programmer", all about building and enhancing your IT career. It helped me to realise I should pull my socks up, update my websites and my blogs, and actually share what interests me with the world, rather than geeking along in a vacuum.
So hence this long ramble and this re-branded blog. I have a pile of things to write about – a short list includes:
Plus, of course, whatever actually comes up…