Archive for June, 2006

RailsConf 2006 - Day 1

“Welcome to the largest gathering of rails developers in the know universe… ever.” — Rick Kilmer

That’s how it started, and looking around it’s an interesting bunch of people. Not that I expected anything else. For example, there are more MacBook’s here than your average Apple Store. I’m not sure if it’s a good sign for Apple or a bad sign for Rails or vice versa (for the moment lets go with “Early Adopters”). Anyway, after a quick rundown of the sponsors the first keynote speakers, Dave Thomas, was introduced.

Dave Thomas, began with Google. Starting with a search on “Ruby on Rails”, pointing out 21 million hits, the number of advertisers and the different type of advertisments. To futher his point we saw that rails downloads has passed the half million mark and he compared, using Google Trends, the populatiry of Rails vs. some of the big names (Websphere, jBoss) and technoloiges (PHP and one that’s a little closer to home for us at DeCare, Spring). He went on to outline the problems he sees in Rails that need to get fixed to enable Rails to make it in the main stream.

  • Data Integration — Data Integration needs take more advantage of the schema if it is to be truly DRY. This like auto validation and foreign key support
  • CRUD — Scaffold is not enough, it needs to be more AJAX.

    [scaffold] has to do better than the old 3270, ‘fill in the form, hit send, and get the result’

  • Deployment — should be a two phase process, to let developer do what they do best, and system admins do what they do best.

After a short break the days sessions began.

Mike Clark, author of Pragmatic Project Automation and contributor to Agile Web Development with Rails, introduced “Capistrano” by Jamis Buck. Interestingly, he started the session with

“Hi I’m Mike Clark and I have been Java free form 15 months and 16 days.”

These guys have left Java behind.

Capistrano is a tool for automating application deployment. It uses a single, simple (5 or 6 line) recipe file to describe your setup and everything after that is a done with single commands. Deploying to your running application on multiple servers,

cap deploy

This gets the latest code from your repository, puts it on the servers and restarts them where necesssary. Did something wrong?

cap rollback

Want to disable the website for a while and put up a message page for the users

cap web_disable

Developers regularly loose the afternoon to these type of task. In the rollback scenario, part of the evening/night too. Extendibility? You can define your own tasks (similar to make or rake) and roles on which they will run. There are before and after hooks for task as well (e.g. copying the passwords file from a secure location after a deploy).

“Capistrano, it’s shoes for the cobbler’s children.”

By the way, this is not limited to Rails, or even Ruby for that matter. There are already people using it for PHP deploys and it has been used to setup new machines being added to clusters (not exactly what it was made for, but it works). If you find yourself spending time on deployment this is worth a look.

The next three sessions I went to where not great. ‘Meanwhile, In the rest of the World…’ was basically about usability and the danger of alienating your users, who probably are not as web savvy as you expect. (What’s a tag/RSS feed?). ‘Monitoring Rails Apps in Production’ was basically a product demo, but they sponsored “Why the Lucky Stiff and the Thirsty Cups” so they can be forgiven. Finally Amy Hoy’s ‘Overcoming Scaffolding Addiction’ was a bit basic. She went over how to solve the initial problems you encounter when you first use Rails.

Next up was Martin Fowler.

“I haven’t used Ruby on Rails”

A strange way for a keynote speaker at RailsConf to start. He went over the things he likes about Rails:

* Opinionated Software — it has strong opinions on what it believes is right and makes this easy.
* ActiveRecord — A pattern he considered interesting, but not that important, has gone so much further that he expected

“… never imagined an Active Record implementation as good…”

* Agile — Because of its ease, developing software with a customer becomes more conversational.
* Quick and Clean — The choice “fast or well designed” is a false choice.

He talked about software development in general and how Rails was not a framework for everything. In fact one framework that will do everything is a disaster.

“Rail should be so simple that there is no point having a conference about it … Rails will have succeeded when RubyConf goes away”

The final Keynote speaker of the day Paul Gramham

“I’m going to contradict the Old Testament and Yoda”

he talked about working in the margins, about all the companies (Apple, Microsoft, HP) that came from the margins and the advantages of being on the outside. On his website he describes himself as an essayist. Everything there is both worthwhile and enjoyable to read. His keynote will be up there soon, so I’m not going to do it any more harm. In the meantime, there is a good essay on Web 2.0.

Finally, “Why the Luck Stiff and the Thirsty Cups”. This was probably the strangest thing I have seen in a conference, or a concert for that matter. Part ruby enthusiast, part musician, part comedian. I’m not sure I followed everything that was going on (it’s 4am Irish time) but I don’t think anyone else did either.

Noel

Java Performance Tuning in Ireland

Something that I have been thinking about over the last few weeks is the level of concern for Java based application performance in the Irish market. By this I mean from a language, architectural and configuration point of view and also through the full lifecycle of a project (development, test, qa, staging, production). Do Irish companies see performance of Java applications as a real issue or is it another red herring, and that performance just happens without any formal performance review process being applied? I’m not trying to make any statements here about the state of the Irish Java performance community, I’m just asking some questions.

