Code Culture
Bobby Norton’s thoughts on software development
Categories: Build and Deployment, Craftsmanship, Functional Programming, Test Driven Learning | Add a Comment

In a previous post, I alluded to using Test-Driven Learning (TDL) techniques to decompose a compact Fibonacci function from Programming Clojure:
def fibo(
  (map first (iterate (fn[a b] [b (+ a b)]) [0 1]))
These learning tests are in Shubox - check it out.
A few colleagues and I recently discussed whether or not traditional (aka object-oriented) TDD techniques [...]

Categories: Craftsmanship, Test Driven Learning | 2 Comments

Sam Newman recently blogged that he was struggling with Test-Driven Clojure:
“Stuart Halloway said during his Clojure talk at Qcon SF that despite being a TDD fan he finds it hard to TDD in a new language, and I get exactly what he means. A big part of it is that you’re getting to grips with [...]

Categories: Craftsmanship, Test Driven Learning | Add a Comment

In approaching any new language, there are many learning curves to overcome. What are the most frequently used API’s? What frameworks should I use? What patterns and idioms? Reading books and blogs can help, but there’s no substitute for getting your hands dirty and doing some coding. Thinking about software development instead of actually developing [...]

Categories: Build and Deployment | 2 Comments

Our understanding of continuous integration has evolved over the years to mean more than just making sure various software components play nicely together. As the practice matures, a much more system-oriented view is emerging. Continuous deployment, the idea that every check in could end up in production automatically after passing through a rigorous CI process, [...]

Categories: Build and Deployment | Add a Comment

“You’re going to deploy every change to production? Is that every time you save a file? How about every keystroke?”
The downtime and confusion that would ensue could hardly be considered agile.
Of course, this isn’t what’s intended by the terms ‘continuous integration’ or ‘continuous deployment’. Continual means ‘frequent, repeating at intervals’ and continuous means ‘going on [...]

Categories: Build and Deployment | 1 Comment

About two years ago when I started working on Cruise, I set up a Google Alert for “continuous deployment”. At first, there was a lot of noise about troop movement in Iraq. Lately, however, things have become much more relevant.
I’m happy to see this happening: It validates a lot of the theory we built into [...]