RubyConf India


I am part of a team at ThoughtWorks helping out organizing the very first RubyConf in India. I’m very excited about this. So if you have the possibility to come to Bangalore, the event will be March 20 and 21.

We already have some solid speakers lined up. Chad Fowler will keynote, and so will I, and we have a number of other people coming in. A few of my colleagues from ThoughtWorks, such as Sarah Taraporewalla, Sidu Ponnappa and Aman King. Other speakers include Hemant Kumar, Pradeep Elankumaran, Arun Gupta and others. Finally, Nick Sieger will also come to Bangalore for this event!

So as you can see, this is gearing up to be a great event! Hope to see you there.



A week at Øredev


I just came back from 10 days in Malmö, Sweden, for the Øredev conference. I’ve had a great time. Part of that was because I had Stella with me, and she got to meet all my conference-friends, so that was nice.

But a big part of it is basically just the fact that Øredev is an outstanding conference.

Some of my impressions, things I learned and did in no specific order:

  • Hadoop is really cool and I wish I had time to learn more about it. Alex Loddengaard from Cloudera did a very good job introducing this technology in his tutorial. We got to do way fun stuff!
  • People liked my talk about Ioke - and I was very happy with how it went too.
  • Stuart Halloway is really good at introducing Clojure - I’m looking forward to his talk at QCon SF even more now.
  • Me, Tyler Jennings, Neal Ford, Dan North and Stuart Halloway spent several hours of BoF time to create a new BDD framework for Clojure - this was way fun hacking, interesting from a group management and design perspective and just plain fun. There is a distinct possibility that me and Neal will give a talk at the TW US Away Day about this, if anyone is interested.
  • Ze Frank is amazing. Really great evening keynote/entertainment.
  • Niclas Nilsson and Hans Brattberg did a very accurate depiction of common problems and failure modes of pair programming. Good stuff.
  • Tyler Jennings gave an introduction to Software Craftsmanship. Glad I didn’t miss this presentation. Very nicely done.
  • Kevlin Henney did a great presentation about agile modeling. I enjoyed it a lot.
  • We did a very fun closing panel that was basically just six geeks disagreeing about lots of stuff. I hope everyone else enjoyed it as much as the panel members.

Conclusion: Øredev was a great conference, I was honored to get the chance to speak there and I’ll definitely try to go back next year.



JAOO - A great week in Århus


Late this Saturday I came home from a hard week in Århus, Denmark. Of course, it’s been a great week but it is definitely a change coming back home after it.

JAOO this year was great, just as you can always expect. What makes JAOO so fantastic is the combination of extraordinary presentations of all kinds, together with the socializing with all the fantastic speakers, and hanging out with the JAOO crew. All in all it’s a lovely time, and I never get enough sleep for some reason.

This year ThoughtWorks was there in force - we had about 12-14 people there, and 8 of us presenting. It’s always fun to be surrounded with TW people.

I’ll not go through the whole schedule, but I do want to share some of my favorites.

Rich Hickey was there, presenting about different aspects relating to Clojure and concurrency. As usual he was excellent, and I heard many good comments about both his presentations.

Intentional Software presented their Language Workbench, which I’ve been playing around with for some time. The presentation generated substantial shock-and-awe from the audience, which was fun to see.

The Tuesday featured the concurrency track, where I spent most my time. The whole track was very good, but it was capped off by Simon Peyton-Jones excellent talk about Nested Data Parallelism in Haskell, a very good presentation that meshed well with my interests. Simon is also a highly entertaining presenter. All in all, that presentation was definitely my favorite one this year.

On Wednesday the two presentations that stands out in my mind was Aino’s about design patterns - interspersed with dating design patterns. Very funny. And the other was by my colleague Richard Durnall, talking about lean.

Very nice stuff, all in all. Martin Fowler, Neal Ford and Rebecca Parsons gave another version of their DSL tutorial the following day. It’s amazing how much this tutorial have evolved since I first saw it.

On the Friday I saw parts of Sam Aaron’s Advanced Ruby tutorial; it’s good. I also gave my tutorial, which went fairly well too.

And that’s JAOO in a nutshell. A great week. It’s weird to come back after such an intense time.



Upcoming talks


There hasn’t been much interesting happening this summer, but the fall is shaping up to be pretty busy. I will be talking at several different conferences, and thought I’d mention when and where I will be appearing.

First, this week I’m presenting at JavaZone in Oslo. I will present at 11:45 tomorrow, talking about Ioke.

Next week is the JVM Language Summit in Santa Clara. It is shaping up to be a great collection of people with many interesting discussions and talks. Take a look at the details for the talks. The people there are some of the most experienced language developers and implementors in the world. It should be a blast. I will do a talk about Ioke, and also a workshop about the challenges of improving Ioke’s performance.

After that I will attend RubyFoo in London, Oct 2-3, where I will talk about JRuby. RubyFoo will feature Matz, Sam Aaron, Aslak Hellesøy, Adam Wiggins and me. It should be great fun!

