A great time was had by all!

Seriously, the Scala workshop was very cool. The actor model was new to almost all attendants and needed some explaining. Looking back, I should have explained a bit more about how the this works. From what I saw, nobody stumbled upon the Scala syntax that much. The people that were there were all experienced programmers, thus may not have needed much hand-holding regarding syntax.

Martin Provencher, organizer of Montreal.rb, and his teammate, Olivier Melcher, wrote an actor-based histogram producing word counter that counted which programming languages were most spoken of. In their tests, Ruby and PHP were the most frequent ones.

The SQL Workshop was more difficult for all. The first exercise was much harder than I anticipated. The first question was:

Calculate the top 5 shows, ordered by social impressions, for the period between 2011-10-17 and 2011-10-23. Return an answer under 3 seconds.

First, people had to get familiar with the data model. I asked people to get the data in under 3 seconds, thus was more of an optimization problem, rather than just getting the correct query. I allowed about 40 minutes for this exercise, and most of the time was used in getting a correct query. Nobody had time to get to the optimization part. Looking back, I’d make this question be two parts: first write the query, then optimize it, or provide the correct query and let people optimize it.

I hope everybody learned a lot by coming to the hackaton.

A big “Thank You” to the event’s sponsors for the beer and pizza:

Notes for Hackaton organizers

If you can, provide a starter application or package. All attendees were happy they could get up and running with little to no fuss. It saved a lot of time because they didn’t have to resolve dependency nightmares.

Move around the room, look over everybody’s shoulders. Without fail, when I walked up to a team, they’d have a question for me.

Speaking of teams, it’s useful for people to work in teams. I’d say this harkens back to Pair Programming with a Novice / Novice pair. Two novices working together can get further along than a single novice. One of the members will have an insight that the other member didn’t have, and both can move forward from there.

I just learned this morning that Needium will join Seevibes in sponsoring the beer at the Scala Hackaton and SQL Workshop. Both events are on February 2nd. If you haven’t already done so and wish to join us, please register at EventBrite:

Hope to see you there!

I would like to invite you to attend one or two events on February 2nd: Analyzing Twitter Social Data using Scala and Akka Actors and Social Media Metrics using SQL Engines.


  • 2:00 PM Doors open
  • 2:30 PM Hackaton — Analyzing Twitter Social Data using Scala and Akka Actors
  • 5:00 PM Beer & Pizza, sponsored by Seevibes
  • 6:30 PM Workshop — Social Media Metrics using SQL Engines
  • 9:00 PM Socializing

The event will be at the Notman House, 51 Sherbrooke W. We have a limited number of places available, so be sure to reserve your seat now. There are two events, both are free to attend, and both are bilingual French and English.



Before you come in, please be sure to follow these instructions to get you started:

Scala Hackaton

The Scala Hackaton is an event where you’ll build whatever you wish: word counter, word frequency, hashtag frequency, etc. You get to choose. There will be people more familiar with Scala and Akka at the event which can help you. The first 30 minutes of the event will be reserved for a quick introduction to Scala.

  • Clone the scala-hackaton Git repository, or download a ZIP
  • In the repository / project, run mvn test and mvn exec:java -Dexec.mainClass=seevibes.HelloActor

The two Maven steps are to download all necessary dependencies. If you don’t, you’ll lose a lot of time at the event downloading your dependencies.

If you are unfamiliar with Java and Scala, I strongly recommend you use an IDE, which will help with code completion and syntax awareness. I happen to prefer JetBrains’ IDEA, but this is like Vim vs Emacs. You can use Eclipse if you prefer. If you use Eclipse, be sure to use the Scala IDE extension. In the case of IDEA, download and install the Scala plugin.

If you have any issues, please email me, Fran├žois Beausoleil, and I’ll help you out. I’ll post updates to this page if common errors pop up.

SQL Workshop

The SQL workshop will be a series of directed examples:

1. I will present a problem, a report or a question we want answered, and some details on how you can accomplish the goal;
2. You will answer the question with the knowledge you have;
3. I’ll ask people to present their solutions;
4. I’ll present my solution and discuss specifics

I have 6 exercises planned out, from 15 to 45 minutes each. The topics range from indexing to joining to using intersections and unions and ending with windowing functions. The workshop is for people who wish to learn more about SQL and how to more effectively use thecapabilites of their favorite SQL engines.

  • Install PostgreSQL 9.1 (latest is currently 9.1.2)
  • Load this PostgreSQL database dump svworkshop.sql.bz2 (315 MiB) in your cluster using the following command:

1 bzcat svworkshop.sql.bz2 | psql

The dump file expects to create a new database named svworkshop using your default user.

Hope to see you there!


Your Host

A picture of me

I am François Beausoleil, a Ruby on Rails and Scala developer. During the day, I work on Seevibes, a platform to measure social interactions related to TV shows. At night, I am interested many things. Read my biography.

Top Tags

Books I read and recommend


Projects I work on

Projects I worked on