Producing open source: C2B2 case study

Posted about 1 year back at townx - tech

One of the firms I've worked with at OpenAdvantage is C2B2. They specialise in Java software, particularly to do with portals, and have their own open source Java portal product, iPoint. It's an interesting product, and one I think should be more widely known.

OpenAdvantage have assisted C2B2 with some marketing and feedback on their product, and I've written up their experience with open source as a case study on the OpenAdvantage website. I think it's an interesting read, as small businesses producing open source products are very much in the minority (at least in my experience - see Senokian and Clockwork Software for two other West Midlands examples). We know of plenty of companies using open source in the West Midlands, but producers are in the minority. The article goes into both the benefits and pitfalls of producing open source, and highlights issues on both the vendor and customer sides of the business.

AdventurDeutsche Has Begun

Posted about 1 year back at Tampering with Technology

After about 46 hours of travelling, I finally arrived in Berlin, Germany for RailsConf 2007 on Saturday. Not only was it 46 hours of travelling, but we were drinking the whole time as well; I’m exhausted, to say the least.

The conference has just started today (there were tutorials yesterday). DHH started things out with a rather dry keynote about the small evolutions that have been made to Rails as we approach the 2.0 release. Not that it was bad, but it wasn’t that interesting either.

I also went and saw a great talk about including artificial intelligence into Rails applications. It was a little light on the introductory details which I think a lot of the audience wanted, but that didn’t bother me much. I like how the speakers pushed that AI is not just useful for the typical spam filter situation in web apps, that it can be applied to many other scenarios. I plan to look into this further in the next couple of weeks.

VirtualBox: open source virtualisation

Posted about 1 year back at townx - tech

I've been a VMware user for a couple of years now, and have found it invaluable for testing different operating systems and network configurations without the need for tons of hardware. (For example, I used VMware to simulate deployments of Rails applications from my laptop to a virtual Linux server, using Capistrano over SSH.) I have the luxury of a Workstation licence, which makes it simple to set up new virtual machines and network them.

However, having heard about Xen and the like, I thought I'd have a look over the open source offerings for virtualisation and see how they measured up. This week, I have been trying out VirtualBox, a nice system which offers much of the functionality of VMware (probably all if you're prepared to read the manual properly), but which you can use for nothing. The licensing model is to charge extra for some "enterprise" features, but for me the wholly-free community version (released under the GPL) is more than adequate. Also bear in mind that I installed it on Ubuntu Linux (Dapper) and used that as the host operating system (the one running the virtual machines), but that it is available for Windows too.

Installation

The first step is to download a package for your operating system. I used the Ubuntu Dapper .deb package provided on the downloads site, which I installed with no problems. The only slight issue is that you need a few dependencies first. I had most already, but I needed a couple more. For those of you who are interested, here's the output of dpkg-query -s virtualbox, which shows the dependencies:

Package: virtualbox
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 30936
Maintainer: innotek GmbH <info@virtualbox.org>
Architecture: i386
Version: 1.5.0-24069-1_Ubuntu_dapper
Depends: libasound2 (>> 1.0.10), libc6 (>= 2.3.4-1), libgcc1 (>= 1:4.0.2), libgl ib2.0-0 (>= 2.10.0), libice6, libidl0, libpng12-0 (>= 1.2.8rel), libqt3-mt (>= 3 :3.3.6), libsdl1.2debian (>> 1.2.7+1.2.8), libsm6, libssl0.9.8 (>= 0.9.8a-1), li bstdc++6 (>= 4.0.2-4), libx11-6, libxalan110, libxcursor1 (>> 1.1.2), libxerces2 7, libxext6, libxt6, zlib1g (>= 1:1.2.1), debconf (>= 0.5) | debconf-2.0, psmisc
Pre-Depends: debconf (>= 1.1) | debconf-2.0
Recommends: linux-headers, gcc, make, binutils, bridge-utils, uml-utilities, lib hal1 (>= 0.5)
Conffiles:
 /etc/init.d/vboxnet dba1d3dd5cf1dfa526df9f8be2cd17b8
 /etc/init.d/vboxdrv b3b219d047c0de1216db6c4b9481a233
 /etc/vbox/vbox.cfg 7fa8136a0f4330b1024b70f9d258c0a5 obsolete
 /etc/init.d/virtualbox 4946cb298821c69ebd17575c75c56fd1 obsolete
