Buenos Aires, 27 y 28 de Noviembre, 2013

Programa de las Charlas

Brock Whitten

Brock Whitten

Brock Whitten es el autor de HarpJS y co-creador de PhoneGap. Es un firme defensor de los estándares abiertos en la web. Su último proyecto, Arpa, es una plataforma de publicación, integrada con Dropbox que no requiere configuración. Su servidor web, que tiene incorporado el preprocesamiento de varios formatos de archivo, es open-source y está disponible en http://harpjs.com/, así como la especificación de Harp, que se encuentra en http://spec.harp.io Basta ya de tecnicismos. Conocí a Brock en RedisConf 2012. Él es una gran tipo, muy inteligente y con ideas muy concretas sobre el diseño de software. Fue Rubyista, pero luego Node.js ganó su corazón. En este momento, al igual que la mayoría de nosotros, es un desarrollador políglota. Lo invitamos a hablar en RubyConf Argentina 2013 porque estamos impresionados por la claridad con la que se puede hablar de la complejidad del software y ofrecer soluciones simples basadas en principios básicos. Se ha presentado en varias conferencias en los últimos años y es un placer tenerlo como uno de nuestros oradores.

Lessons learned building the Harp Platform

En software, cuando la complejidad es domesticada, no hay límite a lo que se puede lograr. En esta charla voy a compartir lecciones valiosas aprendidas construyendo la Plataforma Harp. La importancia de la modularidad, el por qué evitamos REST, y cómo usamos un sistema de mensajes para construir un sistema distribuído mientras mantuvimos total transparencia a lo largo de nuestra red. A pesar de que la Plataforma Harp está escrita en NodeJS, todavía hay un componente que usa Ruby. Espero con ansias compartir lo que hemos aprendido.

Thomas Edward Figg

Thomas Edward Figg

Thomas Edward Figg es un alborotador, un mal programador, un pícaro de escasos resultados. Pero si prestas atención a la forma en que define a sí mismo, y en especial a sus estudios sobre lo social y los problemas culturales en torno a la programación, te darás cuenta de que todo se ajusta a esa definición. Lo bueno es que tiene algunas buenas ideas para ayudar a arreglar esos problemas. Es conocido por su weblog programming is terrible, una recopilación de artículos y presentaciones sobre programación. Escuchar la charla que inspiró el nombre de su sitio web, debería ser algo obligatorio para todos los programadores. Recientemente, se ha unido Code Club, una red mundial de clubes de programación para niños de 9 a 11 años de edad. Lo invitamos a RubyConf Argentina porque tiene un montón de experiencia en el análisis de los defectos de nuestro ambiente y especialmente cómo optimizarlo para la enseñanza y el aprendizaje. Creemos que es una gran oportunidad para nosotros para conocer mejor sus ideas y utilizar sus consejos para mejorar nuestra comunidad.

Programming is terrible — Lessons learned from a life wasted

Una mirada a los problemas sociales alrededor de la programación, y la cultura que creamos, en lugar de halbar sobre algoritmos y estructuras de datos.
Vamos a empezar explorando sesgos, los malos hábitos que la gente y los grupos tienen, y observar como la cultura dicta el código. En el camino vamos a bromear sobre los 'programadores celebridades', y algunas historias de guerra también. Vamos a terminar con cómo enseñamos, cómo aprendemos y cómo podemos ayudar a las personas a explorar a través del jugar. Para aquellos que programan hace tiempo, espero que estén entretenidos por las historias de guerra, y para los que recién empiezan, espero que se vayan sientiéndose un poquito mejor acerca de sus códigos.

Ostap Cherkashin

Ostap Cherkashin

Ostap Cherkashin es co-fundador de mingle.io, una empresa con el objetivo de simplificar la integración de datos abiertos en las aplicaciones. Él es el desarrollador principal de comp y co-creador de bandicoot.

Gluing Data Together

