Baruco 2012: Micro-Service Architecture, by Fred George

A fascinating presentation from Barcelona Ruby Conference. Fred George talks through the history and examples of his thinking about system architectures composed of micro services. I found this particularly interesting as it has so many resonances with systems I have designed and worked on, even addressing some of the tricky temporal issues which Fred has …

Continue reading ‘Baruco 2012: Micro-Service Architecture, by Fred George’ »

Experimenting with VMware CloudFoundry

Yesterday evening I went along to the Ipswich Ruby User Group, where Dan Higham gave an enthusiastic presentation about VMware CloudFoundry. The product looked interesting enough (and appropriate enough to my current project) that I decided to spend a few hours evaluating it. On the whole I’m impressed. After poking around the web site a …

Continue reading ‘Experimenting with VMware CloudFoundry’ »

Dynamically provision virtual machines from ruby with Vagrant

I have been doing a lot of work with virtual machines recently. It’s a great way to sidestep machine-specific issues (Windows, I’m looking at you) and set up a consistent development/deployment environment. However, downloading, installing, updating and setting up each new image has been increasingly tedious. Vagrant looks like a brilliant idea to enable automation …

Continue reading ‘Dynamically provision virtual machines from ruby with Vagrant’ »

Monk – Quickstart Sinatra Projects

I’m currently on my fourth or fifth project using the Sinatra web framework. Each project has taught me more about Sinatra, and Ruby, and all the other little things that go into making a web application using these tools. One thing which has been puzzling me, though, is how best to structure the directories and …

Continue reading ‘Monk – Quickstart Sinatra Projects’ »

Build and deployment scripts using “real” programming languages

Like many teams, I’m sure, we are trying to squeeze every drop of effectiveness out of our time. Manual build and deployment not only takes up valuable time, but also acts as a drag on the development process. Anything which pulls developers out of “the zone” is a bad thing for productivity. We usually use …

Continue reading ‘Build and deployment scripts using “real” programming languages’ »

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’ »

Chef – scriptable multi-machine deployment

I’m a strong believer that manual steps should be automated wherever possible. One of the areas of our current product which seems to require an inordinate amount of manual “faffing” is provisioning and deployment. Chef, a ruby system for distributing and automating just these kinds of tasks seems an interesting solution. Home – Chef – …

Continue reading ‘Chef – scriptable multi-machine deployment’ »

Comparing Java and Python – is Java 10x more verbose than Python (LOC)? A modest empiric approach

It’s a long-running argument. Are modern, dynamic, languages such as Ruby and Python really much more concise than more mainstream languages such as Java? What constitutes “big” in each case? Stephan tries to flush out some hard facts, and gets a lot of comments. Comparing Java and Python – is Java 10x more verbose than …

Continue reading ‘Comparing Java and Python – is Java 10x more verbose than Python (LOC)? A modest empiric approach’ »

Increasing Code Coverage May Be Harmful

I develop almost all my code these days using Test Driven Development (TDD). By taking this approach I never bother about unit test code coverage, but some developers seem very concerned by it. One thing that I have never considered doing is retroactively adding tests just to increase some code-coverage metric. Dan Manges has written …

Continue reading ‘Increasing Code Coverage May Be Harmful’ »

Are static or dynamic languages more maintainable?

So the question is: are dynamic-typed languages (ruby, python, smalltalk, etc.) easier or harder to maintain than static-typed languages (Java, C#, etc.)? It seems there are arguments both ways. On the one hand, dynamic languages tend to be a bit more concise, and reducing code size is a great way to simplify maintenance. On the …

Continue reading ‘Are static or dynamic languages more maintainable?’ »

Business, venture capital, Ruby and the Fringe

A thoroughly enjoyable presentation from RubyFringe, one of the best I have ever watched. It starts with a few minutes of demonstration of a reasonably cool music tool, but the real meat is in the presentation which follows – a fast paced, insightful and downright humorous rant about a wide range of topics from Leonardo …

Continue reading ‘Business, venture capital, Ruby and the Fringe’ »

Antagonistic Pleiotropy

My current work is centred around Java, and all our applications are deployed in java containers. It might one day be useful to deploy JRuby applications, and in particular rails apps, to these same containers. Here’s a list of things to beware of in such situations. Antagonistic Pleiotropy

Testing web services with ActiveResource

When I first saw this it looked great: a ruby REST wrapper which supports a lot of useful test and integration possibilities. However, the deeper I looked, the more disappointed I became. I’m now saddened to believe that this is based on yet another misunderstanding of what REST is. As far as I can tell, …

Continue reading ‘Testing web services with ActiveResource’ »

InfoQ: Vertebra: EngineYard’s Next Generation Cloud Computing Platform

Even though this article uses the term “web 3.0”, it’s still worth reading. The idea of moving from specific “cloud computing” implementations to a more generic and pluggable approach is a neat idea. Using ruby as a scripting language for “agents” and Erlang for the infrastructure seems a good balance, too. InfoQ: Vertebra: EngineYard’s Next …

Continue reading ‘InfoQ: Vertebra: EngineYard’s Next Generation Cloud Computing Platform’ »