RailsConf Europe - Wednesday Sessions - 1

Posted about 7 years back at Liverail - Home

Trying to make better choices today which shouldn’t be too hard. So I decided on following up my Flex on Rails background (which I havn’t be exploring recently), but since I was the first tutorial on integrating Flex and Rails, I thought i’d check on it’s progress.

Building Rich Internet Applications with Flex and Ruby on Rails

This session was given by Simeon Bateman, who although not Adobe is certainly a Flex expert and has real world in-anger experience of Flex and Rails.

Unfortunately Simeon spent far too much time on Flash background and had some problems with the Internet before getting to the good stuff. But did manage to quick demonstrations of

  • HTTPService using XML REST responses from Rails
  • AMF using WebORB
  • AMF using RubyAMF

To his credit the last 15 mins was some of the best and explained the advantages of AMF over HTTPService with great examples. Simeon reckons that RubyAMF is the way to go in the future as WebORB has not been updated in a year, other people I know concur with that.

The other question for people interested in Flash/Flex is:

What is Thermo?

Creating Hybrid Web and Desktop Applications with Rails and Slingshot

A session by Joyent on Slingshot. This is something i’ve had an interest in for a while, in the realms of the online/offline applications. In theory Slingshot offers downloadable Rails applications that run on the desktop but syncs with an online web-application.

It will do syncronisations, and you can extend the sync-hooks and will need to implement aggregate_data for your models to get the sync works. But it won’t do conflict resolutions, but it does handle auto-increment ids and foreign-key problems on the syncronisation side which is a pretty tough problem. It can also sync files as well as data between online and offline. You must have timestamps on your model to sync models which make sense.

I will do some drag and drop stuff but only on Mac OS X. This is a real problem, and certainly AIR could overtake easily in this area. I would like to see how I could get RailsDAV working with Slingshot on this.

Your code will be visible in the download, it is after all Ruby. So it better be open-source application on a behind firewall deployment. I don’t think this is this biggest problem as people won’t be able to copy it without the web-application component.

They downloads can be big. 20MB is the initial hit and applications can be as big as 100MB.

Overall it seems better on Mac OSX than Windows. It has DMG packaging, XCode customisation and changing Info.plist while the Windows deployment looks a lot harder.

In practice, its not complete. Here is a list of things it won’t do (Yet)

  • sync conflict resolution
  • encrypt your code
  • domain specific online/offline issues
  • package you application automatically
  • update itself + your Rails app code
  • native menus

But this is still one of the most interesting and innovative things being talked about at RailsConf Europe so was certainly worth intending. The presentation was well done and paced well, including presentation then questions then demo which is a lot to fill 45 minutes. Showing you don’t have to aim your presentation at the lowest common demoninator.

I’m wondering if you could just use the sync_controller parts of slingshot and write an AIR end…. Evil but useful.

Great demo..

RailsConf Europe - Wednesday Sessions - 1

Posted about 7 years back at Liverail - Home

Trying to make better choices today which shouldn’t be too hard. So I decided on following up my Flex on Rails background (which I havn’t be exploring recently), but since I was the first tutorial on integrating Flex and Rails, I thought i’d check on it’s progress.

Building Rich Internet Applications with Flex and Ruby on Rails

This session was given by Simeon Bateman, who although not Adobe is certainly a Flex expert and has real world in-anger experience of Flex and Rails.

Unfortunately Simeon spent far too much time on Flash background and had some problems with the Internet before getting to the good stuff. But did manage to quick demonstrations of

  • HTTPService using XML REST responses from Rails
  • AMF using WebORB
  • AMF using RubyAMF

To his credit the last 15 mins was some of the best and explained the advantages of AMF over HTTPService with great examples. Simeon reckons that RubyAMF is the way to go in the future as WebORB has not been updated in a year, other people I know concur with that.

The other question for people interested in Flash/Flex is:

What is Thermo?

Creating Hybrid Web and Desktop Applications with Rails and Slingshot

