Monday, April 19, 2010

Summary of my Scala Days 2010

A great reception...

I had the immense luck to go to the First ScalaDays event organized by EPFL in Lausanne on 15/16 of April 2010.

It was an immense luck, because the event was simply fabulous. And so, to begin, I really want to thanks the Scala team, and especially Antonio Cunei for their amazing work of organization: the welcome with the little kit with the little goodies and T-Shirt was a nice introduction, the food was really good, the boat trip and dinner on first day evening a really top-level dinner.
Safe for a volcanic eruption in Iceland which disrupted flights all around Europe and so impacted a lot of attendees, it could have been near perfection.

... with great talks ...

And that is just for the organization: presentations were at the same level. Most of them were really good, and the choice between two sessions not always easy. Fortunately, presentation were recorded, and so should soon become available in line (I listed presentation I went to at the end). One little reproach: some of them would have deserve more time than allowed here, but that is near to nothing.

Akka presentation was somehow special. Jonas Boner and the Akka team did an amazing work in no more than a year, from “just an other actor implementation” to a full feature actor framework à la Erlang OTP, with actor supervision and management, persistent data structures, distribution, Software Transactional Memory (STM) integration, and all of that under the common umbrella of actor paradigm. 
To me, Akka is more and more looking like the Killer App for Scala, a middle layer framework which will be more or less in all Scala applications in a near future, a little like Spring is for the Java world. It brings so much power with so little boilerplate... So, if you don't know Akka, just go looking for it right now.

... and a bright future in sight for Scala

All along the event, there was a felling of “taking part of the starting point of something great”, perhaps a little like what were firsts Java one. Perhaps it was partly du to the fact that meeting about 155 Scala enthusiasts from Europe, US, Japan, Australia and so on was a great moment - it was really good to finally put faces on mailing lists and IRC names (hello Miles, Josh, Timothy and all the others !).
But I believe that it was more than just that. Today, I'm pretty confident that Scala is here to stay and growth.

The most "symptomatic" announcement of that evolution of the language organization from the research sphere to a broader audience is the announcement that a Scala Foundation will be created to manage it. 


So, that was a really wonderful event, and long life to Scala !

Ho – and I get my “Programming in Scala” dedicated by Martin, it's the little thing that is making that event even more special to me :)


Presentations seen

So, that's the list of presentations I attended, with a (really) brief description of them. Video of talks should me made available in a near future.

April, 15

15 morning - opening talk
A cool Opening Talk by Martin Odersky, focused on all the goodness brought by Scala 2.8, how it evolves from "just a little refactoring of Collection API" to a "3.0 without the name". Great.


15, morning


PEGEX by Kota Mizushima
or how to have combinator parser which looks like regexp. Interesting project, but a I think a little young for now... Keep an eye on it.

Scala Parallel collections by Aleksander Prokopec
Presentation of parallel collections arriving in Scala 2.8.1... It seems that it will be really great stuff, with good integration in existing collection API.


Developing the Scala bindings to the Fly Object Space by Channing Walton, Nigel Warren, Simon Kent
I miss a part of the beginning, but for what I saw,  Fly Object Space seems to be a powerful framework for distributed computing. 


15, afternoon, part 1

CCSTM: A library based STM for Scala by Nathan Bronson, Hasaan Chafi, Kunle Olukotun
A talk about what  Software Transactional Memory (STM) implementation can be achieve with Scala from an ideal STM, really nice stuff – STM seems to be a hot topic, it is cool that what is one of the most interesting feature of Clojure is winning interest in Scala.

Lightweight language support for type-based, concurrent event processing by Phillip Hadler
Really nice technical presentation about how type information can leads to massive performance optimization in pattern matching.

Named and default argument in Scala by Luka Rytz
To me, this feature is one of the best of Scala 2.8. It was nice to see how the implementation was done.


15, afternoon, part 2

