Oradores
Augusto Becciu
Restorando
Construyendo tu propio motor de búsqueda con JRuby y Lucene
La idea de la charla es contar nuestra experiencia en Restorando usando JRuby y distintas librerías de Java como Lucene y Jetty para construir nuestro propio search engine. Explicar cuáles fueron los motivos por los cuales decidimos tomar este camino, con qué desafíos nos encontramos y también mostrar algunos detalles interesantes de la arquitectura y la implementación. Finalmente, se explicarán detalles sobre cómo resolvimos el deployment para que sea “zero downtime”, cómo empaquetamos la aplicación y las dependencias, y también detalles de logging, monitoreo y optimización de performance.
Bio
Augusto se empezó a interesar por la programación a los 16 años cuando tuvo su primer computadora. El furor por el Demoscene en esa época despertó su pasión por el desarrollo de bajo nivel en C y Assembler. Luego, Linux provocó su interés por el open source y los sistemas operativos. Finalmente, Perl le demostró lo productivos que son los lenguajes de alto nivel y que programar para la web también puede ser divertido.
En los últimos 10 años Augusto trabajó profesionalmente para distintos startups en C, Java, Perl, Python, Erlang, Javascript y Ruby. Actualmente trabaja como CTO en Restorando y previamente trabajó como Developer y Ops Engineer en Shopify.
Chris Hunt
Github
Resolviendo el Cubo Rubik con los ojos vendados
¿Piensas que resolver el Cubo Rubik es difícil? Imagina desordenarlo, memorizarlo y resolverlo con los ojos cerrados.
En esta charla de dos partes, vamos a combinar técnicas utilizadas por 'speedcubers' profesionales y atletas de la memoria para aprender cómo resolver el Cubo Rubik con los ojos vendados. Esto no es sólo un truco para entretener fiestas. Dejarás RubyConf Argentina con una mayor apreciación acerca del Cubo Rubik y la habilidad de memorizar cualquier cosa en el mundo.
Bio
Chris Hunt trabaja para GitHub desde un escritorio en Portland, Oregon. Previo a GitHub, Chris trabajó en aplicaciones Rails para Square, Apple, el Departamento de Defensa de Estados Unidos, y para su crítica madre. Cuando no está escribiendo Ruby, está probablemente tratando de aprender algo nuevo.
Damián Janowski
Educabilia
Redis: más allá del caché y las colas
Redis nació como un Memcached persistente. Y es por ese pasado sombrío que muchos lo consideran solo una buena alternativa para cachear cosas. Sin embargo, Redis evolucionó rápidamente hacia como se lo conoce hoy en día: un servidor de estructuras de datos.
Redis provee operaciones atómicas sobre tipos de datos primitivos (strings, listas, conjuntos, conjuntos ordenados y hashes) que dan mucha flexibilidad para pensar la mejor manera de guardar los datos de nuestra aplicación. Esto, sumado a otras funcionalidades (como replicación, dos estrategias de persistencia, transacciones y scripting en Lua) hacen que Redis sea una opción muy interesante a la hora de elegir la base de datos para nuestro proyecto.
En esta charla vamos a explorar, a partir de ejemplos, los casos de uso más frecuentes en cualquier aplicación web y cómo se puede usar Redis para resolverlos. También se van a mostrar los pitfalls más comunes y qué estrategias se pueden usar para evitarlos.
Bio
CTO en Educabilia. Damián es programador desde hace muchos años, pero logró que le empiecen a pagar por ello hace diez. Como la web ya existía, nunca tuvo que programar una aplicación de escritorio. Después de pasos fructíferos por tecnologías de todo color y tendencia política, desde hace 8 años programa principalmente en Ruby. Fue uno de los primeros en adoptar Redis y hoy la usa como única base de datos en Educabilia, el startup que cofundó hace tres años. En su tiempo libre le gustaría empezar a usar Go en producción.
Emilio Gutter
10Pines
Los Diez Mandamientos del Programador en Ruby
Más de 3000 años después de que Moisés recibiera los Diez Mandamientos de Dios, en una noche difícil de eterno trabajo, luchando con un heredado, sin testear y embarrado código en Ruby tipo spaghetti, después de litros de café, decenas de cervezas, un par de shots de tequila y un buen vaso de single malt scotch, ya cerca de la desesperación, casi listo para abandonar su tarea, Emilio recibió una visita inesperada. El mismísimo Dios apareció en la pantalla de su computadora, tomó el control de la máquina y con una voz ronca y gutural dijo: "Emilio, eres el elegido. Deberás abrir el Mar Rojo de los rubíes e iluminar al rebaño de pecadores Ruby con los Diez Mandamientos del Programador en Ruby:"
Emilio recibió los mandamientos con alegría y le prometió a Dios difundir su palabra. Luego, como la noche fue larga y Dios no tenía prisa, jugaron unas manos de Poker. Emilio ganó y le hizo prometer a Dios que haría posible que acepten una charla en la RubyConf este año. En su sabiduría Dios respondió: "Che, soy Dios nomás. Si querés milagros pedile al Papa".
Bio
Emilio es co-fundador de 10Pines, una empresa boutique de sofware ubicada en Buenos Aires. Es miembro fundador de la comunidad de Agiles de Latinoamérica y ha sido organizador de la conferencia Agiles2012 realizada en Córdoba, Argentina.
Ha trabajado en desarrollo de software por más de 15 años en varios países incluyendo Argentina, Brasil, Reino Unido, Estados Unidos, Francia, Rumania y Bulgaria. Se ha desempeñado como programador de software, project leader y agile coach con experiencias en diferentes industrias como servicios de crédito, medios & entretenimiento, publicidad, viajes & tiempo libre y salud, entre otras.
Federico Builes
mheroin
Practical EventMachine
EventMachine (EM) is an event-driven concurrency library for Ruby, akin to Python's Twisted or Node.js. In this talk we'll explore some of the patterns and abstractions behind EM, how we can apply those ideas to our applications and how the library has been used by companies like GitHub and Heroku.
Bio
Federico ha colaborado en diversas implementaciones de Ruby y ha estado involucrado por varios años en el Google Summer of Code como estudiante y mentor.
Federico Carrone
Inaka
Concurrency for Rubyists
In the last few years thanks to the gain in popularity of functional programming languages like Erlang, Clojure and Haskell, many of us learned how to properly work and use the high level primitives for working with concurrency and parallelism those languages have. Ruby, on the other side, even if it is a very expressive language, it does not have built in most of those primitives. However thanks to libraries like concurrent-ruby, celluloid and virtual machines like JRuby and rubinius we are able to use great concurrency patterns like Actor, Agent, Async, Future, Promise, ScheduledTask, TimerTask and efficient, immutable, and thread-safe collections thanks to hamster.
Bio
I am gipsy developer who likes to test new and old stuff. I move from one technology to another one trying to learn what I can from each community.
I work at Inaka as a backend developer who creates REST systems with Erlang and Cowboy. However my main languages for the last decade have been Ruby, Python and Javascript. I am really interested by Haskell and Clojure but I had not enough time to play and use them yet.
Hanneli Tavante
Codeminer 42
Our daily graphs written in Ruby and Neo4j
Have you ever noticed that so many situations could it into a graph? Graphs are not only a boring subject into College, they can be really useful in many situations. This talk will show you some graph modelling with a nice graph database - Neo4j - and some ruby codes, inserting very creative scenarios inside graphs.
Bio
Hanneli (a.k.a. @hannelita) is a developer working at Codeminer 42, addicted to code, learn new programming languages, frameworks, blow capacitors, do some C programming to relax and commit useful (or unuseful) code for random Open Source Projects that she finds at Github. She met JBoss products into 2009 and since then she tries to help the community with her blog, http://hannelita.wordpress.com
She also likes coffee, specially the ones from Starbucks.
Ignacio Piantanida
10Pines
Ruby on your pocket with RubyMotion
Si alguna vez quisiste escribir aplicaciones nativas de iOS pero solo ver la sintaxis y verbosidad de Objective-C te produjo nauseas, RubyMotion es para vos!
Con RubyMotion podemos llevar toda la simplicidad y poder de expresión de ruby al ambiente mobile para escribir aplicaciones iOS/OS X nativas (y próximamente Android también).
Usa todas las herramientas que ya conoces: ruby, rake, gemas, RubyMine y otras en un nuevo ambiente con un mercado más que interesante!
Bio
Developer por laburo y hobbie. Arranqué por .NET, pasé por Java y me enamoré de la simplicidad de Ruby. Formo parte de 10Pines, donde actualmente trabajo con RubyMotion en una aplicación iPhone para una start-up de Londres del mercado financiero.
Jano González
SoundCloud
Microservicios en la práctica
¿Son los microservicios otra "buzzword" más? En esta charla conocerás los pro y los contra de este enfoque, los problemas resuelve y qué nuevos problemas crea, todo desde el punto de vista de un equipo que extrae servicios desde una aplicación monolítica en su día a día.
Durante los últimos 6 meses he sido parte del equipo que está extrayendo servicios del "monoriel" de SoundCloud, creo que vale la pena compartir mis experiencias y que no hemos tenido tantas charlas de arquitectura en las últimas conferencias del Cono Sur.
Bio
Programador, músico amateur y fanático de las conferencias. Aunque se considera agnóstico en temas de tecnología, Ruby ocupa un lugar especial en su corazón. Recientemente se mudó de su Chile natal a Alemania, para trabajar en SoundCloud.
Juan Barreneche
Restorando
Data analysis for startups
Hoy en día un gran desafío que tienen las empresas es lograr recolectar y analizar datos para entender mejor el negocio y las necesidades de los usuarios. Casi todas las soluciones que encontramos en Internet están enfocadas en resolver problemas con grandes volúmenes de datos, tan grandes que no podrían ser procesados y almacenados en una sola maquina. A esto en la jerga se le llama “Big Data”.
La mayoría de las empresas manejan volúmenes de datos que no requieren esta complejidad, sin embargo, la poca información que hay sobre alternativas puede hacer pensar que son la única forma de hacerlo y llevar a proyectos fallidos o al miedo a embarcarse en algo complejo.
En esta charla voy a contar nuestra experiencia en Restorando construyendo un data warehouse que resuelve nuestros problemas sin insumir mucho tiempo de desarrollo y mantenimiento, ni tampoco grandes costos de infraestructura. Esto incluye: integración de múltiples fuentes de datos, el desarrollo de un framework de ETLs, técnicas avanzadas de SQL para análisis y otras técnicas Ad-Hoc para cuando SQL no alcanza.
Bio
Soy estudiante de Ingeniería en Informática de la UBA cerca de recibirme (actualmente escribiendo la tesis final). Trabajo en sistemas desde hace casi 10 años, comencé con COBOL, pasé por Java hasta que llegué a ruby.
Actualmente estoy trabajando en Restorando.
Lucas Dohmen
ArangoDB
ArangoDB, A different approach to NoSQL
ArangoDB is an open source NoSQL database which is not narrow-mindedly focused on horizontal scalability. Instead, ArangoDB aims to offer developers great flexibility and ease-of-use. The database is suitable for use cases which are difficult to implement with most traditional relational databases and also many of the other NoSQL databases. Foxx is a JavaScript framework built-into ArangoDB that allows to extend the REST API of the database. I will show you why this is interesting and how you can use it in your apps.
Bio
I’m a member of the core team of the NoSQL database project ArangoDB where I work on the graph functionality, tools for the Ruby community to use the database and Foxx. Furthermore I contribute to various open source projects like hacken.in (an event calender for nerds in Cologne, Berlin and Munich) and projects related to ArangoDB. You can find me listening or speaking at our local usergroups for Ruby, JavaScript, NoSQL and (as a coach for) Rails Girls and Coder Dojo.
Lucas Videla
WeCode
You already git started. Now, what?
You already know the basics of git, and you liked it. You want to spread the usage of this magnificent tool between your co-workers, and you don't find how to involve them. Maybe your team is working with git, but you see that your repo is filling out with merge commits. Or, even better, you're working in a massive team that is turning the code base messier and messier. We need to face each problem with a concrete approach. In this talk you'll know the basics of the major workflow strategies, and the reasons to choose one among all other options.
Bio
Lucas is a tireless apprentice of the art of programming. He lectures at two universities, and teaches the basics of programming for young people from age 17 to 6x (because nobody older attended yet). He works at WeCode and is one of the co-founders. Some of his projects are confy>, braid and notas. He also translated the book The Zen Programmer into Spanish to help fellow developers finding peace at work.
Lucia Escanellas
Look ma', I know my algorithms!
Esta es la historia de como pasar de 3 horas a 30 segundos implementando un problema sencillo, mediante algoritmos.
Vamos a ver:
- Cómo usar ordenes de complejidad en la vida real
- Cómo influye el (no) paralelismo de Ruby (MRI)
- Cómo evitar sorpresas en la performance usando colecciones
La charla no tiene spoilers, por lo que podes salir de la charla a probar tu propia solución.
Bio
Lucia es una Ingeniera en Computación que a los 18 años fue a la universidad a estudiar Física, pero después se pasaba las tardes en las librerías técnicas hurgando en libros de O’Reilly y soñando con algún día leerse la colección entera.
Hoy en día, Lucía logró ser de las personas más afortunadas del mundo: se dedica a lo que le encanta, y encima le pagan por ello :)
Si en algún momento se cruzan con ella, seguramente puedan hablar horas sobre lenguajes de programación, optimización, algoritmos, bases de datos, gatitos, o una combinación de todas las anteriores.
Marta Paciorkowska
Programming, languages, literature
Have you ever pondered on the similarities between programming languages and literature? If you haven’t, here’s your chance! Just as the development of literature can be divided into epochs with their distinctive themes, there are stages in the evolution of programming languages. Code and literature have more in common than you think! Let’s have a look at programming languages and compare them to well known works of literature to (hopefully) come to a conclusion that programming does not exist in a cultural vacuum and that its development is significantly inspired by culture.
Bio
Marta developed a love for literature and computers roughly at the same time in her life: She wrote poetry and coded in Logo in primary school, learned C in high school, studied American literature and created websites while at university. Now she work as a software engineer in Three of Coins (http://3ofcoins.net). Constantly on the border of these two worlds, she tries to look for ways to bring them together.
Patricio Bruna
ITLinux
De desarrollo a producción con Docker
En esta charla pretendo enseñar de forma practica como Docker puede ayudarnos a mejorar la experiencia de desarrollo de aplicaciones Rails y como podemos olvidarnos de los problemas de tener plataformas distintas en Desarrollo y Producción.
También revisaremos como podemos escalar automagicamente nuestra aplicación cuando logremos el éxito y la fama.
Bio
Soy uno de los socios de ITLinux, empresa con cerca de 10 años de experiencia en proyectos de software libre.
Hace 3 años comenzó mi interés por Ruby al utilizar Rails para desarrollar nuestra aplicación de contabilidad al no encontrar ninguna que acercara a nosotros.
Hoy en ITLijux seguimos en el sendero de servicios de infraestructura con software Open Source pero además lo acompañamos de desarrollos propios para mejorar la administración de estas plataformas.
Paul Smith
thoughtbot
Derailing Irrationality
Cognitive biases enable faster decisions when timeliness is more valuable than accuracy. They are very hard to detect and rarely discussed. Without realizing it we ask survey questions of our customers and clients that yield biased answers, which in turn lead to features that are not useful. We review code in ways that cause frustration, and hurt feelings. We take on technical debt because of invisible and nearly imperceptible forces in our minds that cause us to make irrational decisions. This talk will help developers to understand how to think rationally in order to act quickly, write better software and be happier while doing it.
In the presentation we will talk about the current moment bias, the fairness bias, impostor syndrome, the IKEA effect, the diagnosis bias, the principle of reactance and how these effects become formidable enemies on the way to creating cohesive teams and simple software. We will learn how to recognize when these biases take effect and how to overcome them.
By the end of this talk people will know:
Bio
I’m Paul Smith. I currently work for thoughtbot in Boston, MA and have been working with Rails applications for about 7 years. I lived in Argentina for 2 years and learned to speak Spanish while I was living there. I am well practiced in speaking to large groups of people in English and Spanish.
I love studying the mind. Behavioral economics, cognitive biases and heuristics. The study of behaviors and cognitive biases has helped me better understand how to create simpler software and work more effectively with clients and coworkers.
Pote
13 Floor
The Dilemma of Simplicity
Over the years we've learned to pay attention to the importance of a number of highly desirable qualities in software: readability, maintainability, adaptation to change. We've accepted these values as good and actively pursue them yet we consistently ignore what is probably the best method of achieving these qualities, it's staring us right in the face now.
Slowly but steadily the philosophy of embracing simplicity in software design by carefully calculating and minimizing unnecessary complexity is gaining traction in our community, and for a good reason: it organically pushes us to the best software practices we all know and love, it both embraces all the core principles the ruby community has developed over the years while rejecting many of the common practices we carry based on inertia but which directly contradict these values.
In this talk I explore my journey on this shift in perspective from certain fragments of our community and how thinking about simplicity as one of our core values can push us to be better developers while producing better quality of software. We don't need our crutches anymore, let's drop them together!
Bio
pote comes from a Python background writing Asterisk-based VoIP systems, has several years of experience doing Rails/Ruby and has been known to work with Go, Lua or other alternatives when the job permits it, he loves contributing to open source projects, he is one of the authors of the @surculusfructum podcast as well as a member of the [13Floor.org](http://13floor.org) software collective.
Passionate about minimalistic software, Unix philosophy, doing things right, having fun with cool people and using spaces instead of tabs, pote copes with a somewhat unhealthy relationship with moustaches and is always willing to discuss the evils of premature optimisation over a beer.