La información se presenta en diferentes estructuras y formas. Lo más común es ver representaciones tabulares o jerárquicas. Al trabajar con datos jerárquicos, la recuperación de información suele ser fácil, ya que las vías de acceso se determinan previamente. Las cosas se hacen más difíciles cuando se quiere cambiar una ruta de acceso. Con datos tabulares no se puede hacer mucho a menos que se cuente con un álgebra capaz de transformar una o más tablas en una nueva tabla (por ejemplo, el álgebra relacional). Estos mundos aparentemente no relacionados tienen algo en común y, como Peter Buneman describe, es posible construir un lenguaje de consulta capaz de manejar ambos. En esta charla voy a presentar un borrador de una herramienta de consulta de archivos basada en estas ideas.

Jano González

Jano González

Jano es programador y músico amateur. Vive en Santiago de Chile, y actualmente es el CTO de HopIn. Fue orador en RubyConf Uruguay 2011 y 2013, y también en RubyConf Argentina 2012. Es un gran amigo del Río de la Plata, así que lo llamamos "Jano de América".

El programador bipolar

Cada programador tiene 2 personalidades: El hacker que hace las cosas rápido a riesgo de crear desorden y el perfeccionista que busca las mejores abstracciones a riesgo de quedarse paralizado. Aprende como ambas personalidades pueden vivir en armonía usando Ruby.

Cecilia Rivero y Mayn E Kjær

Cecilia Rivero y Mayn E Kjær

Mayn Ektvedt Kjær estudia tecnología informática y vive en Buenos Aires. En este momento dedica su tiempo a escribir su tesis de maestría y al proyecto de Rails Girls Summer of Code. Cecilia Rivero trabajó como editora de sonido para películas y televisión. Desde el año pasado hizo un cambio de profesión para convertirse en una programadora full-time, algo que para ella había sido un hobby durante muchos años. Mayn y Cecilia forman Punchgirls, uno de los equipos participantes del programa Rails Girls Summer of Code 2013. Están desarrollando desde cero una aplicación open-source para búsquedas laborales usando Ruby, Cuba y Redis. Guiadas por Michel Martens, Damián Janowski y Leandro López, persiguen la simplicidad.

Primer proyecto: Aplicación open-source para búsquedas laborales

En esta charla Mayn y Cecilia hablarán sobre su experiencia de trabajo en el primer proyecto "real" que emprendieron: una aplicación open-source para búsquedas laborales. Hablarán sobre los desafíos que tuvieron que afrontar, cómo trabajan juntas y la manera en que están aprendiendo a programar.

Linda Sandvik

Linda Sandvik

Linda Sandvik es co-fundadora de Code Club, una iniciativa mundial que hace que la programación sea accesible para niños de 9 a 11 años. Code Club ha nacido en el Reino Unido, y ya existen clubes en muchos países. Esperamos que Argentina también pueda seguir el ejemplo. La invitamos porque compartimos la idea de que introducir a los niños a la programación es esencial, y tenemos que aprovechar todas las oportunidades para mejorar la enseñanza.

Code Club - Hackeando el futuro

Code Club es una red de organizaciones de voluntarios dirigida a los niños, donde pueden jugar con computadoras y aprender a programar. Lanzamos Code Club con un tweet el 16 de abril, y después de ejecutar un programa piloto en 20 escuelas, lo abrimos para que cualquiera pueda ejecutar uno. Hoy contamos con más de 18.000 niños aprendiendo a programar cada semana. En esta charla voy a contar acerca de lo que hemos estado haciendo en el último año, lo que le estamos enseñando a los niños con el programa, los retos que enfrentamos y el camino que tenemos por delante.

Pablo Astigarraga

Pablo Astigarraga

Más conocido como PoTe, viene del mundo Python, escribiendo aplicaciones VoIP para sistemas Asterisk. Tiene varios años de experiencia programando Ruby/Rails, contribuyendo a proyectos open-source y actualmente trabaja para un startup muy divertido llamado Vivid Cortex. Apasionado por el software minimalista, la filosofía Unix, hacer las cosas bien, divertirse con sus colegas y usar espacios en lugar de tabs. PoTe tiene una relación muy poco saludable con los {mustaches}, y está siempre dispuesto a hablar sobre los problemas de las optimizaciones prematuras a cambio de una cerveza.

Las 50 sombras de MVC

En el mundo Rails estamos muy orgullosos de utilizar el patrón Model-View-Controller, es acorde a la forma en la que construimos aplicaciones web y hay un consenso general en el que todos sabemos de qué hablamos cuando nos referimos a él: todo nuestro código está dentro de los directorios model, views y controllers! Deberíamos saber lo que hacemos, no? Así como la orientación a objetos, el patrón Model-View-Controller es uno de los muchos conceptos tan populares como manoseados en la programación moderna. ¿Cuál era la idea original de este patrón? ¿Cómo se usaba allá por los 70s, cuando fue propuesto como parte de Smalltalk? ¿Cuánto lo hemos modificado para adaptarlo a las aplicaciones web? ¿Cómo podemos aplicar esto a nuestro trabajo hoy en 2013? ¿Es necesariamente algo malo alterar el patrón? En esta charla veremos los diferentes aspectos del patrón MVC, y sus cambios desde el nacimiento hasta la actualidad. Qué tener en mente sobre él, en contraposición a la implementación de un framework en particular, y cómo conocerlo nos ayudará a ser mejores programadores.

Alexandre de Oliveira

Alexandre de Oliveira

Trabaja desde 2011 en Stack Builders, una empresa radicada en NY. Alexandre ha participado de conferencias sobre Ruby en Sudamérica, Europa y Japón. Como consultor ha tenido la oportunidad de participar en muchos proyectos a punto de morir, experimentando y observando los distintos aspectos, desde el diseño del código hasta la forma de manejar las expectativas del cliente. En su charla, él nos va a compartir un poco de su experiencia.

Olvidate de las clases, bienvenidos los objetos

Esta charla es una historia acerca de una época en que la programación orientada a objetos era sobre objetos y mensajes, y no acerca de clases y métodos; o de comportamientos y no de esquemas. Discutiremos los objetivos de la orientación a objetos, y qué significa hablar de que OO se trata de mensajes. Viajaremos al pasado, y luego volveremos al futuro en nuestra cultura de Programación Orientada a clases, y cómo es que podemos arreglarlo haciendo verdadera orientación a objetos en Ruby. Al hacer esto, comenzaremos a entender por qué los principios como SOLID y Demeter existen para para ayudarnos a dejar de perder tiempo y dinero. Esta charla es para hacernos re-pensar la manera en que programamos.

Justine Arreche

Justine Arreche

Ella es diseñadora gráfica y de UX, graduada con un BFA en Publicidad y Diseño Gráfico, que luego dedicó sus primeros años a trabajar en una consultora agile en Ohio, aunque ahora trabaja en forma independiente. Como alguien que viene del diseño gráfico publicitario y luego cambió de rol conociendo muy poco sobre programación ágil, Justine tuvo mucho que aprender en el camino y encontró un sano equilibrio trabajando en equipo. Ella está convencida de que es importante aprender de los demás. Cuanto más sabemos sobre el trabajo del otro, mejor podemos hacer aquello que tanto amamos hacer: crear grandes cosas para el mundo.

Escondamos los cuchillos: Podemos trabajar juntos!

Mantener una buena relación entre diseñadores y programadores no es tarea fácil, aunque es fundamental para el funcionamiento de un buen equipo. ¿Qué aspectos se deben trabajar? ¿Qué herramientas usar? ¿Cómo manejarse en equipos que comparten oficina o en equipos remotos? ¿Cómo compartir información y recursos? ¿Cómo explicar cuestiones técnicas al diseñador? Discutiremos los distintos aspectos del funcionamiento del equipo y cómo solucionar las diferencias.

Martín Sarsale

Martín Sarsale

Programador, desde chico. Perl, PHP, JavaScript, Python, Ruby (en orden cronológico). Co-fundador de Sumavisos (en RoR) y Properati (Sinatra).

IPython Notebook (con Ruby!)

IPython notebook facilita una manera interesante de desarrollar 'documentos vivos', es decir, código mezclado con texto, explicaciones, gráficos, mapas, etc. Es una interfaz muy interesante para probar ideas, más cómodo que un REPL y muy poderoso. Estuvimos hackeando un "kernel ruby" para ipython; que usa la interfaz de ipython notebook pero los `eval` los hace un intérprete ruby; que usamos diariamente para explorar ideas, bucear entre los datos de Properati o generar reportes.

Bruno Aguirre

Bruno Aguirre

Bruno (o elcuervo para los amigos) fue criado por un grupo de salvajes de la tribu de telecomunicaciones, ellos lo llevaron al mundo de lo distribuido y protocolos asíncronos. El avance de la ciudad en las tierras de estos salvajes y las olas migratorias del pingüino emperador llevo a este desarrollador a las tierras del HTTP en donde busca unir a los dos mundos. Fanático de los protocolos y la investigación. Es opensource-dependiente, mantiene varios proyectos, es de Géminis y disfruta de largas caminatas en la playa y cenas a la luz de las velas.

Break the Rules

Políticamente incorrecta y socialmente cuestionable. Esta charla busca sacudir nuestros cimientos como desarrolladores… como ciudadanos de Internet. Un viaje desde los orígenes del pulmón tecnológico de nuestra sociedad, pasando por la democratización de su acceso y finalizando con los hechos lamentables de privacidad que sacuden Internet cada ciertos meses. ¿Estamos haciendo todo lo que podemos para cuidar nuestra Internet? ¿Es Internet lo que debería ser? ¿Cuál es el rol del desarrollador en un mundo que se apoya en la web en su día a día?

Damián Janowski

Damián Janowski

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, programa principalmente en Ruby desde hace 8 años. Fue uno de los primeros en adoptar Redis y hoy la usa como única base de datos en Educabilia, el startup que co-fundó hace dos años. En su tiempo libre, le gustaría empezar a usar Go en producción.

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 sólo una buena alternativa para implementar caching de 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. Ésto, 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.

Adrián Mugnolo

Adrián Mugnolo

Adrián se inició en la programación con C y Perl en los primeros días de la Web, pero ha estado trabajando principalmente con Ruby desde 2005. Él ha estado influyendo en silencio en la Web en Argentina detrás de las escenas durante gran parte de los últimos 15 años: ha implementado los primeros motores de búsqueda para Clarín y La Nación, los dos diarios más grandes de Argentina, y fue el director técnico de Yahoo Argentina desde su lanzamiento. Adrián es ahora desarrollador Ruby en WyeWorks. Un entusiasta de la tecnología de toda la vida con una formación en ingeniería mecánica. Adrián disfruta tanto escribiendo Ruby, JavaScript o Objective-C; como reparando motores de motocicletas o afinando la tabla de snowboard perfecta.

Lo suficiente de Unix como para ser peligroso

Aún cuando la mayoría del desarrollo e implementación de aplicaciones Ruby sucede en sistemas de tipo Unix, como OS X o Linux, la mayor parte de los rubyistas nunca han escribo código que tome ventaja de los conceptos que hicieron de Unix un sistema operativo legendario. En esta charla veremos procesos, señales, pipes, y otras características "exóticas" de Unix disponibles en Ruby, usando un enfoque claro de problemas y soluciones. Para cada tema, veremos ejemplos de código de las gemas más populares, así como casos de uso concretos.

Santiago Pastorino

Santiago Pastorino

Santiago es Rails Core Team Member, desarrollador Open Source apasionado y Co-Fundador de WyeWorks.

Del trabajo a la pasión

La charla trata de como logré convertir mis pasiones profesionales en mi trabajo diario. La misma no pretende ser una receta de lo que hay que hacer, simplemente porque no hay receta :). Es un humilde punto de vista para motivar a la gente que se sienta identificada de que es posible vivir de lo que a uno le gusta o de lo que a uno le apasiona. En la misma, cuento cómo logre vivir de lo que me apasiona construyendo lentamente mi empresa de desarrollo de software WyeWorks y contribuyendo a Ruby on Rails. Enumero mis pasiones en la charla: alta calidad, alto impacto, desafíos y aprender. Y defino el éxito en función de vivir de tus pasiones, explicando que se suele relacionar el éxito con los negocios y/o directamente con el dinero. Para mí, eso es completamente secundario ya que en la sociedad que vivimos es un vehículo para otras cosas pero no un fin. Las personas nos podemos sentir exitosas si logramos ser lo más felices posible.

