Fun with very strict TDD

I use Test-Driven Development (TDD) every day, and find it very helpful. It can be hard to get to grips with, though. I was pleased to read that acceptance-testing pundit Gojko Adzic had fun with some very strict TDD rules. Gojko Adzic » Thought-provoking TDD exercise at the Software Craftsmanship conference. My approach to TDD …

Continue reading ‘Fun with very strict TDD’ »

Citrix Gives away XenServer for Free

They spin it as a way to promote their associated services. More cynically I;’m guessing they are scared of losing their business to Amazon and Google, who can offer much broader cloud offerings and are gobbling up the cloud market. On the other hand, if you are actually interested in setting up your own local …

Continue reading ‘Citrix Gives away XenServer for Free’ »

reliable web app deployment using git and Resin

I have always liked the Resin application container. I often use it to develop servlet and J2EE applications, even ones which are eventually deployed on another server. Resin is fast, clean, and easy to manage. Its cool ability to run PHP as well as java is a bonus. Now it’s even cleverer, and it includes …

Continue reading ‘reliable web app deployment using git and Resin’ »

Information Radiators: Is low tech really better?

We currenty use a wall, covered with brown envelopes, for story and task tracking. It has its advantages but prople, particularly people not based in this office, often ask for something else.  Chris Sims at InfoQ has a useful summary of the pros and cons of high-tech and low-tech “information radiators” InfoQ: Information Radiators: Is …

Continue reading ‘Information Radiators: Is low tech really better?’ »

What Is a Service?

Sometimes in software development it seems that everything is turning into a “service”. For diagram-loving architects, decribing everything in terms of services is a great way to avoid getting involved in fiddly implementation detail. The trouble with this approach is that hiding everything behind services can lead to thoroughly de-optimised systems. Greater hardware needs, greater …

Continue reading ‘What Is a Service?’ »

A convergent visionary

If you have been following this blog and you are interested in the area of convergent technology, then you may want to take a look at the site I have put together to gather my scattered writings and thoughts on this interesting and rich field. Frank Carver – a Convergent Visionary To start the new …

Continue reading ‘A convergent visionary’ »

YAGNI: Some thoughts

YAGNI – it’s a neat term for a valuable technique. Ignoring an unknown future to concentrate on a known present. That does not mean that it’s application is obvious, though. I often find myself in “discussions” with architects and designers who recoil at the idea of building something specific to one customer or situation, when …

Continue reading ‘YAGNI: Some thoughts’ »

Musical call tones and mental models

From time to time I have been asked if I know how to deliver Caller Ring Back Tones (CRBT). While it is obviously a popular feature in some parts of the world it has always mildly baffled me. It’s nice to read that at least one person also finds this odd. In a more general …

Continue reading ‘Musical call tones and mental models’ »

Andy Singleton on Managing Distributed Agile Projects

I have just listened to an excellent podcast interview with Andy Singleton from Assembla in which the discussion ranges around his extreme views on how to run highly productive distributed software teams. Top tips include “don’t interview when hiring”, “don’t estimate work”, “don’t do conference calls”, etc… Contentious, but very well explained and justified. This …

Continue reading ‘Andy Singleton on Managing Distributed Agile Projects’ »

Kilim – efficient java internal messaging

The internal messaging model used for concurrency in languages such as Erlang and Scala is undoubtedly compelling. Every time I try I get frustrated, though. I’m simply more comfortable with java. With this in mind I’m very interested in Kilim, which claims to provide a similar model usable directly from java, and with better performance …

Continue reading ‘Kilim – efficient java internal messaging’ »

Store and share your shell history

I’m sure we’ve all lost some laborious but useful command lines to the mists of time. Some way to automatically store command history and share it between machines sounds like a cunning idea. Cuberick: Bash History In The Cloud. My main worry is that some supposedly private information will end up in this collection. It’s …

Continue reading ‘Store and share your shell history’ »

Testing is Overrated

A conference presentation from RubyFringe, designed to be contentious. There are some good points, particularly about the way that different approaches to testing can complement each other, but I think he misses the point about TDD when he lumps it in with developer unit testing and ignores the design aspects of the technique. InfoQ: Testing …

Continue reading ‘Testing is Overrated’ »

The road to riches begins at the water cooler

Recently I have found myself getting quite cross with articles published by the British Computer Society (BCS), but at least they can provide interesting and useful stuff sometimes. Here are some transcripts of presentations about starting companies and venture capital in the UK, together with a summary of some discussions. The road to riches begins …

Continue reading ‘The road to riches begins at the water cooler’ »