Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What happened in RubyConf Miami 2013

What happened in RubyConf Miami 2013

Medellín.rb presentation about RubyConf Miami 2013

Jean Pierre

December 11, 2013
Tweet

More Decks by Jean Pierre

Other Decks in Programming

Transcript

  1. Matz Keynote • Yukihiro Matsumoto ‘Matz’, es el creador de

    ruby, y la mente maestra tras su evolución. • Nos cuenta su historia de desarrollado hace 20 años y los procesos de desarrollo de ese entonces. • Sueña con un “Fantasy Land”, con lenguajes fácil y descriptivos (Ruby), opensource, y una comunidad dispuesta a ayudar y crecer.
  2. “Extending Gems Patterns and Anti- Patterns of Making Your Gem

    Pluggable” por Jason R Clark. Ingeniero de New Relic, nos cuenta como capturan eventos de diferentes gemas, cuales gemas están usando en este momento, como trabajan otras gemas como sidekiq (workers into threads), unicorn, y su experiencia nombrando clases y métodos de forma segura.
  3. “Fault Tolerant Data: Surviving the Zombie Apocalypse” por Casey Rosenthal

    • Casey nos habla de Riak, base de datos NoSQL de alta disponibilidad. Diferentes técnicas que utilizan para tener esta alta disponibilidad. • Technique inverted index: Cuando un query es ejecutado busca el resultado en cada uno de los servidores. • Term-based inverted index: Todos los indexes de los registros están guardados en un solo servidor
  4. “Object management on Ruby 2.1” por Koichi Sasada • Koichi

    Sasada ‘ko1’, es uno de los miembros del ‘Matz Team’, y nos da una charla bastante técnica del garbage collector de ruby 2.1, casi totalmente re escrito con 3414 adiciones y 1121 eliminaciones va a ser uno de las características más notables en ruby 2.1 • 95% de los objetos mueren jóvenes. • EDD (Event Driven development)
  5. API design for gem authors (and users) Emily Stolfo •

    Ingeniera de MongoDB, nos cuentan su experiencia creando y manteniendo gemas. Ya sea porque una aplicación se torna compleja o porque deben volverse mantenedores de una gema nos da unos tips para hacernos al vida más fácil a todos. • DX (Developer Experience, as HTTParty). • Escuchemos al usuario, leamos blogs, usen twitter y den presentaciones.
  6. • 3 Consistency considerations:! • Consider a consistent naming, variables

    are very important, consistent module, options, methods and classes. • Consider consistent style, code styling. • Consider consistent behaviour, use the same behaviour to similar cases . ! • 4 Simplicity suggestions.! • Give classes a single responsibility • Hide implementation details, your user doesn’t need to know all your knowledge, they only need to know what they are interested in. (want to use it). • Be frugal with helpers. don’t over create method helpers, and try to create a simple way to to use them. • Design your API first, be sure of consistency. ! • 5 Mapping mantras.! • Monkey-patching is mean, avoid as much as you can • Side effects are surprising, Duplicate objects when it’s needed (dup method) • Requiring method chaining is impolite. • Informative error messages are imperative. give them as much information as possible to resolve their problems at their own. • Documentation without hesitation. Add inline comments if you find some piece of code where you have to raise or debug constantly. Try YARD documentation.
  7. “The tricky truth about parallel execution and modern hardware” by

    Dirkjan Bussink • Fue una charla bastante técnica en la que explica posible problemas que pueden tener al ejecutar tareas paralelas en diferentes hilos. • Para evitar esto debemos definir la dependencia variables, sincronizar o tener una estrategia de caché.
  8. “My KidsRuby Journey” por PJ & Katie Hagerty • PJ

    es un ingeniero en Engine Yard, y Katie su hija. Hablan de su experiencia enseñándole a los niños a programar, haciendo coding dojos, aplicaciones y charlas en diferentes ciudades del país. • www.kidsruby.com • www.hackety.com
  9. “Compilers For Free” por Tom Stuart. • Una charla técnica

    de como funcionan las evaluaciones parciales, compiladores y como podemos crear nuestro propio interprete.
  10. “Rapid Game Prototyping with Ruby” por Michael Fairley • Inicio

    como muchos de nosotros desarrollando con la idea de hacer video juegos. • Hacer juegos en Ruby si es posible!, un alpha de minecraft en ruby. • Aciones por eventos, tiempo e items aleatorios. • Gosu para inicializar, dibujar, mostrar imágenes, textos y capturar eventos (teclado y mouse) • Hasu para cargar código en tiempo de ejecución y facilidad en depuración.
  11. “Test Driven Neural Networks with Ruby” by Matthew Kirk •

    Los filtros de Gmail, el servicio de Pandora, y el traductor de google son solo ejemplos de aplicaciones que usan redes neuronales. • Tema complejo pero muy interesante. • Capas de entrada, salida, funciones de activación y algoritmos de aprendizaje a manera global.
  12. “How to control physical devices with mruby” por Team Yamanekko

    (Yurie Yamane & Masayoshi Takahashi) • Demostración de como manipular hardware con mruby que puede generar código en C. Proyecto liderado por “Matz”. • Pueden manipular microcontroladores, Raspberry Pi y otros dispositivos.
  13. “Ruby On Robots Using Artoo” por Ron Evans • Una

    de las charlas más divertidas de RubyConf. Nos dan una demostración de la librería Artoo con la cual puede manipular Arduino, Rasberry Pi, Sphero y A.R Drone. • Ejemplos con A.R Drone y OpenCV. • CyclonJS, gobot.io. Librerías equivalentes para JavaScript y Go Lang.
  14. “That’s Not Very Ruby of You” por Ernie Miller •

    Discusión de buenas prácticas en Ruby. • Ejemplos de patrones de desarrollo que usualmente se ve en personas que vienen de otros lenguajes (php, C#, Java). • El interprete no sabe si lo estás haciendo al estilo Ruby, pero debe ser un Storyteller. • Recomendaciones al programar: espaciado, nombres de variables, métodos y metaprogramming.
  15. “Build your own Ruby-powered Arcade Machine!” por Andrew Havens. •

    Nos cuenta la planeación de una maquina arcade. • Formato de la cabina, el tipo de control, la board para los controles, el computador y la construcción. • How to Play: Player 1: Control + Spacebar Player 2: A + Q
  16. “Mangling Ruby with TracePoint” por Mark Bates • Mark nos

    muestra TracePoint, una clase nueva disponible en Ruby 2. • Comparte un gist con el cual podemos saber cuantas veces un método es llamado al ejecutar una acción. • Por ejemplo, pueden adivinar cuantos métodos se llama al ejecutar un:
  17. “Promiscuous: A robust service-oriented architecture framework” Nicolas Viennot & Kareem

    Kouddous • Es un framework de replicamiento de base de datos entre varias aplicaciones rails. • Crowdtap se volvió robusto y difícil de mantener, así que decidieron separarlos en diferentes aplicaciones rails.
  18. Últimas Preguntas para Matz • Preguntan acerca del futuro de

    ruby, otros lenguajes de programación, como contribuir a Ruby. • Estado actual de la comunidad actual de Ruby en latinoamerica