The only Irish based initiative that I am aware of is the Performance Engineering Lab (a joint effort by DCU and UCD) who are doing some very interesting work into the area of how ‘theoretical analysis can support the understanding or the design of the system’. This is a great initiative, at an academic level and, hopefully, we will see the fruits of that labour in the corporate world in the not too distant future, but what about in the real world? Where time is money and both are extremely precious commodities!

I may, of course, be wrong, and everything might be fine and dandy with Java performance in Ireland, but I would like to get some feedback from people on what they think. What has been their experience in the past? Common problems encountered and their solutions etc.

Maybe we can get some kind of thread going discussing Java performance tuning in the Irish market: tips and tricks, lessons learned etc. So post a comment and let me know what you think. Obviously comments from people working outside of the Irish market are also more than welcome.

I’ve recently written a blog entry on VM Tuning using Quest’s PerformaSure. You might find this interesting if you are looking into Java performance.

Jay

Technorati Tags: , ,

SpringOne 2006

Wednesday night, after a very tiresome trip we were finally in Antwerp. Our flight had arrived an hour late to Brussels and the highway being on maintenance, our arrival had been delayed more than two hours. By the time I checked in it was 22:30 and I was starving. Rob Harrop, as friendly as always, saw me at the lobby and introduced me to the rest of the speakers, most of them Spring committers. Almost everybody was working on their presentations while a few were crying out their disappointments as Germany was wasting opportunities against Poland in a World Cup game. Later during the night at the lobby, I got the wrong delivery and I accidentally ate the pizza that Christian Dupuis had ordered (later he got mine). (Christian! I owe you a pizza next year :) or I’ll give you good feedbacks on Spring IDE throughout the year :) ).

At this point I must thank Rick Evans and Rob Harrop as they kindly lent us their clicker (or the pickle as it is called in the jargon) to use during the presentation. Thanks again! It was a life saver! :)

Thursday morning, Brendan and I worked on our presentation. At lunch time, we were finally at Metropolis, the cinema where the event was held. This first instance of SpringOne was organized by Interface21 and BeJUG. So I finally met the BeJUG members that I was in contact with: Valerie and Stephan (the founder). They gave us a warm welcome and they were impeccable hosts. Thank you guys!

Just before our session, I attended Data Access with Spring.NET, the presentation that won the award of least number of attendees by attracting only 9 people. I felt ashamed to leave 10 minutes before the end but I had to get ready for our presentation. It almost felt normal not to have too much interest in Spring.NET as the general attendee profile was clearly Java orientated. During a discussion with Stephan, we suggested that they do more advertisement within .NET communities as well, such as TheServerSide.net. We started to use Spring.NET in one our .NET projects and I’d like to see more interest and better coverage on it next year.

We had the biggest of the four theatres booked for SpringOne: room 3. The speaker who presented before us ate up 5 minutes of our time, which I found very rude. He should have been better prepared or cut it shorter. Anyway… We had 50 attendees and it all went well, except towards the end PowerPoint went crazy and started to loop through all the slides in a flashing speed. The presentation demons were welcoming us. Because we didn’t have a demo, they could only play tricks on us by obliging us not to use the clicker.

By the way, SpringOne presentation slides will be available online in a few weeks. Later, I think around September timeframe, the videos will be available too. So you’ll be able to judge our performance personally. Unfortunately we learnt too late that there was an online feedback form to fill in. If I had known I would have reminded the attendees of its existence.

The rest of the day went by attending two more sessions: Spring Namespaces presented by Erik Wiersma and Agile development with the Spring IDE presented by Christian Dupuis.

It was a very good idea to keep all the speakers in the same hotel as we had more opportunities to meet the others. We went to dinner with Uri Boness from JTeam and Ben Alex, the founder and lead developer of the Acegi Security. Of course, we talked about work most of the night.

The second day, after the keynote speech, I attended Rob and Juergen’s university session about the new features of Spring 2.0. After a sunny lunch on a restaurant terrace, the conferences ended with two more presentations: Spring Patterns and Spring Web Services.

Most of the people were leaving Antwerp that day so we talked to the Interface21 guys for a last time. We thanked Rod Johnson for DSI’s being mentioned during the keynote speech. I spent the rest of the night at the hotel lobby watching two World Cup games and talking work with Roland Nelson and his colleague Sasha. Roland have architected various solutions used in the European Patent Office.

We caught the airport shuttle very early in the morning to be at the Brussels airport on time. Just when we thought the SpringOne was over, we met Ramnivas Laddad, the new Interface21 employee and the author of the excellent “AspectJ in Action” book. I really enjoyed talking to him. Despite his expert position in the industry, he is a very humble and very approachable person. We hope to see him again, this time here in Cork, for an IT@Cork talk hopefully. It was definitely a pleasure to make his acquaintance.

All in all, it was excellent to be there. To present in one of the major European IT conferences, to represent DSI there, to meet most of the Spring Framework committers and fellow developers and architect was, personally and professionally, a great experience. What next? Maybe we can present in JavaPolis or in next year’s SpringOne :).

- Yagiz Erkan -

Technorati Tags: , , , , , , , , , , ,