At JAOO this year (Oct 4-9 in Aarhus, Denmark) I will do a tutorial about testing Java code with JRuby. This conference also looks like it will be great. Many interesting talks and speakers. And of course, JAOO is generally the best conference I’ve ever been to.

At Øredev in Malmö, Sweden (Nov 2-6), I will be talking about Ioke.

And finally, at QCon SF in San Francisco (Nov 16-20) I will be hosting a track on emerging languages. After JAOO, QCon is my favorite conference, so I think it will be very nice too.

So, several interesting conferences coming up. Hope to see many of you there!



Last days of JavaOne


The title for this blog entry is actually dual in purpose. I will talk about the two last days of JavaOne, the Thursday and the Friday this week. But one of the big rumors from the news room this year was that it is likely that this JavaOne will be the last one ever. I can’t really comment on that, but this JavaOne did feel a bit less enthusiastic than it used to. Anyway. The last two days were less hectic than the first ones, so this entry won’t be very long.

My first session of the day was Neal Fords talk about design patterns in Groovy and JRuby. I’ve seen this talk before, and it is pretty good - Neal talks about how some of the classic Gang of Four patterns disappear in languages that support more advanced features. So Neal showed some of these. After that he went through some new patterns he has seen in dynamic languages, such as his Type Transmogrification pattern.

After that Tobias Ivarsson talked about how to explot concurrency in dynamic languages. I was a bit surprised to see Scala in this talk, but it did make sense. The content was very good, although Tobias ran out of material quite quickly. It was interesting to see how different the concurrency performance of JRuby and Jython was - but of course this is something the Jython guys easily can fix, once they’re done with the more pressing issue of getting 2.5 compatibility. In fact, they are making rapid progress on this, and this week saw a new release candidate released. Good stuff.

After that Charles and Tom did a talk about scripting Java with JRuby. This was a new version of the classic JRuby talk, and I think it worked really well. Most of the talk concentrated on a larger example instead of looking at small tidbits.

After that me and Charles spent a few hours in the ThoughtWorks Studios, taking a look at how the JIT compiler works with Mingle.

The first and only BOF for the evening was the JSR 292 Cookbook BOF. This session went into some more details on how it works, showed some code that uses MethodHandles and also had Charles talk about his experience with using invoke-dynamic in JRuby.

The Friday started with Gosling’s toy show. Sadly, I missed most of that. My first session was an introduction to the internals of IBM’s Java Virtual Machine. A very interesting presentation that looked at the kind of optimizations their VM does - including showing how the assembly generated will be different depending on how hot the code in question is.

After that Brian Goetz and two other HotSpot engineers talked about the kind of things HotSpot do to make Java code fast. Together, those two talks gave a pretty thorough understanding of how JVMs can be made fast.

This year at JavaOne was pretty good. Lots of fun stuff going on and many interesting sessions.



Google I/O


Currently sitting in a session on day two of the Google I/O conference. The morning opened up with the keynote and announcement of Google Wave, which is something that seems very cool and has a lot of potential. Very cool start of the day.

After that I watched Ben and Dion talk about Bespin. I hadn’t seen Bespin before - it was definitely interesting, although I will be hard pressed to give up Emacs any day soon.

During lunch I came up with a fun idea, but it required something extra. I talked to Jon Tirsen, a Swedish friend from his ThoughtWorks days, who is on the Google Wave team - and he managed to get me an early access account for Google Wave. So I spent the next few hours hacking - and was able to unveil an Ioke Wave Robot during my talk. It is basically only a hello world thing, but it is almost certainly the first third-party Google Wave code… You can find it at http://github.com/olabini/iokebot. It is deployed as iokebot@appspot.com so when you have your Wave account you can add it to any waves. Very cool. I do believe there is a real potential for scripting languages to handle these tasks. Since most of it is about gluing services together, dynamic languages should be perfectly suited for it.

Finally I did my talk about JRuby and Ioke - that went quite well too. The video should be up on Google sooner or later.

And that was basically my Google I/O experience. Very nice conference and lots of interesting people.



A day at RailsWayCon


I spent yesterday in Berlin at RailsWayCon. It ended up being pretty small, but a very good conference both in content and attendants. I was impressed by the level of the people there, and I also liked the presentations I saw. Full disclosure, though - I was part of the program committee, so maybe it wasn’t that weird I enjoyed the content. =)

As it happens, I did three talks myself, so I didn’t see as many other talks as I would have wanted. Specifically, I missed Bristol’s talk about JRuby, and Stefan Tilkov’s talk about REST in Rails. Would have liked to see both of them, actually.

My first talk was the first of the day, about the JRuby internals. I was pretty happy with how that turned out, and I think the audience appreciated it too. There was way too much content for one hour, though, so I had to skip over some parts, such as how to build extensions and so on. If you’re interested in the slides, you can find them here: http://olabini.com/presentations/JRubyInternals.pdf.

After that I sat in on Naude talking about event driven programming from different perspectives. It gave a good introduction and overview to the subject.

