Rotterdam.rb meeting on May 9th 2011

The next Rotterdam.rb is coming monday, May 9th 2011! And we have 2 great presentations.

Marcel Corso (@marcelcorso) will be talking about his work at Shuffler.fm and  Michel Sikkes (@michiels) will have a talk called "Infrastructure as Code". As always, you're welcome to come and visit. There if free pizza and beer. The fun starts at 6pm.

The Finalist office is located in the "Groothandels Gebouw", right next to Rotterdam Central Station. Take the main entrance (Entrance A) and take the elevator to the 4th floor. You'll see a big {F} next to the stairs. Just knock on the glass doors.

 

 

 

 

 

Rotterdam.rb Meeting: March 28th

It's been a while, but another Rotterdam.rb is happening on monday, March 28th. As always: we start around 6pm, everybody is welcome, whether you know Ruby or not, please give a note (in the comments or on twitter) if you're planning to come, the location is Finalist Office in Rotterdam, and there will be free pizza and beer.

There will be two short presentations. Diederick Lawson (@dkln) will be talking about the HTML 5 canvas library he built, called canvas_library. I will be giving a summary of CukeUp, the Cucumber conference I'll be visiting next week. If you want to present something yourself, give me a sign.

 

Be there!

Iain

Next meeting: Januari 10, 2011

Hi guys and girls!

Our next meeting will be Januari 10. If you have something to talk about, please contact me. Otherwise, we will do a second Ruby Randori!

 

Location

The Finalist office is located in the "Groothandels Gebouw", right next to Rotterdam Central Station. Take the main entrance (Entrance A) and take the elevator to the 4th floor. You'll see a big {F} next to the stairs. Just knock on the window :) There is free food and beer!

 

Hope to see you then, iain

Ruby Randori

TL;DR: The Ruby Randori was a success! Thanks guys! See you next time!

We just had our first "Ruby Randori" and man: it was fun! I think we can regard the experiment as successful and we're definitely doing it again! Thanks everyone for your attention! If you missed this one: no problem, come next time!

Here's a short overview what we did: After a short introduction by yours truly on what Conway's Game of Life is, and what the idea of the evening was, we discussed a while on how to implement it. There were two people that were unfamiliar with RSpec, so we gave a short introduction on that too. It was interesting to see these discussions develop. In general, developers think too far ahead, and some were solving problems in their heads way before they were even an issue. Remembering these same discussion from the Code Retreat, Arie and asked a few simple questions to make it a bit more interesting. Do you really need to know the neighboring cells? Do you really need to know the coordinates? Does a cell really need to have a state?

But after a while we were hacking away. Now we were pair programming. One person was writing specs, and the others was writing code. It became a game: the one writing the specs was really enjoying making the other write the code they just tested, and the other tried to dodge the implementation as long as he could by making simple methods. Still, the moment came when everybody realized: we need to refactor! We ended up with a really clean (stateless) implementation of a cell and a bunch of succinct and readable specs.

I really think we've all learnt something tonight. I saw a flicker in everyones eyes as they realized something they hadn't realize before, whether it was how to do BDD (and how a tool like RSpec can help you guide your thoughts and design decisions) or how you can use subclassing for separating out logic and creating classes that have only a single responsibility.

As for a next Randori: I think we're going to focus more on the coding and less on the discussion. For a short evening it's better to have a small, well marked, problem domain. There are countless ways of solving even the most simple problems, so the discussion on our approach can last forever. It is a worthwhile discussion, but it needs more time. We might even use Rails and Cucumber in the future.

The next Rotterdam.rb will be in januari. I'm not quite sure what we'll be doing. If you have something interesting to say, or some good suggestions, please share your thoughts :)

Cheers! See you at the next meeting!

Iain 

(download)

Nov. 22nd: Rotterdam.rb Ruby Randori

Hi guys!

Coming Monday, November 22nd, at 6 PM, there will be another Rotterdam.rb. It's at Finalist IT Group again, and pizza, beer and other drinks will be free once again. This time, we're doing an experiment: The Ruby Randori. Let me explain:

The Randori is a form of exercise in martial arts where one person stands in the middle and defends himself against multiple enemies attacking him simultaneously. A "Code Randori" isn't that violent though. There is one pair programming and the others ask questions and give feedback. After a few minutes, people rotate, giving everyone a chance to write some code. Hopefully, this will be an educational experience for everyone!

Why?

At the last Ruby And Rails conference in Amsterdam, Corey Haines spoke about practicing your skills as a developer. He made a compelling argument and backed it up with his "Code Retreat" on saturday. Inspired by his talk, we want to do something like this too. We're not going for the Code Retreat format, because that requires more time than we have in one evening.

The goal is not to show of your Ruby skillz, but to learn and get challenged on what you know and do. When you program at work, you're always forced to make compromises in order to make the deadline. At the Randori, we don't have a deadline, so we can focus on creating "perfect" code. This means pair programming and TDD/BDD too. And you know what they say: "Practice makes perfect".

We think there is something for programmers of all levels here. If you're not an expert yet, this is the time to see other people work and ask them questions. If you consider yourself an expert already, this is the time to get your beliefs about programming and old habits questioned. We're going to work on a relatively simple problem (probably something like Conway's Game of Life), so anyone can chime in.

Remember, this is just an experiment for now. So we'll be asking you for feedback and suggestions. But regardless of whether the Randori is a success, it's going to be an enjoyable evening, with lot's of interesting discussions. We hope to see you all there! So, tweet it, blog it and spread the word!

If you haven't been to a Rotterdam.rb meeting before, you're more than welcome! The Finalist office is located in the "Groothandels Gebouw", right next to Rotterdam Central Station. Take the main entrance (Entrance A) and take the elevator to the 4th floor. You'll see a big {F} next to the stairs. Just knock on the window :)

How to build a robust test suite that runs on different environments?

I was wondering if you guys can help me with setting up a decent test environment for my Rails plugin ScopedSearch, which allows you to search your records based on a textual query language. 

The project actually already decent amount of tests written using RSpec that cover all functionality. What I would like is run all these tests is different environments. These environments differ in three areas: Ruby versions, gem dependency versions and database servers. I would like the plugin to work with both Rails 2 and 3, with both Ruby 1.8.7 and 1.9.2, and on MySQL, PostgreSQL and SQLite. The test suite should therefore run on all combinations of these areas if possible. 

Moreover, I would like it to be as easy as possible for other contributors to recreate the same test setup. This can be a problem because they may not have Ruby version installed, or they may not have access to all the database server types. 

What would you advice me as a setup that solves most of these issues in an elegant way? Please leave your advice in the comments. Thanks, Willem

Meetup: ma 27 sept @ 18:00 - lightningtalks over Lua & JavaScript!

Oh hai hackers!

Het is al weer even geleden sinds de laatste meetup, maar de zomer is eindelijk voorbij! Tijd voor regen, storm, onweer, bliksem, oftewel... Lekker hack weer! Daarom organiseren we 27 september weer een nieuwe meetup, met 2 übercoole talks.

- Sander (@svdgraaf, jaja de CouchDB guy) geeft dit keer een praatje getiteld: Eerste stapjes in Lua en waarom het zo hard rockt!
- Michiel (@michielkalkman) gaat onze JavaScript messen weer wat bijslijpen met een praatje getiteld: Async JavaScript solutions for common AJAX problems (with examples in JS and functionally equivalent Ruby code)

Zoals gewoonlijk treffen we elkaar weer bij Finalist IT Group (muchas gracias voor de sponsoring!) en ben je welkom vanaf 18:00. Zorg dat je op tijd bent als je mee wilt genieten van pizzas en bier! De talks zelf starten om 19:00.

Dus ik zie je de 27e om 18:00 bij Finalist IT Group (4e verdieping van Het Groot Handelsgebouw, Stationsplein 45, hoofdingang/ingang A).

Oh by the way: Heb je de vorige keer Sanders praatje over CouchDB gemist? Geen paniek! Volgende week maandag 20 september heb je een herkansing. Dan vindt namelijk de eerste Rotterdam.php plaats bij internetbureau Mangrove, met talks over CouchDB en Node.js! Meer info kun je vinden op: http://rotterdamphp.tumblr.com. Be there!

Domain Driven Design follow-up

Hi guys, Iain here!

I've posted some extra information about my talk on Domain Driven Design on my blog.

Furthermore, if you want to talk at one of the next Rotterdam.rb meetings, be sure to mail Stefan or me. Please provide what it's about and how long it takes, so we can schedule it.

Ideas for a presentation can be some awesome library or tool you found and love, or some project you are working on to get people to collaborate with you. Or just to practice your presentation skills. I forced myself to learn something about Domain Driven Design by giving the presentation for instance.

Anyhow, hope to see you all soon!