Publicada la agenda de RubyConf Uruguay 2011

Publicado el 31 de octubre de 2011
RubyConf Uruguay 2011

RubyConf Uruguay 2011

¡Faltan solo dos semanas para la RubyConf Uruguay 2011!  ¿Ya se registraron? Sino, pueden hacerlo en este enlace. El registro incluye almuerzos, café, la posibilidad de asistir a una de las conferencias más increíbles jamás concebidas en nuestro país y una camiseta gratis (si algo aprendí de Pinky y Cerebro, es que a todo el mundo le gustan las camisetas gratis).

Vayamos entonces a la información de la agenda. Como esperaba, las charlas de esta edición son demasiado interesantes para perdérselas. Hay temas excesivamente magníficos, una agenda extraordinaria, incluyendo una introducción a Ruby on Rails para aquellos que no tienen idea con qué se come esto.

Recuerden que habrá traducción simultánea de Inglés a Español y viceversa para que nadie se pierda de nada.

Viernes 11 de noviembre

  • 09:00 – Acreditaciones
  • 09:45 – Bienvenida
  • 10:00 – ¿Que Es Tan Especial de Ruby on Rails? – Stephen Anderson.
    Un discurso para programadores considerando or recién llegados a Ruby on Rails.
  • 10:30 – Ruby on Rails – Santiago Pastorino y Jorge Bejar
    La idea es mostrarle a la gente que no sabe nada o muy poco de Ruby on Rails, qué es lo que se puede lograr con esta tecnología y qué tan productivo se puede ser. Mostraremos de principio a fin como se construye una aplicación Ruby on Rails, mostrando todas las ventajas que el ambiente brinda para lograrlo. Veremos como el fuerte apoyo de la comunidad y sistemas existentes (github y ruby toolbox) facilitan la elección/instalación de librerías.
  • 11:30 – Coffee Break
  • 11:45 – A Tale of Three Trees – Scott Chacon
    Git is the version control system most of us use every day. However, there are some strangenesses to it. Raise your hand if you really understand the ‘reset’ command. When it comes down to it, this is one of the most interesting, fundamental and amazing commands that Git has, yet nearly everybody is afraid of it. This is just bad marketing. This talk will de-mystify the ‘reset’ command so that you are not only comfortable using it, but can do new and interesting things with it and in doing so will arrive at a better understanding of the entire Git system. We will explore the Three Trees of Git (HEAD, index, work tree) and all the cool and mind-bending fun you can have with them.
  • 12:15 – HTML & CSS – Best Practices – Verónica Rebagliatte
    80% of the end-user response time is spent on the front-end. (YSlow Team) By following these best practices we can have a great impact over the performance of our sites and applications. In these talk we will go through some best practices related to performance, semantics & accessibility and patterns for better maintainability and readability which is gold when collaborating.Then we will share some tips on how to pick the best layout available, master the CSS basics and keep your code nice and clean.
  • 12:45 – JRuby: Introduciendo Ruby en un mundo enterprise – Jano González
    Esta charla mostrará como usar JRuby, la implementación de Ruby parala JVM, en entornos enterprise con el objetivo de mejorar los tiempos de desarrollo, la calidad y la simplicidad de las aplicaciones.La charla se centrará en como ejecutar Ruby on Rails en servidores de aplicaciones como Websphere, JBoss y Tomcat, en la reutilización de componentes Java ya existentes dentro de una aplicación Ruby y finalmente, en como simplificar el entorno enterprise.
    La charla se estructurará de la siguiente forma:- Revisión del entorno enterprise: J2EE, servidores de aplicaciones, integración de aplicaciones- Características de JRuby- Cómo JRuby nos permite simplificar el desarrollo en el complejo entorno enterpriseEjemplos:- JRuby on Rails- Integración de JRuby con Spring- Simplificando un arquitectura con JRuby
  • 13:15 – Almuerzo
  • 14:30 – CRUD Is Not REST – Hypermedia For Y’All! – Nick Sutterer
    REST is an architectural style for distributed systems. However, manyimplementations forget about the distributed part of REST and simplymap CRUD operations to HTTP verbs in a monolithic application. We’re gonna go further and learn why hypermedia is the crucial part of REST architectures and how machines can browse resources just like humans using self-describing representations. Monolithic applications are boring, so let’s separate things andcreate a REST system as it is intended to be. Let’s build a simplesystem using the Roar gem, Rails and Sinatra and discuss the benefits and drawbacks we get from distributed hypermedia systems.
  • 15:00 – Resources, For Real This Time (with Webmachine) – Sean Cribbs
    Over the past 5-6 years we have seen a lot of changes in the way that Ruby apps speak HTTP — from Rails’ “REST” conventions, to the brilliantly simple Sinatra, to the modular Rack abstraction — but we haven’t yet unlocked the entire subtle power of HTTP. We know HTTP is so much more than verbs and URLs that correspond to CRUD, and yet it’s still too hard to do conditional requests, content negotiation, and then return the right type of response. What if, instead of forcing HTTP into our MVC-shaped applications, we shaped our applications like HTTP? Instead of forcing a resource into seven controller actions or verb/URL-specific methods, what if the resource itself was the abstraction? A whole world of subtle and powerful programming patterns emerge. This is the world of Webmachine, a toolkit for building HTTP applications and a port of the Erlang toolkit of the same name. I will introduce Webmachine’s unique programming model and demonstrate how to easily expose rich HTTP behavior in a few short lines of Ruby code.
  • 15:30 – Real Time Rack – Konstantin Haase
    At least since node.js everyone knows that real time HTTP responses are the next big thing. The secrets of handling incoming requests asynchronously with Ruby is not yet far spread among Rubyists, as the internals needed for such responses are neither specified nor documented and there is a lack of tools. Still, it is possible to use Server-Sent Events, WebSockets and akin with Rack today. This talk will demonstrate the underlying technologies and how to use them in your Ruby application.
  • 16:00 – Coffee Break
  • 16:15 – Javascript tooling in rails 3.1 and how you should be doing it – Duda Dornelles
    The new assets pipeline in rails 3.1 has coffescript as its standard UI language with sprockets as the library to manage javascript dependencies. Also, nowadays, we have TDD as a good practice that we try to apply everyday to ensure the quality of our code. The question is: now that we have all the tools in our hands, what’s the best way to use them and what are the best practices? That’s what I’ll try to answer in this talk.
  • 16:45 – Anatomía de una aplicación: Introducción a Backbone.js – Álvaro Mouriño
    Mediante la biblioteca Backbone.js se presentará el concepto de MVC del lado del cliente y su importancia en la creación de grandes aplicaciones.
    La idea no es quedarse solamente con la implementación de Backbone sino utilizarla como vehículo para mostrar con ejemplos concretos el problema que esta herramienta soluciona. El el camino veremos cómo lo hace, ventajas, desventajas y qué alternativas existen.
  • 17:15 – Faster than your IDE: vim for rubyists – Ben Orenstein
    Many new rubyists are surprised to hear that vim is the most widely-used editor in our community. However, those with some vim experience know exactly why: there’s simply no faster way to edit code. In this talk, beginning vimmers will learn how (and why) to leave their IDEs behind, and advanced vim-users will discover new tricks to increase their speed even further.
    This talk will be highly-interactive, with lots of live vimming and exactly zero slides. After this talk, expect to be writing code faster than when you walked in.
    Topics to be covered include:

    • the fundamentals of efficient editing
    • navigating Rails projects at top-speed
    • the power of tags
    • running ruby from inside vim
    • five incredibly-useful plugins
    • macros, registers, marks, and more
  • 17:45 – Coffee Break
  • 18:00 – Who makes the best asado? – Aaron Patterson
    Starting a holy war is easy, understanding Rails internals is not. In this talk we’ll take a look at some of the code that makes Rails tick. Highlights will include ActiveRecord, connection pooling, resource management, and how these impact the request and response life cycle. Based on what we learn from exploring these facets of Rails, we’ll discuss what we need to do for the future of Rails itself!
  • 18:30 – Ruby’s past, present, and future – Shugo Maeda

