Musings on Zero Downtime Deployment

Musings on Zero Downtime Deployment

I've been thinking about Zero Downtime Deployment for the past few weeks. I even raised it as a discussion topic in our LSCC Roundtable. Here are the key points discussed. Obviously the feasibility/suitability completely depends on the application and platform architecture. Also this is not...


Saxon XQuery With Multiple Documents

Saxon XQuery With Multiple Documents

Saxon is a wonderful API for XML processing. It provides complete support for XPath, XQuery and XSLT. Although I'm always baffled with it's lack of adoption compared to Xalan and Xerces. Having said that the online documentation can definitely do with some improvement.  The following...


Mentorship in Software Craftsmanship - part 3

Mentorship in Software Craftsmanship - part 3

In previous posts I covered: Part 1: Mentor and mentee roles, gains and sacrifices, mutual respect Part 2: How to choose mentors and mentees and mentorship misconceptions Walking the long road together (or at least part of it) Once the relationship between mentor and mentee...


Installing Io language on Ubuntu

Installing Io language on Ubuntu

Since I'm new to Ubuntu and I had a hard time installing Io language, I've decided to record my steps. Hopefully I'll remember all of them and other people won't struggle as much as I did. I'm running Ubuntu 11.10. The main problem I had...


The difference between UI Designer and UI Developer

The difference between UI Designer and UI Developer

In a previous post I talked about developers distinguishing themselves as specialists in a particular part of the application e.g. server side, gui, database etc. This kind of specialisation is counter productive to creating good software. However, there are roles where the specialisation is important. One such...


The legacy of misplaced Testing

The legacy of misplaced Testing

Recently I've been exposed to a number of projects that have been going on for a few years. As you'd expect they are at a stage where the cost of change is phenomenal. The codebase is large, convoluted and very difficult to understand. However, there are a lot...


Design aligned to the Problem Vs Design aligned to the Technology

Design aligned to the Problem Vs Design aligned to the Technology

Lets develop a web app from start: Well I know Java pretty well so it's going to be Java and then the de facto design is Spring + Hibernate with Spring MVC. I know I'll push the boat out get some AJAX in the mix....


Mentorship in Software Craftsmanship - part 2

Mentorship in Software Craftsmanship - part 2

In part one I gave a bit of background history and also described the roles and responsibilities of mentors and mentees according to the Software Craftsmanship principles. In this second post I'll be convering a few other areas related to the relationship itself. Remember that the focus...


Mentorship in Software Craftsmanship

Mentorship in Software Craftsmanship

How's mentorship seen in Software Craftsmanship? First, a little bit of background and metaphor In the medieval times, apprentices would work in workshops an would be mentored by senior craftsmen (journeymen) or by the master craftsman himself. The apprentice had the responsibility to learn, observing the...


LSCC's First Code Retreat

LSCC's First Code Retreat

On September 10th we had the London Software Craftsmanship Community's First Code Retreat. We had 22 passionate and talented developers working in Java, C#, Ruby, Python and JavaScript. Some of them travelled two hours, waking up as early as 5am, to come to the code...


Latest Tweets