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 is really quite similar to these strict rules. I’ll admit that I do (sometmes) cut a few corners. The biggest aid to getting the most from TDD is definately good refactoring tools. Without that the whole thing becomes so much more clumsy.
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 “cloud”, then this might be a good deal.
InfoQ: Citrix Changes the Virtualization Market by Giving XenServer for Free
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 a bit more trendiness. Resin 4.0 supports a git repository as the underlying storage for web applications, with all the versioning and updating benefits which that implies.
Read more at Caucho Technology » Blog Archive » reliable deployment using .git.
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 low tech really better?.
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 software licence costs, duplication of development and maintenance effort, higher data-transfer and bandwidth requirements, etc. …
Phillip Calçado “Shoes” has a good example of some of these problems at What Is a Service?
Now this is an interesting result. It appears that even when running in a virtual machine, Linux can be a faster development system than the Windows the VM is running on!
Linux VirtualBox vs Windows for Rails Dev – James Crisp.
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 site I have copied over a selection of the more convergence-related posts from this blog. In the future I plan to focus on software development and personal items here, and on business and convergent technology on the new site. If possible I will arrange some sort of cross-posting or notification for people who prefer to read everything in one place.
As a new site it’s not very visible in searches yet, so as a personal request, I would really value any links from other blogs or web sites. If you have ever enjoyed or found useful anything on this site or any of my others, please consider joining the discussion or linking to my new site.
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 it is “obvious” that a general solution will be better.
Mark Needham has written some of his thoughts on this topic.
YAGNI: Some thoughts at Mark Needham
This looks very interesting, although it is at an early stage right now. A system for building and managing cloud-hosted applications, using XMPP as a communication subsystem.
InfoQ: Engine Yard Releases Cloud Management Framework Vertebra
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 sense, though, this is interesting from a user-interface point of view.
I’m all in favour of giving users the ability to personalise their service as much as possible. Being able to paint the walls and move the furniture is a great way to get comfortable with a service. But the point of this is that each user is customising their own experience.
CRBT breaks this model. With CRBT, each user is, in effect, customising someone else’s experience. As an approach, this can have significant impact on usability, causing congnitive dissonance, a feeling of powerlessness, and a reluctance to use a service.
If you are designing a service, please think twice before adding features which allow one user to change the experience of another.
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 podcast is so packed with thoughtful stuff that I’m sure I’ll listen to it again.
Podcast on Managing Distributed Agile Projects
I’m deep in some spatial/geographical work at the moment, so I thought I’d jot down a couple of useful links:
Using the Google Maps gadget with Google Docs – Microsoft Excel – Zimbio
Google KML Tutorial
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 than Scala.
I occasionally find myself giving presentations or pitches, and always find the end the hardest bit. Bert Decker has some great tips for ending a presentation well.
Create Your Communications Experience: Six Don’ts for the End of Your Presentations
Interesting post about the different usage and expectations of mobile search and general search. In short, location matters.
ShareMe -The Mobile Future : Mobile Search is Not GOOGLE SEARCH
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 too easy to build a command line containing some explicit password options if you are used to command history disappearing.
Twitter is all over the media these days. It was a top topic of conversation in the pub last night. It’s interesting to see it developing from a toy into a useful communication “platform”.
Twitter Fast Growing Beyond Its Messaging Roots | Epicenter from Wired.com.
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 is Overrated.
I run several WordPress blogs, and have in the past had some of them hacked – mainly because I did not keep up to date with security patches. Even with that, though things could still be better secured.
Smashing Magazine has some excellent tips: 10 Steps To Protect The Admin Area In WordPress
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 at the water cooler : Articles : Business IT Interface : BCS
Just a shame that this was not an open conference, though.