Si leyeron hasta acá, estarán tan ansiosos como yo por que llegue el 11 de noviembre 😀

RubyConf Uruguay 2011

RubyConf Uruguay 2011

Sábado 12 de noviembre

  • 09:00 – Acreditaciones
  • 09:45 – Charla de sponsor – Cubox
  • 10:00 – Por que pasé de c# a ruby – Pablo Rozanski
    El mundo esta cambiando y los proyectos de software cambian con el la idea es plantear ejemplos de proyectos y las diferencias que encontrariamos en desarrollarlos con c# y todo el ecosistema .net que lo rodea (visual studio, microsoft, la comunidad, nhibernate, spring.net) y desarrollarlo con ruby comparando las ide’s, la comunidad, los proyectos open source, gems.La idea es que a partir de esta charla mi experiencia en el salto .net – ruby le de valentia a quienes todavia no se animan a dar ese salto, a salir de la zona de confort que les brinda lo que ya saben y aventurarse a este nuevo mundo y sumar una mas a su caja de herramientas.
  • 10:30 – What every programmer should know about distributed systems – lessons learned at Heroku – Pedro Belo
    It’s time to talk about distributed systems: what are they, why youshould be writing one, and what to look for while doing so. We’ll cover the basics, understand some of the technology behind it – like REST, MQ with AMQP, ZeroMQ, etc – and discuss things we’re doing at Heroku to avoid the pitfalls of a distributed architecture.
  • 11:00 – On Distributed Failures – Blake Mizerany
    In unreliable networks, with unreliable processors (also known as “The Cloud”) one must know all the ways their thing can fail; and just as importantly, how to recover. It is even better to have the ability to recover in an automated way. I’ll go over the common failure conditions in distributed systems, and then introduce you to Doozer, the highly-available, consistant data store that makes recovering from these problems easy.
  • 11:30 – Coffee Break
  • 11:45 – Client and Developer Interactions – Álvaro Gil
    Esta presentación intenta demostrar que el trabajo de los desarrolladores no se limita a escribir código sino a saber trabajar con una serie de factores que nos van a ayudar a que los proyectos tengan éxito o que al menos trabajemos de la mejor y más comoda manera posible.
  • 12:15 – Lean Startups for the Ruby Hacker – Evan Henshaw-Plath
    Talk about what’s going on in startups and the business side so that programmers can understand their clients. Also perhaps build their own products.
  • 12:45 – Documentation: You’re Doing It Wrong – Danish Khan
    Most developers hate having to do documentation, yet we complain about how tools and libraries we use lack documentation. So, the question is how do you get developers to write good documentation without having to feel like they are wasting their time. There are plenty of good documentation tools out there such as TomDoc, YarDoc, and RDoc. These tools are useful for creating documentation for tools, gems and varies open source projects and each one has it’s unique way of making documentation easier for developers. However, how do you manage documentation for a product? At Engine Yard we have our AppCloud product and having good external documentation for our customers is very important to us. We want to make sure they can easily understand how to use our product and be able to accomplish what they need. However, it has been difficult to get good documentation out quickly.
  • 13:15 – Almuerzo
  • 14:30 – Why, How and What should I test? – Thais Camilo
    One of the most intimidating things to someone who is starting to learn Ruby on Rails is testing.Sometimes you don’t know the answer to questions like:Why should I test?How should I test?What should I test?
    When you finally get to the point where you can answer all of those questions, you start asking yourself:What’s the difference between Unit Test and Integration Test, Rspec, TestUnit, Cucumber, and so on?
    All of the new terms such as TDD, BDD, Unit Test, Integration Test, Mock, Stub, RSpec, TestUnit, Cucumber, Fixtures and Mocha makes no sense. Let’s talk about this and clarify all the beginner’s questions about testing.
  • 15:00 – Practices for maintainable test suites – Harold Giménez
    Many test suites reach a point where they are no longer maintained because they either exhibit sporadic failures or becomes too slow.
    There are well known practices for building and maintaining a large test suite, and here we will discuss many of them in the context of the Ruby tools available today.
  • 15:30 – Winning strategies in the battle against code smells – Nigel Fernandes
    As a consultant and developer on large ruby projects, I’m often called upon to do a health check of a complex ruby code-base.
    In this talk I’ll cover ways to quickly diagnose code smells and toxicity idiomatic to many ruby systems. More importantly I’ll discuss simple and effective techniques to tackle specific types of smells. Like any good doctor, I’ll also cover ways to keep your code base healthy post recovery.
    In terms of smells, I’ll cover with examples, things like code duplication, tangles, cyclometric complexity, feature envy, control couples, leaky abstractions, naked literals, etc. I’ll also provide techniques to first visualize such smells and then to refactor them away.
    If time permits, I’ll cover in a brief, architectural smells common to ruby code bases.
  • 16:00 – Coffee Break
  • 16:15 – Lightning Talks
  • 17:15 – GitHub Flavored Ruby – Tom Preston-Werner
    Someone once told me that software development is a constant battle against complexity. Over the past three years we’ve built several large systems at GitHub and if anything, that saying is an understatement. Things like tight coupling, insufficient testing or documentation, lack of versioning discipline, and underspecified design documents can easily lead you down a path of ruin. In this talk I’ll cover many of the techniques we use at GitHub to defend against complexity in our Ruby systems, including Readme Driven Development, Semantic Versioning, TomDoc, Git/GitHub workflow, modularization, metrics, and exception reporting.
  • 17:45 – Coffee Break
  • 18:00 – Keynote: Agile Development, Lean UX – Ian McFarland
    What’s the right team size for maximum throughput? How do you manage large teams without losing efficiency?
    How often should you pair? How frequently should you change pairs? How do you balance consistency and new blood on a team?
    How do you find great candidates, and discern the great ones from the ones who just interview well?
    How do you manage a stand-up with 50+ people in it? How do you keep a consistent culture across multiple locations? How do you work remotely?
    What makes Pivots so good at what they do?
    Does it really matter if you test first or test after? Why?
    Why is pairing a good idea? Why is it faster? How does the layout of the workspace affect productivity, communication, and developer happiness?
    What do I do if my management is resistent to doing this? My team?
    I heard you have breakfast every day. Is that true? Why does that make a difference?
    How do you bring in new ideas?
    Do you really just work 40 hours a week? Even in ‘crunch time’? Don’t your clients make you work more hours? Does that really produce the most work product per week? Why?
    These are all questions we’ve had, from clients, developers, and other firms. We’ve been practicing these methods for over 10 years, so we’ve learned a thing or two about how it all works. We want to share what we’ve learned, and we think you’ll take away new insights you can apply right away. It’s been great for us, and we think it can make your own work more sustainable, delightful, and productive.
  • 19:00 – Despedida y Sorteos

Sin más que agregar… ¡Nos vemos ahí!

No hay comentarios en este post

Feed de comentarios

Dejar un comentario

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.

Toasty!