Description: innotek VirtualBox
 VirtualBox is a powerful PC virtualization solution allowing you to run a
 wide range of PC operating systems on your Linux system. This includes
 Windows, Linux, FreeBSD, DOS, OpenBSD and others. VirtualBox comes with a broad
 feature set and excellent performance, making it the premier virtualization
 software solution on the market.

I installed the VirtualBox .deb itself using:

sudo dpkg --install virtualbox_1.5.0-24069-1_Ubuntu_dapper_i386.deb

(Attempting to install highlighted my missing dependencies, which I then installed with apt-get.) Once installed, you can get it up and running from the command line with:

$ VirtualBox

The interface is plain but fairly easy to follow:

Installing Damn Small Linux as a guest operating system

My preferred distribution for testing virtualisation software is Damn Small Linux (DSL), a tiny but still useful Linux distribution. The download is only 50Mb, and it will run from a CD image; but you can also install it to a USB drive or proper hard drive, providing you give it at least 200Mb of space. I use it as the guest operating system on my Linux host, to quickly get a flavour of how the virtualisation software works.

I downloaded an .iso for DSL, created a new virtual machine, and pointed it at the .iso file as the CD image to boot from. This is what the VirtualBox configuration looks like; notice the options to mount multiple hard disks, mount a real CD drive, use USB, audio etc., as in VMware:

Once I clicked on the Start button, DSL booted off the CD image first time, blindingly fast: much faster than a VMware virtual machine booting DSL with the same amount of RAM. This was promising. Once up and running, everything worked as expected, and VirtualBox had set up the virtual machine's network connection so I could get out onto the internet using Firefox (1.0.6):

Installing Damn Small Linux to a virtual disk

However, trying to install to a hard disk was a bit more of a chore than I would have liked. To do this, I worked out this series of steps, with some trial and error. First, you have to attach a virtual disk to the machine, like so:

  1. Close down the virtual machine so it is powered off.
  2. Click on the Hard disks heading in the virtual machine configuration. This takes you to the Hard Disks tab in the configuration window.
  3. Tick the Primary Master radio button, then on the icon next to the drop-down box. This will take you through to the Virtual Disks Manager.
  4. Click on the New button to add a new virtual disk.
  5. Click on the Next button. You're now offered a choice of creating a Fixed-size or Dynamically expanding virtual disk. I chose a fixed size one. Click on Next.
  6. Set the size for the disk image. I went for 200Mb. You can leave the name for the disk at the default, and it will be stored in a .VirtualBox directory in your home directory.
  7. Click through the rest of the wizard until your virtual disk is created.

Next, boot off the operating system off the CD again. Here's where I had a few problems. While the hard disk was recognised (as /dev/hda), it wasn't automatically mounted; in addition, it didn't have a valid partition table on it. Fine for technical users, but nowhere near as friendly as VMware: I seem to remember that when I installed DSL on VMware, I didn't need to create the filesystem myself.

In VirtualBox, when I tried to run the DSL "install to hard disk" option (right click on the desktop, and select Apps > Tools > Install to Hard Drive), it failed miserably. So I got a terminal up and created my own partition on the hard drive using fdisk. My session looked like this:

I then ran the installer, choosing to use an ext3 filesystem and using the Grub bootloader (Lilo didn't work). Here's what the DSL hard disk install script looks like while it's running:

I don't know if you'd need to do this for other Live CD to hard disk installers (e.g. Ubuntu's), but I guess you would.

Once I'd done this, DSL happily booted off the virtual disk and I was done.

Pros and cons

So, what do I like about VirtualBox?

  • It's open source :) and doesn't cost a penny for the "workstation" style edition. VMware's player is open source, but the workstation needs a paid-for licence key. It also means that installation is at least as easy (and will probably eventually be easier than) VMware, as it can become part of mainstream distribution repositories.
  • It runs happily on Linux and was easy to install on Dapper (providing you remember the dependencies).
  • It seems faster than VMware.
  • One feature I really like is that you can attach any virtual disk to any machine, and that disks can be managed separately from virtual machines. This means you could mount a single virtual disk onto multiple machines; so if you upgrade or change the operating system, you could still easily access data from another virtual machine by mounting its disk. I'm not sure whether you can do this at all with VMware.
  • Although I am not likely to use it, the API is fairly open; you can also run guest OSes headlessly, as I believe you can with VMware server. You can also programmatically create virtual machines, as they are configured through an XML file (I believe the virtual disk format is also compatible with the Xen virtualisation software; I don't think VMware's is). This open-ness should make it attractive to enterprises that don't want to get locked to a vendor.

What don't I like?

  • Setting up things like bridged networking seems like a real faff, involving doing quite a bit of work on the host operating system. It looked so much of a pain that I decided not to bother. This makes it tricky to do networking between the guest and the host (e.g. so you can copy files from the host onto the guest). Similarly, sharing folders looks slightly trickier than on VMware.
  • Cut and paste requires you to add the VirtualBox Guest Additions to a virtual machine, which requires compilation. This process is similar to VMware's toolbox, and a bit of a pain. I haven't bothered with this yet.
  • It doesn't quite have the interface polish of VMware, though that doesn't bother me too much.
  • It doesn't have quite the backing of tools like Xen. This could mean that it doesn't attract the same quality of engineers, and that it will have trouble innovating so fast.

Summary

This is a short, biased and probably inaccurate review of VirtualBox, but hopefully it will give you a flavour of why I think it is a useful tool, and help you get started with it yourself. I'll be using it in favour of VMware, at least in the short term, so that I don't have to pay a licence fee. It definitely suits my needs for the moment, and if you're interested in virtualisation, I'd recommend giving it a go.

RailsConf Europe - Dave Thomas Keynote

Posted about 1 year back at Liverail - Home

Last night Dave Thomas kicked off RailsConf Europe with something different. Rather than evangelize Rails or talk up the lastest/next big thing, Dave set the tone for the conference by stripping back it to the core philosophy’s of software development and created a grand analogy.

Rails and Art

Dave’s well spoken, in a mid-atlantic accent, and funny keynote concentrated on the definition of software development as art or engineering. By making multiple analogies to software development to famous works of art and the methods of artists of history, Dave was trying to create a philosophy behind not just good software but truely great, beautiful software. He looked at four main things.

Starting

Just as the artist is faced with a blank canvas, the developer is faced with a blank IDE. But an artist doesn’t jump right in and start to create the masterpiece. Instead the use sketching and work in other mediums to deduce how a masterpiece will evolve. Consequently the developer should work in other mediums, or index cards or lego. They could use prototyping of small complex areas, exploratory testing to validate understanding and creating a “tracer bullet�, a complete end-to-end system but without any details, later they can fill in the details or just start over.

be prepared to throw 10 away, because the 11th will be sweet.

Stopping

In a grand mosiac such as the sistine chapel, its hard to be close to the detail when the work is so large. So Dave talks about about how to chapel is broken into panels, all unique “loosely coupled� but come together to tell a long story. Hence developers can set boundaries not just in function (modularisation) but in time then honouring those boundaries. Short distinct length development times and if your feature is only half finished at the end. Stop and be prepared to throw it out and do it again in the next iteration.

Satisfy the customer

Pictures versus portraits. An artist painting a portrait tries to look inside someone and find a way to express it, even if its abstract its still a representation. The developer needs to find a way to satisfy the underlying requirement.

Be in the habit of not listening to the client.

But to do so a developer needs to look beyond the surface, be appropriate, work with client and get to know them. Dave used two great anecdotes, the NASA space pen (the real story) and the driving license camera as two conflicting stories. Where some clients don’t realize they have the need for a technology solution but some clients don’t need high technology, listen to what they really need.

Why

There is art in engineering and engineering in art.

Be an artist. Create something great. Create something beautiful.

Sign your work. No more anonymous applications

My review

I really liked Dave Thomas’s keynote, he is a fine speaker, smart and inspirational. Talking to a few people afterwards there was a little “Yeah but that’s what we are like…� but for two things..

  1. Not all developers are the artists they think they are.
  2. The majority of development teams don’t know this at all, they are stuck in the production mentatility of ‘lines of code produced per hour’ and ‘man-days effort’

I think Dave’s keynote would have gone down best with the non-technicals, the managers, the CTO’s, the executives. Maybe then they can treat the developers a bit better than code generation machines and like real artisans.

Stuart Eccles

RailsConf Europe - Dave Thomas Keynote

Posted about 1 year back at Liverail - Home

Last night Dave Thomas kicked off RailsConf Europe with something different. Rather than evangelize Rails or talk up the lastest/next big thing, Dave set the tone for the conference by stripping back it to the core philosophy’s of software development and created a grand analogy.

Rails and Art

Dave’s well spoken, in a mid-atlantic accent, and funny keynote concentrated on the definition of software development as art or engineering. By making multiple analogies to software development to famous works of art and the methods of artists of history, Dave was trying to create a philosophy behind not just good software but truely great, beautiful software. He looked at four main things.

Starting

Just as the artist is faced with a blank canvas, the developer is faced with a blank IDE. But an artist doesn’t jump right in and start to create the masterpiece. Instead the use sketching and work in other mediums to deduce how a masterpiece will evolve. Consequently the developer should work in other mediums, or index cards or lego. They could use prototyping of small complex areas, exploratory testing to validate understanding and creating a “tracer bullet”, a complete end-to-end system but without any details, later they can fill in the details or just start over.

be prepared to throw 10 away, because the 11th will be sweet.

Stopping

In a grand mosiac such as the sistine chapel, its hard to be close to the detail when the work is so large. So Dave talks about about how to chapel is broken into panels, all unique “loosely coupled” but come together to tell a long story. Hence developers can set boundaries not just in function (modularisation) but in time then honouring those boundaries. Short distinct length development times and if your feature is only half finished at the end. Stop and be prepared to throw it out and do it again in the next iteration.

Satisfy the customer

Pictures versus portraits. An artist painting a portrait tries to look inside someone and find a way to express it, even if its abstract its still a representation. The developer needs to find a way to satisfy the underlying requirement.

Be in the habit of not listening to the client.

But to do so a developer needs to look beyond the surface, be appropriate, work with client and get to know them. Dave used two great anecdotes, the NASA space pen (the real story) and the driving license camera as two conflicting stories. Where some clients don’t realize they have the need for a technology solution but some clients don’t need high technology, listen to what they really need.

Why

There is art in engineering and engineering in art.

Be an artist. Create something great. Create something beautiful.

Sign your work. No more anonymous applications

My review

I really liked Dave Thomas’s keynote, he is a fine speaker, smart and inspirational. Talking to a few people afterwards there was a little “Yeah but that’s what we are like…” but for two things..

  1. Not all developers are the artists they think they are.
  2. The majority of development teams don’t know this at all, they are stuck in the production mentatility of ‘lines of code produced per hour’ and ‘man-days effort’

I think Dave’s keynote would have gone down best with the non-technicals, the managers, the CTO’s, the executives. Maybe then they can treat the developers a bit better than code generation machines and like real artisans.

Stuart Eccles

RailsConf Europe - Dave Thomas Keynote

Posted about 1 year back at Liverail - Home

Last night Dave Thomas kicked off RailsConf Europe with something different. Rather than evangelize Rails or talk up the lastest/next big thing, Dave set the tone for the conference by stripping back it to the core philosophy’s of software development and created a grand analogy.

Rails and Art

Dave’s well spoken, in a mid-atlantic accent, and funny keynote concentrated on the definition of software development as art or engineering. By making multiple analogies to software development to famous works of art and the methods of artists of history, Dave was trying to create a philosophy behind not just good software but truely great, beautiful software. He looked at four main things.

Starting

Just as the artist is faced with a blank canvas, the developer is faced with a blank IDE. But an artist doesn’t jump right in and start to create the masterpiece. Instead the use sketching and work in other mediums to deduce how a masterpiece will evolve. Consequently the developer should work in other mediums, or index cards or lego. They could use prototyping of small complex areas, exploratory testing to validate understanding and creating a “tracer bullet”, a complete end-to-end system but without any details, later they can fill in the details or just start over.

be prepared to throw 10 away, because the 11th will be sweet.

Stopping

In a grand mosiac such as the sistine chapel, its hard to be close to the detail when the work is so large. So Dave talks about about how to chapel is broken into panels, all unique “loosely coupled” but come together to tell a long story. Hence developers can set boundaries not just in function (modularisation) but in time then honouring those boundaries. Short distinct length development times and if your feature is only half finished at the end. Stop and be prepared to throw it out and do it again in the next iteration.

Satisfy the customer

Pictures versus portraits. An artist painting a portrait tries to look inside someone and find a way to express it, even if its abstract its still a representation. The developer needs to find a way to satisfy the underlying requirement.

Be in the habit of not listening to the client.

But to do so a developer needs to look beyond the surface, be appropriate, work with client and get to know them. Dave used two great anecdotes, the NASA space pen (the real story) and the driving license camera as two conflicting stories. Where some clients don’t realize they have the need for a technology solution but some clients don’t need high technology, listen to what they really need.

Why

There is art in engineering and engineering in art.

Be an artist. Create something great. Create something beautiful.

Sign your work. No more anonymous applications

My review

I really liked Dave Thomas’s keynote, he is a fine speaker, smart and inspirational. Talking to a few people afterwards there was a little “Yeah but that’s what we are like…” but for two things..

  1. Not all developers are the artists they think they are.
  2. The majority of development teams don’t know this at all, they are stuck in the production mentatility of ‘lines of code produced per hour’ and ‘man-days effort’

I think Dave’s keynote would have gone down best with the non-technicals, the managers, the CTO’s, the executives. Maybe then they can treat the developers a bit better than code generation machines and like real artisans.

Stuart Eccles

RailsConf Europe - Dave Thomas Keynote

Posted about 1 year back at Liverail - Home

Last night Dave Thomas kicked off RailsConf Europe with something different. Rather than evangelize Rails or talk up the lastest/next big thing, Dave set the tone for the conference by stripping back it to the core philosophy’s of software development and created a grand analogy.

Rails and Art

Dave’s well spoken, in a mid-atlantic accent, and funny keynote concentrated on the definition of software development as art or engineering. By making multiple analogies to software development to famous works of art and the methods of artists of history, Dave was trying to create a philosophy behind not just good software but truely great, beautiful software. He looked at four main things.

Starting

Just as the artist is faced with a blank canvas, the developer is faced with a blank IDE. But an artist doesn’t jump right in and start to create the masterpiece. Instead the use sketching and work in other mediums to deduce how a masterpiece will evolve. Consequently the developer should work in other mediums, or index cards or lego. They could use prototyping of small complex areas, exploratory testing to validate understanding and creating a “tracer bullet�, a complete end-to-end system but without any details, later they can fill in the details or just start over.

be prepared to throw 10 away, because the 11th will be sweet.

Stopping

In a grand mosiac such as the sistine chapel, its hard to be close to the detail when the work is so large. So Dave talks about about how to chapel is broken into panels, all unique “loosely coupled� but come together to tell a long story. Hence developers can set boundaries not just in function (modularisation) but in time then honouring those boundaries. Short distinct length development times and if your feature is only half finished at the end. Stop and be prepared to throw it out and do it again in the next iteration.

Satisfy the customer

Pictures versus portraits. An artist painting a portrait tries to look inside someone and find a way to express it, even if its abstract its still a representation. The developer needs to find a way to satisfy the underlying requirement.

Be in the habit of not listening to the client.

But to do so a developer needs to look beyond the surface, be appropriate, work with client and get to know them. Dave used two great anecdotes, the NASA space pen (the real story) and the driving license camera as two conflicting stories. Where some clients don’t realize they have the need for a technology solution but some clients don’t need high technology, listen to what they really need.

Why

There is art in engineering and engineering in art.

Be an artist. Create something great. Create something beautiful.

Sign your work. No more anonymous applications

My review

I really liked Dave Thomas’s keynote, he is a fine speaker, smart and inspirational. Talking to a few people afterwards there was a little “Yeah but that’s what we are like…� but for two things..

  1. Not all developers are the artists they think they are.
  2. The majority of development teams don’t know this at all, they are stuck in the production mentatility of ‘lines of code produced per hour’ and ‘man-days effort’

I think Dave’s keynote would have gone down best with the non-technicals, the managers, the CTO’s, the executives. Maybe then they can treat the developers a bit better than code generation machines and like real artisans.

Stuart Eccles

RailsConf Europe - Dave Thomas Keynote

Posted about 1 year back at Liverail - Home

Last night Dave Thomas kicked off RailsConf Europe with something different. Rather than evangelize Rails or talk up the lastest/next big thing, Dave set the tone for the conference by stripping back it to the core philosophy’s of software development and created a grand analogy.

Rails and Art

Dave’s well spoken, in a mid-atlantic accent, and funny keynote concentrated on the definition of software development as art or engineering. By making multiple analogies to software development to famous works of art and the methods of artists of history, Dave was trying to create a philosophy behind not just good software but truely great, beautiful software. He looked at four main things.

Starting

Just as the artist is faced with a blank canvas, the developer is faced with a blank IDE. But an artist doesn’t jump right in and start to create the masterpiece. Instead the use sketching and work in other mediums to deduce how a masterpiece will evolve. Consequently the developer should work in other mediums, or index cards or lego. They could use prototyping of small complex areas, exploratory testing to validate understanding and creating a “tracer bullet�, a complete end-to-end system but without any details, later they can fill in the details or just start over.

be prepared to throw 10 away, because the 11th will be sweet.

Stopping

In a grand mosiac such as the sistine chapel, its hard to be close to the detail when the work is so large. So Dave talks about about how to chapel is broken into panels, all unique “loosely coupled� but come together to tell a long story. Hence developers can set boundaries not just in function (modularisation) but in time then honouring those boundaries. Short distinct length development times and if your feature is only half finished at the end. Stop and be prepared to throw it out and do it again in the next iteration.

Satisfy the customer

Pictures versus portraits. An artist painting a portrait tries to look inside someone and find a way to express it, even if its abstract its still a representation. The developer needs to find a way to satisfy the underlying requirement.

Be in the habit of not listening to the client.

But to do so a developer needs to look beyond the surface, be appropriate, work with client and get to know them. Dave used two great anecdotes, the NASA space pen (the real story) and the driving license camera as two conflicting stories. Where some clients don’t realize they have the need for a technology solution but some clients don’t need high technology, listen to what they really need.

Why

There is art in engineering and engineering in art.

Be an artist. Create something great. Create something beautiful.

Sign your work. No more anonymous applications

My review

I really liked Dave Thomas’s keynote, he is a fine speaker, smart and inspirational. Talking to a few people afterwards there was a little “Yeah but that’s what we are like…� but for two things..

  1. Not all developers are the artists they think they are.
  2. The majority of development teams don’t know this at all, they are stuck in the production mentatility of ‘lines of code produced per hour’ and ‘man-days effort’

I think Dave’s keynote would have gone down best with the non-technicals, the managers, the CTO’s, the executives. Maybe then they can treat the developers a bit better than code generation machines and like real artisans.

Stuart Eccles

What’s new in Firefox 3: Download Resume

Posted about 1 year back at redemption in a blog

This is not exactly a new change to Firefox 3’s nightly builds since the bugs have been setting in my browser tab bar for about a week but I figured I’d write about them anyway since it’s quite a nice improvement.

What’s new? Download Resume - now you can pause and resume your downloads in the Firefox Download Manager. Implemented by a Summer of Code student, this brings Firefox’s Download Manager up to speed with Safari (which has a really nice download resume feature that leaves .download files that you can just double-click to resume the download).

Firefox 3 download resume


You’ll notice the insane speeds (986GB/s) I’m getting too in that last screenshot. Nope it’s not a feature, it’s a bug. And a known one that’s probably fixed if you have a recent nightly.

For Firefox 1.5 or 2 users, don’t despair, extensions like DownThemAll! allow you to resume downloads. If you use an external download manager, you’d probably be more interested in FlashGot.

Rails Edge Performance

Posted about 1 year back at RailsExpress.blog

Listening to David's RailsConf Europe 2007 keynote, I've learned that he's going to a release a beta version soonish. He's asked me to do some benchmarking, comparing the performance of edge Rails to the latest stable branches. Here's a chart:

If you're a numbers type, these are the numbers:

RejectConf tonight - RailsConfEurope 2007

Posted about 1 year back at Dr Nic

Tonight only. Live in Berlin. One show only. RejectConf. Woohoo!

Who? What?

Well, it could be you. If you are in Berlin tonight, come to RejectConf.

Time: 9pm (get there early to ensure a seat or at least a space indoors)
Location: NOT NEAR THE VENUE

The remaining details are documented so you can figure out which U-Bahn lines to take and which stops to get off.

RailsConf Europe - In Berlin

Posted about 1 year back at Liverail - Home

I arrived in Berlin yesterday and the sun was shining, that makes a change from London but today its raining, so exactly like London.

There is a large assembly of Railers, official figures have 39% Germans, 19% Brits, 11% Americans and the rest. Dave Thomas did his keynote last night (more to come) and DHH is just finishing his this morning.

I have some starter pictures for you:

RailsConf Europe - In Berlin

Posted about 1 year back at Liverail - Home

I arrived in Berlin yesterday and the sun was shining, that makes a change from London but today its raining, so exactly like London.

There is a large assembly of Railers, official figures have 39% Germans, 19% Brits, 11% Americans and the rest. Dave Thomas did his keynote last night (more to come) and DHH is just finishing his this morning.

I have some starter pictures for you:

RailsConf Europe - In Berlin

Posted about 1 year back at Liverail - Home

I arrived in Berlin yesterday and the sun was shining, that makes a change from London but today its raining, so exactly like London.

There is a large assembly of Railers, official figures have 39% Germans, 19% Brits, 11% Americans and the rest. Dave Thomas did his keynote last night (more to come) and DHH is just finishing his this morning.

I have some starter pictures for you:

RailsConf Europe - In Berlin

Posted about 1 year back at Liverail - Home

I arrived in Berlin yesterday and the sun was shining, that makes a change from London but today its raining, so exactly like London.

There is a large assembly of Railers, official figures have 39% Germans, 19% Brits, 11% Americans and the rest. Dave Thomas did his keynote last night (more to come) and DHH is just finishing his this morning.

I have some starter pictures for you:


1 ... 474 475 476 477 478 ... 575