Specialization in Scala by Iulian Dragos
Specialization finally comes to Scala 2.8 ! For the first time, Scala has the opportunity to be able to do things faster than Java, namely automatically specializing method to native JVM type to remove unnecessary boxing/unboxing logic. Great stuff, even if it's just a beginning.

Leaky Monads – an experiment with automatic resources management by Josh Suereth
Or how to cleanly manage resources in Scala with a little bit of monad, but only when we need them.
Great presentation by Josh, with a lot of “déjà vu” feeling for me – most of the problem he talk about and the solution he found was alike whose I encountered when I did my monadic resource management of LDAP connections.

Type-safe SQL embedded in Scala by Christoph Wulfz
Cool stuff to make SQL a first class citizen in Scala, as XML is.

April, 16

The next day seems to have again raise the level of the event. For me, it was a fabulous set of presentations. All were really top level one, and all subjects were great - well, or at least, I was the perfect target for them :)

16, morning keynotes

A really interesting keynote by Kunle Olukotun, the man behind the heavily-multi-core Niagara processor. He shows how to deeply embed polymorphic DSL in Scala, and it was kind of amazing. The Parallel and concurrent future seems to be bright in Scala world.

16, morning

Scala @ Linkedin : distributed computed with Norbert by Chris Conrad
Really cool to see what Linkedin did with Scala, and their scaling and distribution problem are really nice ones (in the way a hard maths theorem is nice to prove ;).

Akka: Simpler scalabitity, fault-tolerance, concurrency & remoting throught actors by Jonas Boner, Victor Klang
As I already said, Akka is more and more looking like the killer app on Scala. Kudo to Jonas ans Akka team.

Scala IDE for Eclipse : retrospect and prospect for 2.8 by Miles Sabin
After years of purgatory (for users ;), Scala Eclipse IDE seems to finally be interesting again, thanks to Miles and all the hard work. A really bad point for Eclipse foundation and its autism regarding JDT evolution.

16, afternoon, part 1

sbt: design and implementation by Mark Harrah
SBT, the build system that will save all of us from Maven – thanks Mark, and congrats for the work

Scala Modules: a Scala DSL to ease OSGi development by Heiko Seeberger
A “small” library to make OSGi use more user-friendly, and a lot of interest toward it. Sometime, syntax and cleanness IS important (subliminal message to all Java coders who don't see the problems with Java boilerplate)

Sneaking Scala into your organization by David Copeland
Even if I don't have that problem – in my company of four people, all the two developers are Scala experts ;), the talk was really interesting and well thought. Hope that a lot of people will follow these advices :)

16, afternoon, part 2


Their was no presentation in the last afternoon, but a workshop in which attendees were able to summarize their thought about Scala - what is missing, what has to be done, etc. Unfortunately, I had to leave before than the restitution was done, and missed it. So, for that, I'm like all of you: waiting for blog/video to know what happened !

And that's all, until next year (in U.S ?) !

Wednesday, April 14, 2010

Scala Days tomorrow !

In a few hours, I'm going to take the TGV for Lausanne, to attend first Scala Days !

There seems to be a lots of really good conferences, and it will be the opportunity to finally met a lot of irc/mailing list names !


Saturday, April 10, 2010

Embed OpenDS in your application

I just created a github project that shows what one has to do to configure and start OpenDS LDAP directory from a Java application, for example to run unit tests.

Most of the code is a direct transcription of information found on OpenDS wiki[1].

Along the commits, I tried to remove most of the unused configuration for the proposed goal, and I ended to replace the Berkeley DB backend by a memory one.

The source code is here: http://github.com/fanf/opends-simple-config

Feel free to remove even more unused configuration, or propose things to make OpenDS start time even faster.

Enjoy !


[1] https://www.opends.org/wiki/page/CreatingAnOpenDSInstanceForEmbeddedUse
https://www.opends.org/wiki/page/ControllingOpenDSFromAnotherApplication

  © Blogger template 'Minimalist G' by Ourblogtemplates.com 2008

Back to TOP