Then it was time for me again, this time doing a talk about Ioke. I’m pretty with how that turned out too. Got a pretty good audience and nice questions. The slides are here: http://olabini.com/presentations/IokeForRubyDevelopers.pdf.

And finally, after lunch, I did my keynote about programming languages. That was great fun, really. It was basically a talk that summarized my views about programming languages and where I see them going - with a specific focus on Ruby. I had a great time, and hopefully the audience did too. The slides probably doesn’t make much sense without me talking - in fact, I’m not sure they make sense with me talking either - but you can see them here: http://olabini.com/presentations/ProgrammingLanguages-RailsWayCon-Keynote.pdf.

I saw Koz do a talk about good taste in how far you take ideas. It was a good talk about common sense - one of those things that are way to seldom heard.

And finally Bristol talked about good UI design - this was also a very interesting talk. I enjoyed it.

And then I flew out of Berlin.



RailsWayCon coming up


It is less than a month to RailsWayCon in Berlin, so I thought I’d mention it here. This look like it will be a very nice conference. The dates are May 25 to May 27, in Berlin, Germany.

I will do two presentations and one keynote there. The presentations will be “JRuby Internals” and “Ioke for Ruby developers”. The keynote is called “Present and future of programming languages” and will feature my typical kind of ranting about programming languages.

Anyway. Hope to see you in Berlin! You can find more information here: http://it-republik.de/conferences/railswaycon.



QCon London - Summary


All in all, QCon London this year was amazing. I find it interesting that from the first time I attended QCon I thought they were exceptionally good. And every time they keep getting better. Of course, it is fantastic to be able to meet all these great people at the conference, and you get lots of chances to hang out with them, ask questions and have discussions. But if you take a look at the presentations offered, they all feel very fresh and the quality is consistently of a very high level.

I think the system of having track hosts that put together their own track is a fantastic idea, and I think it might be one of the reasons that there are ALWAYS more than one presentation going that you want to see.

The fact that the QCon crew from InfoQ and Trifork are all lovely people is not a negative either.

If you haven’t visited QCon, I really think you should. It is really very good, and I’m privileged to have been asked to present there more than once. I always have a great time and I hope I will be able to continue to come back there.



QCon San Francisco recap


So, I literally just got back from San Francisco, having attended QCon there. As always, it turned out to be a great event, with fantastic people and a very interesting presentations on the schedule. As it turns out, me and Nick’s tutorial was on the afternoon of the Monday, so after that everything could just get better. … In fact, the tutorial ended up working very well. I was happy to have Nick there, so I didn’t have to do all the talking myself. And Nick is much better at Rails than me anyway. So it was definitely a success.

The morning before out tutorial I spent in the Erlang tutorial, which was fun. Francesco is a very good teacher, and we got through lots of material.

Having finished my stuff the first day, I spent the rest of the week cruising around, relaxing and hanging out with nice people. The Tuesday I ended up in Martin’s, Neal’s and Rebecca’s tutorial on DSLs. I’ve been in this tutorial several times, but it just keeps getting better. Especially Rebecca’s pieces on parsing turned out to be very well polished this time. And of course, they are all great presenters.

The Wednesday keynote with Martin and Rebecca was about architecture, and how agile can help architecture groups with their problems as well as help bridge the gap between developers and architects, that often exist in larger organizations. Very well done.

The rest of the Wednesday I sat in the “Ruby in the Enterprise” track. I found out that Merb 1.0 runs very well on JRuby. Jason Seifer pronounced JRuby the winner among all the existing Ruby implementations, which was nice.

And then I had to run away and do an impromptu JRuby presentation at the nearby Girls In Tech Developer Forum.

At the end of the day, I saw Dean Wampler mix up all the free floating ideas about polyglot programming, and talk about it in something that approached a cohesive whole (which I’ve never been able to do). A well done presentation.

I can’t say I got too much out of Kent’s evening keynote, though. I ended up going out for a quiet dinner instead.

The Thursday began Tim Bray talking about the future of storage mediums. This presentation was too far away from my interests to produce anything stronger than a “meh…”.

After that I have a large gap in the schedule - I was supposed to see some presentations, but ended up hacking on a new language grammar with Kresten instead. Great fun of course.

After lunch I sat in on Brian’s talk on concurrency with the fork-join framework. This one I think I’d already seen, so I ended up working on Ioke during it.

Dennis Byrne gave a very cool talk on DSLs in Erlang. There is some stuff you can do that’s totally unbelievable. Best talk of the day. Possibly of the week.

After Dennis talk I’m not sure what I did actually. No memory. Oh, that’s right, I looked at the JUG panel and then went to the speakers dinner. The JUG panel was among others Rod Johnson, Bob Lee and one of the Seam guys. There were some mention of Rails in a way that meant the persons mentioning it hadn’t actually used it. There was also some static typing bias (especially from Bob who said that static typing was objectively better than dynamic typing).

During the Friday I spent some time in the functional language track (and saw a very nice talk about using Haskell to work with music), and I also saw Eric Evans give a very good talk about Strategic Design.

And that was QCon San Francisco. A very good conference, as usual.