|Room 1||Room 2|
|8:30am - 9:15am||Check In|
|9:15am - 9:55am||Welcome & Keynote|
|9:55am - 10:35am||Coffee Break|
|10:35am - 11:35am||
A Rails Criticism
Luca Guidi - @jodosha
Opal, Ruby is back! ...on your browser!
Elia Schito - @elia
|11:35am - 12:35am||
Redis & Ruby like a pro
Stefano Fontanelli - @stefontanelli
Securing your API via Oauth
Alessio Della Motta - @alleadel
|12:35am - 1:35pm||
Fat models must die
Ju Liu - @arkh4m
Stefano Verna - @steffoz
Eseguire e monitorare applicazioni Rack con uWSGI
Roberto De Ioris - @unbit
|1:35pm - 2:50pm||Lunch|
|2:50pm - 3:35pm||
Roll your own web crawler
Francesco Laurita - @flaurita
Ruby & la scienza
Raoul JP Bonnal - @ilpuccio
Francesco Strozzi - @fstrozzi
|3:35pm - 4:20pm||
Concurrency vs Parallelism
Federico Ravasio - @razielgn
The Client-Side on Ruby
Patrick Mulder - @mulpat
|4:20pm - 5:20pm||
DDD in Ruby
Emanuele DelBono - @emadb
Rubymotion for fun and profits
Simone D'Amico - @damicosimone
|5:20pm - 6:05pm||
Code it from scratch
Francesco Canessa - @makevoid
Cooking lessons with Vim and Tmux
Claudio Ortolina - @cloud8421
|6:05pm - 6:30pm||Greetings & Prizes|
A Rails CriticismA deep insight on why Ruby on Rails has revolutionized web development.
This talk will focus its attention on the Rails "Golden Path", the reasons to its success, the most common problems, and how its API can be improved.
We will learn to benefit from a tool as powerful as it is dangerous, how to mitigate architectural, design and testability implications for your applications and how to improve the quality of your code.
Luca GuidiPassionate web developer, he spent most of his career working with Rails, since its early days. In his free time, he loves to travel, spend time with his family, contribute to open source, blog about technology, and mix beats. He is an avid photographer and tea lover.
This presentation will cover:
- a general overview and why I feel so good doing Ruby on the client
- some internals along explanation of implementing choices
- real world (™) use cases (including code ported from the server to the browser)
- fun! :-D
Elia SchitoA Ruby/Rails developer @mikamai, catholic, who loves his beautiful wife and his wonderful children. Opal core team member.
Redis & Ruby like a proRedis is an open source advanced key-value store. It can contain strings, hashes, lists, sets and sorted sets. Its greatest feature is that you can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing to a list; computing set intersection, union and difference.
This talk shows how use Redis and Ruby to build an high scalable, reliable and concurrent infrastructure of services using the Publish/Subscribe messaging paradigm and distributed locks among services. All the examples coming from a large scale application that handles hundred millions of messages every day.
Stefano FontanelliI am a software engineer from Florence (Italy) with 8+ years of experience in software development. I studied at Scuola Superiore Sant'Anna (Pisa) as PhD student and I founded a startup called Asidev. Currently I'm backend developer at Gild, a Californian startup that brings Science into hiring. I love writing large scale applications that must be highly scalable, reliable and efficient.
Securing your API via OAuth (2.0) and Ruby on RailsNeed a uniform and standard mechanism for authorizing clients to access remote services and resources securely? OAuth is what you’ve been searching for! OAuth is an open standard widely adopted over the Internet and many big companies started supporting it, e.g., Facebook, Google, etc.
In this talk we explain OAuth protocol basics and theory, pointing out strengths and weaknesses. Eventually, we show how to implement a typical OAuth authorization scenario where an iOS client is authorized to consume services via OAuth, exploiting Ruby on Rails and Doorkeeper on the server side of the force.
Alessio Della MottaAlessio Della Motta is a software architect and engineer interested in almost every field of computing. His technical background covers a wide range of technologies and languages and his focus is on enterprise and distributed systems.
Alessio completed his master’s degree at the University of California, Irvine in 2010. Then he started working as an IT consultant specializing in EAI and SOA. Now he manages and designs software solutions at Mavigex, a small company in Bologna.
In his spare time, Alessio likes to play guitar, football and to read big divulgative tomes on math and physics.
Fat models must dieIl concetto “Fat Models, Skinny controller” è da sempre uno dei cavalli di battaglia di Rails ed è uno dei principi fondamentali intorno a cui ruota il suo stack. Purtroppo, seguire ciecamente questo pattern spesso porta ad una crescita smisurata delle responsabilità dei modelli, che col passare del tempo e dei commit si trasformano in matasse di codice ingarbugliato e ingestibile.
In questo talk verranno esplorate differenti metodologie che si possono seguire nella pratica per mantenere il controllo del proprio progetto. Si descriveranno i pattern più diffusi proposti dalla community Rails per risolvere il problema della crescita del codice nel medio-lungo periodo: incominciando con concerns e presenters per passare a service objects e DCI, verranno spiegati i pregi dell’utilizzare pratiche più OOP per gestire con soddisfazione la complessità delle nostre applicazioni.
Ju LiuIngegnere informatico, appassionato di tecnologia e conoscenza. Si è dedicato allo sviluppo di applicazioni web, con un focus particolare a metodologie di lavoro agili e al Test Driven Development. Innamorato di Ruby on Rails, del codice elegante e di Vim.
Stefano VernaEntusiasta di nuove tecnologie, TDD e metodi agili di sviluppo. Attivo contributore open-source, appassionato sviluppatore Ruby. Conosciuto dai più per l'estensione per Firefox DownThemAll!
Nel 2010 sono tra i fondatori di weLaika, società di consulenza torinese specializzata in sviluppo di applicazioni/gestionali in Ruby on Rails e sviluppo mobile iOS ed Android.
Eseguire e monitorare applicazioni Rack con uWSGINato nel 2009 come semplice server per applicazioni WSGI, il progetto uWSGI in 4 anni e' cresciuto a dismisura diventando oramai un framework per costruire applicazioni di rete ad ogni livello. A meta' 2012 (dopo piu' di un anno di lavoro) e' stato finalmente completato il supporto per lo standard Rack (l'equivalente ruby di WSGI).Ora uWSGI puo' eseguire framework come RubyOnRails e Sinatra aggiungendo "for free" tutte le features che gli hanno permesso di diventare l'application server di riferimento in realta' come Reddit, DotCloud, Activestate Stackato, Washington post e molti altri. Il talk introdurra' brevemente il progetto per poi presentare un caso di uso reale, ovvero come e' stata costruita l'infrastruttura di mytable.it, uno dei piu' grandi (forse il piu' grande) portale in italia scritto in Ruby On Rails.
Roberto De IorisCo-fondatore di Unbit e 20Tab, amministratore di sistemi UNIX da 11 anni (di fila..), lead-developer dei progetti uWSGI, BlastBeat, Koi-ha e altri di cui non ricordo neanche il nome. Prediligo la programmazione low-level ma non disdegno linguaggi come perl, python e ovviamente ruby
Roll your own web crawlerIt is all about data.
Having the right data at the right time might make the difference between you and your competitor. Google can show you just what it can catch. If you know where to find the data of your interest, let's go deeper and roll your own web crawler framework.
Taking the advantage of the latest cool technologies I will show you how to build your distributed web crawler based on Redis and Mongo
Francesco LauritaFrancesco joined Gild in 2012 as a Lead Software Engineer, having fun writing complex algorithms on Gild’s data analysis backend. Prior to Gild, Francesco worked for more than ten years at FASTWEB, one of the biggest ISP companies in Italy, where he led business critical software. Francesco was also one of the top users on Coderloop, leading him to become one of the authors of challenges on Gild’s code evaluation system.
Ruby e la ScienzaRuby anche scienza: la sua versatilità, insieme alle diverse implementazioni, offre nuove opportunità di utilizzo creando un ecosistema di strumenti e librerie applicabili a diverse discipline scientifice. Dalla biologia e bioinformatica, con il progetto BioRuby, alla matematica e statistica, con il progetto SciRuby, il numero di gemme e' in costante crescita (http://biogems.info).
Nuove tematiche, come il web semantico e la gestione della conoscenza, insieme a tecniche di data mining, machine learning e visualizzazione, vengono studiate, sviluppate e sperimentate in occasione di eventi internazionali quali CodeFest e BioHakathon. Lo stimolo a migliorarci, avere nuove idee, diffondere le librerie e gli strumenti prodotti ci ha condotti, ormai dal 2009, a partecipare al programma Google Summer of Code raggiungendo, anno dopo anno, progetti di successo, coinvolgendo nuovi sviluppatori e una massa critica di mentori in grado di stimolare sempre più la comunità.
Raoul JP BonnalLaureato nel 2003 in Informatica all'Università di Milano Bicocca, ha intrapreso la carriera di bioinformatico presso il CNR-ITB e un'esperienza in America e' ora responsabile della bioinformatica, sviluppo e analisi dati, presso l'Istituto Nazionale di Genetica Molecolare di Milano.
Insieme a Francesco Strozzi contribuisce al progetto BioRuby, parte della Open BioInformatics Foundation -OBF-, e sono mentori Google Summer of Code per le organizzazione OBF e SciRuby.
Francesco StrozziLaureato nel 2005 in Bioinformatica all'Università di Milano Bicocca, è responsabile dal 2011 della Core Facility di Bioinformatica del Parco Tecnologico di Lodi, per lo sviluppo software e l'analisi di dati genomici.
Insieme a Raoul JP Bonnal contribuisce al progetto BioRuby, parte della Open BioInformatics Foundation -OBF-, e sono mentori Google Summer of Code per le organizzazione OBF e SciRuby.
Concurrency vs ParallelismWhat does it mean to structure a program in a concurrent manner?
Concurrency is about structure, while parallelism is an interpreter feature: the problem has to be solved by the programmer first.
What I'd like to show is how to think about problems, so to extract concurrent objects from the domain logic.
I'll also take a brief view on different patterns to achieve concurrency and which gems to use that implement one.
Federico RavasioThat programming geek you'll find arguing about syntax on a late friday night, probably in front of quality Belgian beer.
When university was no longer fun, he started freelancing at Webrain and has been doing so ever since.
Longer version: http://www.linkedin.com/in/federicoravasio
The Client-Side on RubyIn this talk, I would like to look at the options that Ruby offers to serve client-side web applications. With the example of Backbone.JS I would like to discuss first the elements of a client-side web application (events, rendering, data transport), and how this influences a web application stack (= separation of concerns)
Patrick MulderI started to get paid for developing user interfaces for Matlab end of the 90ies, progressed towards scripting Unix with Perl, Python and Java (Swing), and finally got infected by the Ruby-on-Rails around 2008. I have been developing web applications with Ruby since then, and rarely looked back.
I like blogging at http://thinkingonthinking.com and was recently invited to a panel discussion at Wroclove.rb 2013 on single page applications with different representatives of frontend frameworks (AngularJS, EmberJS and Backbone.js).
DDD in RubyWhen developers talk about Domain Driven Design they usually talk about Java or C# implementation and it seems that languages like Ruby or Python are not suited for these kind of architectures. During the talk I would like to show that every patterns described in the blue book can be written even in Ruby and sometimes the Ruby implementation is better than the Java one. Ruby is not a second a class language and its dynamic power could help a lot in writing complex business logic.
Rubymotion for fun and profitsTwo years ago, at rubyday '11, I did a talk about Macruby and predicted the advent of something similar for the iOS platform.
The day has come, today we got a quasi-mature semi-opensourced toolchain for developing apps for Apple devices.
In this session I will introduce you to Rubymotion starting with a basic overview of what it's needed financially and in terms of know-how.
I'll show how it's blazing fast compared to ruby MRI and explain its limitations.
I'll go through some of the most popular gems and show you how ruby idioms and patterns are insinuating in the obj-c community.
Finally I will show come concrete code examples from my apps.
Simone D'AmicoI'm COO of Metwit, a platform that collects and analyse crowdsourced environmental data (especially weather).
I'm passionate about a lot stuff: XP and Agile (I'm coaching SCRUM), Devops (chef worshipper), Apple frameworks (Cocoa lover) and obviously Ruby (I used it before it was cool ;))
Code it from scratchAn overview about starting your app small and growing it bigger as you need, beginning with domain model classes "sketched" in ruby (yea, DDD) and then considering integrating various libs or implementing your own to reduce complexity and save time in the end.
Cooking lessons with Vim and TmuxThe purpose of the talk is to show how to tackle different tasks with a shell based environment composed of Vim, Tmux and other tools. The core idea is that we can use Rails conventions to make our workflow better. And being all of this modular, you can mix and match different solutions to fit your needs.
From the technical standpoint, I would perform small tasks live, with a video fallback.
- file and code navigation with ctags
- smart interaction with a REPL
- Running tests
- Moving efficiently among models, controllers and views
I will use Hermes (http://new-bamboo.github.com/Hermes/), a bootstrap script that configures a shell based development enviroment on Mac. I've started the project with Damon Davison, a fellow colleague, and it's been my production setup for months now.
The main theme of the talk will be cooking: for example, having knife skills is important for any dish you want to prepare. In a similar fashion, being able to easily jump around files is also key in not breaking your flow.
My name is Claudio, I'm an italian developer currently living in London and I work for New Bamboo (http://new-bamboo.co.uk).