A session by Joyent on Slingshot. This is something i’ve had an interest in for a while, in the realms of the online/offline applications. In theory Slingshot offers downloadable Rails applications that run on the desktop but syncs with an online web-application.

It will do syncronisations, and you can extend the sync-hooks and will need to implement aggregate_data for your models to get the sync works. But it won’t do conflict resolutions, but it does handle auto-increment ids and foreign-key problems on the syncronisation side which is a pretty tough problem. It can also sync files as well as data between online and offline. You must have timestamps on your model to sync models which make sense.

I will do some drag and drop stuff but only on Mac OS X. This is a real problem, and certainly AIR could overtake easily in this area. I would like to see how I could get RailsDAV working with Slingshot on this.

Your code will be visible in the download, it is after all Ruby. So it better be open-source application on a behind firewall deployment. I don’t think this is this biggest problem as people won’t be able to copy it without the web-application component.

They downloads can be big. 20MB is the initial hit and applications can be as big as 100MB.

Overall it seems better on Mac OSX than Windows. It has DMG packaging, XCode customisation and changing Info.plist while the Windows deployment looks a lot harder.

In practice, its not complete. Here is a list of things it won’t do (Yet)

  • sync conflict resolution
  • encrypt your code
  • domain specific online/offline issues
  • package you application automatically
  • update itself + your Rails app code
  • native menus

But this is still one of the most interesting and innovative things being talked about at RailsConf Europe so was certainly worth intending. The presentation was well done and paced well, including presentation then questions then demo which is a lot to fill 45 minutes. Showing you don’t have to aim your presentation at the lowest common demoninator.

I’m wondering if you could just use the sync_controller parts of slingshot and write an AIR end…. Evil but useful.

Great demo..

RailsConf Europe - Wednesday Keynotes

Posted about 7 years back at Liverail - Home

Partly due to having to check out my hotel, partly due to my hangover and partly due to not being bothered I missed today’s pre-roller advert by ThoughtWorks to today’s keynotes.

But i’m here now for the session on Best Practices. A bit late. Siting at the back nursing my headache.

The Best Practices session is very codey but still entertaining so far covering test-first, associations, method naming and chaining. Expressive Interfaces they call them, readability and undestanding. Now moving on to with_scope and the dangers of using a before_filter with a scoped command, hence reducing all queries to a limited scope. For instance only finding posts for the current user. Instead use associations:


current_user.posts.find(params[id])

But it has uses. You can use method_messaging with a with_scope and create a dynamic has_many association through a proxy. Similarly very cool but I can see that being mis-used also. I think using method_missing should be a last resort, documented heavily and only used if it significantly improves readability or time. Not really as a best practice.

The use of conditions and commands in Ruby can be confusing as there is many ways of doing it. The question, which can be understood quickest?


command if conditional?
....
if conditional?
  command
end
...
conditional? and command
...
conditional? && command
...

All of the above do the same. For me number 2 is clearest but involves more typing, but I hate mixing up commands with conditionals in an expression, and the speakers agree.

RailsConf Europe - Wednesday Keynotes

Posted about 7 years back at Liverail - Home

Partly due to having to check out my hotel, partly due to my hangover and partly due to not being bothered I missed today’s pre-roller advert by ThoughtWorks to today’s keynotes.

But i’m here now for the session on Best Practices. A bit late. Siting at the back nursing my headache.

The Best Practices session is very codey but still entertaining so far covering test-first, associations, method naming and chaining. Expressive Interfaces they call them, readability and undestanding. Now moving on to with_scope and the dangers of using a before_filter with a scoped command, hence reducing all queries to a limited scope. For instance only finding posts for the current user. Instead use associations:


current_user.posts.find(params[id])

But it has uses. You can use method_messaging with a with_scope and create a dynamic has_many association through a proxy. Similarly very cool but I can see that being mis-used also. I think using method_missing should be a last resort, documented heavily and only used if it significantly improves readability or time. Not really as a best practice.

