RailsConf Europe: dag 2
De tweede dag van RailsConf Europe was zo mogelijk nog strakker volgepland met presentaties en demonstraties. Helaas kon ik maar in een zaal tegelijk zijn, maar ik heb toch weer wat leuke dingen gezien en geleerd vandaag.
Als je zo’n dag dan afsluit in een Ierse pub met 11 andere Rails-ontwikkelaars, dan weet je dat het een goede dag was!
Legacy-code: zo slecht nog niet!
De ochtend werd geopend door David Heinemeier Hansson - het brein achter Rails - met een keynote over legacy software. Hij vertelde over hoe Rails geboren is uit de behoefte om bestaande “legacy” software te herschrijven naar iets dat mooier en beter onderhoudbaar is.
We hebben het allemaal wel eens meegemaakt: aan het begin van een project schrijf je een stuk code waar je op dat moment superenthousiast over bent, maar twee maanden later kijk je er weer eens naar en ga je bijna over je nek.
De grap is - volgens David - dat de term “legacy software” niet zozeer duidt op een attribuut van je broncode, maar meer op jouw mening over een bepaald stukje code. Anders gezegd: software wordt “legacy” doordat jouw perceptie van een stukje broncode over een bepaalde tijdspanne verandert van “wow, dit is geweldig!” naar “hmm, dit moet eigenlijk anders”; wat je vandaag schrijft, is morgen legacy.
De conclusie was uiteindelijk: wees niet te gestresst over legacy software, maar leer de positieve kant te zien: als je na twee maanden een stukje van je eigen broncode tegenkomt waarvan je denkt: “ugh, wat een zooi”, dan betekent dat dat je in die twee maanden een betere programmeur bent geworden. Erg goede en boeiende keynote!
EC2, Enterprise CRM en IRC
De vogende twee presentaties waar ik bij was gingen over EC2 (de cloud-computing-dienst van Amazon) en “Enterprise CRM”. De eerste sessie ging dieper in op het verdelen van verschillende taken en processen over meerdere EC2-instanties, de tweede legde de focus op het omgaan met extreem grote CRM-achtige applicaties in Rails.
Het EC2-verhaal kon me niet echt boeien (teveel theoretisch gebabbel zonder voorbeelden) maar het Enterprise CRM-gebeuren was eigen best goed. Het was met name interessant om te zien welke tooling er door de presentators werd gebruikt en hoe de setup van hun verschillende servers en services er uit zag.
Tijdens de tweede presentatie maakte ik een fundamentele fout: ik logde in op het RailsConf Europe IRC-kanaal #railsconfeurope (irc.freenode.org). Af en toe was het echt een uitdaging om mijn lachbuien stil te houden; wat een hilariteit op dat kanaal!
Juggernaut, Google Gears en Security
Na een bijzonder prettige lunch zegen we neer bij de Juggernaut-sessie. Juggernaut is een Rails-plugin die het mogelijk maakt om data naar clients toe te duwen (server push) in plaats van dat de client de data bij de server vandaan haalt (server polling). In feite is het het spiegelbeeld van AJAX: waar AJAX asynchroon data van de server trekt, duwt Juggernaut die data asynchroon naar de client.
Erg interessante en leuke presentatie die mij zeker triggerde om eens wat met Juggernaut te gaan spelen. Iedereen die van plan is een “rich internet application” op te zetten met Rails, zou hier zeker eens naar moeten kijken.
Omdat we nu de smaak van asynchrone-grappen en Javascript-grollen te pakken hadden, hobbelden we door naar de sessie over Google Gears: een inventief stukje techniek van Google dat het mogelijk maakt om je webapplicaties offline te gebruiken. De presentator gebruikte zijn eigen project MindMeister - een website om mindmaps te maken - als voorbeeld. Helaas spendeerde hij drie kwartier aan het vertellen over welke classes Gears allemaal heeft en nam hij maar vijf minuten voor de demo, die ook nog eens op het eind kwam. Toch was de presentatie op zich niet slecht en het lijkt me leuk om in m’n vrije tijd eens met Gears te prutsen.
Als laatste presentatie van dit blok kozen voor “Security on Rails”. Dit was voor mij de beste en meest verrassende presentatie van de dag. Ik heb tot nu toe namelijk nog niet zo veel tijd besteed aan het lezen over de veiligheid van Rails-applicaties, en deze sessie was pijnlijk confronterend. Het is behoorlijk schokkend om te zien hoeveel potentiele veiligheidsrisico’s er in een Rails-website zitten.
Het staat als een paal boven water dat ik de slides van deze presentatie nog eens op m’n gemak ga doorlezen en de voorgestelde fixes ga toepassen op onze projecten.
The Sun You Don’t Know
Als dagafsluiter was Sun’s Nick Sieger bij ons om te vertellen dat Sun niet alleen maar Java-dingen doet, maar zich ook met Ruby bezig houdt. Hij had maar een klein kwartier voor zijn presentatie en helaas ontaarde het weer in een “kijk eens hoe snel JRuby is”-verhaal. Ik ben blij dat de mensen bij Sun zo trots zijn op hun Ruby-implementatie in Java, maar ik heb inmiddels wel vaak genoeg gezien hoe makkelijk het is om een WAR-file te deployen naar een GlassFish-server. Tijd voor iets nieuws!
Na het verhaaltje van Nick (dat werd opgeleukt met commentaar op het IRC-kanaal) volgde Jeremy Kempers keynote over Ruby performance. Hij had een boeiend verhaal - met name de profiling van een Rails-proces met ruby-prof en het nieuwe Rails performance-testing waren veelbelovend. Zijn praatje ging ook wat dieper in op de Garbage Collector van Ruby en hoe je deze naar je hand kan zetten om processen te optimaliseren.
Op zich was dat interessant, maar ik denk dat dit voor de meeste Ruby-gebruikers niet direct noodzakelijk is.
Slangenbeet
Met een groepe van 12 Nederlanders, Belgen en Engelsen sloten we de dag af in een erg goed Indisch restaurant om daarna door te hossen naar de lokale Ierse pub, waar ik voor het eerst in mijn leven werd geconfronteerd met het drankje “Snakebite”.
De moeite van het proberen waard! (maar zorg dat je achteraf niet meer hoeft te rijden)