Angel 'Java' Lopez

Angel 'Java' Lopez

35 años haciendo software. Ha programado con tarjetas perforadas, Algol/W, Fortran, COBOL, C, C++, PL/I, RPG, mainframes, minis, PCs, Pick System, CP/M, DOS, Xenix... Ok, creo que ya se entiende la idea ;-). Ha escrito un libro sobre programación Java en 1997. Escribe código todos los días, usando TDD, Java, PHP, C#, JavaScript/Node.js. Es un nerd de los lenguajes de programación. Ha implementado Python, Ruby, Smalltalk y otros lenguajes en distintos ambientes.

Implementando Ruby

Luego de un rápido repaso por las estrategias de implementación de Ruby, veremos una implementación sobre otro lenguaje y VM, con acceso a los tipos nativos, objetos y todo el ecosistema.

Arne Brasseur

Arne Brasseur

Arne viene de Bélgica, y se ha enamorado de Ruby cuando finalizaba sus estudios en 2006. Pero en los siguientes años, trabajó con otras tecnologías e incluso ha pasado un tiempo en el lejano oriente aprendiendo Chino. Siempre mantuvo un ojo sobre Ruby, pero recién cuando se mudó a Berlín, hace un año, ha comenzado a usarlo en todos sus proyectos. Desde entonces ha participado muy intensamente de la comunidad, dando presentaciones en el grupo de usuarios de Ruby de Berlín, y como entrenador en Rails Girls con Sven de Travis. Es parte del Team Shoes, contribuyendo al mejor toolkit GUI en el mundo de los Rubyistas. Sus proyectos open-source son Analects y Ting, ambos relacionados al aprendizaje del idioma Chino, y Hexp una forma completamente nueva de generar HTML.

Lingüística Web, buscando una mayor fluidez.

Las cadenas de texto plano son el pan de cada día en la programación web. Al programar para la web, debemos hacer malabares entre una increíble cantidad de lenguajes diferentes. Sin embargo, estas cadenas que generamos son en realidad representaciones en texto plano de distintas estructuras de datos. Tienen que ser serializadas para poder ser enviadas a través de un cable, pero eso no pasa hasta que los datos dejan la aplicación. En cambio, a menudo terminamos generando y manipulando representaciones textuales directamente. Esto puede parecer fácil al principio, pero teniendo en cuenta los matices de la representación, es un trabajo duro, y el deslizamiento hacia arriba nos puede costar muy caro, basta pensar en los ataques de inyección SQL o cross-site scripting. La seguridad no es la única razón para repensar cómo nos ocupamos del I/O de texto plano en nuestras aplicaciones. Mediante la manipulación de estructuras de datos en lugar de cadenas, podríamos estar programando y razonando a un nivel superior. En esta charla vamos a tomar cross-site scripting (XSS) como un ejemplo de un problema de seguridad que se produce en el nivel del lenguaje. Mediante el uso de un nuevo enfoque para generar HTML, podemos evitar XSS en el plano arquitectónico.

Hanneli Tavante

Hanneli Tavante

Hanneli (más conocida como @hannelita) es una programadora de Brasil adicta a escribir código, aprender nuevos lenguajes, frameworks, condensadores de flujo, programar un poco de C para relajarse y publicar código útil (o no) para distintos proyectos open-source que encuentra en Github. Intenta ayudar a los proyectos de la comunidad desde su weblog. Es además amante del café, especialmente los de Starbucks.

Consejos para el código Ruby en el servidor en las aplicaciones móviles

¿Tu aplicación móvil tiene cada día más y más usuarios? ¿Sientes que necesitas recursos de un servidor pero no conoces una buena manera de crear un backend? Esta charla puede ayudarte mostrándote cómo utilizar Ruby con algunos frameworks para resolver el problema de los backends para aplicaciones móviles! Las aplicaciones móviles han sido cada vez más populares. Pero detrás de grandes aplicaciones móviles ... hay una linda aplicación de backend. Ruby es una buena manera de desarrollar aplicaciones back-end para entornos móviles. En esta charla se mostrarán las mejores prácticas para la creación back-ends para aplicaciones móviles de una manera rápida y fácil.

Thiago Pradi

Thiago Pradi

Thiago Pradi es un desarrollador de software apasionado, que se enamoró de Ruby y Rails en 2007. Desde entonces, ha estado trabajando en diferentes proyectos relacionados con Ruby, desde comercio electrónico hasta sistemas de seguimiento de candidatos. Actualmente, está trabajando para JobScore, y contribuye a diferentes proyectos open-source en su tiempo libre.

Go for Rubyists

Go es un lenguaje increíble, con un montón de características interesantes y una buena sintaxis. Go comparte algunos conceptos con Ruby, pero es diferente en muchos aspectos. En esta charla se dará a conocer el lenguaje Go, las mejores características y aspectos del lenguaje, orientado a personas que ya conocen Ruby y quieren aprender un nuevo lenguaje.

Augusto Becciu

Augusto Becciu

Augusto ha escrito sus primeras aplicaciones web en C hasta que conoció Perl y descubrió que los lenguajes dinámicos no eran tan malos. Desde entonces ha estado trabajando en startups haciendo todo tipo de desarrollos en Python, Java, Ruby y Erlang. Es un defensor del open-source de larga data, y ha contribuído a muchos proyectos incluyendo Unicorn y Chef. Además, le interesan los sistemas distribuidos, y está encargado del mantenimiento de una librería popular de leader election escrita en Erlang.

Construyendo una plataforma de datos con Ruby glue

En Restorando hemos estado trabajando en los últimos 6 meses en la construcción de un sistema de recolección, procesado, y almacenado de datos. El desafío era recolectar datos de todas las fuentes posibles como interacciones de usuarios en nuestra web, mobile app/web, social networks, herramientas internas, emails, ad networks, etc. Luego de recolectarlos, procesarlos y transformarlos en un formato estandarizado, y finalmente almacenarlos y distribuirlos de manera tal que se permita fácilmente construir aplicaciones internas que consuman los mismos. La mayoría de las soluciones documentadas en Internet para problemas similares, están orientadas al manejo de grandes volúmenes de datos en el orden de cientos de Terabytes. Éstas utilizan sistemas como Hadoop, Storm, Flume, Mesos, etc. los cuales son complejos y generan un alto costo operacional. Nuestra solución esta compuesta por distintos componentes open source y servicios como FluentD, RabbitMQ, MySQL, MongoDB y Amazon S3, EC2, EMR, RedShift. Esta diseñada de manera tal que se mantenga el TCO al mínimo, y que al mismo tiempo sea robusta y tolerante a fallas en los distintos componentes. Se utilizó Ruby para el desarrollo de frameworks de ETL para datos en batch y en tiempo real, y en general para la consolidación de los componentes en una plataforma unificada.

Andres Robalino

Andres Robalino

Andrés trabaja en Andrab apoyando individuos con el deseo de aprender y adquirir responsabilidad en el desarrollo de software. Investiga en diversas áreas de ciencias computacionales. Fue docente en la Universidad Santa María sede Guayaquil. Se educó en Saint Joseph's University siguiendo Mathematics & Computer Science y formó parte del grupo investigativo del proyecto CAVASS del Medical Image Processing Group (MIPG) en la Universidad de Pennsylvania, un proyecto de software libre que incorpora procesamiento paralelo dirigido a la visualización, procesamiento, y análisis de imágenes médicas nD. También es organizador del Space Apps Ecuador (http://spaceappsecuador.com) y drabconf. Co-fundó la comunidad de Ruby del Ecuador. Le interesa que todos sean expuestos a buen material de la industria y el aprendizaje colectivo.

Ruby Kryptography

Analizaremos problemas que enfrentamos cuando queremos incorporar seguridad en nuestras aplicaciones. La importancia de la criptografía, particularmente en estas fechas lo que hemos podido aprender de travesuras realizadas por cierta agencia. ¿Qué opciones tenemos en Ruby? La extensión OpenSSL tiene muchos obstáculos. Se desea una solución que nos permita tener control total de operaciones primitivas de cifrado para los expertos así como la alternativa de usar correctamente si uno no es experto. ¿No sería agradable una gema que ofrezca estas soluciones? Krypt es una gema "platform- and library-independent cryptography for Ruby" que solucionará nuestros problemas. Hasta la fecha se ha incorporado en JRuby core. Analizaremos como funciona y que ofrece para nuestras necesidades de seguridad.

Fernando Benavides

Fernando Benavides

Fernando comenzó a usar computadoras a los 9 años, y a programar a los 10. Trabaja en la industria del software desde el año 2000. Es un desarrollador Erlang cerficado por Erlang Solutions y posee un título en Ciencias de la Computación de la Universidad de Buenos Aires. Puedes ver su proyecto de tesis final (una plataforma de desarrollo construída en Haskell, llamada λPage). En los últimos 3 años en Inaka, Fernando ha desarrollado importantes back-ends para aplicaciones como Whisper, TigerText y Tune-In. Fernando ha realizado muchas contribuciones a la comunidad open-source.

Cómo construir tu primer servicio RESTful en Erlang con SSE, utilizando Cowboy y Sumo DB

En los últimos años en Inaka utilizamos Erlang para desarrollar muchos servicios de alta concurrencia para distintas aplicaciones. Casi todos tienen, como pieza principal, una API RESTful y muchos de ellos ofrecen un método para que el servicio envíe eventos a los clientes. Hemos encontrado que este es uno de los aspectos donde Erlang más se destaca. Y además hemos descubierto que implementar este tipo de servicios, incluso cuando parecen complejos, no es tan difícil si se usan las herramienta apropiadas (como cowboy, SSE y sumo_db). En esta charla, voy a mostrar cuáles son los pasos necesarios para desarrollar un servicio de este tipo.

Vitor Pellegrino y Sergio Gil

Vitor Pellegrino y Sergio Gil

Vitor se mudó de Brasil el año pasado para unirse a SoundCloud. Tiene mucha experiencia trabajando con Ruby y Rails para distintas empresas en Brasil y USA. Dice que habla mal el español, pero eso no es cierto. Sergio es un gran entusiasta del open-source y es organizador de grandes eventos en Europa. No sólo los organiza, sino que también suele ser orador en dichos eventos. Luego de trabajar durante años en España, se ha mudado a Berlin para unirse a SoundCloud.

Separando un Monoriel: Micro-servicios y más allá

Por 6 años, SoundCloud ha estado funcionando en Rails, mientras crecía de cero a millones de usuarios. Además, pasó de un puñado de personas a 200 empleados. Como parte de los desafíos, tuvimos que dividir nuestra aplicación Rails monolítica en muchos micro-servicios. En esta charla, compartiremos nuestros descubrimientos sobre cómo ejecutar e integrar muchos servicios, mientras escala, no sólo el tráfico, sino también el tamaño del equipo.

Cristian Rasch

Cristian Rasch

Cristian es un ingeniero de software independiente, ubicado en Buenos Aires. Después de haber trabajado para algunas empresas de alta tecnología (2005-2012) que finalmente se hartó de cómo el software está escrito en nuestra industria y decidió hacer sus propias reglas e iniciar su propio negocio como un desarrollador independiente.

Rack and roll

Rack es la pieza fundamental de los frameworks más populares de Ruby como Cuba, Sinatra y Rails, pero no puedo dejar de preguntarme: ¿cuánto de esta tecnología subyacente conoce el desarrollador ruby promedio? Cómo tener una mejor comprensión influiría en su trabajo del día a día? Bueno, en esta presentación tengo la intención de explicar no sólo cómo funciona rack, cuáles son los métodos de ayuda más populares disponibles para todos los desarrolladores Ruby en una forma u otra, sino también, qué es rack middleware, qué ejemplos sencillos pero brillantes se incluyen en rack y rack-contrib, y, finalmente, cómo escribir sus propias piezas de rack middleware.