The use of conditions and commands in Ruby can be confusing as there is many ways of doing it. The question, which can be understood quickest?


command if conditional?
....
if conditional?
  command
end
...
conditional? and command
...
conditional? && command
...

All of the above do the same. For me number 2 is clearest but involves more typing, but I hate mixing up commands with conditionals in an expression, and the speakers agree.

Insomnia: The Good, the Bad, and the Ugly

Posted about 7 years back at Sporkmonger

  • The Good: Plenty of time to hatch brilliant ideas.
  • The Bad: Brilliant ideas do not help you fall asleep.
  • The Ugly: In the morning, you’re too tired to implement anything.

NetBeans 6.0 Beta 1 Available

Posted about 7 years back at zerosum dirt(nap) - Home

NetBeans 6.0 Beta 1 is out and ready for download, including a slimmed-down Ruby-only version for those of you who don’t want all the extras. Personally I like having one IDE for both Java and Ruby but hey, I’m special. As I’ve written about before, I’m quite smitten with NetBeans and this latest release is the best yet. If you’re curious about why I’m gushing over it, read here, here, and here.

So yeah, it’s nice. Go download 6.0 Beta 1 and give it a try. It’s packaged with JRuby 1.0.1 and Glassfish v2, which is starting to look more and more attractive as a serious deployment option for Rails.

PS: those of you who are frustrated with Goldspike may want to take a look at Nick Sieger’s Warbler, an alternative for packaging up your WAR files.

PPS: you don’t have to use JRuby as your interpreter of course. Just go to preferences → Ruby and point it at MRI (/usr/bin/ruby or whatever) if you don’t want / need / like JRuby. And then you can use the fast debugger too. Inline Ruby debugging rocks.

RailsConf Europe - Tuesday Keynotes

Posted about 7 years back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Tuesday Keynotes

Posted about 7 years back at Liverail - Home

Tuesday is ending now with some final keynotes

Basically sandwiching in Roy Fielding, a uber-guru of the web between some Diamond sponsors seems like a commercialization thing. A theme of the conference maybe.

Beyond Startups: Rails Demand in the Global 2000

Thanks to Jonathan Siegel we heard the obvious, that yes some Global 2000 companies are starting to use Rails. Big shock. Shame the man can’t present at all. Little note, if your sponsorship money buys you a presentation, learn how to present an engaging talk.

The Rest of REST

An intellectual and precise talk by Roy Fielding, was interesting and historically educating but academic for most people there. Still I find the elements of architectural style and forming lasting styles of architecture is really interesting from a consulting point of view. The architectural style a way of deducing principles of technology removed from any of the problems of actual languages and products.

Rails and the Next Generation Web

Craig McClanahan is a great speaker and someone we are interested to hear from. This should be the principle of buying your speaking slot, put up something interesting with an interesting topic, not just a marketing speech.

Craig talks about his love of Ruby and Rails even after being a Java-guy for so many years. A shift for Sun? Rich Internet Applications and Horizontal scaling, gone is Moore’s Law. Well Craig says that Java web frameworks pace of innovation is slowing, and the Java community know they need to look to the future. Could the Rails community go snow-blind also? Forget to look to the future..

Mentions three plugins. act_as_cached, act_as_state_machine, will_paginate… get it wrong as they only extend ActiveRecord. While acts_as_autenticator, paginator gets it right as they don’t care about the implementation.

make_resourceful plugin is a good example of separating API from implementation where you could plugin ActiveResource or ActiveRecord.

Unfortunately Craig only has 50 minutes which is no time at all. I would love to hear a proper 2 hr talk from him as it seems he has some great stuff to say.

RailsConf Europe - Choosing sessions is so hard...

Posted about 7 years back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Choosing sessions is so hard...

Posted about 7 years back at Liverail - Home

Tuesday at RailsConf and choosing sessions is damn hard. Am I missing out on something really great going on in other room? Could the other guys be as boring as this speaker? With nothing more than a title and a synopsis we select from our buffet.

My bad decisions so far:

Making Rails More (Artificially) Intelligent

The speakers were in Spanish and their English was difficult to understand especially in a presentation context, but well done for giving it a go guys. Basically the talk introduced Bayesian graphs and probability tables, Bayesian classifiers and genetic algorithms and some Ruby libraries for using them. Unfortunately they didn’t make the Rails context at all. I think a talk on using these kind of algorithmic tools would be a winner with the right presentation context. But hard when it’s not your first language.

I learnt something and it’s worth checking the libraries if you ever feel you’ll need to solve an AI problem.

Meta-Magic in Rails: Become a Master Magician

Very entertaining and very popular, if the conference room had rafters people would be hanging from them. The room was packed. I would hate to go up against Dr Nic, the other rooms must have been empty.

I quit coding because I thought I hated it, turned out I just hated Java.

Dr Nic not only talked about fun little things with method_missing, const_missing and using the meta abilities of Ruby he used them as a weapon against other languages

Java is like… Keith Richards. not so cute anymore, can tell you stories about himself, can’t change his behavior

Great talk but Dr Nic was keen to point out that that in some cases the meta-magic is.

not useful but it is funny..

Really Scaling Rails

Was by a Twitter guy on scaling and had some bits of useful information but really didn’t engage. The really useful elements were a few tips such as how to encode the page peformance into every the response of every page. A shame.

Tabnav: Do We Really Need a Plugin for Tabbed Navigation?

A lovely talk by Italian speaker Paolo Dona who was engaging and funny. I expected the room to be near empty, after all who needs to hear about tabbed navigation. Instead Paolo packed the small room he was given, obviously they knew more than me.

Paolo’s main thing was that sure Ruby on Rails has meant he has had to write less code but he still spends the same amount of time writing HTML/CSS. In fact relatively he was spending much more time on HTML/CSS than coding.

where is DHH? I want to kill him. He has turned me into a designer.

So Paolo has widgets

  
ruby script/plugin install svn://svn.seesaw.it/widgets/trunk

Widgets for tabs, navigation, showhide, tablizer, tooltips, nubbins. To create user interface design patterns with less effort. It’s a fine idea and i’ll look to use them soon.

Not a bad spread for the food either…..

RailsConf Europe - Dave Thomas Keynote

Posted about 7 years 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 7 years 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

Rails Edge Performance

Posted about 7 years 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:

stable11 is the current svn version of branch 1-1-stable, stable12 is current version of 1-2-stable branch and edge is the current version of Rails trunk. Numbers are requests per second (measured on my MacBook during David's talk).

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

<style type="text/css"> </style>
page c1 totalc2 total c1 r/sc2 r/s c1 ms/rc2 ms/r c1/c2
empty 0.947091.05049 1055.9951.9 0.951.05 0.90
welcome 1.228781.34536 813.8743.3 1.231.35 0.91
recipes 1.372141.50364 728.8665.1 1.371.50 0.91
my_recipes 1.369581.49912 730.2667.1 1.371.50 0.91
show 3.469444.27918 288.2233.7 3.474.28 0.81
cat 3.726754.58788 268.3218.0 3.734.59 0.81
cat_page5 3.856244.68700 259.3213.4 3.864.69 0.82
letter 3.699704.54140 270.3220.2 3.704.54 0.81
all requests 19.6697123.49406 406.7340.5 2.462.94 0.84
GC statistics c1 totalc2 total c1 #gcc2 #gc c1 gc%c2 #gc% c1/c2
2.276573.09640 21.025.0 11.5713.18 0.74

c1: 1.2-stable, c2: edge, r/s: requests per second, ms/r: milliseconds per request

I haven't had time to analyze the code, but it seems that anything loading a large number of active record objects takes a rather large performance hit.

I hope we can improve performance before 2.0 gets finally released. Unfortunately, I have almost no time to work on this. However, if anyone has a performance patch, I can look into the it.

RailsConf Europe - In Berlin

Posted about 7 years 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 7 years 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: