, componentes funcionales o JSX.\n- Construiremos una documentación muy vistosa para la demostración de tus componentes.\n- Te enseñaremos a integrarlos con Vue, React, Angular o VanillaJS.\n\nTodo esto estará basado en la experiencia que ha sido crear Airship en CARTO, una librería de diseño para construir aplicaciones de Location Intelligence.\n","created":1559318806934,"bookmarkCount":57,"recordingAuthorized":true,"tags":{"39153":["Beginner"],"70b46":[" Lab"],"0db80":[" Web"],"1f174":["Spanish"],"92508":["Javascript","Other"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-401384001","description":"Many many things, but part of the day working at CARTO.","reimburseExpenses":false,"uuid":"cillassubira","name":"Cillas Subirá","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-401384001/avatar/c28929651a.avif","id":"l-401384001"},{"path":"accounts/l-141264007","description":"Front-End developer @CARTO. I used to build things with JS, Java, Swift, and ionic for Android & iOS, but now I do maps and Twitch streaming.","reimburseExpenses":false,"uuid":"jesusbotella","name":"Jesús Botella","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-141264007/avatar/e61252ac13.avif","twitterAccount":"sn00b","id":"l-141264007"}],"id":"ScIG7rq9wawxZYTRdyAK"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/TgY4RpzU2G14s7384JUF","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"PHP en 2019","description":"Amado por unos, denostado por otros, PHP es uno de los lenguajes más importantes y mas usados en la web, estando presente en un [79% de las webs](https://w3techs.com/technologies/details/pl-php/all/all). Esto se debe a que los CMS y frameworks más populares lo utilizan: WordPress, Drupal, Joomla, Magento, Prestashop, Laravel, Symfony, … usan como base diferentes versiones de PHP.\n\nEn esta sesión explicaré la evolución del lenguaje, desde su nacimiento en 1995 como un sistema de plantillas hasta la versión 7.4, que se publicará en diciembre de este año. Hablaré de cómo ha ido progresando a lo largo de sus versiones, incorporando los elementos habituales de un lenguaje moderno orientado a objetos. Además hablaré sobre los diferentes [PSR](https://www.php-fig.org/psr/) (PHP standards recommendation), que nos permiten funcionalidades tan interesantes como la gestión de componentes como [Composer](https://getcomposer.org/). Para finalizar describiré los principales frameworks PHP de la actualidad: [Laravel](https://laravel.com/) y [Symfony](https://symfony.com/).","created":1558899373725,"bookmarkCount":61,"recordingAuthorized":true,"slidesURL":"https://www.jesusamieiro.com/wp-content/uploads/2019/11/20191122-Commit-Conf-PHP-en-2019-r2.pdf","videoURL":"https://youtu.be/DWEDUZgBZ8Y","tags":{"39153":["Beginner"],"0db80":[" Soft skills"," Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["PHP"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"5":"Introducción a la presentación, contexto y estructura.","582":"Recomendaciones Estándar de PHP (PSR).","967":"Benchmarks y evolución de PHP: memoria.","136":"Rasmus Lerdorf creó PHP en 1994, para separar la parte visual de la programación.","329":"Características de PHP 5.0 en 2004.","1226":"Presente y Futuro de PHP","75":"Orígenes de PHP.","849":"Soporte de PHP para diferentes versiones.","211":"Características de PHP 2.0 en 1997.","1171":"Framework Symfony.","149":"Primeras versiones de PHP (0.x)","411":"PHP 5.3 en 2009.","477":"PHP 5.5 en 2013.","797":"PHP 8.0 planeado para 2021.","989":"Popularidad de PHP.","734":"PHP 7.0 en 2015.","96":"Programas CGI en C, en 1993.","929":"Benchmarks y evolución de PHP: rendimiento.","801":"Facebook y su HHVM.","354":"PHP 5.1 en 2005.","674":"Más PSRs.","550":"Grupo de Estandarización de PHP.","297":"Características de PHP 4.0 en 2000.","748":"Versiones de PHP 7.x (2016-2019).","238":"Características de PHP 3.0 en 1998.","1136":"Framework Laravel.","368":"PHP 5.2 en 2006.","178":"Características de PHP 1.0 en 1995.","51":"Agenda de la presentación.","117":"Programas CGI en Perl.","633":"La lista de PSRs.","445":"PHP 5.4 en 2012.","510":"PHP 5.6 en 2014.","1087":"WordPress."}},"presenters":[{"path":"accounts/u-MNoXooFYzOh27i6aismJjg7118J2","description":"Soy Jesús Amieiro, ingeniero de telecomunicación y artesano de las TIC. Trabajo como director técnico en Quadralia. Me dedico al desarrollo de proyectos a medida, principalmente en el ámbito de la sanidad y de la trazabilidad marina. Como tecnologías me encuentro muy cómodo con Laravel, WordPress y, fundamentalmente, con el software libre. Participo o he participado en comunidades de PHP, WordPress y de software libre. \n\nPublico semanalmente \"La semana PHP\" (https://www.lasemanaphp.com) ","reimburseExpenses":false,"uuid":"amieiro","name":"Jesús Amieiro Becerra","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-MNoXooFYzOh27i6aismJjg7118J2/avatar/33e7489efb.avif","twitterAccount":"JesusAmieiro","id":"u-MNoXooFYzOh27i6aismJjg7118J2"}],"id":"TgY4RpzU2G14s7384JUF"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/TgqKHRaVnGvA07XF1chf","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Las aplicaciones web y el hardware también pueden llevarse bien","description":"Un punto débil que tienen las aplicaciones web es la gestión de hardware especializado. Actualmente tenemos WebUSB y WebBluetooth que ofrecen un mecanismo multiplataforma para acceder a todo tipo de hardware. Pero esto no siempre ha sido así.\n\nEn esta presentación veremos la evolución de una aplicación de punto de venta que funciona en producción en miles de tiendas en todo el mundo. Veremos como gestionar una impresora de recibos, visor de cliente, terminal de pagos, balanza... Toda esta evolución de tecnologías vendrá acompañada de demostraciones y de código incluyendo WebUSB y WebBluetooth.","created":1558902925890,"bookmarkCount":28,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/adrianromeroopenbravo/las-aplicaciones-web-y-el-hardware-tambien-pueden-llevarse-bien","videoURL":"https://youtu.be/D8o7sKTCMs4","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" IoT"," Mobile"," Web"],"1f174":["Spanish"],"92508":["Java","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"608":"Demostración del hardware manager de Openbravo, mostrando la detección de la impresora y la comunicación entre la aplicación web y el hardware.","129":"Ventajas de las aplicaciones web: multiplataforma, costes reducidos, despliegue y mantenimiento, información segura, y uso de Javascript.","322":"Openbravo Hardware Manager, una aplicación Java que ofrece una API web (HTTP y WebSockets) y se conecta a los dispositivos.","4":"Introducción a la presentación sobre la integración de aplicaciones web y hardware.","900":"Uso de las impresoras fiscales en varios países para prevenir el fraude, enviando información al fisco.","741":"Consideraciones adicionales: especificaciones en borrador, soporte en Chrome y Opera, disponibilidad solo para contextos seguros, conexión lanzada por interacción del usuario, y API asíncrono basado en promesas.","488":"Demostración de la aplicación web de punto de venta de Openbravo, añadiendo productos y realizando un pago en efectivo.","40":"Explicación de la solución de venta de Openbravo para retail, incluyendo back office y punto de venta.","106":"Decisión estratégica de negocio de Openbravo de entrar en el mercado de retail.","78":"Historia de Openbravo: de aplicación ERP a solución de retail.","57":"Mención de clientes conocidos de Openbravo, como Circo del Sol, Decathlon, y Toys'R'Us.","825":"ZXing: librería JavaScript para leer códigos de barras usando la cámara del dispositivo.","1019":"Dispositivo de pago Ingenico Lane/7000, que utiliza WebSockets para la comunicación.","411":"Web Bluetooth y Web USB: especificaciones en borrador soportadas por Chrome y Opera, solo disponibles en contextos seguros, la conexión debe ser lanzada por el usuario, y API asíncrono. Demostración con Chrome DevTools.","284":"Solución: Construcción de un proxy, una aplicación nativa que se conecta al hardware y se comunica con la aplicación web del punto de venta.","220":"Problema en un punto de venta: integración con dispositivos específicos como impresoras de recibos, cajones portamonedas, visores de clientes, dispositivos de pago, lectores RFID, e impresoras fiscales.","29":"Presentación del ponente, Adrián Romero, y su rol en Openbravo.","1087":"SumUp: solución de pagos con tarjeta, que utiliza Intent de Android para la integración con la aplicación.","159":"Los dispositivos en los que se ejecuta una aplicación web son baratos, solo requieren de un navegador.","863":"Impresoras de recibos inteligentes Epson y fiscales Epson, que se conectan a la red y ofrecen un servicio web (HTTP/REST)."}},"presenters":[{"path":"accounts/l-139564001","description":"Licenciado en Matemáticas por la Universidad Complutense de Madrid y Master en e-Business por la Universidad Ramon Llull.\nActualmente Senior Principal Engineer en Openbravo http://www.openbravo.com/ y más de 20 años de experiencia.\nhttps://www.linkedin.com/in/romeroadr","reimburseExpenses":false,"uuid":"adrianrc","name":"Adrian Romero","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-139564001/avatar/e91411bb23.avif","twitterAccount":"romeroadr","id":"l-139564001"}],"id":"TgqKHRaVnGvA07XF1chf"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Tj67wgQLfe42cJnYEOza","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"En un mundo hiperconectado, las bases de datos de grafos son tu arma secreta","description":"¿Has tenido alguna vez la sensación de estar haciendo algo sucio al crear una tabla intermedia para modelar una relación muchos a muchos? Seguramente estés intentando utilizar la base de datos incorrecta. Las bases de datos orientadas a grafos son perfectas para modelar datos muy interconectados y hacer consultas muy complejas de forma eficiente y concisa. \nEn esta charla te presentaré Amazon Neptune, una base de datos orientada a grafos compatible con los lenguajes de grafos abiertos Gremlin y SPARQL. Si nunca has visto una base de datos de grafos, lo vas a flipar.","created":1558360260710,"bookmarkCount":93,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/supercoco9/en-un-mundo-hiperconectado-las-bases-de-datos-de-grafos-son-tu-arma-secreta","videoURL":"https://youtu.be/NjTJ89O_WI8","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" SQL/NoSQL"," Social"," Big Data"," Cloud"],"1f174":["Spanish"],"92508":[" None","Java","Javascript",".Net","Python","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"800":"Ejemplo de cómo identificar nodos importantes o influyentes en un grafo, como el cierre triádico.","5":"Introducción a la charla y presentación del ponente.","102":"Introducción a las bases de datos de grafos y el concepto de los seis grados de separación.","70":"Feedback de los usuarios como motivación para mejorar los servicios.","1161":"Desafíos comunes de las bases de datos de grafos existentes y cómo Amazon Neptune los aborda.","393":"Datos altamente conectados en varios dominios, incluyendo redes sociales, recomendaciones de restaurantes y detección de fraude.","716":"La teoría de grafos y cómo las cosas tienden a formar triangulitos, un concepto clave en el análisis de grafos.","653":"Claves primarias y cómo las bases de datos de grafos manejan las relaciones a través de punteros.","973":"Ejemplos de consultas y visualización de datos usando el lenguaje Gremlin en una base de datos de grafos.","270":"Ejemplo con Kevin Bacon de cómo los datos se conectan por relaciones, visualizado en un grafo.","750":"Explicación de los modelos de grafos y lenguajes de consulta: Property Graph y Resource Description Framework (RDF).","558":"Desafíos de las bases de datos relacionales al construir aplicaciones con datos altamente conectados.","1104":"Introducción a Amazon Neptune como una base de datos de grafos totalmente administrada.","1202":"Alta disponibilidad y tolerancia a fallos en Amazon Neptune.","887":"Discusión sobre las bases de datos de grafos y los lenguajes Gremlin y SPARQL, incluyendo sus diferencias y usos.","600":"Las bases de datos de grafos están optimizadas para el manejo de datos altamente conectados y son más intuitivas que las relacionales.","408":"Casos de uso de las bases de datos de grafos en redes sociales, recomendaciones, grafos de conocimiento, detección de fraudes, ciencias de la vida y operaciones de red e TI.","313":"Cómo la experiencia con el voluntario ilustra la idea de bases de datos de grafos.","477":"Ejemplo de cómo Thomson Reuters usa grafos para navegar por una compleja red de políticas fiscales globales.","925":"Cómo modelar datos en una base de datos de grafos.","509":"Las bases de datos de grafos están optimizadas para el almacenamiento y la recuperación eficiente de datos altamente conectados.","30":"Explicación del rol de Technical Evangelist en Amazon Web Services."}},"presenters":[{"path":"accounts/u-oW04MXUXtyVZSHofZy5HP5c1lRc2","description":"I work as a Technical Evangelist at AWS to help developers make the best of cloud, so they can focus on solving interesting problems and rely on AWS for performance, scalability, elasticity, and security.\n\nI love data storage, big and small. I have extensive experience with different SQL, NoSQL, graph, in-memory, and Big Data solutions. I like distributed, scalable, always-on systems.\n\nBefore working at AWS I spent 20 years developing software professionally and sharing what I learnt with the community. I've spoken at events in more than 15 countries, mentored dozens of start-ups, taught for 6 years at universities, and trained hundreds of professionals on cloud and data engineering.","reimburseExpenses":false,"uuid":"javierramirezgomara","name":"javier ramirez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-oW04MXUXtyVZSHofZy5HP5c1lRc2/avatar/0450d71f66.avif","id":"u-oW04MXUXtyVZSHofZy5HP5c1lRc2"}],"id":"Tj67wgQLfe42cJnYEOza"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/UOKDk5hi9ZfsTCdfZyoL","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Copywriting básico para tu proyecto: un desarrollo brillante necesita unos textos resplandecientes","description":"**Índice**\n\n* Introducción: por qué necesitas tener conocimientos básicos sobre copywriting para poner en marcha tu proyecto.\n* Tono, imagen de marca y voz: encuentra la coherencia entre tu modelo de negocio y tu comunicación para generar confianza.\n* Crea el universo verbal de tu marca: provee de “alma” a tu proyecto.\n* Cómo comunicar en cada componente (o cómo no cargarte la conversión):\n * Los micro-copies:\n * Diálogos\n * Cards\t\n * Etiquetas\n * Snackbars\n * Botones\n * Los macro-copies:\n * On-boarding\n * Descripciones\n * Release notes\n * Redes Sociales\n * Notificaciones: push, e-mails... \n* Y, una vez que tengo los copies, ¿qué hago?: revisa cada uno de ellos, deja que el mundo lea tus copies y corrige.\n* Resumen final y resolución de dudas.\n","created":1555682478599,"bookmarkCount":40,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1gGHOxcXxpYfv4BVJSiowmHD1dhE2Zo6LXiiZXmkcDcM/edit#slide=id.g6b7ac4aab5_0_3","videoURL":"https://youtu.be/47ivBhKXYDw","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Soft skills"," Other"," Design/UX"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"241":"Introducción al concepto de marketing y su relación con el copywriting, incluyendo la necesidad de destacar y la definición de mercadotecnia según la RAE.","178":"Índice de la charla: introducción, tono, imagen de marca y voz, universo verbal, componentes, resumen final y resolución de dudas.","482":"Estrategias de marketing: conocer al público objetivo (personas, mapas de empatía, user journeys) y consejos para la comunicación (coherencia, diferenciación y tono divertido).","771":"Cómo comunicar en cada componente: diálogos, cards, etiquetas, snackbars y botones, con recomendaciones específicas para cada uno (micro y macro-copys).","3":"Introducción de Beatriz Zaera y presentación de la charla sobre copywriting básico para proyectos tecnológicos, incluyendo una anécdota personal y la importancia de los copys.","692":"Ejemplos de cómo utilizar palabras poderosas y principios psicológicos (necesidad de respuestas, escasez) en los copys, incluyendo mensajes de captura, anti-frenos, reafirmación y CTAs.","598":"Creación del universo verbal: recolectar palabras, conceptos y frases relacionadas con el proyecto, y recursos literarios para embellecer los copys.","1066":"Se anima a los asistentes a hacer el test sobre copywriting que acompaña a la presentación.","203":"Desarrollo del tono, imagen de marca y voz: importancia de hablar en el idioma del público objetivo y consejos para comunicar de forma efectiva."}},"presenters":[{"path":"accounts/l-410934001","description":"Full-stack no-developer 🤔Trabajo en minube.com, donde me muevo dentro de Comunicación 🎙, Producto 📲 y Recursos Humanos 👥. Me encanta todo lo relacionado con la tecnología y la innovación y no puedo estar mucho tiempo sin aprender algo nuevo.","reimburseExpenses":false,"uuid":"beatriz-zaera","name":"Beatriz Zaera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-410934001/avatar/d5f99b6290.avif","id":"l-410934001"}],"id":"UOKDk5hi9ZfsTCdfZyoL"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/UzYHgb9hrYcY3wWF7Ycx","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Analizando datos médicos con R","description":"Durante los últimos años los sistemas sanitarios y las ONGs han realizado un gran esfuerzo para digital izar la información de sus pacientes como el fin de mejorar el acceso a todos estos y simplificar y facilitar la asistencia sanitaria de las personas en países desarrollados y/o en vías de desarrollo. El gran número de repositorios tanto públicos o privados ha abierto la puerta a la utilización de técnicas de análisis de datos y de Aprendizaje Automático con el fin de ayudar a la comunidad médica a extraer nuevas conclusiones o a refutar de manera matemática aquellas que ellos han extraído en base a sus conocimientos médicos. \n\nEn esta charla intentaremos responder a algunas preguntas importantes acerca de este tema. ¿Qué cantidad de información esta disponible actualmente de manera libre en la red?, ¿Cómo de fácil o difícil es acceder a esta información?, ¿Cuál es el nivel de calidad de estos datos?, ¿Todas las entidades utilizan el mismo formato o representación de la información?. ¿Existe algún tipo de entidad que asesora a los diferentes sistemas sanitarios u ONGs sobre como deberían almacenarse y recopilarse estos datos?. ¿Pueden ser utilizados para construir modelos de predicción o clasificación?, ¿Tienes que ser médico para entender los resultados?. Una vez que hayamos intentado responder a todas estas preguntas presentaremos un caso práctico dónde intentaremos analizar si podemos utilizar datos de diferentes fuentes con formatos y estructuras diferentes pero orientamos a la misma dolencia, con el fin de combinarlos e intentar construir un modelo basado en aprendizaje automático y todo con R. \n\nAcompáñanos en esta aventura para descubrir como trabajar con datos médicos y extraer valor a estos datos de forma que puedan ser utilizados con el expertos en medicina. Descubramos como construir paso a paso un sistema de detección y/o clasificación en R mediante la utilización de datos médicos libres y veamos que descubrimos. \n","created":1558100186725,"bookmarkCount":45,"recordingAuthorized":true,"videoURL":"https://youtu.be/sA0lwEqJUBc","tags":{"39153":[" Intermediate"],"0db80":[" AI"," Big Data","Machine Learning"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["R"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"384":"La variabilidad en los datos médicos","33":"Presentación de los ponentes, Inés Huertas y Moisés Martínez","642":"Prediciendo mediante regresión lineal","4":"Introducción a la presentación sobre el análisis de datos médicos con R","134":"El Machine Learning aplicado a la salud y el tratamiento de los datos médicos","358":"Software utilizado en el ámbito médico","399":"La estandarización de los datos","592":"Problemas con la alta dimensionalidad","432":"Paquetería Healthcare con R","148":"El gasto en los sistemas de salud","312":"Tipos de datos médicos","539":"Construyendo modelos con datos médicos","191":"¿Por qué es importante el análisis de datos médicos?"}},"presenters":[{"path":"accounts/u-dz6S9oIt6rY0gh2MAS9dKZwH16t2","reimburseExpenses":false,"uuid":"ineshuertas","name":"Ines Huertas Freire","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-dz6S9oIt6rY0gh2MAS9dKZwH16t2/avatar/d8f12b4c91.avif","id":"u-dz6S9oIt6rY0gh2MAS9dKZwH16t2"},{"path":"accounts/u-CQYCcLnjfIebpNs7NYuCdjaAYC32","description":"Artificial Intelligence (AI) and Machine Learning (ML) Senior Engineer en Sngular. Doctor en ciencias de la computación e Inteligencia Artificial por la Universidad Carlos III de Madrid y Data Scientist en mis ratos libres. En los últimos años he sido investigador y/o profesor de diferentes sabores de AI en universidades como la Universidad Carlos III de Madrid, la Universidad de Örebro y el King's College London.\n\nActualmente soy docente en Fictizia, UNIR y structuralia intentando enseñar y aprender sobre IA y ML. He participando en proyectos BigData y de la industria 4.0 utilizando tecnologías Google Cloud y del ecosistema Apache para extraer valor de los datos. Además, he sido Speaker en conferencias nacionales e internacionales y soy uno de los orgullosos organizadores de T3chFest, el evento sobre tecnología gratuito más grande de España y tal vez de Europa. Puedes encontrarme en mi Twitter @moisipm.","reimburseExpenses":false,"uuid":"momartinm","name":"Moiśes Martínez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-CQYCcLnjfIebpNs7NYuCdjaAYC32/avatar/c5cbda67e9.avif","twitterAccount":"moisipm","id":"u-CQYCcLnjfIebpNs7NYuCdjaAYC32"}],"id":"UzYHgb9hrYcY3wWF7Ycx"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/V0R0F54koTH0BJaT3nul","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Developers & Recruiters: Talent Fishbowl","description":"Olvídate de lecciones magistrales y charlas pasivas. En esta sesión de la Commit no esperamos sólo que vengas a aprender, sino también a enseñar y participar. Un [Fishbowl](https://en.wikipedia.org/wiki/Fishbowl_%28conversation%29) no es ni más ni menos que **un formato que permite gestionar conversaciones en grupos grandes de personas.**\n\nEn esta ocasión, **queremos juntar en el mismo espacio a desarrolladores y recruiters** para debatir cómo se capta, gestiona y retiene el talento en IT en la actualidad, explorar nuevos caminos y proponer mejoras en un debate moderado y dinamizado por el awesómico tándem formado por [Manfred](https://www.getmanfred.com/) y [Payvision](http://payvision.com/).\n\nSi te interesa **conocer trucos y buenas prácticas para progresar en tu carrera profesional** o, como responsable de selección, quieres **entender dónde se encuentra ese talento que tanto parece costarte encontrar**, no deberías dejar de venir.\n","created":1573035468692,"bookmarkCount":16,"recordingAuthorized":false,"tags":{"39153":["Beginner"],"0db80":[" Soft skills"],"70b46":[" Unconference"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-416264008","reimburseExpenses":false,"uuid":"marina2","name":"Marina Ramos Parrado","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-416264008/avatar/69ac6b2825.avif","twitterAccount":"MinaMRP","id":"l-416264008"},{"path":"accounts/u-bvv8ptzDq6dnihwt2jUduLy5N4a2","reimburseExpenses":false,"uuid":"leonardo-poza-abad","name":"Leonardo Poza","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-bvv8ptzDq6dnihwt2jUduLy5N4a2/avatar/dc365ef73f.avif","twitterAccount":"leonardopoza","id":"u-bvv8ptzDq6dnihwt2jUduLy5N4a2"}],"id":"V0R0F54koTH0BJaT3nul"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/V43MW00ij4sRBxPF3e52","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Comenzar a aplicar principios SOLID en Javascript gracias a Typescript.","description":"Se ha hablado mucho sobre los principios **SOLID** sin embargo nunca es tarde para recordarlos, su importancia para que una aplicación sea mantenible, flexible y evolutiva es conocida y estas características son las que los relacionan con el desarrollo ágil. Si bien estos principios han sido pensados para aplicarlos en lenguajes orientados a objetos es posible usar muchas de sus ideas en **Javascript** cualquier sea su versión. Sin embargo y gracias a las capacidad que **Typescript** suma a Javascript podemos aplicarlos de manera más integral. En esta charla haremos un repaso de los principios SOLID, por qué son importantes y veremos con ejemplos su aplicación en nuestras aplicaciones utilizando *Typescript*.","created":1558902725745,"bookmarkCount":117,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/leomicheloni/2019-commit-solid-typescript","videoURL":"https://youtu.be/yGI48f2cupM","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":["Agile and Lean"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"160":"El orador, Leonardo Michieloni, es argentino y trabaja en Tokiota. Posee el reconocimiento Microsoft MVP y gestiona un canal de Youtube, un blog, Twitter, GitHub e incluso un meetup.","706":"Reflexiones finales: ¿Es posible aplicar los principios SOLID en todos los casos? ¿Se requiere un nivel de expertise como el de Messi para utilizarlos? ¿Son aplicables a todos los ámbitos?","3":"El desarrollo de software es complejo debido a la necesidad de manejar múltiples lenguajes de programación, bases de datos, protocolos e interacciones entre componentes en escenarios dinámicos. Para contrarrestar esto, se utilizan metodologías ágiles que entregan software funcional en pequeños incrementos.","228":"SOLID es un acrónimo donde cada letra representa un principio. El objetivo es construir software de forma evolutiva, no en cascada, mediante la separación de responsabilidades.","391":"Ejemplo del Principio de responsabilidad única: una clase (o componente) debe realizar una única tarea. Si se observa que la misma clase se modifica repetidamente por diferentes motivos, no se cumple este principio.","199":"Aviso: Todo el contenido se basa en la experiencia personal del orador.","168":"El propósito de la presentación es entender y familiarizarse con los principios de SOLID.","304":"Los principios SOLID, no todos concebidos por Robert Martin, son: S de Single responsability principle (Principio de responsabilidad única), O de Open close principle (Principio de abierto/cerrado), L de Liskov substitution principle (Principio de sustitución de Liskov), I de Interface segregation principle (Principio de segregación de la interfaz) y D de Dependency inversion principle (Principio de inversión de dependencia).","528":"El código del ejemplo, que está disponible en Twitter, es funcional y cuenta con pruebas.","87":"SOLID en Javascript con Typescript: Permite aplicar los principios SOLID para desarrollar software adaptable a ciclos de cambio continuo. Facilita el uso de los principios SOLID en Javascript mediante Typescript. SOLID puede utilizarse sin Typescript, aunque no en su totalidad.","280":"Los principios SOLID apuntan a la escalabilidad, rigidez, mantenibilidad, evolución y reutilización del software.","473":"Principio de Abierto/Cerrado: Una clase debe estar abierta a la extensión pero cerrada a la modificación, como se ilustra con los plugins de Visual Studio Code.","441":"El ejemplo presentado incluye varias clases y un servicio que las carga. Se utiliza una abstracción en lugar de clases concretas para evitar infringir el principio de sustitución de Liskov, que se vulnera al emplear condicionales 'if' con tipos concretos."}},"presenters":[{"path":"accounts/u-mFzWJLPVTyd4ch1h3d507kHQAyS2","description":"Comencé en la programación cuando trabaja en electrónica comenzando con assembler puro y duro para después pasar a lenguajes de alto nivel. Me he dedicado a programar desde entonces y desde esto ya han pasado más de 15 años. Me interesan los temas relacionados con las buenas prácticas, la arquitectura del software y cómo ser un mejor programador cada día. He ogranizado eventos de agilidad desde el año 2008 y he sido reconocido como Microsoft Most Valuable Professional los últimos cuatro años por mi aporte a la comunidad de Latinoamética.","reimburseExpenses":false,"uuid":"leomicheloni","name":"Leonardo Micheloni","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-mFzWJLPVTyd4ch1h3d507kHQAyS2/avatar/424dd03fc2.avif","twitterAccount":"leomicheloni","id":"u-mFzWJLPVTyd4ch1h3d507kHQAyS2"}],"id":"V43MW00ij4sRBxPF3e52"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/VJU2vcqHYJqwkCmx0nAU","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Refactorizar rima con Simplificar, o por qué el miedo conduce a código inmantenible","description":"A todos nos gusta empezar proyectos desde cero. La sensación de usar nuevas herramientas, avanzar rápido, sentirse productivos... pero, poco a poco, el código que vamos escribiendo se convierte en un equipaje que tenemos que ir arrastrando. Cada vez el código es más complejo, está mas interrelacionado y encontrar los bugs es misión imposible excepto para los más veteranos. Cada semana que pasa es más difícil añadir nueva funcionalidad sin romper lo que ya funciona y aparecen zonas de código \"vedadas\": \"no toques ahí!\", \"si lo tocas se rompe\". ¿os suena la situación? ¿cómo salimos de aquí? ¿cómo lo evitamos en primer lugar?\n\nEn esta charla hablaremos de Refactorización, simplificar el código sin cambiar su funcionalidad. ¿cómo se hace? ¿cúando se hace? ¿cuando NO se debe hacer?","created":1559472958399,"bookmarkCount":256,"recordingAuthorized":true,"videoURL":"https://youtu.be/iytUjwSfjDE","tags":{"39153":[" Intermediate"],"0db80":["Agile and Lean"," Social"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript","Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1056":"La segunda razón para no refactorizar es asumir que no se repetirán los errores. La tercera es mantener el sistema en producción. La inacción degrada el código, dificultando cada vez más el trabajo.","1728":"Refactorizar es mejorar el código sin cambiar su comportamiento. El objetivo es la eficiencia y productividad. No es opcional, sino central en la metodología XP.","1606":"El código contiene la historia del proyecto. Asumir que no se repetirán errores es un fallo. Mantener el sistema operativo es crucial. La charla trata sobre el manejo del código heredado.","840":"Eliminar comentarios es una refactorización simple. Los comentarios son \"desodorantes\" que ocultan el mal olor del código. Mienten al no actualizarse con los cambios. Refactorizar implica limpiar el código, haciéndolo más comprensible y seguro, sin modificarlo, y enseña buenas prácticas a los desarrolladores junior.","1963":"El objetivo de refactorizar es la eficiencia. Es un trabajo en equipo que requiere respeto. La simplicidad facilita la programación.","747":"Las prácticas Agile se complementan. Refactorizar es un trabajo en equipo que requiere respeto por el código existente. El objetivo no es embellecerlo, sino hacerlo más eficiente y productivo. La refactorización se justifica económicamente para convencer a los gerentes.","2125":"Se aborda la falta de tests unitarios, aunque Fowler los recomienda. Una buena cultura de pull request es esencial. Las prácticas XP se justifican económicamente. Un buen trabajo convence a la gerencia.","1390":"Tres opciones para mejorar el código: refactorizar, esperar, o crear una clase abstracta. Ejemplo: encapsular una condición compleja en una función. Se requiere testeo. Copiar y pegar sin tests crea código heredado con dependencias rotas, duplicación y miedo. El código heredado es una herencia, un repositorio de información. El principal problema es que desincentiva la mejora. Se recomienda el post de Joel Spolsky.","623":"Un corredor completa un maratón alternando 1 minuto de carrera con 4 de caminata, repitiendo 8 veces. Cada semana incrementa la carrera y reduce la caminata. Esta metodología puede aplicarse a la refactorización de código.","720":"La utopía impide mejorar lo presente. Se critica la idealización del código, instando a un trabajo continuo para evitar su degradación. El código heredado debe tratarse como una herencia a mejorar.","661":"Refactorizar código heredado implica reiniciar el proyecto. Al iniciar un proyecto se idealiza el proceso y las buenas prácticas, pero las pull request se vuelven extensas y difíciles de implementar por dependencias, migraciones de base de datos o miedo a romper el sistema. Se termina reescribiendo el código existente.","1143":"La charla se centra en soluciones. Extreme Programming (XP) adapta Agile a grandes empresas. Requiere versiones semanales y un cliente integrado. El código heredado es un tesoro. Refactorizar, esperar o crear una clase abstracta son opciones. El miedo a la refactorización es clave. Mejorar el código para hacerlo testeable justifica la inversión ante la gerencia. Las prácticas XP se apoyan mutuamente.","600":"El miedo a la refactorización surge de la posibilidad de que al modificar código funcional, se introduzcan errores durante el despliegue en producción. Refactorizar implica modificar código existente sin añadir nuevas funcionalidades para el cliente, lo que conlleva un riesgo de romper el sistema.","1852":"Se compara refactorizar con un corredor. El software se puede refactorizar gradualmente. Es común a todos los desarrolladores. El refactor es un diagnóstico de equipos, suma de pequeños refactors automatizables (Fowler). Dos sombreros: refactorizar y añadir funcionalidad (no simultáneos). Es necesario, prioritario y cotidiano. Una herencia, no un castigo.","958":"Se compara reescribir código con Zootopia, una utopía que desincentiva la mejora. El código en producción es valioso por las decisiones, peticiones, bugs resueltos y compatibilidad de versiones integradas. Esta es la primera razón para no refactorizar."}},"presenters":[{"path":"accounts/u-crummrrP6ZOO9l9kfcAZFC68dU03","description":"Javier es un veterano desarrollador que ha trabajado en distintos puestos técnicos y de gestión durante 20 años: llevando equipos, evangelizando sobre SIG, escribiendo software para aviones de combate... Sus ideales son el software con 0 bugs, testeo en modo paranoide, automatización, metodologías ágiles y trabajo en equipo. Últimamente, lleva casi 6 años divirtiéndose con la mejor plataforma de visualización de analíticas de big data que se haya construido jamás (o casi) como VP of Engineering en www.StyleSage.co, dedicada al Big Data en el mundo de la moda. Ingeniero en Informática por la Universidad de Zaragoza y MBA del IE Business School.","reimburseExpenses":false,"uuid":"javiabadia","name":"Javier Abadía","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-crummrrP6ZOO9l9kfcAZFC68dU03/avatar/13d44af291.avif","id":"u-crummrrP6ZOO9l9kfcAZFC68dU03"}],"id":"VJU2vcqHYJqwkCmx0nAU"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Viz3qYCcXM7M6lu2St2d","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"How to implement a peer reviews learning workflow that your team will love","description":"Peer reviews are difficut to implement. People don't like them. After having tried several formats I found the golden rule that works like a charm (Mine is a 13 people remote team working in support in an Internet startup: automattic, makers of WordPress.com)\n\nFirst I review what we did, the process, with some examples. \nSecond: why was it a success. Spoiler: one of the reasons is that team members consider it amazing for team bonding.\nLast: I did a brainstorm to gather the reasons behind this success, according to my team members. With this brainstorm I built a poll. The result was clear about the reasons: Horizontality, Openness, Learning oriented and the tool we used (this is a surprise).\n","created":1559417943491,"bookmarkCount":92,"recordingAuthorized":true,"slidesURL":"https://prezi.com/afludoizu-dx/peer-reviews/?utm_campaign=share&token=37fd6558aa201726510e1827979d9b5911774b6e4a4b4ac38f1003f0ff682f2d&utm_medium=copy","videoURL":"https://youtu.be/b8RsRN1WxgM","tags":{"39153":[" Intermediate"],"0db80":[" Soft skills"," Other"," Web"],"70b46":["Talk"],"1f174":[" English"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"33":"Introducción a Automattic, una empresa distribuida global, sus productos (Simplenote, Tumblr, Wordpress) y su modelo de trabajo remoto.","145":"Presentación de \"Happiness Engineers\" en Automattic: representantes de soporte que también se encargan de documentación, codificación, pruebas, reporte y arreglo de errores, etc.","609":"Presentación de resultados de la revisión por pares: aumento en la participación y alta valoración por los miembros del equipo.","212":"Explicación de cómo los Happiness Engineers dedican 2 de cada 8 horas diarias al aprendizaje, promoviendo el crecimiento continuo.","264":"Caso de estudio: flujo de trabajo de revisión por pares (peer review) exitoso y replicado en varios equipos de Automattic.","426":"Análisis de factores clave para el éxito de la revisión por pares: horizontalidad, enfoque en el aprendizaje y participación abierta.","538":"Descripción de cómo el proceso de revisión por pares es abierto y basado en la plataforma P2, facilitando la participación y el aprendizaje.","109":"Ejemplos de diversidad de ubicaciones en Automattic: empleada de Filipinas en Polonia, y empleados de EE. UU. y Escocia mudados a Sudáfrica.","910":"Encuesta a la audiencia sobre su gusto por las revisiones por pares (peer review).","718":"Ejemplo de una revisión por pares donde se identificó y solucionó un error.","79":"Descripción del \"Team Neptune\" de Automattic, un equipo con miembros en la misma zona horaria pero en diferentes países (Sudáfrica, Polonia)."}},"presenters":[{"path":"accounts/u-k7ogmlXOb6VvzcWeT9ArQDxbsEi2","description":"HappiÑez Team Lead at Automattic.com\n\nI+D Articulación de modalidades y prácticas bimodales en la Educación Superior. unq.edu.ar\n\nhttps://RemoteFrog.com\n\n• 10+ y. exp distributed, cross-functional teams lead. \n\n• Remote Learning and Leadership practitioner and relentless activist.\n\n• Phd in Education & Communication on the Internet, BSc Computer Science, BSc Anthropology.\n","reimburseExpenses":false,"uuid":"raulanton","name":"Raúl Antón Cuadrado","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-k7ogmlXOb6VvzcWeT9ArQDxbsEi2/avatar/1a236b8b8e.avif","id":"u-k7ogmlXOb6VvzcWeT9ArQDxbsEi2"}],"id":"Viz3qYCcXM7M6lu2St2d"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/VwRjLhvKEw3xw28asM7S","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Mónadas en JS: con las manos en la masa.","description":"En la charla “**Mónadas en JS: programación funcional más allá de map y filter**” viste que es posible implementar **mónadas** en JS. Pero tienes ganas de más y lo sabes, la charla despertó en ti el programador funcional que todos llevamos dentro y ahora necesitas **pasar a la acción**.\n\nEste es el sitio donde *ensuciarse las manos* y sentir en *propias carnes* cómo **implementar la programación funcional** de verdad en JS. Aquí **crearás tus propias mónadas**, buscaremos las más adecuadas según los **casos de uso** y cotillearemos las **librerías** que nos pueden ayudar a hacer verdadera programación funcional en JS.\n\nLos materiales que vamos a utilizar para este taller los podéis encontrar en github: https://github.com/madoos/commitconf-2019-monads/ y los retos que os vamos a proponer en codepen: https://codepen.io/madoos/pens/public?grid_type=list\n","created":1558890166871,"bookmarkCount":40,"recordingAuthorized":true,"tags":{"39153":[" Intermediate"],"0db80":[" Other"," Web"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-71144002","description":"Maurice Dominguez cuenta con amplia experiencia en el desarrollo de aplicacopnes web con javascript. Domina tanto las tecnologías front como back. Actualmente trabaja para BBVA a través de la consultora Kairós. \n\nEs un apasionado de la programación funcional con javascript, marco en el que es cofundador de la comunidad recién nacida \"functionaljs\". En ella se dan a conocer todos los conceptos de teoría de categorías necesarios para el desarrollo de aplicaciones lo más puras posibles. Es un excelente divulgador capaz de contagiar su entusiasmo a cualquiera que se acerque a oirle hablar.","reimburseExpenses":false,"uuid":"mauriceronetdominguez","name":"Maurice Dominuez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-71144002/avatar/2fedf9ce46.avif","twitterAccount":"_madoos","id":"l-71144002"},{"path":"accounts/u-ylGMNTxlGlWrOsxjoTNyx1fN6ka2","description":"Soy Licenciada en Ciencias Químicas por la Universidad Complutense y Doctora en Física de Sistemas Complejos por la UPM. Mi tesis consta de un montón de líneas de código escritas principalmente en C (con memoria dinámica, punteros y esas cosas bonitas que a nadie asustan), pero también, algunas, en FORTRAN (los compiladores son mis amigos). Tras doctorarme tocó salir al mundo de la empresa y tras varios intentos fallidos (editora, profesora, etc.) caí en el mundo del desarrollo en JS y tuve un “crush”. Actualmente trabajo en Sngular para el grupo de arquitectura front de BBVA y siempre que puedo sigo formándome e investigando este lenguaje que me tiene enganchada.\n\n","reimburseExpenses":false,"uuid":"henarmendiola","name":"Henar Hernandez","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-ylGMNTxlGlWrOsxjoTNyx1fN6ka2/avatar/de3f03f807.avif","twitterAccount":"HenarMendiola","id":"u-ylGMNTxlGlWrOsxjoTNyx1fN6ka2"}],"id":"VwRjLhvKEw3xw28asM7S"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/WDi9teVL5UNuanR1v4Pu","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"The path to understand and debug distributed systems","description":"We are constantly working with distributed systems relying on microservices, but understanding what is happening behind the covers is not a trivial task. In order to provide the best possible service we need to be able to understand what is going on, since you cannot debug a failing request without first tracking which part failed in your distributed system. The DevOps culture brings operations closer to developers, and today we need more developers instrumenting, creating and owning code that is easily deployable and maintainable.\n\nIn this talk we will cover observability, monitoring, APM (Application Performance Management), and structured logs. We will include examples that can be added to your code to make your life easier in production, and -- hopefully -- get more comfortable when things fail.\n\nBecause remember, hope is not a strategy.","created":1557838250677,"bookmarkCount":72,"recordingAuthorized":true,"slidesURL":"https://github.com/ilbambino/commitconf-2019/raw/master/commit19.pdf","videoURL":"https://youtu.be/zLQw_kxqLig","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" DevOps"," Cloud"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"178":"Nueva mentalidad. Desarrollo debe acercarse al mundo de operaciones para depurar y mantener el código, que no termina hasta que está en producción. La calidad del servicio al usuario es el objetivo, y los desarrolladores son responsables de mantener los servicios funcionando.","403":"Monitorización: Es reactiva, solo para problemas conocidos. Los promedios enmascaran los detalles importantes. Qué monitorizar: memoria, disco, red, APIs, errores, colas. Necesidad de un sistema centralizado de recolección de logs (ELK, Loggly, Splunk).","228":"Principios claros, testing en producción y necesidad de nuevas herramientas e instrumentación. Maximizar la experiencia de usuario (UX) es el objetivo.","358":"Problemas con los logs: pueden ser caros, matar al servidor, revelar datos privados, o ser ilegales.","120":"Incremento de la complejidad de los sistemas. Comparación entre la simplicidad de los sistemas antiguos (servidor único, base de datos separada) y la complejidad actual de microservicios, múltiples bases de datos y servicios externos.","537":"Application Performance Management (APM): Trazas distribuidas. OpenTelemetry. Es útil, pero tiene trabajo de instrumentación. Dificultad para seguir trazas a través de servicios.","298":"Logs estructurados en formato JSON, legibles y parseables. Uso de librerías de logging, añadir contexto a los logs (identificar al usuario, describir la operación y su resultado), e importancia de la nomenclatura. Niveles de logs: información para depurar y lo que requiere atención.","603":"Salud de los servicios y los health checks: cada servicio debe exponer su estado, debe ser un estándar unificado entre todos los servicios.","31":"Introducción a la charla sobre el entendimiento y depuración de sistemas distribuidos. DevOps como filosofía que acerca técnicas del desarrollo a la infraestructura y cómo mantener todo en control de versiones, usar todo como código, automatización."}},"presenters":[{"path":"accounts/l-139784003","reimburseExpenses":false,"uuid":"alvaromanera","name":"Álvaro Manera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-139784003/avatar/4a4f37211b.avif","twitterAccount":"alblurrow","id":"l-139784003"}],"id":"WDi9teVL5UNuanR1v4Pu"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/WjpqdAk3XXQtrEJ8IaHn","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Problemas de UX ocultados detrás de bonita UI","description":"Hacer una interfaz de usuario bonita siempre parece bien para tu producto. Sin embrago, una interfaz bonita no siempre funciona.\n\nEn una fase temprano de la creación de un producto, los equipos pequeños suelen mezclar diseño UX y diseño UI. Una interfaz con buena apariencia a veces oculta los problemas de experiencia de usuario hasta el momento de lanzamiento del producto, y estos problemas de UX salen ser difíciles de corregir a largo plazo. En esta charla proponemos una solución para este tipo de problemas.\n\nEn 40 minutos veremos de forma práctica:\n- Organización de workflow de diseño para equipos pequeños (por ejemplo startups en fase temprano) con suficiente consideración para ambos UX y UI;\n- Inspección de problemas de UX a fase temprano de la creación de un producto;\n- Descubrir y solucionar problemas de UX basado en datos y analíticas de usuarios.\n","created":1559428207040,"bookmarkCount":95,"recordingAuthorized":true,"slidesURL":"https://www.dropbox.com/s/mwajn6mj5c9t9mg/Problemas%20de%20UX%20ocultados%20detras%20de%20bonita%20UI.pdf?dl=0","videoURL":"https://www.youtube.com/watch?v=O6Ngjx7QkY0","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Design/UX"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"162":"Evolución de los roles de diseño: de Interface Designer a UX/UI Designer y roles más especializados.","355":"Ejemplo de \"Skeuomorphism\" en la app iOS6 Podcast.","501":"Causas de mala UX con buena UI: acumulación de funcionalidades, \"ñapas\" de interfaz, prisas del diseñador y portátiles \"fancy\".","199":"Categorización del trabajo de diseño: Estrategia, Visual y Funcional. La UI como capa cosmética.","456":"Ejemplo de la evolución de los teclados de MacBook Pro: cambios y problemas.","8":"Bienvenida a la última charla del día y presentación del tema sobre problemas de UX ocultos detrás de una UI bonita por James Heda Weng.","538":"Soluciones propuestas: reorganizar la lógica, revisar la navegación y pruebas A/B o beta públicas.","492":"Diagnóstico de opiniones subjetivas sobre la UI.","29":"James Heda Weng, doctorando en Bellas Artes en la UCM, con experiencia en diseño, front-end, Product Management y UX Design en StyleSage, explica qué es UX/UI y la burbuja de startups.","414":"Ejemplo de problemas de diseño en Citymapper: botón escondido y estructura poco clara."}},"presenters":[{"path":"accounts/u-RrNUkvhIt0NIVDPy3JjIukKFk5A3","description":"Diseñador UX/UI en StyleSage y doctorando de Bellas Artes en la Universidad Complutense de Madrid. Profesionalmente tiene 5 años de experiencia como diseñador y creative coder. Académicamente su investigación se enfoca en creación interactiva y diseño de interfaz.","reimburseExpenses":false,"uuid":"hedaweng","name":"James Heda Weng","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-RrNUkvhIt0NIVDPy3JjIukKFk5A3/avatar/b5671e9134.avif","id":"u-RrNUkvhIt0NIVDPy3JjIukKFk5A3"}],"id":"WjpqdAk3XXQtrEJ8IaHn"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Wz62IRv6Z1qyBXqQfyku","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"¡Se me ha roto la accesibilidad!","description":"¡Ya estáis listos para sacar la versión 2.0 de vuestro producto estrella! En la versión 1.0 os preocupásteis muchísimo por la accesibilidad, y hasta contratasteis a una consultora que os ayudó a que fuera 100% accesible.\n\nLanzáis la versión... y de repente, os empiezan a llegar tweets de un montón de usuarios cabreados diciéndoos que lo que antes era accesible ya no lo es. Lo primero que pensáis: ¡maldito twitter! Y lo segundo: ¿qué ha pasado? ¿cómo ha podido producirse semejante regresión?\n\nEn esta charla os contaré cómo mantener vuestro sitio web accesible a lo largo del tiempo, sin tener que estar realizando constantes tests manuales cada vez que se hace un cambio en la interfaz. Aprenderemos a crear tests automatizados (incluso con lectores de pantalla), y a incluirlos como parte del flujo de integración continua de vuestro software.\n\n¡Que el esfuerzo invertido en accesibilidad no se lo lleve el viento de la entropía! :)","created":1558902970825,"bookmarkCount":49,"recordingAuthorized":true,"videoURL":"https://youtu.be/AoKo_Z9b6tE","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Accessibility"," Cloud"," Web"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript",".Net"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"144":"Juanjo define la accesibilidad como llegar a todo el mundo con un producto digital, independientemente de su capacidad. Para los desarrolladores, es crucial considerar la semántica y la estructura, no solo la parte visual, ya que el lector de pantalla interpreta el DOM.","256":"Demostración en vivo utilizando un lector de pantalla en una web de prueba, en un proyecto en Visual Studio y con una extensión de Visual Studio llamada \"axe-selenium-csharp\" para localizar problemas de accesibilidad.","16":"El ponente, Juanjo Montiel, agradece a la organización de Commit y a los patrocinadores por el evento. Explica que trabaja en Pasiona, es responsable de accesibilidad y consultor, especializándose en backend. Menciona la importancia de que los productos sean utilizables por el mayor número de personas, sin asumir que todos usan la tecnología de la misma manera.","596":"El ponente explica cómo una empresa mejoró la accesibilidad de su producto gracias a una consultoría, pero luego tuvo problemas por falta de formación de los desarrolladores.","698":"Es crucial realizar tests de usabilidad con el lector de pantalla, ya que los tests automatizados no pueden detectar todos los problemas. El ponente prueba la página con errores y explica cómo comprobar la accesibilidad.","398":"Explicación del código dentro del proyecto para probar la accesibilidad, extrapolable a cualquier tecnología."}},"presenters":[{"path":"accounts/u-bDqx8NHFQRdFVsZcwLUdyi0xQM03","description":"Senior Developer y responsable del área de accesibilidad en Pasiona Consulting.\nLlevo más de doce años luchando y divirtiéndome con la tecnología. ¿Mi meta? Conseguir que la tecnología sea cada día más accesible... y aprender, siempre aprender algo nuevo.\n\nEspecializado en .NET, me apasiona el desarrollo y realizar aplicaciones que mejoren el día a día de las personas que como yo, tenemos un modo diferente de acceder a la información.\n\nPadre de un pequeño terremoto con el que se me cae la baba día sí y día también, adoro la música (soy pianista aunque con dar a las teclas del PC me queda poco tiempo para esa afición), y amante de la literatura.","reimburseExpenses":false,"uuid":"juanjo1","name":"Juanjo Montiel","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-bDqx8NHFQRdFVsZcwLUdyi0xQM03/avatar/3742aafe84.avif","id":"u-bDqx8NHFQRdFVsZcwLUdyi0xQM03"}],"id":"Wz62IRv6Z1qyBXqQfyku"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/XRgGLwOSupfAw5mld6bO","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Retos a superar como organizadores de comunidades","description":"La intención es tener una mesa redonda donde debatir las **dificultades, retos y estrategías ** que enfrentamos los organizadores de eventos y comunidades, los problemas que hay, compartir ideas y proponer diferentes puntos de vista. Una unconference donde estén presentes varios coordinadores y miembros de las varias comunidades.","created":1562094143945,"bookmarkCount":24,"recordingAuthorized":true,"videoURL":"https://youtu.be/FykTKN3xAb4","tags":{"39153":[" Intermediate"],"0db80":[" Social"],"70b46":[" Unconference"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"50":"Se realiza una encuesta entre los asistentes para conocer si son organizadores de alguna comunidad, revelando que la mayoría lo son, y se establece el objetivo común de las comunidades: reunir a personas con intereses similares y fomentar el debate y el intercambio de conocimientos.","660":"Se enfatiza que si los asistentes han acudido es porque quieren escuchar lo que se va a decir.","5":"El ponente se presenta, introduce el formato de la charla y explica que está orientada a compartir experiencias y conocimientos sobre la organización de eventos y comunidades, incluyendo los desafíos que esto implica, agrupados en tres bloques: antes, durante y después del evento.","280":"Se plantea cómo conseguir ponentes, discutiendo estrategias como contactar empresas, aprovechar la red de contactos, y el uso de plataformas como Twitter para buscar interesados, además de generar una comunidad activa y colaborativa.","105":"Primer desafío: encontrar lugares y espacios adecuados para los eventos. Se abordan las dificultades de hallar espacios gratuitos y la competencia en ciudades grandes, mencionando la colaboración con centros cívicos y la importancia de la comunicación para superar estos desafíos, así como la necesidad de cumplir con las normas del lugar.","458":"Se mencionan los desafíos de la comunicación y el marketing de los eventos, así como la importancia de una buena métrica para evaluar el impacto de la comunidad.","525":"Se discute el tema de los patrocinios, la necesidad de facturas y cómo manejar la relación con las empresas patrocinadoras."}},"presenters":[{"path":"accounts/u-G1kNWSnGb6ObIrSe0lMI1Sa45hu1","reimburseExpenses":false,"uuid":"reinaldoaguilera","name":"Rei Aguilera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-G1kNWSnGb6ObIrSe0lMI1Sa45hu1/avatar/dafbfaa864.avif","twitterAccount":"reiaguilera","id":"u-G1kNWSnGb6ObIrSe0lMI1Sa45hu1"}],"id":"XRgGLwOSupfAw5mld6bO"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/XgxEznbdGiEcwTNv7cna","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Infraestructura como código con Terraform","description":"Cuando montas una infraestructura en la nube es muy probable que necesites muchas máquinas distintas: bases de datos **SQL** y **NoSQL**, servidores **NodeJS**, **PHP** o **Java**, **Redis** y un sinfín de cosas más.\n\nCada una de estas máquinas tiene su propia configuración y podemos tardar varios días en tenerlas a punto. Por si esto fuera poco, **debes tener la infraestructura de producción replicada exactamente igual para un entorno de testing**, otro para integración continua y puede que incluso para cada desarrollador. Además de la confianza en el equipo de DevOps, **¿hay algo que nos garantice que esos entornos son exactamente iguales y no se desalinean con el tiempo?**\n\n¿Qué pensarías si después de toda una mañana creando y configurando máquinas tuvieras que crear una más por cada entorno?\n\n**La infraestructura como código está aquí para hacernos la vida más fácil**. Con Terraform vamos a despedirnos de crear máquinas a golpe de click y daremos la bienvenida al control de versiones y a la integración continua de nuestra infraestructura.","created":1558898904328,"bookmarkCount":105,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/file/d/1x519j2KNqoGew7XPeRHr7hfygLSXwqO8/view?usp=sharing","videoURL":"https://youtu.be/xhZ4EqYrjmI","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" DevOps"," Cloud"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"480":"Ventajas de la infraestructura como código: control de versiones, integración continua, conocimiento compartido, automatización y solución a problemas de configuración manual repetitiva. Uso de Terraform State Locking.","101":"Se plantea la necesidad de la infraestructura como código para optimizar procesos y se presenta el problema de configurar múltiples entornos (desarrollo, pruebas, producción) al comenzar un proyecto.","309":"Introducción a Terraform como herramienta para construir, modificar y versionar la infraestructura, detallando sus características (código abierto, modular, flexible), Resources, Providers, State y Módulos.","360":"Muestra de proveedores de Terraform (AWS, Azure, Google Cloud, DigitalOcean, etc.) y posibilidad de crear proveedores propios. Demostración práctica con Azure.","153":"Explicación del caso de uso de isEazy, una herramienta de autor en la nube orientada al e-learning, y demostración visual de la evolución de una infraestructura básica a una más compleja.","573":"Explicación de los archivos de configuración de Terraform (main.tf, variables.tf, output.tf, backend.tf), uso de Azure Resource Manager (azurerm) y creación de recursos. El código de Terraform debe estar en repositorios independientes.","46":"Introducción del presentador, Mario Pérez, desarrollador en isEazy.com.","31":"La charla se centrará en la infraestructura como código utilizando Terraform."}},"presenters":[{"path":"accounts/l-79284002","description":"Ingeniero de Telecomunicación. Fundador de geekytheory.com y desarrollador en iseazy.com. Amante del software libre y de compartir mis conocimientos con el resto del mundo.","reimburseExpenses":false,"uuid":"marioperezesteso","name":"Mario Pérez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-79284002/avatar/db9ab6e6e7.avif","twitterAccount":"marioperest","id":"l-79284002"}],"id":"XgxEznbdGiEcwTNv7cna"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Y08F83pCby9nJTAmdeLa","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":" Testing de microservicios hexagonales con Spring Boot que emocionarían a Marie Kondo","description":"Si tus tests aún no producen *Tokimeku* aprendamos cómo hacer **microservicios** Java en **Spring Boot** sobre **Arquitecturas Hexagonales** y **Clean Architectures**; tan limpios y ordenados que inspirarían felicidad en la mismísima **Marie Kondo**.\nUna visión con los pies en la tierra sobre cómo realizar buenas suites de tests *escalables, mantenibles, eficientes y productivos.*\nSaldrás sabiendo cómo afrontar los tests, qué errores son los comunes, cómo hacer test unitarios y de integración bien, qué anotaciones usar y cómo; y otras librerías de apoyo a los tests.","created":1558615693469,"bookmarkCount":126,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/19ERDXuJ50nESP9SO-yd7du94cWpgh_E5X6wS1mBVKdQ/edit?usp=sharing","videoURL":"https://youtu.be/Z1tr5KWrilE","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Other"," Cloud"],"1f174":["Spanish"],"92508":["Java","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"352":"Demostración de pruebas utilizando Spring Boot, incluyendo el manejo de errores y problemas de configuración. Explicación de cómo Spring Boot busca la configuración y el uso de clases internas para las pruebas.","483":"Demostración de la carga de componentes en Spring Boot y problemas con el uso de @TestConfiguration.","995":"Énfasis en la separación del código de producción del código de prueba y en evitar la inyección de campos. Recomendación de usar @Configuration solo para pruebas en lugar de @ComponentScan o @DirtiesContext.","835":"Discusión de los principios de la arquitectura hexagonal y el uso de paquetes para reflejar las capas. Demostración de la estructura del código con paquetes distintos para el dominio, la infraestructura, la API y los puntos de entrada.","5":"Presentación de Andrés G. Seijas en la conferencia Commit 2019 sobre pruebas de microservicios hexagonales con Spring Boot. Introducción del ponente, Andrés G. Seijas, desarrollador del SRE-Team en Magnolia, y su trayectoria profesional.","200":"Introducción a Marie Kondo y el método KonMari, relacionándolo con las buenas prácticas de prueba.","234":"Discusión sobre la pirámide de pruebas y el uso de Spring Boot para las pruebas.","747":"Explicación de las anotaciones @SpringBootApplication y @EnableAutoConfiguration.","652":"Demostración del manejo del escaneo de componentes y sus implicaciones para las pruebas en Spring Boot.","83":"Introducción a la arquitectura hexagonal y referencia a la charla de Josh Long sobre Bootiful Testing. Explicación de la arquitectura hexagonal como una arquitectura en capas centrada en el dominio empresarial. Énfasis en la importancia de probar los microservicios hexagonales y recomendación de la charla de Josh Long.","567":"Discusión sobre el uso de SpringBootTest para pruebas de extremo a extremo e integración, y la importancia de separar el código de dominio e infraestructura.","602":"Explicación de cómo usar Spring Boot para probar aplicaciones web, incluyendo el uso de WebEnvironment y puertos aleatorios.","61":"Magnolia, un CMS híbrido de código abierto sin cabeza y su proceso de contratación en Madrid."}},"presenters":[{"path":"accounts/u-yLqNJ0Q4nHViGSJ2uwj8MgcUx4J2","description":"Chair-table attachment that throws up code sometimes. Madrid.","reimburseExpenses":false,"uuid":"andresgseixas","name":"Andres G. Seixas","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-yLqNJ0Q4nHViGSJ2uwj8MgcUx4J2/avatar/ac106c3a51.avif","id":"u-yLqNJ0Q4nHViGSJ2uwj8MgcUx4J2"}],"id":"Y08F83pCby9nJTAmdeLa"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Z0YPw28gBrwIo59Dhagk","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Taller de iniciación al Creative Coding","description":"No todo va a ser hablar del último framework, de la última metodología ágil, de la última funcionalidad añadida al último lenguaje, o de si es mejor la programación funcional que la programación orientada a objetos.\n\nNosotros queremos hablar de **programar de forma creativa para crear arte**. \n\nEn este taller queremos **iniciaros en el apasionante mundo del Creative Coding**. ¿Y qué mejor que iniciarse en este mundo que remangándose las mangas y poniendo las manos delante de un teclado a programar con fines estéticos y no funcionales? :-)\n\nRepositorio del taller: ","created":1558878711482,"bookmarkCount":31,"recordingAuthorized":false,"tags":{"39153":["Beginner"],"70b46":[" Lab"],"0db80":[" Soft skills"," Other"," Design/UX"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/u-UdJnozdLfgTVUwEUESDXqGd6e7w2","description":"Empecé desarrollando aplicaciones web, hasta que di el salto a la docencia. Un día me dió por crear [HackathonLovers](http://hackathonlovers.com), una comunidad de amantes de los hackathones. Actualmente soy asesor técnico en el [servicio TIC de la Dirección General de Infraestructuras y Servicios de la Consejería de Educación e Innovación](http://www.madrid.org/es/transparencia/consejeria/servicio-tecnologias-informacion-y-comunicacion) de la Comunidad de Madrid. Además colaboro puntualmente como profesor en la [Universidad de Alcalá](https://www.uah.es) y como formador especializado en tecnologías de desarrollo en [Pronoide](http://www.pronoide.com)\n\n[twitter](https://twitter.com/asanzdiego) |\n[web](https://www.asanzdiego.com) |\n[github](https://github.com/asanzdiego) |\n[linkedin](https://www.linkedin.com/in/asanzdiego)","reimburseExpenses":false,"uuid":"asanzdiego","name":"Adolfo Sanz De Diego","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-UdJnozdLfgTVUwEUESDXqGd6e7w2/avatar/3d24ee9364.avif","id":"u-UdJnozdLfgTVUwEUESDXqGd6e7w2"},{"path":"accounts/l-396504001","description":"Programador creativo enfocado al desarrollo y la investigación de experiencias interactivas en áreas diversas tales como la visión artificial, el Arte Digital, los Videojuegos, las Visualizaciones de datos, la Realidad aumentada, el Video-mapping, o el prototipado de productos interactivos entre otros.\n\n[twitter](https://twitter.com/carlesgutierrez) |\n[web](http://carlesgutierrez.github.io/) |\n[github](https://github.com/carlesgutierrez) |\n[linkedin](https://www.linkedin.com/in/carlesgutierrez/)","reimburseExpenses":false,"uuid":"carlesgutierrez","name":"Carles Gutierrez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-396504001/avatar/51b4c4df8a.avif","id":"l-396504001"},{"path":"accounts/l-420214002","description":"Trabajo como Creative Technologist y aunque soy ingeniero llevo años mezclando diseño, creatividad y tecnología en experiencias interactivas dentro y fuera de la pantalla para agencias de publicidad, estudios digitales y grandes corporaciones. Algunos de los clientes para los que he trabajado son RTVE, Google, 72&Sunny, B-Reel y BBVA. Actualmente aporto mi granito de arena a un equipo de Diseño de Experiencia de Usuario.\n\n[twitter](https://twitter.com/javiaranega) |\n[web](http://www.javiaranega.com) |\n[github](https://github.com/jaranega) |\n[linkedin](https://www.linkedin.com/in/javiaranega/)","reimburseExpenses":false,"uuid":"javiaranega","name":"Javi Aránega","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-420214002/avatar/d38e834c73.avif","id":"l-420214002"}],"id":"Z0YPw28gBrwIo59Dhagk"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ZIcjxO7R1WC4muxD0ftu","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"¿Qué es eso de GraalVM?","description":"Introducción a **GraalVM**, una nueva maquina virtual políglota de alto rendimiento, que permite ejecutar programas de lenguajes basados en la **JVM** (Java, Scala, Kotlin, Clojure), y también integrar lenguajes de programación \"invitados\" como JavaScript, Python, Ruby, R, C o C++.\n\nLa charla comenzará por explicar en qué consiste la compilación \"Just in Time\" (**JIT**) y qué mejoras aporta **GraalVM** en ese campo. A continuación describiremos la capacidad de realizar compilación \"Ahead of Time\" (**AOT**) y en qué situaciones puede resultar ventajosa. En la parte final exploraremos el framework **Truffle** que permite definir nuevos lenguajes para ejecución en **GraalVM**.","created":1563784026223,"bookmarkCount":81,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/danidiaz_softtek/que-es-eso-de-graalvm","videoURL":"https://youtu.be/BuUiJdfzpxs","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["Java","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"576":"Funcionalidades proporcionadas por Substrate VM: recolección de basura y gestión de hilos. Limitaciones: no soporta carga dinámica de clases, Security Manager, ni JMX.","832":"El método 'compile' como punto central de la JVMCI.","899":"Substrate VM, Una máquina virtual reducida incluida en los ejecutables nativos para gestionar la recolección de basura y la gestión de hilos. ","3":"Presentación de los ponentes, Daniel Díaz y César Sapetti, analistas programadores en un proyecto de desarrollo Java full-stack en Softtek.","1031":"Ventajas de usar Truffle: infraestructura común, herramientas compartidas, intérpretes de alto rendimiento, fácil interoperación entre lenguajes (poliglotismo).","713":"Arquitectura general de GraalVM y sus capas: lenguajes de la JVM, JavaScript, Python, Ruby, R, lenguajes de la LLVM, Truffle framework, compilador Graal, JVM Compiler Interface (JVMCI), Substrate VM y Java HotSpot VM.","650":"Limitaciones de native-image: se requiere un ejecutable para cada arquitectura y no soporta fácilmente técnicas de metaprogramación como la reflexión.","843":"El problema del \"bootstrapping\" de Graal: al estar escrito en Java, necesita compilar su propio bytecode, lo que inicialmente puede ser lento.","1164":"Ejemplo de un programa en Ruby.","76":"Origen de la charla: interés en GraalVM surgido en la Commit Conf del año anterior y la falta de una explicación clara sobre qué es.","1103":"Ejemplo de uso de una clase Java desde Javascript.","465":"El compilador Graal: escrito en Java, a diferencia de los compiladores JIT anteriores (C1 y C2) que estaban escritos en C++.","979":"Truffle: framework para la creación de nuevos lenguajes en la JVM, proporciona infraestructura común y herramientas compartidas.","533":"Substrate VM: máquina virtual reducida incluida en los ejecutables nativos generados por la herramienta native-image.","661":"Existencia de una versión gratuita (Community) y una de pago (Enterprise) de GraalVM, la última con mejoras de rendimiento.","598":"Native-image: herramienta de línea de comandos para compilar aplicaciones AOT y generar ejecutables autocontenidos (\"imágenes nativas\").","283":"Introducción a la compilación Ahead Of Time (AOT) como alternativa a JIT: generación de código nativo a partir del bytecode mediante un análisis estático.","477":"Ventajas de que Graal esté escrito en Java: más fácil de mantener, mejores herramientas de desarrollo y depuración, seguridad del lenguaje, y beneficios de las mejoras en la generación de código.","416":"Definición de GraalVM como una máquina virtual políglota de alto rendimiento de Oracle.","800":"Cómo la JVM se comunica con el compilador JIT (Graal en este caso) a través de la JVMCI, y cómo cualquiera puede implementar su propio JIT.","929":"Native-image: herramienta para compilar aplicaciones AOT y generar imágenes nativas que incluyen Substrate VM.","739":"El compilador Graal: compilador JIT escrito en Java que no debe confundirse con GraalVM.","872":"Solución al problema del \"bootstrapping\": LibGraal, una versión de Graal compilada AOT a código nativo.","105":"Agenda de la presentación: revisión de las capas de GraalVM y conceptos importantes como JIT (Just In Time Compilation) vs. AOT (Ahead Of Time Compilation).","172":"Ventajas de la compilación JIT: optimizaciones basadas en el análisis de la ejecución, como eliminación de código inalcanzable y sustitución de expresiones constantes.","45":"Agradecimiento a los compañeros Marta y Diego por la parte gráfica de la presentación.","686":"Instalación por defecto de GraalVM y los binarios disponibles, incluyendo el intérprete de JavaScript (Node.js).","1137":"Pregunta sobre la necesidad de compilar la imagen nativa en la máquina de destino.","436":"GraalVM como una versión de la JVM que ejecuta bytecode y soporta múltiples lenguajes (Java, Scala, Kotlin, Clojure, JavaScript, Ruby, Python, R, C, C++).","500":"JVM Compiler Interface (JVMCI): interfaz introducida en Java 9 que permite a la JVM comunicarse con compiladores JIT como Graal.","1269":"Respuesta: Sí, se necesita compilarlo en la máquina de destino o en una igual, con el mismo sistema operativo.","249":"Desventajas de la compilación JIT: carga inicial lenta debido a la necesidad de interpretar o compilar el bytecode en tiempo de ejecución.","124":"Explicación de la compilación Just In Time (JIT): cómo el bytecode de Java es interpretado o compilado a código nativo en tiempo de ejecución para mejorar el rendimiento.","957":"Limitaciones: native-image no está disponible para Windows (al menos por ahora) y requiere compilar para cada arquitectura de destino.","766":"Beneficios de que el compilador Graal esté escrito en Java."}},"presenters":[{"path":"accounts/l-413404001","description":"César trabaja como desarrollador full stack para Softtek. Le gusta JavaScript, la programación funcional y ahora GraalVM :) ","reimburseExpenses":false,"uuid":"cesarsapetti","name":"César Sapetti","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-413404001/avatar/6df77cb0d4.avif","twitterAccount":"cesar_sapetti","id":"l-413404001"},{"path":"accounts/l-401524001","description":"Daniel comenzó a programar en MSX BASIC y, tras cierto número de años, ahora programa en Java.","reimburseExpenses":false,"uuid":"daniel-diaz-carrete","name":"Daniel Diaz Carrete","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-401524001/avatar/a159a38acc.avif","twitterAccount":"DiazCarrete","id":"l-401524001"}],"id":"ZIcjxO7R1WC4muxD0ftu"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/cBSi88xF5Fg4ZXoSSaxm","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Producto como centro del cambio al Agile","description":"Que es un producto? ¿Es posible hacer una transformación de Agile con proyectos? Cuando ayudo a las empresas a transformarse agile mi rol es solo enfocado a producto y por consecuencia a los Product Owner. Lo más común es pensar que si faseamos un proyecto tenemos una entrega por Sprints y por ello un producto.\nMe gustaría discernir en lo que es un producto enfocado a cliente y un proyecto creado por un área de negocio que cree saber la solución que el mercado necesita. \n\nEl principal objetivo de la charla es mostrar a empresa o diferentes roles como gestionar un equipo multidisciplinar dedicado a crear, mejorar y desarrollar un producto digital de forma autónoma dentro de una compañía donde puede que hayan más de uno. \n","created":1559510280981,"bookmarkCount":65,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/luciabarroso/producto-como-centro-de-la-transformacion","videoURL":"https://youtu.be/i5KOkS2QGEc","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":["Agile and Lean"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"17":"Introducción de la ponente, Lucía Barroso, consultora especializada en la transformación de organizaciones hacia modelos orientados al producto.","212":"La PMO se encarga de controlar que se cumplan los plazos y los costes, y de organizar equipos.","741":"El producto tiene que tener sentido en el mercado. El cambio a valor es lo mismo que el cambio de usuario. Técnicas para crear producto: exploración, explotación y evolución.","359":"El CPO se encarga de los objetivos generales alineados a la estrategia. La importancia de un CPO (Chief Product Officer) en la toma de decisiones estratégicas y la alineación de los equipos de producto con los objetivos de la empresa.","637":"Necesidad de una organización orientada a producto, con objetivos concretos.","61":"Discusión sobre el 'paradigma del calendario', donde las decisiones y la fuerza dentro de una organización se basan en la autoridad en lugar de en datos y necesidades del cliente.","510":"Las cinco maneras en que una organización puede conseguir un Product Owner (PO): contratar a alguien con experiencia, promocionar a un experto interno, formar a alguien interno, contratar a un PO y formarlo en el sector, o contratar a un PO del sector de otra empresa. Discusión sobre cómo las empresas a menudo no tienen figuras de POs, y la necesidad de formarlos y alinear la organización para que trabajen eficazmente.","238":"Se compara la agilidad con la rapidez, y a menudo no se evalúa las necesidades del usuario. Se señala la confusión común entre agilidad y rapidez, ilustrando con ejemplos de Usain Bolt y Almudena Cid.","111":"Explicación de cómo, a finales de año, el CODIR genera una lista extensa de proyectos para el departamento de IT, lo que lleva a una planificación anual rígida y poco realista.","95":"Análisis de cómo se mide la orientación al producto en las organizaciones y la estructura común que se encuentra: un comité de dirección (CODIR), una oficina de gestión de proyectos (PMO) y un equipo de desarrollo."}},"presenters":[{"path":"accounts/l-144804001","description":"Llevo 7 años creando producto y desarrollándolos como Product Owner hace 3 que me derivé hacer transformaciones en el sector turismo a través de crear productos y enseñar a los product owners a gestionarlos mendiante equipos de agile utilizando la metodología que más se adecue a la necesidad del producto kavan o scrum. \n\n","reimburseExpenses":false,"uuid":"luciabarrosom","name":"Lucia Barroso","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-144804001/avatar/e57f3b3cfb.avif","id":"l-144804001"}],"id":"cBSi88xF5Fg4ZXoSSaxm"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dDhu1lImFJKeFS4cE6M1","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"¡¡¡Uno para todos y todos para uno!!! Cómo desarrollar aplicaciones móviles accesibles","description":"Creas una aplicación disruptiva, la publicas en las tiendas, pero comienzas a recibir comentarios de algunos usuarios que no la pueden utilizar correctamente... ¡¡¡Se te ha olvidado hacerla accesible!!! \nCon los avances en tecnología móvil y las plataformas de distribución de aplicaciones que permiten llegar a cientos de millones de potenciales usuarios debemos tener en cuenta más circunstancias y factores que son importantes en la usabilidad, además de comprobar, por supuesto, si la aplicación funciona.\nActualmente, existe un mayor número de usuarios de los que pensamos. Ya no es suficiente hacer una aplicación, debemos construirla de tal manera que la gran mayoría de personas pueda utilizarla sin grandes dificultades, creando una aplicación amigable. Es nuestra responsabilidad como desarrolladores pensar de qué forma podemos diseñar una aplicación accesible para incluir a la mayoría de los usuarios.\nEn esta charla vamos a repasar los componentes, características y herramientas que están a nuestra disposición para que las aplicaciones sean más accesibles.","created":1571231362908,"bookmarkCount":45,"recordingAuthorized":true,"slidesURL":"http://speakerdeck.com/acabezas/uno-para-todos-y-todos-para-uno-como-desarrollar-aplicaciones-moviles-accesibles","videoURL":"https://youtu.be/wYgEkFRPU5o","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Mobile"," Accessibility"," Design/UX"],"1f174":["Spanish"],"92508":["Swift","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"192":"Explicación del concepto \"El efecto del corte del bordillo\" y cómo un diseño inclusivo beneficia a la mayoría de las personas.","386":"Principios de accesibilidad que los desarrolladores deben tener en cuenta al crear aplicaciones para diferentes plataformas.","611":"Recomendaciones para el desarrollo de aplicaciones accesibles en Android, incluyendo consejos sobre etiquetado, control de elementos y diseño.","37":"Explicación de los diferentes tipos de discapacidad desde el punto de vista del desarrollador.","133":"La importancia del principio \"Comenzar con uno, inventar para muchos\" al crear aplicaciones para la accesibilidad.","1191":"Explicación sobre los antipatrones comunes en anuncios y manejo de foco, y la mejor manera de evitarlos en la accesibilidad.","328":"Iniciativas de las principales compañías tecnológicas relacionadas con la accesibilidad en el desarrollo de aplicaciones móviles.","1385":"Herramientas y recursos adicionales para crear aplicaciones accesibles.","1065":"Recomendación sobre agrupar contenido para simplificar la navegación.","1801":"Recomendaciones finales y datos de contacto para consultas y soporte.","10":"Introducción a la charla sobre accesibilidad en el desarrollo de aplicaciones móviles, con un enfoque en Android.","76":"Motivación para el desarrollo de aplicaciones accesibles.","849":"Recomendación sobre el uso de \"sp\" para los tamaños de texto para adaptarse a la configuración del dispositivo.","147":"Estadísticas sobre discapacidades en la población mundial.","1492":"Tipos de pruebas a implementar: automáticas y manuales.","532":"Explicación de los servicios de accesibilidad en Android, como el sistema de comunicación con el usuario y su framework.","245":"Estadísticas de personas que no tienen visión o tienen una visión reducida y que tienen pérdida auditiva.","757":"Sugerencia sobre validar la aplicación en diferentes versiones de Android y en distintos dispositivos, considerando las variaciones de la fragmentación.","917":"Recomendaciones sobre la importancia de usar el elemento Botón cuando su función es de botón.","312":"Mención del crecimiento del contenido de video en línea y su relevancia para la accesibilidad.","1112":"Recomendación sobre el uso de colores para indicar estados y acciones y su efecto en la accesibilidad.","92":"Tipos de discapacidad que se pueden encontrar en el desarrollo de aplicaciones móviles.","1150":"Recomendación sobre las pruebas de TalkBack con dos usos \"Explorar al tocar\" y \"Deslizar para mover el foco\".","1023":"Sugerencia sobre esconder elementos innecesarios para mejorar la experiencia de usuarios con lectores de pantalla."}},"presenters":[{"path":"accounts/l-142584001","description":"Soy un apasionado del desarrollo de Software y, en particular, del desarrollo de aplicaciones móviles. Llevo seis años creando Apps para dispositivos móviles y espero seguir haciéndolo bastante más tiempo.\nA los 17 años inicié mi carrera de ingeniería informática y desde entonces he ido creciendo en proyectos como desarrollador web, dba y, desde hace algunos años me he especializado en el desarrollo de aplicaciones nativas.\nActualmente soy desarrollador de aplicaciones nativas y trabajo como arquitecto de movilidad en Sopra Steria donde me encuentro colaborando para transformar las aplicaciones de banca móvil de una entidad financiera.","reimburseExpenses":false,"uuid":"alexandercabezasm1","name":"Alexander Cabezas","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-142584001/avatar/26f5fc9fe7.avif","id":"l-142584001"}],"id":"dDhu1lImFJKeFS4cE6M1"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dFwtE18iNOf4VoYfWATm","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Serverless y React, la pareja perfecta","description":"¿Cansado de gestionar infraestructura? ¿Quieres enfocarte más en tu producto? ¿Quieres poder contar con escalabilidad casi sin limites a un precio tirado? Bienvenido pues al mundo Serverless, un lugar donde la combinación de un número creciente de servicios en el cloud te permitirá construir aplicaciones sencillas y escalables.\n\nComo la mejor forma de aprender algo nuevo es ensuciándose las manos, durante esta sesión desarrollaremos una pequeña aplicación de reconocimiento facial con lambda y AWS Rekognition. De esta forma conectaremos nuestra moderna y molona aplicación SPA/React a nuestro backend desarrollado con Serverless Framework, desplegado sobre lambda y con un toque de persistencia en DynamoDB.\n\n¿Qué puede salir mal? :)","created":1558710852795,"bookmarkCount":161,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/borillo/serverless-y-react-la-pareja-perfecta","videoURL":"https://youtu.be/abBdzXrUYB8","tags":{"39153":[" Intermediate"],"0db80":["Agile and Lean"," Web"," Cloud"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"66":"Introducción a Red Flag, iniciativa para mejorar el desarrollo profesional en empresas.","226":"Contexto tecnológico: uso de Serverless Framework y React.","355":"Demostración de una aplicación sencilla con reconocimiento facial, implementada con Serverless, incluyendo la estructura del proyecto con frontend, backend y tests de aceptación.","154":"Explicación de cómo mantener la coherencia en el desarrollo con Serverless, sin perder la visión de negocio.","765":"Separación entre comandos y consultas (queries) en el backend y el uso de GraphQL.","30":"Introducción a Serverless y React, tecnologías usadas en Via 360, y resumen del enfoque Serverless y su relación con la infraestructura y la experiencia del usuario.","895":"Importancia de seguir un enfoque \"outside-in\" en el desarrollo."}},"presenters":[{"path":"accounts/l-232009","description":"Llevo desarrollando aplicaciones ricas desde hace más de 15 años.\n\nMi principal objetivo es dar a conocer JavaScript y su ecosistema desde una perspectiva ágil, centrada en la calidad del código y en poder aplicar de forma sencilla técnicas consideradas más avanzadas como testing y/o refactoring.\n\nActualmente imparto en empresas una curso llamado Agile JavaScript. Por otra parte, enseño refactoring en Agile@Work, genero contenidos en Programmer@Work y GenBeta Dev y organizo decharlas.com.","reimburseExpenses":false,"uuid":"ricardoborillo","name":"Ricardo Borillo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-232009/avatar/b05030f572.avif","twitterAccount":"borillo","id":"l-232009"}],"id":"dFwtE18iNOf4VoYfWATm"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dLiAKwdRFfp84NbYp6FN","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"In3 Una incubadora neonatal DIY","description":"En 2015 comenzamos un proyecto muy bonito y ambicioso. Crear una Incubadora neonatal DIY de diseño abierto con la intención de ayudar a solucionar 3 problemas:\n\n- Resolver un problema sanitario\n- Ayudar a la empleabilidad local\n- Generar un ecosistema escalable y abierto de dispositivos sanitarios\n\nEn los últimos 5 años hemos aprendido mucho de nuestros aciertos y errores. ¿Cómo hemos solucionado los problemas que se han presentado? ¿Qué retos tenemos en el horizonte?","created":1572991778638,"bookmarkCount":16,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1LAT4ZF7nAkKqcOjwgS20SlzJZCm6OFxQgGD4ThQzs3A/edit?usp=sharing","videoURL":"https://youtu.be/3Ur8aYv1SKo","tags":{"39153":["Beginner"],"0db80":[" IoT"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["C/C++","PHP","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"65":"Incubadora DIY: promover la producción local para mejorar las economías locales y mejorar la accesibilidad","1485":"Abordar las preocupaciones sobre el costo, la capacitación y la importancia de la adaptación cultural local","1166":"Desafíos y trabajo futuro: comprensión cultural, ciclos de retroalimentación y adaptación de diseños basados en las necesidades del usuario","81":"Situación actual: altas tasas de mortalidad en países en desarrollo, influenciadas por la falta de acceso a incubadoras","1299":"Naturaleza de código abierto: el proyecto es de código abierto, excluyendo algunos componentes","278":"Métodos del proyecto: creación rápida de prototipos, diseño y electrónica utilizando bricolaje","408":"Primer prototipo: estructura de madera y electrónica","217":"Diferenciación del proyecto: se centra en un enfoque de abajo hacia arriba en lugar de donaciones, código abierto para la construcción y reparación, complementando las soluciones existentes","476":"Versión 2: diseño mejorado para la eficiencia y la accesibilidad","92":"Análisis de costos: si bien las incubadoras pueden ser donadas, la capacitación y el mantenimiento son costosos","541":"Versión 3: retroalimentación, aumento de sensores de temperatura y humedad, oximetría, tamaño reducido y material plástico","1374":"Impacto: discusión de anécdotas de África que muestran cómo los factores culturales influyen en la adopción y el papel de la capacitación","1311":"Implementación de tecnología: microcontroladores, lenguaje C","735":"Conclusiones: la importancia de adaptar las soluciones a la cultura local, asegurar la participación del usuario, aspectos políticos y sociales a considerar","995":"Privacidad de datos: anonimización de datos y prácticas de almacenamiento seguro que cumplen con las regulaciones GDPR","292":"Características del proyecto: código abierto, sostenible, replicable y reparable localmente","232":"Objetivos iniciales: regular la temperatura y la humedad, ajustar la inclinación de la cama, bajo costo, fácil mantenimiento, adaptable, estructura descentralizada","367":"Historia del proyecto: se originó a partir de una tesis, primer prototipo en 2015, reconocimiento del MIT, Stanford y varios premios","48":"Misión del proyecto: asegurar el acceso a incubadoras neonatales para todos los recién nacidos, independientemente de los recursos, abordar los desafíos de la atención médica y mejorar las tasas de mortalidad","307":"Escalabilidad: aprovechada a través de la red de Fab Labs y las contribuciones de voluntarios","885":"Nueva versión: incluye redundancia, detección de fallas y una pantalla táctil","1275":"Miembros del equipo e impacto del proyecto: destacando las contribuciones y el reconocimiento por el trabajo del equipo","123":"Alternativas disponibles actualmente: botellas de agua caliente, cajas de metacrilato, mamá canguro, calentadores de abrazos","444":"Versión 1: control de la humedad mediante bandejas, aumento y disminución de la temperatura en 10/3 grados sobre la temperatura ambiente, fácil montaje, material de madera, acceso superior","1343":"Repercusiones: el proyecto se presentó en diferentes foros como CEU, Stanford y Fab11"}},"presenters":[{"path":"accounts/l-128904005","description":"Ingeniero Informático, Ingeniero de Telecomunicaciones y Máster en Ingeniería Biomédica. Actualmente trabajando como director técnico en Madrija, una empresa de desarrollo Software y Hardware sanitario.","reimburseExpenses":false,"uuid":"alejandro5","name":"Alejandro Escario Méndez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-128904005/avatar/ca37e9ad1c.avif","id":"l-128904005"}],"id":"dLiAKwdRFfp84NbYp6FN"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/eSB9WCXIxyJkBAcu9V47","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Arquitecturas de microservicios: intentando no morir en el intento","description":"La implantación de soluciones de arquitectura basadas en microservicios se ha extendido de forma imparable. \nGrandes empresas como *Netflix* o *Amazon* abanderan estas arquitecturas como la solución a sus enormes sistemas, convirtiéndose en la referencia para miles de empresas que anhelan las capacidades que estos dos gigantes demuestran.\n\n¿En qué momento implementar esta maravilla tecnológica puede llegar a hundir tu negocio? ¿cómo las capacidades de escalabilidad o resiliencia de estas arquitecturas pueden llegar a ser contraproducentes?\n\nEn esta charla vamos a hablar sobre análisis, definición y diseño de una arquitectura de microservicios. Intentaremos trocear un monolito a través patrón de estrangulamiento y analizar sus consecuencias.\n\n","created":1572433015391,"bookmarkCount":188,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/agrande/arquitecturas-de-microservicios-intentando-no-morir-en-el-intento","videoURL":"https://youtu.be/n_MSp1zILUI","tags":{"39153":[" Advanced"],"0db80":[" Other"," Cloud"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"387":"Ejemplo: Banca privada","1797":"Acceso a datos - Definición de los dominios","1286":"Patrón estrangulamiento y el caso de negocio","1670":"Patrón estrangulamiento y el cambio a datos en tiempo real","71":"Aplicación de doce factores","1034":"Volatilidades y correlaciones como microservicios","651":"Diseño de la arquitectura - Definición de los dominios","909":"Cálculo de volatilidades","1615":"Nuevo cálculo de volatilidades en tiempo real","144":"Problema del martillo","81":"Características de las arquitecturas de microservicios","338":"Descomposición de monolitos","1747":"Conclusiones","980":"Cálculo de correlaciones","1301":"¿Qué hemos aportado al negocio?","1503":"Consecuencias y problemas del enfoque de microservicios","287":"Estructura","549":"Situación de partida","297":"Caso de uso: arquitectura orientada a eventos","234":"Diseño de la arquitectura","45":"¿Qué son los microservicios?","174":"¿Una solución para todos los problemas?","1070":"Nueva opción para volatilidades y correlaciones","1967":"Punto de partida y análisis de riesgos en microservicios","1526":"Nueva situación de partida: precios en \"tiempo real\"","187":"Compensación","767":"Patrón estrangulamiento"}},"presenters":[{"path":"accounts/u-T8tN0FodrRfIk4ZkdEwAD4938LY2","description":"Soy Ingeniero Informático por la UPM, amante de la tecnología y todo lo que la rodea. Especialmente interesado en desarrollo, arquitecturas distribuidas y escalables y sistemas Cloud. \nPienso que en software la calidad debe estar por encima de todo y nunca debería ser negociable. ","reimburseExpenses":false,"uuid":"albertogrande","name":"Alberto Grande","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-T8tN0FodrRfIk4ZkdEwAD4938LY2/avatar/6935c5aa39.avif","id":"u-T8tN0FodrRfIk4ZkdEwAD4938LY2"}],"id":"eSB9WCXIxyJkBAcu9V47"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/fIemADBaSx5TOq2h4MaB","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Ir pa ná es tontería: haz tus charlas y eventos más accesibles","description":"Te has currado una pedazo de charla, tus slides son preciosas y por fin vas a atreverte a programar en directo. Todo el mundo va a flipar... Llevas meses organizando ese fantástico evento multitudinario, tienes ponentes de lujo y las entradas están tan agotadas como tú. Da igual, ha mercido la pena, Va a ser alucinante...\n¿Seguro? ¿Te has planteado que en el público puede haber personas ciegas o con problemas de visión? ¿O que quizá haya alguien que no puede oir las explicaciones? Y alguien que venga en silla de ruedas, ¿podrá siquiera entrar al evento?\nEn esta ponencia veremos los problemas de accesibilidad más frecuentes que se pueden encontrar los asistentes a tu charla o evento y, sobre todo, cómo evitarlos.\nRepasaremos todo lo necesario: desde el Call for Papers y la elección del lugar hasta la creación de la web o la venta de entradas, pasando por el networking o el diseño de las presentaciones, así como la mejor manera de comunicar tus ideas sin dejar fuera a nadie.\nEn definitiva, todo lo que debes saber para alcanzar la verdadera inclusión en los eventos tecnológicos.\n","created":1559505743999,"bookmarkCount":43,"recordingAuthorized":true,"videoURL":"https://youtu.be/b-YHlKwFdcs","tags":{"39153":["Beginner"],"0db80":[" Soft skills"," Social"," Accessibility"," Design/UX"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1472":"Preguntas del público y registro accesible, incluyendo descuentos o entradas gratuitas para colectivos.","1347":"Consideraciones sobre la accesibilidad del lugar: iluminación, acústica, medios técnicos, transporte y acceso.","3":"Introducción por Ramón Corominas, consultor de accesibilidad freelance.","644":"Discusión sobre los cimientos de la accesibilidad, incluyendo el código de conducta y el código ético.","1029":"Clasificación por niveles de accesibilidad: problema, posible, práctico, perfecto.","1414":"Accesibilidad del programa: agenda accesible, versiones imprimibles, y adaptabilidad según el perfil.","70":"Discusión sobre la diversidad como realidad y la interpretación humana de la misma a través del ejemplo del espectro electromagnético y el arcoíris.","713":"Importancia de la diversidad en el equipo de organización del evento y cómo se puede mejorar la accesibilidad a través de ella.","1801":"El orador destaca que la accesibilidad es un proceso de mejora continua y que en una presentación hay que explicar lo que se muestra.","528":"Diversidad de las discapacidades, incluyendo ceguera, baja visión, discapacidad auditiva, motriz, cognitiva, TEA, y situaciones transitorias discapacitantes.","1562":"Importancia de la señalización de espacios, avisos multimodales y otros sistemas de guiado.","348":"Marco general de soluciones de accesibilidad para eventos, considerando el tamaño del evento y las diferentes necesidades.","739":"El responsable de la accesibilidad y la importancia de la formación en accesibilidad para el equipo organizador.","227":"Diversos factores de diversidad: género, color de piel, situación socioeconómica, experiencia/formación, situación personal y discapacidad.","39":"Motivación para el título de la conferencia: 'Ir pa ná es tontería', basado en experiencias de inaccesibilidad en eventos.","104":"Problemas de la categorización: arbitrariedad, enfrentamiento entre grupos, difuminación de matices, e invisibilidad de ciertos grupos.","1708":"Consideraciones para hacer las presentaciones más accesibles: texto grande, legible, colores y contraste adecuados, y resaltado del contenido importante.","174":"Ventajas de clasificar: simplificación, concreción de necesidades, comunicación y enfoque en soluciones concretas.","1649":"Menciona espacios más allá de las salas, como áreas de descanso, cafeterías, baños y guardería/sala de lactancia.","818":"La información como poder: información accesible, preguntas sobre necesidades, información sobre accesibilidad, y difusión en redes.","1140":"Diversas soluciones de accesibilidad: técnicas, organizativas, filosóficas, económicas.","1844":"Cierre y énfasis en la organización de eventos inclusivos y accesibles, y en no utilizar la palabra 'normal' como opuesto a inclusivo.","1269":"Discusión detallada sobre la accesibilidad en el 'call for talks', selección de charlas con diversidad, formatos y duración.","888":"El momento adecuado para cada cosa: consideraciones estructurales, antes, durante y después del evento.","954":"El tamaño del evento importa: diferentes soluciones para eventos online, charlas/talleres, eventos de un solo track, y macroeventos.","447":"Factores a considerar para la accesibilidad de eventos: técnica, organizativa, filosófica y económica."}},"presenters":[{"path":"accounts/u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3","description":"Soy consultor de accesibilidad desde hace 11 años, me dedico a asesorar y formar a empresas e instituciones para hacer sus sitios web y apps de forma accesible. Actualmente trabajo como freelance, antes he trabajado en Ilunion Accesibilidad. He dado formación para empresas como Vodafone, Iberdrola, Bankinter o Verizon, e instituciones como la Comisión Europea, el Senado de España o la Universidad de Georgia, por poner sólo algunos ejemplos.","reimburseExpenses":false,"uuid":"ramoncorominas","name":"Ramón Corominas","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3/avatar/69138cf793.avif","id":"u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3"}],"id":"fIemADBaSx5TOq2h4MaB"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/gebnN8k35bWsFyKxyd0P","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Mejoras para desarrolladores en SQL Server 2019","description":"SQL Server 2019 incluye novedades a nivel de desarrollo y t-sql que nos ayudarán a la mejora en el rendimiento de nuestras aplicaciones. En esta sesión nos centraremos en las nuevas posibilidades que tenemos como desarrolladores de Bases de datos.","created":1556120862958,"bookmarkCount":17,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/enriquecatala/novedades-para-desarrolladores-en-sql-server-2019","videoURL":"https://youtu.be/19w9aF7VPcU","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" SQL/NoSQL"," DevOps"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"448":"null","1090":"null","930":"null","835":"null","356":"null","5":"null","39":"null","234":"null","746":"null","619":"null","334":"null","145":"null","181":"null","95":"null"}},"presenters":[{"path":"accounts/l-36254001","description":"Microsoft Data platform MVP, Computer Engineer and MCT. Working as a DPM team leader and Mentor for @SolidQ with focus on SQL Server scalability , performance and High availability environments.","reimburseExpenses":false,"uuid":"enrique-catala","name":"Enrique Catala","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-36254001/avatar/8ba8682b02.avif","twitterAccount":"enriquecatala","id":"l-36254001"}],"id":"gebnN8k35bWsFyKxyd0P"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/hifq6JSBZuqC54BxJQhN","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"The Big Bang Category Theory","description":"Howard Wolowitz en Big Bang Theory, a pesar de haber estudiado en el MIT, no suele entender las explicaciones de Sheldon Cooper sobre física teórica. Lo mismo nos pasa a los desarrolladores cuando nos intentan explicar la Teoría de Categorías. \n\"La Teoría de Categorías es un estudio matemático que trata de axiomatizar de forma abstracta diversas estructuras matemáticas como una sola, mediante el uso de objetos y morfismos.\"\nTal vez, el problema es que en lugar de Sheldon, quien debiera ayudarnos a entender estos conceptos es alguien más empático con nosotros, y en esta charla no será uno, sino 3 personajes los que nos contarán desde su perspectivas qué son los functores, mónadas y aplicativos.\nEn Big Bang Category Theory, analizaremos los conceptos utilizados en Programación Funcional de la Teoría de Categorías desde un prisma práctico y cercano, donde llevaremos sus definiciones formales a un código que soluciona problemas cotidianos, y empezaremos a entender cómo podemos ser mejores desarrolladores si introducimos estas leyes y axiomas a nuestro código diario.","created":1559511460246,"bookmarkCount":61,"recordingAuthorized":true,"slidesURL":"https://npatarino.github.io/category-theory/","videoURL":"https://youtu.be/Ngaljt7hOm0","tags":{"39153":[" Intermediate"],"0db80":[" Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Java","Scala","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"610":"Explicación de monoide como un combinador de cajas, con ejemplos usando cadenas y enteros para ilustrar el concepto.","99":"Introducción de personajes de The Big Bang Theory para ilustrar el concepto de Mónadas, conectando la presentación con la cultura pop.","5":"Introducción a una presentación de conferencia con un enfoque humorístico, explicando los orígenes y el concepto básico de Kotlin.","166":"Explicación simple de una mónada, es decir, simplemente un monoide en la categoría de endofunctores.","361":"Discusión de patrones de diseño como soluciones y vocabulario en programación, destacando sus beneficios para la comunicación y el entendimiento entre desarrolladores.","429":"Explicación de excepciones y su manejo, enfatizando la necesidad de administrar errores efectivamente en programación.","272":"Explicación de una Función en una caja y uso del método `map`.","120":"Viajes espaciales y Mónadas, con astronautas con gran conocimiento matemático discutiendo Mónadas.","186":"El orador se presenta, Nicolás Patorino, y agradece a la audiencia por asistir, preparando el escenario para una discusión sobre la Teoría de Categorías.","538":"Discusión del concepto de comprensiones de Mónadas y el método `flatMap` como una forma de manejar Mónadas anidadas en Kotlin.","59":"Explicación de por qué la Teoría de Categorías se discutirá en el contexto de la programación funcional. La presentación tiene como objetivo aclarar el concepto de Mónadas y términos relacionados.","219":"Nicolás trabaja en un proyecto global en Tuenti, que evolucionó de ser una red social a un operador de red virtual móvil.","668":"Destacando la importancia de las leyes de las matemáticas, la independencia y la aplicación de patrones de diseño, así como las clases de tipo.","287":"Definición de una Mónada como una combinación de un monoide y un functor, incluyendo la necesidad de los métodos `combine` y `empty`."}},"presenters":[{"path":"accounts/u-aJGU6WnNCcdBZJ2GP7un9YmKfPG3","description":"Nico es un porteño amante de Android y Kotlin. Soñador. Primero de su nombre. Aprendió muchísimo en empresas como Sun Microsystems, Qualcomm, Heineken o Idealista, ahora sigue haciéndolo de sus compañeros en Tuenti.\nTambién organiza la comunidad de Madrid Android Developer Group.","reimburseExpenses":false,"uuid":"npatarino","name":"Nicolás Patarino","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-aJGU6WnNCcdBZJ2GP7un9YmKfPG3/avatar/c1dfcbf889.avif","twitterAccount":"npatarino ","id":"u-aJGU6WnNCcdBZJ2GP7un9YmKfPG3"}],"id":"hifq6JSBZuqC54BxJQhN"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/kiTfNJ3vI1xhba3hmu7d","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Kubernetes Tower Defense","description":"Desplegar un cluster de Kubernetes es tan sencillo como un ejecutar un comando, pero conseguir el mayor grado de seguridad requiere un trabajo adicional. La mejor estrategia es aplicar defensas en profundidad. En esta charla trataremos como mejorar la seguridad de Kubernetes a distintos niveles (control plane, pod security policies, network policies, cloud metadata, etc...).","created":1558908076234,"bookmarkCount":61,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1mqyhEC8dOYUcREqhqY-df3SN1I4AtFxs6zdbV1G6_so/edit?usp=sharing","videoURL":"https://youtu.be/5zeGSDFB8jY","tags":{"39153":[" Advanced"],"70b46":["Talk"],"0db80":[" Security"," DevOps"," Cloud"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"3":"Presentación de la conferencia Commit 2019 en Madrid, y el tema a tratar: Kubernetes Tower Defense, que es básicamente defensa en profundidad aplicada a Kubernetes. El ponente, Javier Provecho, Platform Engineer en Telefónica, se encarga de la escalabilidad y seguridad de la plataforma Big Data y organiza meetups en Madrid y Valladolid.","836":"Vulnerabilidades por mala configuración de Kubernetes en la nube, como dejar la Metadata API accesible (permite obtener credenciales del kubelet, secrets y specs de los pods). Recomendación de Kube2IAM en GKE y EKS para mitigar este riesgo.","600":"La vulnerabilidad relacionada con proxy upgrade obligó a actualizar el software. Se debía a que las credenciales en peticiones a componentes externos desde un cliente al API server de Kubernetes podían retransmitirse a cualquier componente de Kubernetes.","75":"Explicación de la relación entre un juego de tipo Tower Defense y el concepto de defensa en profundidad: añadir obstáculos para dificultar el trabajo de un atacante, ganando tiempo para detectarlo y bloquearlo. En Telefónica, esto se aplica a la ejecución de algoritmos dentro de un clúster de Kubernetes, donde no se controla el software supply chain de los algoritmos, por lo que se deben añadir obstáculos.","237":"Para securizar Kubernetes, el tráfico interno debe estar encriptado y autenticado, independientemente de la protección con OAuth o tokens. Si no, el acceso a un clúster permite acceso a todo.","205":"Los algoritmos son programas en Python o Scala, que pueden ejecutar cualquier tipo de acción.","398":"Presentación de vulnerabilidades de Kubernetes: 2017-1002101 (subPath, resuelta en 1.7), 2018-1002105 (proxy upgrade, resuelta en 1.10), 2019-11247 (recursos cluster scoped, resuelta en 1.13).","958":"Como alternativa a Kube2IAM en EKS, se recomienda Docker in Docker."}},"presenters":[{"path":"accounts/l-144554001","description":"Javier Provecho works at Telefónica, at the core of the 4th platform, and engage with the community as a Cloud GDE and open source maintainer. He is passionate about new technologies and methodologies around the CNCF.","reimburseExpenses":false,"uuid":"jprovecho","name":"Javier Provecho","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-144554001/avatar/7b9fdcec59.avif","twitterAccount":"javierprovecho","id":"l-144554001"}],"id":"kiTfNJ3vI1xhba3hmu7d"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/l2RleiXjrWJJvNfpHcXQ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Historia de una gran bola de lodo escrita en javascript. Parte I","description":"**Javascript** es sin dudas el lenguaje más versátil y [popular](https://insights.stackoverflow.com/survey/2019#technology) de la era de Internet y a la vez el que más disciplina y fundamentos de ingeniería de software exige para escribir código mantenible.\n\nMe gustaría contaros cómo **Javascript** y **Node.js** nos permitieron hace 7 años añadir funcionalidades a velocidad de crucero como si no hubiese mañana y competir con los principales productos del ecosistema social media.\n\nTambién me gustaría contaros cómo esa dinámica nos llevo a escribir una [gran bola de lodo](https://es.wikipedia.org/wiki/Gran_bola_de_lodo) y cómo tuvimos que pagar la deuda y sus no pocos intereses para poder reaccionar a los cambios del mercado y la evolución del stack.\n\nEn algún punto entendimos que **arquitectura hexagonal** y **domain driven design** serían nuestro aliados. ¿Cómo aplicas todo esto con un equipo pequeño y al que todo esto le viene de nuevas sin dejar de añadir valor a tus clientes? La respuesta a esta pregunta será el centro de esta charla. Hablaremos de cómo nos tuvimos que reciclar como equipo, cuál fue nuestro plan de ~~migración~~ evolución de la arquitectura y cómo **typescript** jugó un papel fundamental. \n\nDe todas estas etapas veremos algunos ejemplos de código espagueti, implementación de **clean architecture** con **javascript** y **arquitectura hexagonal** y **domain driven design** con **typescript**, todos conviviendo en el mismo monolito.\n\nComo el título deja ver esta historia tiene segunda parte y aún se está escribiendo, tratará sobre cómo estamos viviendo el **desacoplado del monolito**.","created":1559408207547,"bookmarkCount":114,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/aartiles/historia-de-una-gran-bola-de-lodo-escrita-en-javascript-parte-i","videoURL":"https://youtu.be/A2wfcjYq1Mo","tags":{"39153":["Beginner"],"0db80":["Agile and Lean"," Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"4":"Introducción a la conferencia y al proyecto del presentador. Explicación de la presentación como una experiencia personal que debe tomarse con cautela. Introducción del presentador y sus antecedentes.","586":"El concepto de \"Miedo a Tocar\" en el desarrollo de software.","331":"Explicación de la entrega e integración continuas.","77":"Introducción al proyecto Audience y sus capacidades de análisis de mercado.","110":"Explicación de la segmentación de la audiencia utilizando datos de redes sociales.","143":"Agenda de la presentación, incluyendo la velocidad de entrega del software y la estructura del código.","1039":"Discusión sobre el costo de la calidad en el desarrollo de software.","303":"La relación entre la entrega continua, la nube y el rendimiento de la entrega de software.","527":"La importancia del diseño en el desarrollo de software. Discusión sobre la importancia del diseño en el desarrollo de software.","719":"Soluciones a los miedos comunes en el desarrollo de software, como la mantenibilidad del código y la arquitectura.","1008":"Cita que enfatiza la comprensión de los principios sobre los métodos.","787":"Introducción al concepto de Arquitectura Hexagonal y Diseño Impulsado por el Dominio (DDD).","659":"Introducción al Desarrollo Basado en Tronco (Trunk Based Development).","628":"El concepto de \"Miedo a la Imperfección\" en el desarrollo de software.","219":"Discusión sobre los factores que influyen en la velocidad de entrega del software. Métricas de rendimiento en el desarrollo y entrega de software.","189":"Introducción al concepto de \"luchar por la excelencia\" en el desarrollo de software.","895":"Cita sobre que la programación se trata de diseñar software, no solo de construirlo."}},"presenters":[{"path":"accounts/u-j92n3bj9ysPXh9LUdWYrUIRBxky2","description":"Cubano de nacimiento y cordobés de adopción. Licenciado en ciencias de la computación por la Universidad Central de Las Villas donde luego ejerció como investigador. En 1998 cuando Internet era aún incipiente en Cuba, desarrolló una plataforma de e-learning que fue adoptada por todas las universidades del país. Este know-how le trajo en 2007 a un proyecto de investigación de la Universidad de Córdoba y de allí comenzó su carrera como emprendedor en España desarrollando varios proyectos de Internet como e24Presenter, [FollowFriday.com](http://followfriday.com) y desde 2011 Audiense donde ejerce como CTO.\nCombina su pasión por la programación con el ajedrez, la natación y los deportes de fuerza.","reimburseExpenses":false,"uuid":"aartiles","name":"Alfredo Artiles","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-j92n3bj9ysPXh9LUdWYrUIRBxky2/avatar/79f3227b24.avif","twitterAccount":"aartiles24","id":"u-j92n3bj9ysPXh9LUdWYrUIRBxky2"}],"id":"l2RleiXjrWJJvNfpHcXQ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/mXbo8hYcGJzNp4aEd3QC","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Creando un action/skill para pedir comida a domicilio con Google Assistant & Alexa","description":"Los asistentes de voz son una realidad cada vez más presente en muchos dispositivos diferentes. Esto genera un nuevo mercado de \"apps\" con una experiencia de usuario completamente diferente, por una interfaz de voz, y una pregunta nada nueva en el mundo del software: ¿para qué plataforma desarrollo? :)\n\nPara esta charla hemos querido crear un action, de Google Assistant, y una skill, de Alexa, para pedir comida a domicilio usando una interfaz de voz. De esta forma vamos a poder ver y comparar todo el ciclo de desarrollo de estas nuevas \"apps\" en cada una de las dos plataformas, de las más usadas y extendidas. \n\nEn la charla iremos de la teoría, explicando los conceptos básicos, hasta la práctica, mostrando código funcional de cada una de las plataformas y las herramientas que hemos usado para desarrollar. A partir de unos escenarios básicos iremos evolucionando la \"app\" y plantearemos funcionalidad más avanzada. Cada plataforma tiene sus pros y contras que iremos viendo sobre el propio ejemplo.\n\nAl final de la charla tendrás una idea clara de cómo crear un action para Google Assistant o un skill para Alexa y tendrás información suficiente para decidir que plataforma te gusta más.","created":1556212160286,"bookmarkCount":78,"recordingAuthorized":true,"videoURL":"https://youtu.be/X0ZE9RAqj78","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" IoT"," AI"," Cloud","Machine Learning"],"1f174":["Spanish"],"92508":["Javascript","Kotlin","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"1088":"El Stack de Amazon: Elementos de una skill de Alexa, funcionamiento en la nube, creación de una skill, explicación del código, intents/slots y definición en el modelo de interacción.","210":"Características de los asistentes de voz: baja curva de aprendizaje, entrenamiento de IA, nueva interfaz de usuario (UX) y multiplataforma.","482":"El Stack de Google: Arquitectura de Google Home, puesta en producción, Dialogflow (explicación, uso, interfaz, intenciones, definición de acciones y parámetros, Fullfilment para backend), código de ejemplo en backend (diferentes idiomas, extracción de información, función Response Builder).","5":"Introducción de los ponentes y la charla, incluyendo una anécdota sobre la biografía de los ponentes y el origen de la charla en redes sociales.","151":"Introducción teórica a los asistentes de voz, empresas involucradas y su omnipresencia.","248":"Ejemplo práctico básico: Pedir comida a domicilio con Google Assistant y Alexa.","90":"Anuncio de la inasistencia de uno de los ponentes y modificación del temario, seguido del índice de la charla.","236":"Componentes de los asistentes de voz: explicación de NLU, NLP y ASR."}},"presenters":[{"path":"accounts/l-73304001","description":"Actualmente, trabajo en el equipo inithealth, desde el que espero ayudar a que la tecnología aporte a la sociedad a obtener una vida más saludable. Bandas de ejercicio, trackers de actividad, … han llegado para quedarse. Y creo en que desde @inithealth seremos capaces de encontrar el modo de hacer toda esta tecnología útil para la sociedad. Encontraremos la clave para un mundo más sano y mejor. Creo en aportar valor a través de un aprendizaje constante e iterativo, y en equipos enfocados en una visión clara y concisa.\nHe tenido la oportunidad de profundizar en conocimientos sobre interfaces de voz y chatbots a través de mi vida profesional y los últimos pet project.","reimburseExpenses":false,"uuid":"jmarti","name":"Jordi Martí Carrera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-73304001/avatar/ce7b363c95.avif","id":"l-73304001"},{"path":"accounts/u-LzW3CTTkYeguYE8ALtBwFl7tXXA2","description":"Alexa, escribe mi bio por favor... vaya, no funciona :( Mi vida laboral se ha basado en el backend y lenguajes de la JVM pero en el último año estoy jugando y aprendiendo con los asistentes e interfaces de voz, concretamente con Alexa. En mis ratos libres cocino cosas que no siempre están comestibles, intento hacer deporte, viajo o juego a la play. Me podéis leer en Twitter y en mi blog https://kinisoftware.com/","reimburseExpenses":false,"uuid":"kinisoftware","name":"Joaquin Engelmo Moriche","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-LzW3CTTkYeguYE8ALtBwFl7tXXA2/avatar/9f43128f9b.avif","id":"u-LzW3CTTkYeguYE8ALtBwFl7tXXA2"}],"id":"mXbo8hYcGJzNp4aEd3QC"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/nFOy3n2WANlz1CZhO5ul","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Tú a Netflix y yo a Kubernetes - Implementando una arquitectura híbrida de Microservicios","description":"Estamos acostumbrados a cambios y evoluciones constantes en lo que a tecnologías de microservicios se refiere. Os contamos como hemos implementado un marco de coexistencia entre dos stacks y os mostraremos cual es nuestro flujo de desarrollo y despliegue de una arquitectura basada en microservicios y Kubernetes desplegada en AWS. Revisaremos la (r)evolución de nuestro stack, desde nuestros primeros pasos con Netflix OSS y despliegues on premise hasta nuestro entorno actual, donde servicios desplegados en EKS con Istio conviven con otros gestionados mediante Eureka, Zuul, hystrix…","created":1558599278240,"bookmarkCount":125,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/AlfredoGarcaLavilla/commit-conf-arquitecturamicroserviciosv10","videoURL":"https://youtu.be/amY0IT3RrQM","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" DevOps"," Cloud"],"1f174":["Spanish"],"92508":["Java"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"3":"Esta charla se centra en los stacks de desarrollo y despliegue de microservicios de Orange, las distintas alternativas y cómo se despliegan en tiempo real en clústers de Kubernetes. Introducción de los ponentes, Jesús Pérez Soler y Alfredo García Lavilla, ambos arquitectos de soluciones en Orange España. Se especializan en APIs, microservicios, Kubernetes e Istio.","83":"Orange es una empresa global con más de 260 millones de clientes, 20 millones de ellos en España, con cuatro marcas comerciales principales. Además de ser un operador de telecomunicaciones, también está introduciéndose en la banca digital.","116":"La empresa ha evolucionado de sistemas monolíticos a microservicios para ganar agilidad y adaptabilidad en un mercado que cambia rápidamente. Los microservicios permiten una arquitectura desacoplada que da independencia a los equipos de desarrollo y mejor adaptabilidad a los cambios en el negocio. Comparación entre monolitos y microservicios, destacando las ventajas de estos últimos para el escalado horizontal y la independencia de los equipos de desarrollo.","613":"La infraestructura on-premises actual de Orange tiene métricas impresionantes, pero es cada vez más costosa de mantener.","950":"La arquitectura de microservicios de Orange tiene 4 capas: API, composición, dominio, y datos.","231":"Orange tiene tres stacks de microservicios: On-Premises para servicios que no se pueden ejecutar en la nube, Cloud Native para servicios políglotas con arquitectura nativa de la nube, e Híbrido para la migración de servicios existentes a entornos K8s. El stack On-Premises se basa en la arquitectura de Netflix OSS y está íntegramente en Java. Se lanzó hace 4 años. Debido a los costos operativos de mantener servidores, se hacía necesario pasar a una arquitectura cloud native. Se construyó un stack híbrido que combina partes del on premise y del cloud native para migrar los servicios a la nube.","728":"Surge la necesidad de ir a una arquitectura que se solape con lo que da Kubernetes e Istio. Al sustituir el gateway se obtiene un modelo de self-service para las APIs, con portales de desarrollador, documentación y ejemplos de llamadas. Se eleva el modelo de calidad con el uso de contract-driven testing.","1068":"Se explica el patrón de Sidecar, que permite añadir funcionalidades a los microservicios.","814":"La infraestructura de microservicios necesita más gestión, se muestran herramientas como Hystrix y Kubernetes para resolverlo."}},"presenters":[{"path":"accounts/l-415154001","description":"Arquitecto de soluciones en Orange Spain. Ingeniero informático por la UPM, ha trabajado durante 3 años en el ecosistema de microservicios de Orange Spain. Tanto en desarrollo como en operaciones. Tiene 5 años de experiencia en diferentes tecnologías e infraestructuras.","reimburseExpenses":false,"uuid":"jesus-perez","name":"Jesús Pérez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-415154001/avatar/2c5bf9b4b4.avif","id":"l-415154001"},{"path":"accounts/u-FGOJDPmM7xPduInemGoeCFdsuxv1","description":"Arquitecto de soluciones en Orange Spain , Product Owner de la iniciativa OpenAPI. Puntos fuertes: API evangelization, Cloud & Devops best practices, Ayudar a crear una sólida cultura de desarrollo en Orange Spain.","reimburseExpenses":false,"uuid":"agarcia","name":"Alfredo García","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-FGOJDPmM7xPduInemGoeCFdsuxv1/avatar/9ebe780bef.avif","twitterAccount":"agarcia","id":"u-FGOJDPmM7xPduInemGoeCFdsuxv1"}],"id":"nFOy3n2WANlz1CZhO5ul"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/o58cO1tcs7ywE57tckAW","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Machine Learning ¡A TODO GAS! con GraalVM","description":"El desarrollo de modelos basados en *Machine Learning* con *Python* son caros, temporal y computacionalmente hablando. Reducir el tiempo (y la CPU!) invertido en desarrollar un modelo de Machine Learning es importante, **especialmente si usamos entornos cloud como AWS**. \n\nEn esta charla introduciremos como funciona a alto un modelo de Machine Learning y las fases por las que pasa para llegar a ser un modelo en producción. Posteriormente, introduciremos GraalVM, la nueva máquina virtual del ecosistema Java que es capaz de ejecutar código en Python y R **mejorando considerablemente su rendimiento**. \n\nFinalmente, os enseñaremos un ejemplo real de un modelo desarrollado en Python que segmenta el tejido denso de mamografías, empaquetado con Docker y GraalVM y comparándolo con otro nativo en Python. ","created":1557321687769,"bookmarkCount":71,"recordingAuthorized":true,"slidesURL":"https://www.dropbox.com/s/xzj2m3osj6su9dd/ML%20a%20todo%20gas%20con%20GraalVM.pdf?dl=0","videoURL":"https://youtu.be/XAHRPlse62w","tags":{"39153":[" Intermediate"],"0db80":[" AI","Machine Learning"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"4":"Introducción a la charla: ¡Machine Learning a toda velocidad! con GraalVM.","901":"Python, Javascript y R son menos óptimos que la máquina virtual de Java. Se ejecuta hasta cuatro veces más rápido en GraalVM. Las herramientas que se utilizan tienen predilección por lenguajes interpretados como Python.","1158":"Cómo instalar GraalPython.","711":"Comparación de la productividad de una máquina virtual Java normal y una máquina virtual GraalVM, con una mejora de la productividad del 20% de esta última.","839":"GraalVM utiliza una utilidad llamada Native Image, que permite construir imágenes nativas, ejecutables, que contienen la aplicación, las bibliotecas necesarias y Substrate VM, que a su vez contiene elementos de JRE pero no JRE completo.","776":"GraalVM se presenta como una máquina virtual universal para ejecutar aplicaciones basadas en varios lenguajes.","1288":"Una vez instalados GraalVM e imagen nativa, se pueden ejecutar los comandos nativos.","648":"GraalVM tiene una arquitectura en capas. Los diferentes lenguajes se ejecutan en Truffle Framework, en Graal Compiler y en una de dos máquinas virtuales, JVM o Substrate VM.","143":"Experiencia del ponente con la fusión de cuatro GPU debido a la sobrecarga de trabajo.","21":"El ponente se presenta, describe su trabajo en el Instituto Tecnológico de Informática y aclara que, aunque no es experto en Machine Learning, ha colaborado con expertos en el campo.","535":"Necesidad de \"billones de datos\" para el aprendizaje automático.","409":"Los modelos de aprendizaje automático dependen de los datos, y el campo resurgió de sus cenizas gracias al Big Data. El aprendizaje automático es un concepto de la década de 1950, pero hasta ahora no se podían procesar datos suficientes.","90":"Descripción de problemas comunes en proyectos de Machine Learning, como la escasez de recursos de cómputo, la necesidad de reservar clústeres completos durante semanas, problemas del sistema y malentendidos entre diferentes usuarios del mismo clúster.","475":"Los desarrolladores y los científicos de datos tienen diferentes prioridades y no siempre se entienden bien. El lenguaje más utilizado no es óptimo desde el punto de vista computacional.","288":"La solución propuesta: en lugar de centrarse en la apariencia del malware, hay que prestar atención a su comportamiento. Pero el comportamiento es difícil de cambiar, y más aún automáticamente. El ransomware, por ejemplo, debe seguir varios pasos para lograr su objetivo, como conectarse a un servidor para obtener la clave de cifrado, inspeccionar el disco, cifrar las partes más importantes o modificar el inicio del sistema para mostrar el mensaje de rescate.","226":"Dificultad para detectar malware, que se basa en la comparación de firmas en bases de datos, que deben estar actualizadas.","1448":"Graal Python permite la combinación de lenguajes, como por ejemplo, entre R y Python.","744":"Se compara la densidad del sol con la de un modelo de aprendizaje automático ya entrenado (agujero negro).","617":"GraalVM ofrece ventajas de rendimiento, y no solo para los lenguajes basados en la JVM. Es un ecosistema y un 'tiempo de ejecución' compartido.","1069":"Conclusiones: GraalVM por sí solo no es suficiente para usarse con Python, porque también es necesario instalar GraalPython y LLVC, que es una herramienta que permite crear ejecutables autocontenidos. Pero el proyecto aún es muy experimental y no permite su uso con proyectos reales.","1007":"Se presenta un ejemplo de código que combina Node con R.","1393":"En la implementación actual de GraalPython, no se pueden agregar bibliotecas externas con PIP. El objetivo a corto plazo es incluir la biblioteca SciPy y otras bibliotecas populares.","180":"El problema de seguridad actual en informática: ataques de ransomware, que secuestran sistemas, como el que recientemente sufrieron varias empresas españolas.","437":"Problemas con lenguajes interpretados como Python: requieren mucho 'backtracking', hacen hipótesis en la ejecución del código que deben deshacerse si no se cumplen, o no pueden hacer optimizaciones.","888":"Python no compila su código. La incrustación políglota permite la compilación antes de la ejecución, para formar una imagen nativa de lenguajes como Python.","569":"GraalVM. Una máquina virtual universal para ejecutar aplicaciones escritas en diferentes lenguajes de programación, incluidos Java, Scala, JavaScript, Python, Ruby o R.","1594":"Ejemplo de script para obtener una imagen con Graal Python.","1339":"Debe actualizar la ruta del sistema a la carpeta 'bin' para poder ejecutar los comandos en cualquier lugar.","766":"Se informa de la aparición de una nueva versión de GraalVM 19.3.0."}},"presenters":[{"path":"accounts/u-CB8TW2nyVifgM2gSov4tlXhFSk92","description":"Developer and software architect with more than 10 years of experience. I have developed applications in many different languages, such as C #, Java, Node and Angular, to realize that the important thing is not the language or the framework, but the concepts that they carry with them\n\nI am currently a technical director of R & D at the Instituto Tecnológico de Informática (ITI), where we develop research projects based on Big Data, Machine Learning, IoT and all the cool things you can listen to on Twitter ;)\n\nLinkedin: https://www.linkedin.com/in/fjbarrena/\nGithub: https://github.com/fjbarrena\nTwitter: https://twitter.com/DogDeveloper","reimburseExpenses":false,"uuid":"fjbarrena","name":"Francisco Javier Barrena Castillo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-CB8TW2nyVifgM2gSov4tlXhFSk92/avatar/bf5186f332.avif","twitterAccount":"DogDeveloper","id":"u-CB8TW2nyVifgM2gSov4tlXhFSk92"}],"id":"o58cO1tcs7ywE57tckAW"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/plYaussN5zn6WiCx4GSZ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"¿Son las bases de datos de contabilidad interesantes, o son parte del hype alrededor de Blockchain?","description":"Las bases de datos tradicionales tienen mala memoria. ¿Cuántas veces se ha actualizado un valor? ¿Se ha borrado algo? Ni idea.\nA veces, necesitas registrar todo lo que pasa con tus datos, y quieres asegurarte de que nadie puede manipular ese registro.\nLas bases de datos de contabilidad resuelven ese problema. Y si quieres una que soporte transacciones a escala masiva y sin servidores, te interesa Amazon Quantum Ledger Database. \nEn mi charla veremos cómo usar QLDB para resolver problemas reales. Demo incluída.\nTambién te contaré qué opciones ofrece AWS para usar Blockchain.","created":1558360376950,"bookmarkCount":27,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/supercoco9/son-las-bases-de-datos-de-contabilidad-interesantes-o-son-parte-del-hype-alrededor-de-blockchain","videoURL":"https://youtu.be/1iMGq4iPAS8","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" SQL/NoSQL"," Cloud"," Blockchain"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"480":"Discusión sobre la importancia de la inmutabilidad y la verificación: reducción del riesgo, mejora del seguimiento de datos y facilidades para la auditoría.","2":"Introducción a la charla sobre las bases de datos de contabilidad (ledger databases), su relación con la tecnología blockchain y el servicio de Amazon.","531":"Ejemplos de casos de uso: banca, comercio electrónico, logística, salud y gestión de recursos humanos.","868":"El presentador se ofrece a responder preguntas.","597":"Introducción a PartiQL: lenguaje de consulta compatible con SQL para datos relacionales, semi-estructurados y anidados.","199":"El presentador sondea a la audiencia sobre su experiencia con blockchain y plantea si las bases de datos de contabilidad son útiles o solo parte del hype.","104":"El presentador comparte su experiencia en desarrollo y almacenamiento de datos, e introduce el problema del mantenimiento del historial en bases de datos convencionales y la necesidad de un histórico de cambios.","730":"Explicación de cómo QLDB usa criptografía para garantizar la inmutabilidad y verificación de datos, con demostración de su funcionamiento (estado actual e historial indexado).","651":"Diferencia entre bases de datos ledger con confianza centralizada y transacciones con confianza descentralizada, e introducción de Amazon QLDB y Amazon Managed Blockchain.","397":"Profundización en las bases de datos de contabilidad: funcionamiento, inmutabilidad y verificación.","349":"Mención de Amazon Quantum Ledger Database (QLDB) y Amazon Managed Blockchain.","285":"Discusión sobre la utilidad de sistemas con bases de datos ledger y blockchain, y la exploración del uso de bases de datos de contabilidad con confianza centralizada y transacciones descentralizadas."}},"presenters":[{"path":"accounts/u-oW04MXUXtyVZSHofZy5HP5c1lRc2","description":"I work as a Technical Evangelist at AWS to help developers make the best of cloud, so they can focus on solving interesting problems and rely on AWS for performance, scalability, elasticity, and security.\n\nI love data storage, big and small. I have extensive experience with different SQL, NoSQL, graph, in-memory, and Big Data solutions. I like distributed, scalable, always-on systems.\n\nBefore working at AWS I spent 20 years developing software professionally and sharing what I learnt with the community. I've spoken at events in more than 15 countries, mentored dozens of start-ups, taught for 6 years at universities, and trained hundreds of professionals on cloud and data engineering.","reimburseExpenses":false,"uuid":"javierramirezgomara","name":"javier ramirez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-oW04MXUXtyVZSHofZy5HP5c1lRc2/avatar/0450d71f66.avif","id":"u-oW04MXUXtyVZSHofZy5HP5c1lRc2"}],"id":"plYaussN5zn6WiCx4GSZ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/qUETKCuBBpgCBwnCKWMC","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Lanzando y controlando tests distribuidos de Selenium con un chatbot","description":"En esta charla veremos cómo dar **visibilidad, auditar y compartir tests manuales** corriendo en Selenium desde un chat grupal como Slack, Mattermost, Hipchat, ... \n\nMostraremos como funciona este chatbot nos permite:\n- lanzar un **Grid de Selenium** en **Kubernetes**\n- enviar comandos desde el chat\n- dar feedback al usuario mostrando resultados, capturas de pantalla, etc.\n\nCompartiremos nuestra experiencia y mostraremos las ventajas que hemos visto al utilizarlo.","created":1559168715430,"bookmarkCount":68,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/jcague/lanzando-y-controlando-tests-distribuidos-de-selenium-con-un-chatbot","videoURL":"https://youtu.be/jFCOUMILTZs","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Cloud"," Web"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"48":"Contexto del problema: Minerva, empresa que busca reinventar la educación superior, con un enfoque en pedagogía activa y seminarios en vivo. Uso intensivo de Slack, planteando su uso para automatización. Ejemplo de uso con clases en herramienta web, participación activa y expansión global con residencias y alianzas.","4":"Introducción a Licode y WebRTC: Plataforma de comunicaciones de código abierto que permite montar un servicio de videoconferencia y comunicación en tiempo real, especialmente con WebRTC.","472":"Integración con Hubot: Configuración de scripts para comandos de Slack y control de flota de navegadores Selenium. Flujo de trabajo: recepción de evento en Brigade, despliegue de charts con Helm, ajuste de capacidad con Cluster Autoscaler y ejecución de prueba con Selenium.","156":"Explicación de las herramientas utilizadas: Helm, Brigade, Cluster Autoscaler, Selenium Grid y Hubot, detallando sus funciones en el proceso. Diagrama de la solución: Flujo de trabajo que integra Slack, Hubot, Brigade, Helm, Kubernetes, Cluster Autoscaler y Selenium Grid. Demostración: interacción con chatbot en Slack para comandos de Selenium, capturas y datos de rendimiento.","684":"Configuración del chart de Selenium Grid en Helm: Especificación del entorno, recursos (CPU, memoria) y réplicas para nodos. Configuración adicional para REPL remoto mediante sockets e integración con WDIO (WebdriverIO).","110":"Uso de Slack para la gestión de alertas, despliegues, consulta de datos e información diaria sobre el rendimiento de la aplicación, convirtiéndose en una memoria de los procedimientos. La mayoría de ingenieros remotos usan Slack, planteando su uso para pruebas."}},"presenters":[{"path":"accounts/l-110594001","description":"Javier es Software Engineer en Minerva Project y trabaja en el proyecto de código libre Licode para crear una plataforma de videoconferencia basada en WebRTC. Es doctor en Telecomunicaciones por la UPM y ha desarrollado sistemas de videoconferencia en la web desde hace más de 10 años.\nAhora es ingeniero full stack desarrollando código principalmente en C++ y Javascript y ha hecho de DevOps en servicios como Amazon AWS o Google App Engine.","reimburseExpenses":false,"uuid":"javiercervino","name":"Javier Cerviño","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-110594001/avatar/ea9748e0a6.avif","twitterAccount":"jcague","id":"l-110594001"},{"path":"accounts/l-106804002","description":"Software engineer en Minerva Project y co-creador de Licode, plataforma open source de videoconferencia sobre WebRTC.","reimburseExpenses":false,"uuid":"lodoyun","name":"Pedro Rodriguez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-106804002/avatar/32e783d56b.avif","twitterAccount":"lodoyun","id":"l-106804002"}],"id":"qUETKCuBBpgCBwnCKWMC"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/rpISvpiqQkUZdgXTQUUB","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"¿Qué ocurre cuando escribo una URL en mi navegador?","description":"Seguro que siempre te has preguntado (o te han preguntado!) los pasos que sigue una petición HTTP, desde que escribes una dirección en tu navegador hasta que se muestra una página renderizada.\n\nEs el momento de dejar de preguntártelo, veremos búsquedas DNS, modelo OSI, motores JS, sugerencias del navegador, cachés... iremos entrando en detalle en cada paso para que veas qué hay dentro de la caja que es Internet. ","created":1558947764692,"bookmarkCount":121,"recordingAuthorized":true,"slidesURL":"http://bit.ly/http-steps","videoURL":"https://youtu.be/m9vEWOHCIEU","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Other"," Web"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1988":"Construcción del árbol de renderizado (Render Tree), relación con el DOM, optimizaciones del navegador (parseo especulativo), cálculo de dimensiones y posición (layout), modelo de diseño basado en flujo.","5":"Introducción a la pregunta de entrevista: ¿Qué ocurre cuando escribes una URL en tu navegador?","1738":"El servidor web (Apache, Nginx) analiza y redirige la petición: 'virtual host', reglas de reescritura, método HTTP, ruta, contenido estático/dinámico.","716":"Establecimiento de conexión TCP: Envío de petición de sincronización (SYN) al servidor y envío de información por paquetes.","655":"ARP (Protocolo de resolución de direcciones): Obtención de la dirección MAC del router para comunicación en la red local.","2255":"Peticiones AJAX y XHR: carga dinámica de contenido y aplicaciones de una sola página.","976":"Estructura de un paquete TCP: puerto de origen y destino.","146":"Precondiciones: Conexión a internet, dirección IP, red local y cachés vacías.","1494":"Introducción a HTTP/2: binario, multiplexado, 'server push'. HTTP/3 y QUIC (sobre UDP).","537":"DNS (Domain Name System): Función y explicación. Mención a Jake Feinler.","1371":"Problema de 'head of line blocking' en HTTP/1.1, 'HTTP pipelining' e ineficiencia de HTTP/1.1 (múltiples conexiones TCP, 'domain sharding').","1820":"Códigos de estado de la respuesta HTTP.","2141":"Proceso de 'painting': rasterización (CPU) o pintado (GPU), trucos de optimización (compartir estilos, HashMaps), cálculo de especificidad en CSS, y tiempo de renderizado.","605":"Proceso de caché de DNS: niveles (navegador, SO, router, servidor DNS).","94":"Resumen de los seis pasos principales al introducir una URL: Introducción, búsqueda de IP (DNS), petición HTTP, respuesta del servidor, renderizado del navegador y peticiones adicionales.","30":"Comentario: La subjetividad y sesgos potenciales de las preguntas de entrevista abiertas.","286":"Autocompletado de la URL por el navegador: algoritmos basados en historial, favoritos, cookies, búsquedas y modo incógnito.","481":"Lista HSTS (HTTP Strict Transport Security) para prevenir ataques de 'downgrade'.","357":"Búsqueda de la IP a través del DNS: cachés (navegador, SO, router) y proceso recursivo.","1189":"Encriptación simétrica y asimétrica en TLS y proceso de establecimiento de TLS.","1318":"Concepto de 'three-way handshake' en TCP.","166":"Primer paso: Introducir la URL. Mecanismos del teclado (USB, móvil, PS/2) y envío de la pulsación al ordenador.","806":"Breve mención de los modelos OSI y TCP/IP.","1001":"El navegador envía una petición HTTP al servidor: componentes (verbo, cabeceras, códigos de estado) y verbos HTTP (GET, POST, PUT, DELETE, etc.).","943":"Protocolo 'Happy Eyeballs': conexiones IPv4 e IPv6 simultáneas para priorizar la más rápida.","1712":"Factores que afectan a la petición: Cloudflare, firewalls, balanceadores de carga.","692":"Acuerdo de protocolo de encriptación (SSL/TLS) entre navegador y servidor.","823":"Diferencias entre IPv4 e IPv6: capacidad de direcciones y ventajas de IPv6 (sin NAT, enrutamiento eficiente).","1853":"Renderizado del HTML: parseo (HTML, JS, CSS), renderizado, layout y painting. Diagramas (Webkit, Firefox). Parseo de HTML a DOM. Proceso iterativo y permisivo.","318":"Verificación de la URL: dominio, FQDN, protocolo y aplicación de Punycode si es necesario."}},"presenters":[{"path":"accounts/u-eHaK92j8kDWt4pYErA5kBRFsIw63","reimburseExpenses":false,"uuid":"gagranta","name":"Víctor Galán Grande (Gagran)","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-eHaK92j8kDWt4pYErA5kBRFsIw63/avatar/c9adcefecd.avif","id":"u-eHaK92j8kDWt4pYErA5kBRFsIw63"},{"path":"accounts/l-4804582748192768","description":"Headless Team Lead @Liferay. Juego con APIs y mobile en el trabajo y visualización de datos en mi tiempo libre. ","reimburseExpenses":false,"uuid":"nhpatt","name":"Javier Gamarra","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-4804582748192768/avatar/a42a7a097f.avif","twitterAccount":"nhpatt","id":"l-4804582748192768"}],"id":"rpISvpiqQkUZdgXTQUUB"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/s2BtDhJAVbwOU4ylAcBV","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Desarrollo de software en provincias.","description":"Con el aumento del precio de la vivienda en las grandes urbes, los horarios frenéticos y el extrés asociado, muchos desarrolladores vivimos felices en ciudades o pueblos menos masificados. No obstante, cada día llegan ofertas de recruiters que suelen proponerte un avance en tu carrera que implica el desplazarse a Madrid o Barcelona. Muchos desarrolladores ven también necesario realizar este desplazamiento si quieren crecer en su carrera, sin embargo con el auge del trabajo en remoto o teletrabajo y las grandes comunidades de software localizadas en diferentes provincias de España ¿es realmente necesario?\n\nNos gustaría juntarnos y dialogar sobre los pros y contras del desarrollo de software fuera de las grandes capitales.","created":1554708010059,"bookmarkCount":37,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/azaferna/desarrollosoftwareprovincias","videoURL":"https://youtu.be/8CVA1WpMHQ8","tags":{"39153":["Beginner"],"70b46":[" Unconference"],"0db80":[" Other"," Web"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INTERNAL_ERROR","values":{}},"presenters":[{"path":"accounts/u-i77K2WkprgYPRBojPB64BvUZKaw2","description":"Desarrolladora de Software desde 2015, actualmente desarrollo en .Net y Angular en Sngular, pero trasteo con todo tipo de tecnologías. Formo parte de AsturiasHacking y de Afaya y creo en la importancia de la comunidad. Potterhead y geek a ratos.","reimburseExpenses":false,"uuid":"azahara-fernandez-guizan","name":"azahara fernandez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-i77K2WkprgYPRBojPB64BvUZKaw2/avatar/ecad8a6c3d.avif","id":"u-i77K2WkprgYPRBojPB64BvUZKaw2"},{"path":"accounts/u-VcX1UNxpmZMFvsM19fDMNljJU5q2","description":"Desarrollador de software .Net y Angular, actualmente trabajo en Sngular y en mi tiempo libre me encanta realizar pet projects personales y descubrir nuevos frameworks y herramientas. Formo parte de Afaya, con la que imparto talleres para niños gratuitos y me involucro en todo lo que se me necesita. Me encanta montar legos y jugar a videojuegos.","reimburseExpenses":false,"uuid":"jmrp81","name":"Juanma Rodriguez Perez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-VcX1UNxpmZMFvsM19fDMNljJU5q2/avatar/358622dc48.avif","id":"u-VcX1UNxpmZMFvsM19fDMNljJU5q2"}],"id":"s2BtDhJAVbwOU4ylAcBV"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/t7uKuVX5Fdsd4LmI4IoL","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Tests con usuarios (técnicas de guerrilla)","description":"Los tests con usuarios son una herramienta muy usada en UX pero aún está rodeada de un gran misticismo para otras disciplinas como DEVs o negocio, a pesar de ser una forma rápida y sencilla de extraer gran cantidad de información útil sin apenas medios. Esta charla nos ayudará a distinguir cuáles son las diferencias frente a los QAs (y por qué son necesarios ambos) y a diseñar una sesión completa de tests para nuestros productos.\n\nAprenderemos a:\n- Definir qué queremos descubrir.\n- Preparar un guión para una sesión.\n- Conocer el material que necesitamos para llevar adelante un test de guerrilla.\n- Estar preparados ante los imprevistos\n- Analizar los resultados.\n\nEl objetivo es que los asistentes puedan irse a casa con una dinámica de trabajo que utilizar en próximos proyectos.","created":1558897883200,"bookmarkCount":52,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/lambiris/tests-con-usuarios","videoURL":"https://youtu.be/v23BwOMBbTQ","tags":{"39153":["Beginner"],"0db80":[" Games"," Mobile"," Accessibility"," Web"," Design/UX"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"865":"Se detallan las formas de compartir los resultados: presentación del informe, distribución en PDF, Gifs y Clips, y vídeos completos. Se explica la necesidad de planificar el número de personas en la sala: usuario, facilitador y tomador de notas.","386":"Se plantea la pregunta de si cualquiera puede hacer pruebas de usuario y se sugiere que sí, al menos inicialmente. Se detallan las fases: planificar, ejecutar, analizar y compartir.","610":"Consejos para la ejecución de las pruebas: pensar en voz alta, no rellenar los silencios, no completar las frases del usuario y prestar atención a lo que hace.","4":"Introducción de la presentación sobre pruebas de usabilidad con técnicas de guerrilla en la conferencia Commit 2019 en Madrid.","548":"Se mencionan algunos problemas comunes en las pruebas, como no tener sala, problemas de wifi o que el producto esté en producción.","69":"Lambiris explica que trabaja en investigación de usuarios en la tienda en línea de Casa del Libro y en Collisions Projects, donde organiza meetups sobre tecnologías no convencionales, y menciona su participación en el máster de experiencia de usuario de la Universidad Europea.","933":"Se detalla la importancia de planificar el qué, con quién, dónde y cuándo se quiere probar y consejos sobre cómo situarse en la sala.","423":"Se desglosa la fase de planificación, incluyendo qué probar, con quién, dónde y cuándo. Se enfatiza la importancia de llevar los dispositivos necesarios.","1449":"Se explica que el análisis debe hacerse en equipo y lo antes posible, incluyendo conclusiones, recomendaciones y próximos pasos, con posibilidad de incluir un resumen ejecutivo.","652":"Se enfatiza que las personas ven las mismas cosas desde distintos puntos de vista y suelen dar usos inesperados a los productos, lo que justifica la necesidad de pruebas con usuarios. Se reitera la necesidad de 'desaprender para aprender'.","783":"Se enumeran los pasos en la fase de análisis: mejor en equipo, mejor pronto, también cosas positivas, comparar con tests anteriores, incluir momentos destacados, y aprovechar los 'verbatim' (citas textuales).","309":"Se menciona cómo se aborda el proceso de pruebas, que consta de escuchar, observar, preguntar y empatizar. Se introduce el concepto de 'validación' como una técnica de negocio de usabilidad.","1114":"Se mencionan problemas comunes durante las pruebas, como la falta de sala, problemas con la wifi, subida a producción y falta de grabación. Claves durante la ejecución: preguntas abiertas, no tendenciosas, responder con una pregunta y no ayudar al usuario.","27":"El ponente, Lambiris, se presenta y explica por qué utiliza un monónimo, comparándose con figuras como Madonna o Cher.","220":"Se explica la importancia de probar los proyectos con usuarios reales o potenciales en condiciones cercanas a la realidad y cómo las diferentes percepciones afectan el diseño. Se introduce la idea de 'desaprender para aprender'.","1053":"Recomendaciones sobre el software a utilizar para las pruebas, incluyendo OBS, QuickTime Player, Reflector 3, Vysor, FreeMyDesktop y Excel.","157":"Se aborda el tema principal de la charla: pruebas de usabilidad con usuarios, y se introduce el concepto de 'guerrilla' como una forma de hacer pruebas con bajo presupuesto.","1342":"Se resalta que las pruebas son individuales y que, aunque la accesibilidad es importante, no siempre es el foco de las pruebas de guerrilla. Los tests de usuario mejoran el producto y promueven una cultura centrada en el usuario."}},"presenters":[{"path":"accounts/l-393084001","description":"Lambiris, a secas, como Madonna, Cher o Adele.\nPersona inquieta en sus cosas, Service Designer y UXer (entre otras cosas). Lambiris lleva más de 10 años moviéndose entre prototipos, investigación y tests con usuarios en consultoras y clientes. Además, aprovecha todo lo aprendido en UX, Diseño de Servicios, Usabilidad, Interacción y CRO para compartirlo como formador y facilitador.\nActualmente, divide la mayor parte de su tiempo entre coleccionar monos, reinventar la UX de Casa del Libro , dar clases en el máster de UX de la Universidad Europea y desarrollar la próxima generación de talento, productos digitales y startups desde Collisions Projects.","reimburseExpenses":false,"uuid":"lambiris","name":"Lambiris","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-393084001/avatar/1d737d8c22.avif","twitterAccount":"lambiris","id":"l-393084001"}],"id":"t7uKuVX5Fdsd4LmI4IoL"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/tLC0TClsMwAW2sQw9fRZ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Serverless... ¡en local! con Serverless Framework en AWS","description":"Monolitos… Entornos virtualizados… Microservicios… ¿y ahora Serverless? ¿Qué es? ¿Puedo trabajar con ello sin tener que poner una tarjeta de crédito?\n\nEn este laboratorio, en el que partiremos de hoja en blanco, veremos como crear y ejecutar aplicaciones serverless en local y cómo desplegarlas en AWS mediante técnicas de despliegues avanzados como *canary deployment*. Todo ello utilizando Serverless Framework.\n\n**Requisitos**\n\nNodejs v6 o superior, Python3, docker, docker-compose, AWS cli, git\n","created":1559510529051,"bookmarkCount":30,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/rubengil/serverless-dot-dot-dot-en-local-con-serverless-framework-en-aws","tags":{"39153":["Beginner"],"0db80":[" Cloud"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":["Javascript","Python"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-136494002","description":"Líder técnico en la comunidad de arquitectura de soluciones de atSistemas. Apasionado de arquitecturas de microservicios y serverless, entornos cloud y del porqué de las cosas y cómo mejorarlas. Siempre buscando el sentido a ese commit de hace unas semanas.","reimburseExpenses":false,"uuid":"rgil","name":"Ruben Gil","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-136494002/avatar/903e2eccfb.avif","id":"l-136494002"}],"id":"tLC0TClsMwAW2sQw9fRZ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/uq8Ri3bk6RP4mna0qpJD","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Python para administradores de sistemas","description":"Desde su versión 1.0 hace ya 25 años, Python ha sido el lenguaje de elección por muchos administradores de sistemas para automatizar todo tipo de tareas y permitirles realizar de manera mucho más eficiente en su día a día la gestión de servidores web, redes, usuarios, bases de datos... \n\nEn esta charla explicaré, poniéndonos por un rato en la piel de una administradora de sistemas, cómo usar Python para crear herramientas de línea de comandos para automatizar acciones repetitivas y resolver diversos problemas. A lo largo de la charla introduciré varios poderosos módulos tanto de la biblioteca estándar como de terceros que nos ayudarán a la hora de crear nuestras utilidades. ¡Dile adiós a BASH!\n","created":1555251303461,"bookmarkCount":56,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/lekum/python-para-administradores-de-sistemas","videoURL":"https://youtu.be/12YJ5ORzppI","tags":{"39153":[" Intermediate"],"0db80":[" DevOps"," Other"," Cloud"," Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"4":"El ponente, Alejandro Guirao, se presenta como administrador de sistemas en Carto, y anuncia una charla titulada \"Python para administradores de sistemas\". El objetivo es explicar cómo utiliza Python en su trabajo diario, desde pequeños problemas hasta proyectos grandes. Compara Python con un ukelele por su simplicidad y ubicuidad.","137":"Presenta a Nerea, administradora de sistemas, para ilustrar el uso de Python. Los administradores son solucionadores de problemas o 'mecánicos' que mantienen los sistemas con herramientas como Linux y Python.","525":"El script de Nerea se hace flexible usando `argparse` para recibir parámetros, como el path, mediante línea de comandos.","814":"Para la gestión de dependencias en Python, se mencionan opciones como `requirements.txt`, `setup.py`, `Pipfile`, `pyproject.toml`, `pip-tools`. Se recomienda usar `venv` y `pip install`.","240":"En su primer día, Nerea recibe información del sistema y descubre que faltan archivos CSV.","694":"Se explica cómo construir la línea de comandos para usar `pg_dump` para hacer un backup de la base de datos.","727":"Se menciona la biblioteca `requests` para interactuar con APIs REST. Nerea la usa para notificar a través de Slack mediante un webhook.","280":"Se explica el uso de la biblioteca `pathlib` de Python para manipular rutas de archivos eficientemente y como permite concatenar rutas usando el operador `/`. Se muestra código que usa `pathlib` para buscar archivos CSV recursivamente y renombrarlos. El script encuentra los archivos, extrae la especie y la fecha, y los renombra.","986":"Se recibe un correo electrónico urgente del CEO: la producción falla por predicciones incoherentes. Nerea descubre múltiples instancias de la aplicación Flask con diferentes versiones del modelo de TensorFlow.","92":"Muestra una calculadora NumWorks como ejemplo de un dispositivo que usa MicroPython.","957":"Se automatiza la ejecución del script de Nerea usando `cron`.","925":"Se comenta brevemente el uso de `Fabric` para la ejecución remota de comandos.","190":"Nerea, tras trabajar en un banco, está en una startup, Smartbird, dedicada a la predicción de avistamientos de aves.","638":"Usando un \"pipe\", se puede pasar la salida de un comando `psql` y luego `grep` como entrada al script."}},"presenters":[{"path":"accounts/l-29864001","reimburseExpenses":false,"uuid":"lekumberri","name":"Alejandro Guirao Rodríguez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-29864001/avatar/b60a865664.avif","twitterAccount":"lekum","id":"l-29864001"}],"id":"uq8Ri3bk6RP4mna0qpJD"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/v10s9fW3gdBOPwhRkWR5","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Ganarse la vida en Google Play, el Algoritmo Maldito y otras Historias de Terror","description":"# Ganarse la vida en Google Play, el Algoritmo Maldito y otras Historias de Terror\n\n## Motivación\n\nMuchas veces hemos escuchado que una idea de negocio es simplemente una solución para un problema real existente. En esta charla, explicaré cómo resolviendo de forma accidental un problema que me encontré personalmente cuando me mudé a una 'gran capital' como Madrid en 2009, fue el punto de partida de 'GreenLionSoft', una empresa que cofundé hace 5 años.\n\nHoy podemos decir que podemos ganarnos la vida desarrollando aplicaciones Android, pero no ha sido un camino fácil, la reglas del juego han cambiado mucho en los últimos 10 años y seguramente cambiarán en el futuro. Hemos aprendido muchas lecciones a la fuerza, no solo relacionados con el desarrollo de aplicaciones, sino también con la burocracia, los impuestos, la monetización y en especial de la dependencia de Google Play, el mayor reto al que nos enfrentamos como desarrolladores.\n\nEl año pasado Google Play, o más bien, un algoritmo, cerró nuestra cuenta de desarrollador, lo que suponía literalmente la muerte de nuestra compañía ya que no hay forma humana de contactar con un servicio de Atención al Cliente de Google Play. Pero inesperadamente, después de lidiar con muchas situaciones propias de una película de terror psicológico con Google, la volvimos a recuperar 23 días después. \n\nEn esta charla queremos dar visibilidad a esta situación que puede afectar tanto a desarrolladores individuales como a como a cualquier empresa que tenga un modelo de negocio basado en el desarrollo o distribución de apps que dependan de Google Play y al mismo tiempo hacernos reflexionar sobre cual es nuestra responsabilidad como desarrolladores a la hora de crear \"algoritmos\" que toman decisiones que pueden afectar críticamente a la vida de personas u organizaciones.\n\n## Guion de la charla:\n\n* ¿Es posible vivir de desarrollar Apps?\n* Solucionando un Problema Real\n* Monetizar una App\n* Alcanzando la independencia económica\n* Aprendizajes clave en los últimos 10 años\n* Google Play y sus \"Políticas\"\n* Cómo Google nos baneó un 25 de Diciembre\n* \"Account Termination\" por asociación\n* Necesitas un Plan B\n* Algo se está moviendo internamente\n* Nuestra responsabilidad como desarrolladores","created":1558623476377,"bookmarkCount":72,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/PabloAMartnezAndrs/ganarse-la-vida-en-google-play-el-algoritmo-maldito-y-otras-historias-de-terror","videoURL":"https://youtu.be/CmsttP3M4XU","tags":{"39153":["Beginner"],"0db80":[" Soft skills"," Mobile"," Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"768":"Carta abierta a la directora de Google Play y a la comunidad de desarrolladores Android, publicada en Medium ('Google Just terminated our start-up Google Play Publisher Account'), con gran éxito.","4":"Presentación de la charla de Pablo A. Martínez en Commit Conf 2019: 'Ganarse la vida en Google Play y otras Historias de Terror'. El ponente pregunta sobre la publicación de apps en Google Play.","136":"Un 9% gana entre $1000 y $10000, donde se ubica el ponente, afirmando que es posible ganarse la vida. Se relaciona el éxito con el trabajo duro, no con la suerte.","523":"Claves tras 10 años programando y más de 20 apps publicadas: centrarse en un nicho, invertir en marketing, automatizar procesos, modularizar código (SOLID, CLEAN) y delegar la UX/UI.","334":"Aparición de Android 1.5 Cupcake. Pablo se autoregala un LG-GW720 y empieza a aprender Java y Android, desarrollando su primera app, MetroDroid Madrid.","817":"La cuenta de Google Play fue reestablecida 21 días después, pero perdieron ingresos y posicionamiento. La cuenta personal no fue restaurada. Plan B: nuevos modelos de negocio, diversificar en iOS y mayor relevancia en la comunidad.","884":"Reflexión final: evitar el tecnochovinismo, la creencia de que la tecnología es siempre la mejor solución.","468":"Estadísticas demoledoras sobre ingresos y cómo ganarse la vida con Adsense. Necesidad de un cambio de rumbo, un Plan B.","215":"Pablo Martínez es ingeniero industrial que aprendió a programar en C. En 2009, tuvo dificultades para encontrar trabajo y se mudó a Madrid para trabajar en diseño de electrónica.","601":"AdMob tiene más inventario pero paga menos. El posicionamiento en Google Play y los ingresos son a largo plazo (dos años). Si tu negocio depende de una app en Google Play, necesitas un plan B.","26":"Pablo Martínez se presenta como desarrollador Android y comienza la presentación sobre si es posible ganarse la vida desarrollando apps.","60":"La opacidad de Google Play y Apple Store dificulta obtener información sobre ingresos de desarrolladores. Se presentan estadísticas de una encuesta de Inmobi: el 87% gana menos de $1000 al mes.","670":"Suspensión de la cuenta de Google Play el 24 de diciembre. Apelan y solicitan asistencia \"humana\", pero reciben un rechazo genérico el 25 de diciembre. La carrera profesional y la empresa, heridas de muerte en navidad."}},"presenters":[{"path":"accounts/u-jfjHkgKKeBS2K37MXdEJb6RCo5B3","description":"CEO @GreenLionSoft · Android Lead @MadridMBC · GDG Navarra · Kotlin · Android · Tech Writer @Medium · Tech Editor @Raywenderlich · Father · Runner · Traveller ·","reimburseExpenses":false,"uuid":"pabloamartinez","name":"Pablo A. Martinez","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-jfjHkgKKeBS2K37MXdEJb6RCo5B3/avatar/3e61c5c3aa.avif","id":"u-jfjHkgKKeBS2K37MXdEJb6RCo5B3"}],"id":"v10s9fW3gdBOPwhRkWR5"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/vKHbP6EmkBmVLap5mFCT","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Differences Between DevOps and SRE","description":"DevOps and SRE are not competing with each other. SRE implements much of the principles and practices of DevOps. In this session, I'll break down each approach and show where DevOps and SRE differ. You'll notice that SRE has an opinionated approach for how to run production systems, whereas DevOps focuses more broadly on people, process, and tools—in that order of importance. After this talk, you'll have a clear idea about how to get the most of SRE in your DevOps journey.","created":1554815218752,"bookmarkCount":80,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/christianhxc/diferencias-entre-devops-y-sre","videoURL":"https://youtu.be/t38kKoDre6s","tags":{"39153":[" Intermediate"],"0db80":["Agile and Lean"," DevOps"," Cloud"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Go"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"353":"Definición de SRE como lo que sucede cuando un ingeniero de software diseña un equipo de operaciones.","1154":"Libros: 'Continuous Delivery', 'The DevOps Handbook', 'The Science of Accelerate' y 'Site Reliability Engineering'.","1027":"El enfoque de SRE en métricas como indicadores de nivel de servicio (SLI), objetivos (SLO) y acuerdos (SLA).","548":"Enfoque de DevOps: cultura, automatización, TI ajustada, medición y uso compartido.","199":"Un meme que destaca las diferentes perspectivas de los equipos de desarrollo y operaciones.","455":"Métricas clave para DevOps (según el informe DORA): tiempo de entrega, frecuencia de implementación, cambio de fallo y tiempo de restauración.","1096":"DevOps es complejo de definir y SRE requiere un cambio cultural con sugerencias concretas para el cambio.","649":"Las tres formas de DevOps: pensamiento sistémico, amplificación de los bucles de retroalimentación y cultura de experimentación y aprendizaje continuos.","394":"El libro SRE de Google define cómo ejecutan los sistemas de producción.","238":"Referencia a una charla de John Allspaw y Paul Hammond en Flickr en 2009, considerada un momento clave en el movimiento DevOps.","15":"El orador, Christian Meléndez, se presenta y presenta el tema de su presentación: las diferencias entre DevOps y SRE (ingeniería de confiabilidad del sitio).","49":"Presentación del orador, su trabajo como Arquitecto de Nube en Equinix y sus actividades adicionales como escritor técnico.","499":"Responsabilidades de SRE: disponibilidad, latencia, rendimiento, eficiencia, gestión de cambios, supervisión, respuesta a emergencias y planificación de la capacidad.","726":"Introducción al concepto de presupuesto de errores, decidiendo cuánto tiempo de inactividad es aceptable.","919":"El modelo SRE adopta las diferencias entre operaciones y desarrollo y tiene un objetivo común.","151":"Agenda de la presentación: definiciones, eliminación de silos, medición del éxito, prácticas de CI/CD, aceptación de fallos y análisis de si DevOps y SRE son amigos o enemigos.","889":"Resumen de cómo opera SRE: responsabilidad compartida, uso de las mismas herramientas y adopción de una perspectiva común.","282":"Definición de DevOps como un conjunto de normas culturales y prácticas tecnológicas (según Gene Kim).","954":"Definición de 'ingeniería de confiabilidad' de SRE: Lo que sucede cuando se le pide a un ingeniero de software que diseñe un equipo de operaciones.","539":"Eliminación de \"silos\" en la organización: ¿están los desarrolladores y los administradores de sistemas enfrentados?","796":"Se presenta una ayuda visual que muestra las diferentes frecuencias y beneficios.","606":"Pensamiento sistémico como una forma de abordar DevOps, optimizando el flujo desde el requisito hasta la producción.","127":"Origen de la charla: un artículo escrito por el orador sobre las diferencias entre DevOps y SRE."}},"presenters":[{"path":"accounts/u-hC4HDblAgZb6n1mMseu3RETxfL93","description":"Christian is a technologist that started as a software developer and has more recently become a cloud architect focused on helping companies to implement continuous delivery pipelines. Christian's also a technical writer for topics around Kubernetes, containers, cloud, and DevOps. He's contributed to the community and specific companies with talks and workshops too. You can always read them on his blog at cmelendeztech.com","reimburseExpenses":false,"uuid":"christian-melendez","name":"Christian Melendez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-hC4HDblAgZb6n1mMseu3RETxfL93/avatar/3bf12fb157.avif","id":"u-hC4HDblAgZb6n1mMseu3RETxfL93"}],"id":"vKHbP6EmkBmVLap5mFCT"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/vKbO9xByEmZfYXMysD6K","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Cómo mejorar como desarrollador: no te fíes, es justo al revés, pero te lo contamos","description":"Hablaremos de como gestionar tu formación, tu carrera profesional, tu tiempo, tu trabajo en equipo, y en equipos distribuidos. Te daremos la paliza con buenas prácticas **en general**.\n\n¿Te ves en una de estas situaciones?\n\n- Acabas de terminar los estudios y no sabes qué hacer.\n- Te encuentras estancado en tu carrera profesional.\n- No encuentras motivaciones en tu día a día.\n- Esto que hacemos te mola mucho, pero no sabes cómo entrar.\n- Lo que haces aburre a las ovejas.\n\nNo estas solo, hay más gente en tu situación, a todos nos ha pasado, nos pasa o _nos pasará_. Tras muchos tiros dados y otros tantos recibidos, trabajado con mucha gente y en muchas empresas tenemos un rico historial de ideas y sugerencias que ofrecer. Ante todo seremos honestos. ","created":1569840662361,"bookmarkCount":131,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/jorgemagnolia/mejorar-como-desarrollador","videoURL":"https://youtu.be/y2k0Zl1xrLg","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":["Agile and Lean"," Soft skills"," Social"," Other"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"513":"Énfasis en la importancia del dominio del inglés en la industria tecnológica, especialmente en entornos de trabajo remoto.","451":"Importancia de trabajar en equipo, coordinar y usar la 'regla de los dos pies' para acuerdos rápidos.","1027":"La importancia de dar feedback a los compañeros, por ejemplo cuando usas canales de grupo.","389":"Mención del concepto 'en forma de T', fomentando un equilibrio entre la especialización profunda y el conocimiento amplio.","646":"Sugerencia de probar cosas nuevas, salir de tu zona de confort, hacer un proyecto paralelo para mantenerse al día con la constante evolución de las tecnologías de programación.","273":"Consejos sobre cómo manejar los momentos 'qué carajo' durante las revisiones de código, enfatizando la modestia y la retroalimentación constructiva.","209":"Énfasis en aprender de las experiencias de otros y compartir lo aprendido.","535":"Consejos para escribir código limpio, simple y comprensible. Énfasis en no complicar demasiado las cosas y el valor de revisar el código antes de enviarlo.","24":"Introducción de los ponentes: Angélica y Jorge, desarrolladores de Magnolia.","152":"Presentación de Magnolia, detalles sobre la empresa, las tecnologías que utilizan (Java, CMS híbrido headless), su presencia global y ofertas de trabajo en España.","1049":"La ética, la integridad, el compromiso y el respeto son más importantes que el dinero. No cambiar de trabajo solo por dinero.","347":"Importancia de las revisiones de código, dar retroalimentación constructiva y evitar la negatividad.","989":"Cuando teletrabajas lo mejor es actuar como si fueras a la oficina, aunque sea en pijama.","478":"Consejos sobre cómo manejar la retroalimentación con respeto, prefiriendo la crítica privada y el elogio público.","286":"Levantar las manos para evaluar los niveles de experiencia de la audiencia, encontrando en su mayoría desarrolladores experimentados.","415":"Discusión sobre si enfocarse o no en las nuevas tendencias y tecnologías, recomendando precaución y enfatizando la comprensión de conceptos sobre herramientas específicas.","96":"Información sobre la experiencia de Jorge como desarrollador y sus preferencias en lenguajes de programación, destacando Groovy y su reciente interés por un estilo de vida saludable.","930":"DDD, Domain-Driven Design, como enfoque para el desarrollo de software.","164":"Explicación de los conceptos de CMS 'headless' e 'híbrido'.","296":"Aliento a hacer preguntas durante la charla.","233":"Discusión sobre las complejidades de la programación, la importancia del trabajo en equipo y la necesidad de ser constructivo en las revisiones de código.","493":"La importancia de compartir ideas y no tener miedo de hacer preguntas.","371":"Consejos sobre los objetivos y la comunicación del equipo, enfatizando la necesidad de alinear los objetivos individuales con los objetivos del equipo.","953":"La importancia de la automatización de los procesos.","1209":"Enlaces y referencias.","315":"Discusión sobre los desafíos de la profesión de desarrollador, incluyendo su complejidad, el aprendizaje constante y la tendencia a complicar demasiado las cosas.","573":"Aliento a explorar cosas nuevas (como Domain-Driven Design - DDD) y a aplicar la metodología ágil de manera práctica, enfocándose en la mejora continua.","190":"Transición al tema principal: consejos y recomendaciones sobre cómo mejorar como desarrollador, basados en experiencias personales. Mención de una publicación anterior que inspiró la charla."}},"presenters":[{"path":"accounts/l-410134001","reimburseExpenses":false,"uuid":"jorgefranco","name":"Jorge Franco","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-410134001/avatar/b3e6622f82.avif","twitterAccount":"jfrancoleza","id":"l-410134001"},{"path":"accounts/l-160244003","reimburseExpenses":false,"uuid":"angelicasanz","name":"Angélica Sanz","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-160244003/avatar/c72a8d2861.avif","twitterAccount":"_AngelicaSanz","id":"l-160244003"}],"id":"vKbO9xByEmZfYXMysD6K"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/vhxHDcjiVQhWcEwrdNBx","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Everything you need to know about Kafka Streams","description":"Would you like to learn stream processing within the Kafka platform?. In this easy-to-follow workshop, you’ll explore real-world examples to collect, transform, and aggregate data, work with multiple processors, and handle real-time events. You’ll even dive into streaming SQL with KSQL!. Practical to the very end, it will finish with testing and operational aspects, such as monitoring and debugging.\n\nIMPORTANT:\n\n- Download dependencies in advance so you avoid using the WiFi: https://github.com/antonmry/kafka-streams-workshop#in-advance-steps\n- Check the software requirements: https://github.com/antonmry/kafka-streams-workshop#software-requirements\n","created":1559121051726,"bookmarkCount":59,"recordingAuthorized":true,"tags":{"39153":[" Intermediate"],"0db80":[" Big Data"," DevOps"," Cloud"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":["Java"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-385244001","description":"Antón is a Software Engineer passionate about development with JVM languages, distributed systems and Deployment pipelines, mainly for big companies where technology is part of the business core. In his career, he had several roles from intern developer to technical director which allowed him to earn a lot of experience breaking things and improving them before someone notices it. He's also involved in the local and national Tech community, organizing the Vigo and Coruña Java User Groups (VigoJUG & CoruñaJUG), the biggest Java conference in his area (XantarJ), speaking at international conferences and always willing to speak about how to promote excellence and diversity in the Tech industry.","reimburseExpenses":false,"uuid":"antonmry","name":"Antón Rodríguez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-385244001/avatar/732f79ef69.avif","twitterAccount":"antonmry","id":"l-385244001"}],"id":"vhxHDcjiVQhWcEwrdNBx"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/wmIb7YpY4PiaOQCnueOR","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Taller de Event Storming","description":"Event Storming es un formato de colaboración ideado por Alberto Brandolini con la intención de ayudar a explorar dominios complejos.\n\nCon el tiempo se ha convertido en una técnica que se puede aplicar a diversos niveles de abstracción y puede utilizarse con múltiples propósitos como pueden ser la puesta en común de partes del negocio entre distintos roles (negocio, tech, etc.), mejora de procesos existentes, como herramienta de documentación en sistemas orientados a eventos, etc.\n\nEs un formato de dinámica muy útil porque no es necesario conocimiento de desarrollo para participar y está totalmente centrada en el diálogo, lo que facilita la participación de perfiles de múltiples disciplinas.\n\nEl objetivo de este taller es hacer una pequeña introducción para conocer la dinámica de este tipo de sesiones y realizar una sesión de Event Storming dividos en grupos aproximadamente de 5 personas, en función de cuántas asistan.\n\nLas sesiones de Event Storming pueden durar varias horas, pero limitaremos el ámbito del problema sobre el que trabajaremos para poder hacer una sesión completa en los 90 minutos disponibles.","created":1559430506209,"bookmarkCount":52,"recordingAuthorized":false,"tags":{"39153":[" Intermediate"],"0db80":[" Other"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/u-9Nxu9dTccZQfPthA8DDdcCklmD13","description":"Llevo tanto tiempo desarrollando software que ya no recuerdo cómo era mi vida cuando no sabía hacerlo. Y aún así no se ni la mitad de lo que querría, y lo que yo querría no es ni la mitad de lo que la mitad de mi vida me va a permitir aprender. Y ahí sigo, intentando entregar valor, manteniendo a raya al legacy que paga las facturas y dando la brasa con cosas como TDD, evitar el desperdicio, la complejidad accidental e insistiendo en que los verdaderos problemas son los que nos esperan del lado del negocio.","reimburseExpenses":false,"uuid":"modestosja","name":"Modesto San Juan","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-9Nxu9dTccZQfPthA8DDdcCklmD13/avatar/5a7cc5561a.avif","twitterAccount":"msanjuan","id":"u-9Nxu9dTccZQfPthA8DDdcCklmD13"}],"id":"wmIb7YpY4PiaOQCnueOR"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/y5vlTfnjrC6nWTwfKEmQ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Conociendo AMP: Accelerated Mobile Pages","description":"AMP (Accelerated Mobile Pages) es una iniciativa de código abierto promovida por Google para mejorar el rendimiento de las páginas web. Nació en 2015 y se ha extendido como la espuma. Incluso, se ha extendido a los emails permitiéndonos crear emails dinámicos con AMP Email\n\nPero, ¿en qué consiste esta tecnología? ¿Por qué nace? ¿Cuál es su objetivo? ¿Por qué se ha extendido? ¿Cuál es su futuro?\n\nTrataremos de responder a estas y otras preguntas en esta charla.\nTambién, veremos cómo empezar a construir páginas utilizando esta tecnología y cómo sacarle el máximo potencial a las herramientas que nos ofrece.","created":1559430913094,"bookmarkCount":70,"recordingAuthorized":true,"slidesURL":"https://juliavallina.github.io/conociendo-amp/index.html","videoURL":"https://youtu.be/iemFUfIkloo","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Web"],"1f174":["Spanish"],"92508":["HTML/CSS","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"128":"Introducción al tema principal: Conociendo AMP y su evolución, aclarando la no afiliación de la ponente con Google o AMP.","289":"Breve historia de AMP: Anuncio de Google en octubre de 2015 y su objetivo de carga instantánea con restricciones para AMP Websites.","418":"AMP Ads: Limitaciones, controversias, y el nuevo modelo de gobierno de AMP (noviembre de 2018).","690":"Demostración en vivo de la creación de una página web sencilla con AMP.","1139":"Google AMP caché: Funcionamiento e implicaciones.","788":"Restricciones de AMP en HTML (etiquetas prohibidas y limitadas), CSS (máximo 50KB, inline, transiciones permitidas) y JavaScript (librería Core de AMP, Web Worker).","5":"Introducción a la presentación sobre AMP, Accelerated Mobile Pages, en la conferencia Commit 2019 en Madrid, y sondeo de la audiencia sobre su experiencia.","215":"Definición de AMP como un framework de componentes web para crear sitios user-first y su evolución a stories, ads y emails.","59":"Revelación de la polémica en torno a AMP y explicación de los objetivos de la presentación: Presentación personal y de trabajo de la ponente, Julia Vallina.","1005":"Componentes core de AMP: amp-img, amp-pixel, estructura básica de una página AMP HTML y uso de link rel='canonical'.","589":"Conferencia AMP Conf Amsterdam (febrero de 2018) y lanzamiento de AMP for Email (marzo de 2019).","479":"Críticas a AMP y el autocompletado de Google al buscar 'google amp is'."}},"presenters":[{"path":"accounts/l-405154001","description":"Asturiana con 5 años de experiencia en el mundo de desarrollo web. Actualmente team lead y front end developer en The Cocktail. HTML/CSS ","reimburseExpenses":false,"uuid":"soyjulis","name":"Julia Vallina","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-405154001/avatar/c3f8f352bb.avif","id":"l-405154001"}],"id":"y5vlTfnjrC6nWTwfKEmQ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ym2ubFjxJ84J6fky6TJA","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Aprendizaje supervisado aplicado: Smart office","description":"En este charla trataremos un caso práctico en el que se ha implementado un solución de *smart-office* dentro del ecosistema **IoT de AWS**.\nEl sistema se apoya en hardware básico (Raspberrypi) y mediante un algoritmo de **aprendizaje supervisado** a través del reconocimiento de imágenes con *OpenCV* monitorizamos el uso de salas y zonas comunes de la oficina.\n\nAnalizaremos problemas y soluciones aplicadas durante su desarrollo, desde el propio entrenamiento del algoritmo hasta la arquitectura del sistema implementada para ser capaces de ponerlo en marcha sobre hardware poco potente.\n","created":1559405305143,"bookmarkCount":44,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/agrande/aprendizaje-supervisado-aplicado-smart-office","videoURL":"https://youtu.be/AOEJN4sWPkI","tags":{"39153":[" Intermediate"],"0db80":[" IoT"," Cloud","Machine Learning"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"5":"Presentación de Rubén Vos y Alberto Grande, ingenieros de software en Paradigma, sobre un caso real de IoT aplicado en sus oficinas para la gestión de salas de reuniones.","775":"Proceso de detección de paso: procesado de imagen (desenfoque gaussiano, procesado morfológico), detección y clasificación de elementos. Algoritmo final y problemas con variabilidad por distancia y cámaras ojo de pez.","215":"Descripción de la arquitectura IoT: dispositivos (sensores), gateway (AWS GreenGrass), core IoT (AWS IoT Core), almacenamiento en la nube (AWS S3) y aplicaciones que consumen una API. Incluye detalles sobre AWS Lambda, DynamoDB y 'Edge computing' con AWS GreenGrass.","75":"Propuesta de solución: Desarrollo de un sistema para contabilizar el uso en tiempo real de las salas de reuniones, mostrando disponibilidad, ocupación y estado de espacios comunes, con dashboards y tabletas in-situ.","460":"Configuración técnica de dispositivos: tabletas, Raspberry Pi 3 B+ con cámara y 'Power over Ethernet' para reconocimiento de paso.","510":"Descripción del flujo de comunicación MQTT entre dispositivos, gateway AWS GreenGrass y AWS IoT Core. Introducción a 'Shadowing' y 'Jobs' para gestión de dispositivos y tareas remotas. Ejemplo de JSON para estado y parámetros del dispositivo."}},"presenters":[{"path":"accounts/u-T8tN0FodrRfIk4ZkdEwAD4938LY2","description":"Soy Ingeniero Informático por la UPM, amante de la tecnología y todo lo que la rodea. Especialmente interesado en desarrollo, arquitecturas distribuidas y escalables y sistemas Cloud. \nPienso que en software la calidad debe estar por encima de todo y nunca debería ser negociable. ","reimburseExpenses":false,"uuid":"albertogrande","name":"Alberto Grande","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-T8tN0FodrRfIk4ZkdEwAD4938LY2/avatar/6935c5aa39.avif","id":"u-T8tN0FodrRfIk4ZkdEwAD4938LY2"},{"path":"accounts/l-383344001","description":"Apasionado de la música desde que podía golpear cacerolas en casa. Amante de las nuevas tecnologías y autodidacta del IoT.","reimburseExpenses":false,"uuid":"rbenvos","name":"Ruben Vos","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-383344001/avatar/94cd6285c2.avif","id":"l-383344001"}],"id":"ym2ubFjxJ84J6fky6TJA"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/yvzFQxigs9mCDupG4soL","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"EthicHub: Blockchain financiando agricultores desbancarizados","description":"1. **Porqué nace EthicHub**: Los problemas de financiación de los cafetaleros Mexicanos, inicios del proyecto, red de nodos locales\n2. **Blockchain como solución**: transmisión de valor segura, transparente e \"inmutable\"\n3. **1 año en producción**: decisiones técnicas y de arquitectura para un proyecto blockchain con smart contracts, retos y soluciones de UX para un proyecto blockchain.","created":1572533240298,"bookmarkCount":23,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/file/d/1z4ID7k1nw0F5ErTHOFWVXj4e1eKNni4m/view?usp=sharing","videoURL":"https://youtu.be/aGeuparnXRU","tags":{"39153":[" Intermediate"],"0db80":[" Security"," Design/UX"," Blockchain"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1730":"Conclusión y preguntas del público sobre microcréditos y criptomonedas.","600":"Definición de contrato inteligente. Consideraciones sobre la creación de contratos inteligentes: añadir nuevos prestamistas (KYC), reputación, errores o hackeos.","1640":"Explicación del proceso de añadir un nuevo dispositivo al Universal Login.","1290":"Metatransacciones: definición, funcionamiento, incentivos.","667":"Hacer el contrato modular: Delegate Call, OpenZeppelin, Aragon.","1195":"Gas Station Network.","827":"Experiencia de usuario (UX) y blockchain.","1083":"Explicación de una transacción en Etherscan: gas, gas limit, precio.","924":"Onboarding en blockchain. Dificultades y soluciones: DAI, metatransacciones.","717":"Arquitectura Hub & Spoke: Eternal Storage.","1534":"Universal Login: funcionamiento y seguridad."}},"presenters":[{"path":"accounts/l-138794001","description":"CTO and Co-founder en EthicHub, gestionando personas, producto y código\nMe veréis por Cryptoplaza, por BlockMad dando una charla o por el Norte.\nBlockchain, Ethereum, Solidity, Vue, con background en I+D y desarrollo móvil.\n\nhttps://t.me/ethichub\nhttps://t.me/blockchaindevelopers\n\n","reimburseExpenses":false,"uuid":"raulmf861","name":"Raul Martinez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-138794001/avatar/07c9f6df65.avif","twitterAccount":"ethicraul","id":"l-138794001"}],"id":"yvzFQxigs9mCDupG4soL"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/zCHdFMMQDmhYzbmwJMna","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"Rust & WebAssembly para JavaScripters","description":"Rust es un lenguaje tipado, rápido y seguro, que ha sido diseñado por Mozilla como lenguaje de sistemas, aunque en los últimos tiempos ha ganado mucha popularidad en el terreno del desarrollo Web gracias a WebAssembly, su amplio ecosistema y gran comunidad. A lo largo de la charla descubriremos las características más destacables de Rust, sus similitudes y diferencias con JavaScript y veremos qué aporta Rust al futuro de la Web gracias a WebAssembly.\n","created":1559493344214,"bookmarkCount":53,"recordingAuthorized":true,"slidesURL":"https://pablomagaz.com/static/slides/Pablo_Magaz_RustYWebAssemblyParaJavaScripters_CommitConf2019.pdf","videoURL":"https://youtu.be/d7jDoa51NN8","tags":{"39153":["Beginner"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Rust","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"353":"Introducción a los Structs en Rust, implementación de métodos y su uso como alternativa a las clases","2":"Introducción a las tecnologías Rust y WebAssembly","229":"Comparación entre lenguajes de sistema y lenguajes con Garbage Collector","54":"Concepto de WebAssembly como el futuro de la web y su relación con Rust","650":"Rust como lenguaje multiparadigma con orientación a objetos y programación funcional, destacando la importancia de los iteradores","828":"WebAssembly como un estándar abierto, sus formatos y la interacción de Rust con WebAssembly y JavaScript mediante Crates","29":"Características del lenguaje de programación Rust, incluyendo su creación por la Fundación Mozilla, bajo nivel, alto rendimiento y ausencia de Garbage Collector"}},"presenters":[{"path":"accounts/l-75494004","description":"I'm Pablo Magaz, Front End Development Manager with a technical knowledge acquired in more than 15 years of software development working with different programming languages but very focussed in JavaScript world in the last years with wide experience with the most most remarkables libraries and frameworks: React, Angular, RxJs, Vue, Polymer.\nI'm speaker in different JavaScript events around Spain and also own a blog focused in the JavaScript world: El Blog Isomórfico:","reimburseExpenses":false,"uuid":"magazpablo","name":"Pablo Magaz","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-75494004/avatar/ffbfefce3e.avif","twitterAccount":"pablo_magaz","id":"l-75494004"}],"id":"zCHdFMMQDmhYzbmwJMna"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/zMBO6aO0mrknAeNoMYy3","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/GGTCSPhpbZgyGpmlc34q","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-GGTCSPhpbZgyGpmlc34q","name":"MQTT a fondo. Con frutas del bosque, morse y un dron [zero PowerPoint].","description":"La verdad, quedan muy pocos protocolos de Internet que se puedan explicar a fondo en menos de 40 minutos. De hecho, creo que **MQTT** es el último de ellos. Nacido hace 20 años, como muchos de los que usamos, ha encontrado su momento con el auge de Internet de las Cosas. \n\n**MQTT es irreverente, pero hermosamente simple.** Un diseño tan centrado en la escasez y tan **pragmático y dúctil** que como ingeniero hace que se te salten las **lágrimas de la emoción.** Aprenderlo, es entender la filosofía detrás del IoT.\n\nContarlo en tan poco tiempo tiene un truco. Lo haremos a lo Bruce Lee **[be water my friend]**: nos adentraremos en el protocolo siendo mensajes, esperando en sus “colas”, muriendo de tristeza si no hay receptores esperando y, finalmente, sintiendo la satisfacción de haber hecho otra entrega a tiempo.\n\nNo me gusta trabajar solo, así que necesitaré algunos **voluntarios** de entre los asistentes, imitando un poco el trabajo colaborativo que subyace en las soluciones IoT. No hace falta que escriban muy rápido, el único requisito es que no sepan nada de nada de MQTT [o se hagan los suecos].\n\n[Que sí, que **también habrá cacharros**]\n\nOne more thing…\n\n¿Y si prescindimos de la modernidad? \n\nVale, sin node.js o JavaScript. Vamos a hacer IoT a pelo, con scripts del Shell.\n\n[Espero no arrepentirme de esto 😊]\n\n¡Ah! ¿y la caja negra del dron? Buenos, tendréis que venir a verlo.\n\n\n\n","created":1558803486721,"bookmarkCount":80,"recordingAuthorized":true,"videoURL":"https://youtu.be/-fEPvHVSF8g","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" IoT"," Other"],"1f174":["Spanish"],"92508":["Bash","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"321":"Microbit, una máquina diseñada para que los niños jueguen y aprendan","225":"MQTT, un protocolo para conectar dispositivos pequeños y de baja potencia: estructura de un paquete MQTT, tipos de mensajes, creación de temas y protocolo con estado.","4":"Canal de Telegram para compartir recursos de presentación","180":"Por qué es importante saber cómo funcionan las cosas internamente. Ingenieros pagados por la creatividad","327":"Protocolo MQTT-SN","57":"Las dos cosas que a mí, como ingeniero, me cuesta digerir","298":"A la gente ya no le importan los bytes","111":"MQTT, un protocolo de máquina a máquina, explicado sin PowerPoint ni GIF animados","287":"La importancia de saber qué hay debajo de una tecnología. Presentismo"}},"presenters":[{"path":"accounts/u-4HZaAnzY0rP34pxmyHCC5LMZacB3","description":"Supe que sería ingeniero justo después de ver Juegos de Guerra, un clásico de los ochentas que todo informático de bien debería ver. Eso de decidir tu futuro inspirado por una peli puede acabar muy mal (depende del género) pero se llevaba mucho entonces lo de las epifanías.\n\nMe encanta el cacharreo. Creo que es la mejor forma de aprender algo de verdad, porque te enseña a manejar la frustración y a gestionar recursos escasos. Y una vez hecho ésto, nada mejor que contárselo a los demás para que la rueda del conocimiento siga girando.\n\nMás en: https://es.linkedin.com/in/sjimenezromero/en\n","reimburseExpenses":false,"uuid":"sajimenezromero","name":"Samuel A. Jiménez Romero","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-4HZaAnzY0rP34pxmyHCC5LMZacB3/avatar/0060702394.avif","twitterAccount":"emitdrop","id":"u-4HZaAnzY0rP34pxmyHCC5LMZacB3"}],"id":"zMBO6aO0mrknAeNoMYy3"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/0K1AUfecxEbtJkqzJziP","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"DevTools: Tools & tricks","description":"# DevTools\n\n¿Eres de los que utiliza **console.log para debuggear**? ¿Harto de **perder los cambios de CSS que habías hecho en caliente** al refrescar el navegador? ¿Necesitas saber como quedaría producción con ese pequeño cambio sin romperlo todo?\n\n¡Esta es tu charla! En ella, **descubriremos herramientas y opciones disponibles en las DevTools de Chrome**, con las que hacer debugging y refactors, de una forma más cómoda y sencilla. Revisaremos pestaña a pestaña las distintas opciones escondidas, consiguiendo identificar el CSS sin usar de nuestra web, creando breakpoints en sitios que no esperas, o aprendiendo a modificar en caliente nuestros archivos locales desde el navegador.\n\n# Qué veremos\nLa charla será 1/4 presentación, 3/4 debugging en real-time, pasando por las siguientes herramientas\n- Breakpoints en HTML y peticiones AJAX\n- Cobertura de código sin usar\n- Sobreescritura de archivos locales en producción\n- Ámbitos y live expressions en la consola\n- Análisis de eventos y call stack\n- Trucos y utilidades generales\n\n\n\n ","created":1556108099498,"bookmarkCount":175,"recordingAuthorized":true,"slidesURL":"https://slides.com/jonroji/devtools-tricks","videoURL":"https://youtu.be/zIXwg9kim2s","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Other"," Web"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"64":"Depuración, tipos y métodos","134":"Recorrido por las pestañas de las Herramientas de Desarrollo: DOM y estilos, Consola principal, Fuentes, Depuradores y Puntos de interrupción, Red, Cobertura, Herramientas y trucos","1094":"Fuentes","1673":"Fuentes - Puntos de interrupción de detectores de eventos","1033":"Consola - console.table","458":"Elementos - añadir nueva regla","74":"Herramientas de Desarrollo de Chrome y su compatibilidad con otros navegadores","10":"Introducción a las Herramientas de Desarrollo","202":"Elementos: análisis del HTML, CSS y atributos","780":"Consola - Contextos","335":"Elementos - modificador de estado del elemento","593":"Elementos - Accesibilidad","657":"Elementos - cmd + shift + p / Capturas de pantalla","852":"Consola - Expresiones en vivo","20":"Presentación del conferenciante Jon Roji y breve descripción de su trabajo","1109":"Fuentes - Sistema de archivos","1048":"Consola - console log con estilos","408":"Elementos - alternar clase","217":"Elementos - copiar selectores CSS/XPath","1501":"Fuentes - Puntos de interrupción de elementos DOM","2013":"Cobertura","2078":"Rendimiento","2211":"Monitor de rendimiento","1892":"Red","934":"Consola - console.log('{myProp}')","105":"Ejemplo Renfe: navegación web y errores","234":"Elementos - almacenar el elemento como una variable global","747":"Consola","1325":"Fuentes - Bloqueo de solicitudes","497":"Elementos - detectores de eventos del elemento","950":"Consola - console.assert","1206":"Fuentes - Anulaciones","1463":"Fuentes - Puntos de interrupción","446":"Elementos - añadir nueva clase"}},"presenters":[{"path":"accounts/u-b1SUn5e68lReRo4YzymmnWxP9LS2","description":"Frontend en Sngular, adicto al cacharreo con todo tipo de tecnologías y todo aquello que se programe. Fan de la formación bien hecha. Me gustan los unicornios","reimburseExpenses":false,"uuid":"joroji","name":"Jon Rojí","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-b1SUn5e68lReRo4YzymmnWxP9LS2/avatar/a4dd2c587d.avif","id":"u-b1SUn5e68lReRo4YzymmnWxP9LS2"}],"id":"0K1AUfecxEbtJkqzJziP"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/0KZDdN6SnGWKcQbmophT","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Micronaut y GraalVM: La combinación perfecta","description":"Micronaut es un framework para microservicios en la JVM que no utiliza reflection y pre-calcula todo lo necesario para el funcionamiento de las aplicaciones ahead-of-time (AoT) durante la compilación. De esta forma consigue que las aplicaciones arranquen extremadamente rápido y que consuman muy poca memoria.\n\n¿Qué pasaría si te dijera que puedes reducir el tiempo de arranque en órdenes de magnitud? ¿Y si pudieras reducir aún más el consumo de memoria?\n\nGraalVM es una nueva máquina virtual de Oracle que soporta muchos lenguajes en runtime. Además GraalVM tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut.\nEn esta charla aprenderás cómo funciona GraalVM y cómo puedes aprovechar toda su potencia para convertir tus aplicaciones Micronaut a binarios nativos.\n","created":1556450077050,"bookmarkCount":59,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/ilopmar/commitconf-2019-micronaut-y-graalvm-la-combinacin-perfecta-196829999","videoURL":"https://youtu.be/TIpMloC4F5k","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Web"],"1f174":["Spanish"],"92508":["Java","Groovy","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1760":"Demo: Creación de imagen nativa y monitoreo de recursos","1218":"Funcionamiento del soporte GraalVM en Micronaut","1031":"Ventajas de imágenes nativas: Menor uso de memoria","1384":"Soporte en Micronaut: Anotaciones y configuración","105":"GraalVM: Concepto y variantes","10":"Introducción y agradecimientos","491":"Limitaciones al generar imágenes nativas","843":"Micronaut Data: Toolkit de acceso a datos","1964":"Cómo testear la integración","369":"Substrate VM: Conversión de aplicaciones Java a binario nativo","1618":"Depuración de errores","596":"Micronaut: Framework ágil para la nube","27":"Objetivo de la charla: Integración de Micronaut y GraalVM","2139":"Ejemplo de reporte de error y solución","316":"Truffle: Framework para lenguajes no compilados","2557":"Resumen de ventajas y consideraciones","925":"Crear aplicación con soporte GraalVM: Ejemplo práctico","1150":"Depuración de errores"}},"presenters":[{"path":"accounts/u-6JYhZ8C1iEho6c3DIQo5ea6dCm63","description":"Iván es desarrollador y sysadmin con 15 años de experiencia que trabaja en el equipo de Grails y Micronaut en Object Computing, Inc. (OCI). Descubrió Grails hace 9 años y desde entonces desarrolla casi exclusivamente utilizando Java y Groovy. \nTambién es el coordinador del Grupo de Usuarios de Groovy de Madrid (@MadridGUG), ex-organizador de la conferencia Greach y un speaker frecuente en conferencias como Devoxx, RigaDevDays, CommitConf, JavaCro, GeeCon, ConFoo, SpringOne 2GX, Spring IO,...","reimburseExpenses":false,"uuid":"ilopmar","name":"Iván López","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-6JYhZ8C1iEho6c3DIQo5ea6dCm63/avatar/25a701580b.avif","twitterAccount":"ilopmar","id":"u-6JYhZ8C1iEho6c3DIQo5ea6dCm63"}],"id":"0KZDdN6SnGWKcQbmophT"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/1Paeb4J5whH0R1BhQTaw","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Potenciando la accesibilidad de los contenidos digitales desde los CMS","description":"Alcanzar un nivel óptimo de accesibilidad en un sitio web depende de todos los profesionales involucrados en su diseño, desarrollo y mantenimiento: diseñadores gráficos, maquetadores, programadores, documentalistas, periodistas, etc.\n\nLa creación de sitios web basados en Sistemas de Gestión de Contenidos (CMS) disminuye los tiempos de desarrollo y, además, facilita la producción de información a perfiles profesionales con rol de gestor de contenido (documentalistas, periodistas, docentes, etc.) que, en muchos casos, no disponen de conocimientos en HTML. No obstante, si en los CMS y en los repositorios de plantillas puestos a disposición de quienes elaboran los contenidos no se integran características de accesibilidad, el resultado final de los sitios web provocará que personas con discapacidad, mayores y otros colectivos con riesgo de exclusión digital puedan enfrentarse a barreras de acceso a la información.\n\nEn esta ponencia se aportarán las pautas a contemplar en la programación de los CMS y de plantillas tipo para que usuarios responsables de gestionar contenidos puedan contemplar la accesibilidad sin necesidad de integrar etiquetas HTML en su elaboración.","created":1565107835496,"bookmarkCount":26,"recordingAuthorized":true,"videoURL":"https://youtu.be/d7pOC20NxLY","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Accessibility"," Web"],"1f174":["Spanish"],"92508":["HTML/CSS"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"81":"La accesibilidad combina la diversidad humana, tecnológica y ambiental. La accesibilidad no es solo para personas con discapacidad visual; es para todos. La accesibilidad digital no solo debe tener en cuenta a las personas con discapacidad, sino también la diversidad tecnológica, por ejemplo, la incompatibilidad con diferentes navegadores.","3":"Lourdes González Perea, de la Universidad de Málaga, presenta su charla sobre cómo mejorar la accesibilidad del contenido digital desde los sistemas de gestión de contenidos (CMS). Explica que las barreras de accesibilidad a menudo son causadas por personas sin un perfil tecnológico, como periodistas y profesores, que ahora son ciberperiodistas y profesores virtuales que crean contenido digital sin capacitación en accesibilidad.","355":"Funcionalidades para personas con perfiles no técnicos que generan barreras en los CMS, por ejemplo, usar \"más info\" repetidamente en los enlaces.","740":"El conocimiento de HTML debería estar generalizado. Los diseñadores/programadores deben ayudar a los perfiles no técnicos a lograr la accesibilidad.","142":"Introducción a la accesibilidad. Estándar WCAG 2.1."}},"presenters":[{"path":"accounts/l-405514001","description":"Lourdes González Perea, Experta en Tecnología y Accesibilidad.\n\nGestora de proyectos de accesibilidad TIC en el Grupo Social ONCE desde 2004 y docente en la Universidad Isabel I desde 2016.\n\nLíneas de investigación principales: tecnologías accesibles, educación inclusiva y comunicación.\n","reimburseExpenses":false,"uuid":"lgperea","name":"Lourdes González Perea","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-405514001/avatar/f87f28c805.avif","twitterAccount":"lgperea","id":"l-405514001"}],"id":"1Paeb4J5whH0R1BhQTaw"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/1m6dzXkQ9WPffn8kZmNP","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Deep Learning aplicado a procesamiento de lenguaje natural (NLP)","description":"En el mundo NLP son muy habituales las tareas de tokenización y análisis morfosintáctico de los textos, que resuelven muy bien herramientas como SpaCy o NLTK. Sin embargo, en los últimos años se ha puesto de moda la aplicación de modelos de redes neuronales para extraer información semántica a partir de documentos de texto. Esto supone, además de un cambio tecnológico, un nuevo enfoque que aporta capacidades muy innovadoras en este campo.\n\nEn esta charla, repasaremos las arquitecturas de modelos más habituales para acometer este tipo de tareas, poniendo especial foco en el estado del arte: los modelos basados en atención que han dado lugar a aplicaciones tan espectaculares como BERT (Google) o el modelo CPT-2 (OpenAI) que son capaces de alcanzar niveles de comprensión equivalentes al de un lector humano.\n","created":1558814827700,"bookmarkCount":66,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1Qhm3GX_h-vuP4GTFixB2iCDTyhTLVt8TM4yVUbc1OrE/edit#slide=id.g65b42adc95_0_0","videoURL":"https://youtu.be/NHA7KJTt7l4","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" AI","Machine Learning"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"81":"Introducción a los problemas habituales en PNL, como el etiquetado de partes del discurso, reconocimiento de entidades nombradas, stemming, vectorización de palabras, modelado de tópicos, recuperación y análisis de documentos, identificación de idiomas y sumarización.","116":"Comparación de herramientas clásicas de PNL como NLTK y SpaCy, recomendando SpaCy para principiantes. Demostración del análisis morfosintáctico con SpaCy, mostrando cómo construye un modelo de datos de las oraciones. Ejemplos de extracción de sintagmas nominales y obtención del sujeto del verbo usando SpaCy.","677":"Conclusiones sobre la revolución en las técnicas de tratamiento del lenguaje gracias al Deep Learning y los modelos de lenguaje.","598":"Mención de que los modelos de lenguaje basados en redes neuronales, como los encoders y decoders, se utilizan en aplicaciones como la traducción de textos y el texto predictivo. Presentación del concepto de 'self-attention' que permite a los encoders y decoders manejar el contexto de una manera más completa, y es fundamental en modelos como BERT y GPT-2.","412":"Discusión sobre la limitación del modelo encoder-decoder cuando las secuencias son largas, lo que lleva a la necesidad de un mecanismo de atención. Introducción al concepto de 'Transformer' como un modelo que hace un uso extensivo de la atención para mejorar la velocidad y la eficiencia en el procesamiento de secuencias largas.","509":"Explicación de las redes neuronales recurrentes (RNNs) y su capacidad de tener 'memoria', lo que las hace adecuadas para procesar series de datos con un orden o estructura temporal. Detalle de cómo una red neuronal recurrente utiliza su estado interno como entrada en la siguiente iteración, permitiendo un procesamiento que considera el contexto de la secuencia.","222":"Planteamiento de la pregunta: '¿Pero aprendemos así a hablar?' para introducir la idea de que el aprendizaje humano del lenguaje no se basa en reglas gramaticales explícitas, sino en la experiencia y el contexto. Experimento para demostrar cómo aprendemos el significado de las palabras a través del contexto, usando el término inventado 'chirrisclás'.","14":"Introducción al Deep Learning aplicado al Procesamiento del Lenguaje Natural (PNL), enfatizando la distinción entre PNL y Programación Neurolingüística. Definición de PNL como un campo en rápido avance en el tratamiento de textos escritos en lenguaje natural.","318":"Introducción a la hipótesis distribucional de Firth (1957): 'Las palabras se definen por sus compañías', lo que implica que el significado de una palabra se infiere del contexto en el que aparece. Explicación de cómo los embeddings de palabras ayudan a condensar conceptos complejos, y cómo se pueden calcular utilizando modelos como Word2Vec y las redes neuronales."}},"presenters":[{"path":"accounts/l-139844001","description":"Juan lleva tanto tiempo entre ordenadores que ha visto desfilar por sus deteriorados ojos tecnologías tan en desuso hoy como equipos de Digital Equipment Corporation, CORBA, ActiveX, DBase III y hasta ensamblador del 6502. Esto le ha hecho entender que las tecnologías van y vienen, pero lo que queda es la experiencia y el bagaje que nos aportan como profesionales.\n\nDesde hace más de doce años, Juan forma parte del equipo de The Cocktail, donde se dedica a combinar el entendimiento de todo tipo de tecnologías con las necesidades de negocio, ayudando a los clientes a conceptualizar el uso y el valor de cada una de ellas más allá del hype de turno.","reimburseExpenses":false,"uuid":"juanlupion","name":"Juan Lupión","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-139844001/avatar/0d12468d68.avif","twitterAccount":"pantulis","id":"l-139844001"},{"path":"accounts/l-393564001","description":"Jesús es profesor asociado en la Universidad Politécnica de Madrid, donde imparte asignaturas sobre Big Data y Data Science, además ha trabajado en numerosos proyectos de data science, abarcando áreas muy variadas, como el análisis de sistemas cloud, el estudio del riesgo en seguros o la neurociencia.\n\n\n","reimburseExpenses":false,"uuid":"jesusmontes","name":"Jesús Montes","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-393564001/avatar/11a67f14d4.avif","id":"l-393564001"}],"id":"1m6dzXkQ9WPffn8kZmNP"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/1tG2JLIyQckkvTpgzLIv","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Déjame que te hable de Perl 6","description":"Perl 6 es el lenguaje para los próximos 100 años. Pero ¿cuáles son las características que van a tener los lenguajes en los próximos 100, o para el caso, 10 años? ¿Qué características tienen los lenguajes modernos y en qué benefician al desarrollo de aplicaciones?\nEn esta charla repasaremos, usando diferentes lenguajes de programación que van desde Python hasta Scala, pasando por Julia y Kotlin, cuales son estas características modernas, o incluso posmodernas, de los lenguajes de programación, para presentar finalmente un lenguaje que tiene a gala haberlas implementado todas: Perl 6, del que haremos también una pequeña introducción y demo.","created":1558631322371,"bookmarkCount":23,"recordingAuthorized":true,"slidesURL":"https://jj.github.io/hablando-p6","videoURL":"https://youtu.be/mOl76zJDFsw","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["Rust","Scala","Javascript","Kotlin","Python","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"512":"Inmutabilidad en Scala con val. Evaluación perezosa. Clausura.","592":"Recursividad en Closure.","355":"Despacho múltiple en Julia. Operadores en cascada y lambdas.","134":"Importancia de Unicode en los lenguajes de programación modernos. Ejemplos en Javascript y Julia.","199":"Programación funcional: inmutabilidad, funciones de orden superior y recursividad. Diferencias entre diferentes lenguajes.","332":"Comparación de patrones y asignación segura en Kotlin. Desestructuración de argumentos. Variables implícitas.","13":"Introducción a Raku, anteriormente conocido como Perl 6. Comparación con una técnica de cerámica japonesa, enfatizando la belleza de la imperfección.","78":"Explicación del cambio de nombre de Perl 6 a Raku, ocurrido hace un mes y medio. Solicitud de extracción de resolución de problemas y proceso de cambio.","238":"Programación asíncrona y su uso en diferentes lenguajes como Dart. Bucles de eventos y operaciones no bloqueantes.","559":"Otros temas. Rasgos, mixins y roles."}},"presenters":[{"path":"accounts/l-387114001","description":"JJ Merelo es profesor en la universidad de Granada y desarrollador de Perl 6, centrado sobre todo en la documentación. También ha escrito libros sobre git (con Pablo Hinojosa), Python y JavaScript.","reimburseExpenses":false,"uuid":"juan-j-merelo","name":"Juan J. Merelo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-387114001/avatar/1ce00d9f80.avif","id":"l-387114001"}],"id":"1tG2JLIyQckkvTpgzLIv"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/2MVzqd0BlFw2dGGAirAq","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Jetpack: Modern Android development","description":"Android Jetpack ha cambiado drásticamente el desarrollo Android. Esta colección de librerías, herramientas y guías lleva a los desarrolladores a un nuevo nivel.\n\nLos tiempos en los que te tenías que pelear con diferentes versiones de Android o tenías que copiar y pegar un código ininteligible para que algo funcionara han acabado. Las nuevas librerías no dependen de las versiones de Android por lo que son actualizadas más frecuentemente y proporcionan compatibilidad con antiguos dispositivos. \n\nEn esta charla descubre qué herramientas y librerías de arquitectura, comportamiento, UI y más tienes disponible para construir tu aplicación Android de una manera mucho más sencilla y robusta.","created":1558627646005,"bookmarkCount":34,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/open?id=1GS3r676zCD_rLUZVhOsXZWQybrhojRXL","videoURL":"https://youtu.be/hoTe4avcbeg","tags":{"39153":["Beginner"],"0db80":[" Mobile"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Java","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"1056":"Mención del nuevo compilador de Kotlin (compilador IR) y sus beneficios.","961":"Beneficios de usar Kotlin y Jetpack para el desarrollo de Android.","4":"Introducción al tema de la presentación: Desarrollo Android Moderno con Jetpack. Incluye una breve descripción general de cómo ha cambiado el desarrollo de Android en los últimos años y una encuesta de la audiencia sobre su experiencia con el desarrollo de Android.","885":"Demostración de cómo migrar de la biblioteca de soporte a AndroidX.","359":"Introducción a las bibliotecas de Jetpack como un conjunto de herramientas para mejorar el desarrollo de Android. Explicación de AndroidX y su papel en la sustitución de la biblioteca de soporte. Presentación de Jetpack Compose como una nueva iniciativa para la construcción de interfaces de usuario declarativas en Kotlin. Explicación de Data Binding y su papel en la simplificación del desarrollo de la interfaz de usuario. Recursos para aprender más sobre Jetpack, incluyendo documentación, codelabs y código de ejemplo.","535":"Introducción a Jetpack Compose como un kit de herramientas de interfaz de usuario declarativo para Android. Introducción a Jetpack Compose como una forma moderna de construir la interfaz de usuario en Android, y las ventajas sobre los métodos tradicionales.","107":"Introducción a Kotlin como el lenguaje de programación preferido para Android. Repaso histórico de las versiones de Android SDK y NDK, destacando la introducción de Kotlin como un lenguaje compatible de primera clase. Anuncio del desarrollo de aplicaciones Android siendo Kotlin-first. Estadísticas sobre la adopción de Kotlin entre los desarrolladores y aplicaciones de Android. Ventajas de usar Kotlin, como la concisión, la seguridad, la interoperabilidad y el soporte de herramientas.","76":"Agenda de la presentación, incluyendo Kotlin, Jetpack, ejemplos prácticos y próximos desarrollos.","509":"Breve descripción general de las cuatro categorías de Jetpack: Foundation, Architecture, Behavior y UI. Explicación de las categorías de Jetpack y algunas de las bibliotecas dentro de cada una. Revisión detallada de las bibliotecas de Jetpack en la categoría Foundation. Explicación de las bibliotecas Jetpack en la categoría Architecture, incluyendo Data Binding, Lifecycles, LiveData, Navigation, Paging, Room, ViewModel y WorkManager. Descripción general de las bibliotecas de Jetpack en la categoría Behavior. Descripción general de las bibliotecas de Jetpack en la categoría UI.","830":"Explicación de las extensiones de Kotlin (KTX) para las bibliotecas de Jetpack y cómo pueden mejorar la legibilidad del código."}},"presenters":[{"path":"accounts/l-403204001","description":"Manuel es un desarrollador Android en el equipo de Developer Relations en Google donde trabaja para ayudar a otros desarrolladores a triunfar en su trabajo.","reimburseExpenses":false,"uuid":"manuel-vicente-vivo","name":"Manuel Vicente Vivo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-403204001/avatar/c7e7c807cf.avif","twitterAccount":"manuelvicnt","id":"l-403204001"}],"id":"2MVzqd0BlFw2dGGAirAq"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/3KjNUNeva6egBFbRqfTw","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Papá, llévame a clases de tecnología, me lo prometiste!!!","description":"¡Hola!, soy Alai Miranda Blanco, tengo 15 años y llevo desde los 7 años trasteando con la tecnología. \n\nMuchas niñas a esta edad están en clases extraescolares de ballet y, ¿por qué no? Yo misma fui una niña de ballet. Bueno, de ballet no, pero si de nado sincronizado, durante casi tres años. ¿Qué niña de 7 años no quiere ser sirena? Pero mis padres también me llevaban a talleres y cursos de programación, scratch, joyería digital y tecnología textil, y fue allí donde surgió la magia. Resulta que era super divertido.\n\nAhora, con 15 años, estoy aprendiendo a programar en Python y JavaScript, vuelo drones, diseño prototipos y, claro, juego a vídeo juegos como el que más. Aunque también voy a clases de baile :) . Hay tiempo para todo.\n\nEn esta charla quiero animar a los mayores, a padres/madres y familiares, a que acompañéis a vuestras hijas/sobrinas, a jugar con la tecnología. También quiero dar recomendaciones de cuáles son las mejores estrategias para acercar la tecnología a una niña sin que le genere rechazo, o quiera huir de ella porque \"es un mundo de chicos\". Finalmente, daré consejos concretos de caminos puede seguir una joven que se quiere inicializar en el mundo de la tecnología. Actualmente hay muchísimas organizaciones que apoyan a niñas que quieren aprender sobre tecnología y dan cursos gratis. Solo hay que llevarlas, y seguro que se divierten :)\n\nCon esta charla pretendo poner mi pequeño granito de arena para cerrar la brecha de genero en el sector IT :)","created":1559572286982,"bookmarkCount":40,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/alaimiranda/no-solo-de-chicos-hablan-las-chicas","videoURL":"https://youtu.be/dIF-EyJ-dgc","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript","Python","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1216":"También ha estado en Iberia, en un programa para fomentar las profesiones aeronáuticas entre las jóvenes.","1090":"Menciona que un dron llevó un riñón del Hospital de St. Agnes al Centro Médico de la Universidad de Maryland.","899":"Otro proyecto en el que se usa la impresión 3D para hacer una prótesis de una mano.","3":"Introducción de Alai Miranda Blanco, presentación en Commit 2019.","966":"Habla de charlas que ha dado en IBM y en Amazon.","75":"Sus padres decidieron innovar y la metieron en un curso de tecnología, joyería digital y textiles inteligentes. Tuvo que coser, programar y montar cosas.","1036":"Habla de los talleres de programación con drones.","785":"Otro proyecto de caja de reconocimiento de voz.","19":"Alai comenta que tiene 15 años y que está para hablar de la tecnología, y por qué le gusta.","150":"Después descubrió 'Scratch', hizo proyectos y fue a un 'CoderDojo'.","599":"En el 'Women Maker Day' aprendió sobre Python.","727":"Conoció a Elizabeth Córdoba, ingeniera de la misión Mars 2020.","219":"En su colegio, un día Ecoembes fue a dar una charla sobre cómo reciclar. Presentaron un concurso, 'Deja tu huella', y con unos amigos hicieron una aplicación para concienciar a las personas sobre como desechar residuos. Ganaron el primer premio.","347":"Otro proyecto: 'Luk' que es un animatrónico que simula la mirada humana. Tiene los ojos verdes, un joystick y dos botones para mover la cabeza y guiñar.","669":"Participó en 'Wecode 2017' de Google Campus.","930":"Concluye en que se puede hacer de todo y hay que enseñar la tecnología a los niños.","164":"Después, hizo un curso de Arduino, y empezó con las placas, que le llamaron mucho la atención.","420":"Explica cómo se usan las herramientas de Scratch, y como para poder introducir a los niños en tecnología, se les debe mezclar algo que les guste de verdad.","1124":"También menciona 'CoderDojo'.","37":"Alai se pregunta por qué no se plantea llevar a los niños a un taller de robótica.","1003":"Explica que en el 'Entrepreneurial Computing Bootcamp' no solo aprendió a diseñar una página web, sino que te enseñaban cómo llevar un proyecto adelante.","749":"Participó en el 'Technovation Challenge' en 2017 y en 2018. El objetivo era buscar un problema en la comunidad y desarrollar una aplicación para intentar solucionarlo.","47":"Cuando tenía siete años, montó su primera empresa, 'Chiquichef', de hacer y vender postres. Aprendió que los préstamos hay que devolverlos.","815":"Otro proyecto 'Luk', un amigo animatrónico que simula la mirada humana.","1201":"Comenta que también ha estado en Women Techmakers.","305":"Su primer proyecto con la Raspberry PI, que le regalaron, para tomar una foto por minuto.","1332":"Habla del premio 'ADA AWARDS DIGITAL GIRL OF THE YEAR 2019'.","630":"Luego pidió un robot 'Sphero Edu' que se controla con una aplicación o se puede programar.","1398":"Pregunta del público sobre cómo convencer a padres que no son tecnólogos de llevar a sus hijos a talleres de tecnología.","186":"En 2015 recibió una beca para un summer camp, donde aprendió conceptos básicos de impresión 3D, cómo funciona una impresora, como hacer un diseño y después mandarlo, y también sobre el Makey Makey.","700":"Fue invitada a un coloquio por la Embajada de EEUU, en el Día internacional de la mujer y la niña en la ciencia, para hablar de la película 'Figuras Ocultas'.","509":"Habla de 'Alibubu', un peluche al que se le implanta una tarjeta NFC, con el objetivo de no solo identificar a los niños refugiados, sino también que viajen acompañados."}},"presenters":[{"path":"accounts/u-f5WKRSsrBCR0ZyS7IoD6jgp7qv72","description":"Tengo 15 años y es estudiante de cuarto de la ESO. Soy curiosa digital con ganas de aprender mas y mas de tecnología; llevo haciéndolo desde que tengo 7 años. He dado charlas en eventos como TEDX, y Woman Tech Makers, así como en empresas como IBM, Amazon, Google, Endesa, Accenture y Banco Santander. Recientemente la Unión Europea le ha concedido el premio “Digital Girl of the Year”.\n\nMi canales de contacto son:\nmi web: alaimiranda.com\nmi twitter @alaimiranda y\nmi canal de youtube: https://www.youtube.com/channel/UCxlVFjVbYyDJ3NNgOU56TGA","reimburseExpenses":false,"uuid":"alaimbl","name":"Alai Miranda Blanco Lascurain","id":"u-f5WKRSsrBCR0ZyS7IoD6jgp7qv72"}],"id":"3KjNUNeva6egBFbRqfTw"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/3iJz6BfiOXw0ylmjFlUA","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Kiali: Observability in Action for your Service Mesh with Istio","description":"Microservice Architectures break up the monolith into many smaller pieces and introduce new communication patterns between services like fault tolerance and dynamic routing.\n\nA Service Mesh like Istio provides these traffic control capabilities on a platform level and frees the application writers from those tasks, allowing them to focus on business logic.\n\nOne of the major challenges with the management of a microservices architecture is trying to understand how services are composed, how they are connected and how all components operate from global perspective to a particular detail.\n\nKiali works with Istio to visualise the service mesh topology and describe how are they connected.\n\nIn this session YOU will play several microservices scenarios LEARNING observability practices and showing how Kiali integrates graph, health, metrics, traces, and the configuration of your Service Mesh.\n","created":1554968536104,"bookmarkCount":16,"recordingAuthorized":true,"tags":{"39153":["Beginner"],"70b46":[" Lab"],"0db80":[" DevOps"," Cloud"],"1f174":["Spanish"],"92508":["Go","Javascript"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/u-Y98kqMZHS2MUz1PgDNix9L1EUjK2","description":"Alberto is a Software Engineer in RedHat working on open source projects. He is currently working on Kiali, a observability tool for Istio Service Mesh. He was working in BBVA for almost 4 years, working in cloud environments and BigData, he is certificated on Hadoop and OpenStack. He is a Google Developer Expert in google Cloud and organizer of Google Developers Groups.","reimburseExpenses":false,"uuid":"aljesusg","name":"Alberto Gutierrez Juanes","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-Y98kqMZHS2MUz1PgDNix9L1EUjK2/avatar/96c8b4c7b0.avif","id":"u-Y98kqMZHS2MUz1PgDNix9L1EUjK2"},{"path":"accounts/l-133624001","description":"Lucas is a Senior Software Engineer at Red Hat working for the Kiali project. \nPrior to joining the Kiali project, he has worked in projects like Hawkular, ManageIQ and GateIn; collaborating occasionally on others community projects like Wildfly and Undertow.\nBefore he moved into engineering, he worked as a Solution Architect helping customers to build scalable solutions.\nHe started his career building Geographic Information Systems in the nineties.","reimburseExpenses":false,"uuid":"ponceballesteros1","name":"Lucas Ponce","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-133624001/avatar/a19ebc2c75.avif","twitterAccount":"rutlucas","id":"l-133624001"}],"id":"3iJz6BfiOXw0ylmjFlUA"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/7uGmg9MwglNbHS0PuCtE","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Kotlin multiplatform. Un lenguaje para dominarlos a todos","description":"React, Xamarin, Ionic... todos ofrecen posibilidades \"multiplataforma\" pero... y si pudiésemos crear un proyecto multiplataforma nativo? Con uno de los mejores lenguajes del momento? Además, sin aumentar el peso de nuestras apps?? Y si encima pudiéramos compartir el código también con el backend? Suena muy bien verdad? Pues con kotlin podemos hacerlo! Veremos como podemos hacer una app para Android, iOS, web y backend con kotlin, y en el mismo proyecto!. ","created":1554712856699,"bookmarkCount":108,"recordingAuthorized":true,"slidesURL":"http://bit.ly/KotlinMPPCommit19","videoURL":"https://youtu.be/j7EqzDf2Ons","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Mobile"," SQL/NoSQL"," Web"],"1f174":["Spanish"],"92508":["Swift","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"786":"Explicación detallada de la arquitectura del backend: Ktor, Exposed (para bases de datos relacionales) y una base de datos H2 en memoria. Ejemplo de rutas en Ktor y consultas a la base de datos.","1316":"Implementación de la aplicación de escritorio con TornadoFX.","148":"Arquitectura de un proyecto Kotlin Multiplatform: configuración de targets para Android e iOS (con Gradle y el plugin de Kotlin), estructura de carpetas (código común y específico de plataforma) y creación de un módulo común para compartir código con el backend (JVM y JavaScript como targets).","725":"Uso de 'sealed class Error' para definir errores y su manejo con 'when', e implementación de un 'Error Handler' para mostrarlos en la UI.","246":"Dependencias en proyectos Kotlin Multiplatform: uso de sourceSets y declaración de dependencias comunes y específicas de plataforma.","38":"Presentación de Worldline Iberia, sus áreas de trabajo y su Mobile Competence Center, especializado en desarrollo de aplicaciones móviles, IoT, wearables, blockchain, chatbots e inteligencia artificial.","12":"Introducción a Kotlin Multiplatform, una solución de JetBrains para extender Kotlin más allá de la JVM, permitiendo el desarrollo multiplataforma (Android, iOS, web, backend).","1340":"Conclusiones y agradecimientos a los colaboradores del proyecto.","924":"Ejemplo de un presenter en Model-View-Presenter (MVP), su interacción con la vista/modelo, y la recomendación de definir la interfaz de la vista fuera del presenter.","1052":"Implementación del repositorio (acceso a datos locales/remotos), uso de 'expect'/'actual' para interfaces comunes e implementaciones específicas por plataforma, y ejemplo de 'Remote Data Source' para Android e iOS.","621":"Ventaja de compartir modelos de dominio: si el backend modifica un modelo, los clientes obtienen el cambio inmediatamente.","334":"Arquitectura del backend: uso de Ktor (framework de JetBrains) para crear APIs REST, modelos de dominio compartidos (con serialización de Kotlin para JSON) y la clase 'Either' de Arrow para el manejo de errores/éxitos."}},"presenters":[{"path":"accounts/u-qXyoIPUM99MCBxmNI6YpK4PSMsh2","description":"Desde Bellota Valley, Daniel (25) es un chico inquieto que busca estar a la última de lo que le rodea, el desarrollo movil. Trabaja en Worldline Iberia como desarrollador Android y le gusta hacer de todo con Kotlin. En su ratos libres le gusta aporrear cuerdas de guitarra y de vez en cuando intenta cambiar las teclas de un teclado por las de un piano.","reimburseExpenses":false,"uuid":"danielllanosmunoz1","name":"Daniel Llanos Muñoz","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-qXyoIPUM99MCBxmNI6YpK4PSMsh2/avatar/36adf84e46.avif","id":"u-qXyoIPUM99MCBxmNI6YpK4PSMsh2"},{"path":"accounts/u-y0OTuFRCcRTXdqAC2OXiWhRmmCC3","description":"29 años, extremeño, soy desarrollador de Android desde hace más de 4 años, y llevo trabajando con Kotlin desde 2016. Actualmente trabajo como Senior Android Engineer en Worldline Iberia. Amante del Software en general y de Android + IoT en particular. Arduino FTW!","reimburseExpenses":false,"uuid":"sergiocasero23","name":"Sergio Casero","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-y0OTuFRCcRTXdqAC2OXiWhRmmCC3/avatar/ad980d8f03.avif","id":"u-y0OTuFRCcRTXdqAC2OXiWhRmmCC3"}],"id":"7uGmg9MwglNbHS0PuCtE"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/9RepUAowAhOH8C6eLBAB","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Unbiasing teams","description":"Un tour por la psicología aplicada a los equipos/empresas.\nLa idea es contar situaciones diarias que tenemos en los equipos y vemos como normales pero que en realidad están fundamentadas en esquemas y estereotipos que gobiernan nuestras decisiones. Contaré sesgos y otros factores psicológicos que nos afectan en el día.","created":1558203595099,"bookmarkCount":144,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/flopezluis/empresas","videoURL":"https://youtu.be/tfFeJrTSerg","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Social"," Other"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1440":"Disonancia cognitiva","578":"Importancia de conocer los sesgos en psicología","1219":"Sesgo de la autoridad","708":"El efecto Pigmalión y la profecía autocumplida","165":"Experimento musical. Sesgos cognitivos","1767":"Sesgo de confirmación","327":"Interpretaciones subjetivas","1134":"Sesgo de disponibilidad","1870":"Efecto Benjamin Franklin","496":"Estereotipos y sesgos cognitivos","918":"El priming y el sesgo del anclaje. Influencia en la toma de decisiones","2200":"Fuerzas positivas y negativas en el cambio de comportamiento","57":"Presentación del conferenciante","287":"El realismo ingenuo"}},"presenters":[{"path":"accounts/l-71644001","description":"Félix López Luis es actualmente engineering manager en Google. Lleva más de 17 años desarrollando software en los que ha pasado por desarrollo web, programación de videojuegos, sistemas distribuidos, fintech, etc. Ha desempeñado roles como desarrollador, team lead, director técnico o engineering manager. Pasa los días leyendo sobre sistemas distribuidos, management y psicología.","reimburseExpenses":false,"uuid":"flopezluis","name":"Félix López","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-71644001/avatar/81d5b0fced.avif","twitterAccount":"flopezluis","id":"l-71644001"}],"id":"9RepUAowAhOH8C6eLBAB"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/9eKtYwSGVHDBUvELitcQ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"The pragmatic front-end tester","description":"Las aplicaciones front-end y el testing parecen ser archienemigos. Pero no tiene que ser así: hoy en día tenemos suficientes herramientas y conocimientos para crear una estrategia de testing eficaz, simple y útil para nuestro front.\n\nEn esta charla discutiremos las mejores prácticas sobre qué testear, cómo testear y cuál es la relación entre testing y una mayor calidad de código.","created":1558421168862,"bookmarkCount":156,"recordingAuthorized":true,"videoURL":"https://youtu.be/XjFeUUZm50g","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"257":"Razones por las que el ponente está interesado en las pruebas.","65":"Objetivo de la charla del ponente.","1285":"Por qué el componente es una función.","456":"Explicación del ejemplo en la guía oficial.","1418":"Conclusión de la charla.","10":"Agradecimiento a los asistentes.","906":"Salidas que esperan los usuarios.","77":"El libro que explica el ponente.","1101":"Ejemplo de cómo aplicar DOM Testing Library.","144":"Las pruebas son importantes.","1365":"Funciones de la librería.","85":"Probar el frontend no debería ser difícil.","1046":"Librería DOM Testing Library.","24":"Tema principal de la charla: Pruebas en el frontend.","792":"Quiénes son los dos usuarios principales del código.","410":"La prueba del ejemplo está mal.","730":"Explicación sobre qué es una prueba.","602":"Error en la prueba.","155":"No se hablará de pruebas como herramienta de diseño ni de pruebas visuales.","859":"Entradas que emiten los usuarios.","605":"Ejemplo de error falso positivo.","670":"Resumen del problema en la prueba.","97":"Explicación sobre el origen de la charla.","35":"Consejos para dar una buena charla.","934":"Resumen de las entradas y salidas en el frontend.","300":"Introducción a las pruebas.","177":"La charla está basada en la experiencia del ponente.","113":"El ponente no ha venido a convencer de por qué se deben escribir pruebas.","1460":"Explicación adicional sobre cómo aplicar DOM Testing Library.","312":"Ejemplo de código para pruebas.","504":"Ventajas del ejemplo, como poder hacer clic y comprobar.","953":"Problemas con el código del ejemplo.","1020":"Cómo resolver el problema de las pruebas.","189":"Presentación del ponente."}},"presenters":[{"path":"accounts/l-107474001","description":"Si lo tuviera que explicar en inglés diría que soy \"a UI engineer interested in JavaScript, CSS, UX, lean software development, clean code, and everything in between\". La traducción sería algo como \"un desarrollador a quién le gusta hacer bien las cosas\". Vaya, que ayudo a desarrollar aplicaciones e interfaces útiles, usables y agradables.","reimburseExpenses":false,"uuid":"afontcu","name":"Adrià Fontcuberta","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-107474001/avatar/c9ae0a4ebf.avif","twitterAccount":"afontq","id":"l-107474001"}],"id":"9eKtYwSGVHDBUvELitcQ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/BuVVg8fOlDuIJoRADQbm","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Mira lo que ha hecho... Git","description":"Seguro que más de una vez has oído o incluso has dicho tu mismo 'Mira lo que hizo GIT', o algo como 'GIT se volvió loco', 'GIT lo \"mergeó\" mal!'. En el fondo sabes que no es GIT quien lo hizo mal. Vamos a ver los típicos errores que se cometen y algunos no tan típicos, por desconocimiento del uso de GIT, confusión con otros VCS; pero además, veremos algunas reglas/trucos a tener en cuenta para evitarlo.","created":1558510128013,"bookmarkCount":183,"recordingAuthorized":true,"videoURL":"https://youtu.be/ZuaftLzA6WI","tags":{"39153":[" Intermediate"],"0db80":[" Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"353":"Recordatorio de que GIT tiene un histórico; si se elimina algo, cambiar claves/contraseñas.","258":"Ejemplo de cómo NO usar GIT (estructura de directorios incorrecta).","163":"Introducción a problemas comunes con GIT y la tendencia a culpar a la herramienta.","5":"Introducción a la charla sobre GIT, centrándose en experiencias y problemas comunes en equipos, sin cubrir conceptos básicos.","582":"El problema con Git no es el código sino la falta de claridad en la historia de la evolución de las ramas en las herramientas.","523":"Mención de 'master' y 'develop' como nombres estándar de ramas (producción y desarrollo respectivamente).","459":"Discusión sobre la importancia de la gestión y comunicación en el equipo para evitar problemas con GIT.","109":"Mención del primer evento de Ada{Love}Dev, AdaLoversConf, abierto a todos pero con ponentes exclusivamente mujeres.","398":"Mención del concepto de 'eclipsado' en GIT: pérdida o sobrescritura de cambios por desconocimiento del trabajo del equipo.","206":"Analogía sobre el uso incorrecto de herramientas (GIT como cortar zanahorias con serrucho).","495":"Comentario sobre cómo los flujos de trabajo complejos dificultan la integración de nuevos miembros y que la experiencia con Git se basa en la comunicación.","914":"Caso de ejemplo: subir una API key al repositorio y la necesidad de precaución.","55":"Presentación de Yodra López, desarrolladora en LeanMind y coorganizadora de AdaLoveDev.","220":"Reflexión sobre la importancia de conocer bien las herramientas básicas de GIT (commit, push, merge, etc.)."}},"presenters":[{"path":"accounts/u-zwfZO66ug5Th4SQUTtk5jqgVw5E3","description":"Ingeniera en Informática de Sistemas, trabaja actualmente en Lean Mind como Desarrolladora FullStack. También es profesora de un programa de emprendimiento juvenil de Programación web FullStack en la EOI (Escuela de Organización Industrial). A lo largo de su carrera ha trabajado en diferentes proyectos tecnológicos de modernización del Gobierno de Canarias. Además es co-organizadora en AdaLoveDev, grupo de desarrolladoras en Canarias que promueven el papel de las mujeres en el sector.\n","reimburseExpenses":false,"uuid":"yodralopez","name":"Yodra Lopez Herrera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-zwfZO66ug5Th4SQUTtk5jqgVw5E3/avatar/f61299935c.avif","twitterAccount":"yodralopez","id":"u-zwfZO66ug5Th4SQUTtk5jqgVw5E3"}],"id":"BuVVg8fOlDuIJoRADQbm"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/D5lHe1XBLtAnVK1RtLAc","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Telegram Bots with Kotlin","description":"Telegram Bots are third-party applications that run inside Telegram. Users can interact with bots by sending them messages, commands and inline requests. The bots are controlled using HTTPS requests to Telegram's bot API.\n\nWe can create bots to get customized notifications and news, integrate with other services, accept payments from Telegram users, create custom tools, build games and social services and do virtually anything else.\n\nIn this talk we will deep into details about how we can start creating these awesome bots and all the possibilities we have with them. Moreover, we will work with one of the programming languages of the moment, Kotlin, that will let us creating these bots in a really easy and elegant way.","created":1559475126528,"bookmarkCount":63,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/vjgarcia/telegram-bots-with-kotlin","videoURL":"https://youtu.be/ZdppJ_CGjMQ","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"32":"Un bot de Telegram es una aplicación de tercero dentro de Telegram que ofrece funcionalidades adicionales. Los usuarios interactúan con él a través de mensajes, comandos o solicitudes en línea. Ejemplos: NewsBot (noticias personalizadas), GIFBot (integración con servicios de terceros), InviteMember (pagos de usuarios), GameBot (juegos dentro de la aplicación).","612":"Para construir el bot, se utilizó una librería externa en Java, ya que no hay una en Kotlin que implemente toda la especificación de la API.","230":"Para crear un bot de Telegram, se utiliza BotFather, que gestiona la creación, eliminación y configuración. Se obtiene un token para usar la API y un usuario para interactuar con el bot. La interfaz de Telegram para bots es una versión simplificada de la API, comunicándose a través de HTTPs.","331":"Una operación crucial de la API es escuchar las interacciones de los usuarios, implementada con un listener de actualizaciones. Se puede usar long-polling o webhooks, que son mutuamente excluyentes. Para getUpdates, se iteran las actualizaciones, comprobando si el mensaje y su texto no son nulos y si coinciden con el comando.","158":"Un bot es una cuenta de usuario especial que no necesita número de teléfono. Telegram envía las interacciones de los usuarios a un software en un servidor."}},"presenters":[{"path":"accounts/l-391314001","description":"Software Engineer and mobile developer at Tuenti. But over all, passionate about technology and all the cool things we can do with it.","reimburseExpenses":false,"uuid":"vjgarciaw","name":"Víctor J García Granado","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-391314001/avatar/6060ccb525.avif","twitterAccount":"vjgg96","id":"l-391314001"}],"id":"D5lHe1XBLtAnVK1RtLAc"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/DNc5KUsiLWKvhdYsTr2m","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Como montarse un blog personal por 0€","description":"En este workshop montaremos un blog personal por 0€. Para ello nos apoyaremos en Github, Netlify, NextJS y Markdown. Se trata de utilizar diferentes plataformas que nos ofrecen servicios para, primero, ahorrar costes e ir más rapido. Usaremos Github a modo de base de datos, Netlify para tener un hosting de estáticos y que despliegue nuestros posts automágicamente y NextJS para poder usar React y tener server side rendering para facilitar el SEO.","created":1557179988541,"bookmarkCount":32,"recordingAuthorized":false,"tags":{"39153":[" Intermediate"],"0db80":[" Web"," Design/UX"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-101154001","description":"Javascript Developer en BBVA Next Technologies donde desarrolla productos de seguridad informática. Amante del Open Source y del ecosistema de React, le encanta participar en meetups, dar charlas y compartir conocimientos en Medium. Aunque su especialidad es JavaScript, Sergio en su día a día utiliza también Docker, Kubernetes, Python, Jenkins... es decir, no tiene miedo a aprender y adentrarse en nuevas tecnologías.","reimburseExpenses":false,"uuid":"sergiozamarro","name":"Sergio Zamarrowski","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-101154001/avatar/6078014b9e.avif","id":"l-101154001"}],"id":"DNc5KUsiLWKvhdYsTr2m"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/EGkJqTuHUTGyt8qRL1Kh","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":" Cuando los contenedores no son una opción","description":"Se ha hablado mucho sobre contenedores y cómo gestionarlos, pero ¿qué pasa cuando la aplicación de nuestro cliente no está preparada para correr en contenedores? ¿Y cuando necesitas hacer la aplicación más rápida pero no hay presupuesto para modificarla?\n\nOfreciendo servicios de hosting en Linube nos encontramos diariamente con todo tipo de clientes, pero los que más se repiten son equipos con poca capacidad de programación o sin experiencia en la nube, y todos piden los mismo: que su aplicación funcione más rápido sin tener que invertir en ella.\n\nEn este lab veremos como montar un sistema balanceado y cacheado para soportar muchísimo trafico, para adaptar aplicaciones sobre las que no tenemos los fuentes o donde nuestro cliente no quiere realizar modificaciones. Lo haremos todo desde la perspectiva de un administrador de sistemas al que han pedido hacer que un Wordpress vaya más rápido y escale mejor.\n\nComenzaremos optimizando PHP, luego Wordpress, para más tarde, añadir nuevas capas a medida que avancemos. \n\nTerminaremos balanceando la carga con múltiples VM y gestionando un cluster de MySQL entre otras cosas.\n\n**Es imprescindible traer VirtualBox instalado, ya que lo usaremos para levantar servidores de pruebas**","created":1558468951434,"bookmarkCount":24,"recordingAuthorized":true,"tags":{"39153":["Beginner"],"70b46":[" Lab"],"0db80":[" SQL/NoSQL"," Other"," DevOps"," Cloud"," Web"],"1f174":["Spanish"],"92508":["PHP","Bash"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/u-420QOyUKLLR2i1oEj6vW4NYzTRF3","reimburseExpenses":false,"uuid":"victorporterocantera","name":"Victor Portero Cantera","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-420QOyUKLLR2i1oEj6vW4NYzTRF3/avatar/b843c20e35.avif","id":"u-420QOyUKLLR2i1oEj6vW4NYzTRF3"}],"id":"EGkJqTuHUTGyt8qRL1Kh"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/FMsYnK3SJiPEq2yzOFIG","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Let it fail: resilience patterns for microservices","description":"It's 2019. Teams are independent and we don't have a monolith anymore. We were told that with microservices we could keep our core functionality working while less important parts of the system are slow or even down. The problem is: designing distributed systems is not an easy task. The network is unreliable, services fail and there are lots of moving parts. At FREE NOW, being able to resist partial failure is an essential requirement. We need to ensure that our customers have a smooth user experience, getting a taxi home or running into the airport, even when things go wrong in our system.\n\n**FREE NOW's platform depends on ~250 services that might fail at any time.** This talk is focused on how we achieve fault-tolerance and what we learned during this journey. I will discuss resilience techniques that we use and how they can be useful to your business as well. Idempotence, retries, health checks, rate limiting, bulkhead and circuit breaking concepts, together with some real-world examples are on the agenda.","created":1558257556135,"bookmarkCount":80,"recordingAuthorized":true,"slidesURL":"http://bit.ly/2P7GiSu","videoURL":"https://youtu.be/Ki-b6bMsUBw","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Cloud"],"1f174":[" English"],"92508":["Java","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"96":"El análisis del equipo de datos tras la interrupción mostró grandes pérdidas para la empresa.","3":"Bienvenida a los participantes e inicio de la presentación.","643":"Implementación de deslastre de carga usando Hystrix en Free Now.","580":"Introducción al concepto de deslastre de carga (load shedding).","388":"Explicación de los patrones de reintento y sus limitaciones.","295":"Introducción del concepto de resiliencia en sistemas distribuidos.","232":"Explicación de por qué se eligieron los microservicios: escalado de equipos y trabajo independiente.","72":"El impacto en el equipo de ingeniería de una caída del servicio.","489":"Ejemplo de implementación de disyuntor en Free Now usando Hystrix.","425":"Importancia de considerar la idempotencia en las operaciones de sistemas distribuidos.","330":"Discusión de diferentes estrategias para la resiliencia en sistemas distribuidos.","203":"Resumen de la arquitectura y tecnologías de Free Now. Tres centros tecnológicos y más de 300 microservicios, principalmente basados en Java.","268":"Explicación de cómo los fallos en sistemas distribuidos pueden tener diferentes niveles de impacto.","527":"Discusión del patrón de endpoint de Health en aplicaciones Spring Boot.","16":"Presentación del caso de uso: Reunión de gestión de impactos por interrupción del servicio Free Now.","690":"Discusión del patrón de mamparo (bulkhead).","466":"Explicación del patrón de disyuntor (circuit breaker).","150":"Presentación del presentador: ingeniero de software, tech lead/jefe de ingeniería en Free Now, interesado en sistemas distribuidos.","187":"Encuesta a la audiencia: cuántos asistentes ejecutan microservicios en producción.","126":"Ejemplos del impacto de la interrupción de sistemas distribuidos. Aplicación de transporte de pasajeros, comercio electrónico en Black Friday, etc.","255":"Preguntas sobre por qué una aplicación de transporte de pasajeros necesita tantos microservicios.","735":"Transición al resumen y sesión de preguntas y respuestas."}},"presenters":[{"path":"accounts/l-416984001","description":"Throughout my 5+ years in software development, I have helped to create and resilient distributed systems at startups as well as global companies including Adevinta (formerly Schibsted). I'm currently working as a Backend tech-lead for mytaxi, shaping the e-hailing and mobility markets in Europe. My main interests are distributed systems, microservices, event-driven architectures, reactive systems, and type-safe programming languages.","reimburseExpenses":false,"uuid":"joaoqalves","name":"João Alves","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-416984001/avatar/a1574efb44.avif","id":"l-416984001"}],"id":"FMsYnK3SJiPEq2yzOFIG"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/HO3qi3mp781Zu5zaWB4v","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Fornite, Detective Pikachu, Crash Team Racing y JS Workers","description":"_El clickbait está sobrevalorado_\n\nEsta charla **no** es una introducción a Service Workers ni nada por el estilo, más bien una exploración de ejemplos reales.\n\nSí, JavaScript está de moda, y desde hace tiempo podemos hacer cosas loquísimas en el navegador. Tenemos mogollón de APIs disponibles en el navegador que van más allá de una ventana y pintar cosas, y en este taller queremos **multiproceso**.\n\nVeremos **Service Workers**, **Web Workers**, la API de **CSS Paint**, y todas las cosas preciosas que contienen la palabra _\"work\"_.","created":1555914137598,"bookmarkCount":23,"recordingAuthorized":false,"tags":{"39153":[" Intermediate"],"0db80":[" AI"," Web"],"70b46":[" Lab"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/u-eHaK92j8kDWt4pYErA5kBRFsIw63","reimburseExpenses":false,"uuid":"gagranta","name":"Víctor Galán Grande (Gagran)","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-eHaK92j8kDWt4pYErA5kBRFsIw63/avatar/c9adcefecd.avif","id":"u-eHaK92j8kDWt4pYErA5kBRFsIw63"},{"path":"accounts/u-kmhk1sJE1xRLiUziYJ8sRCnUV422","description":"Soy Front, afronto cosas,\nbesis.","reimburseExpenses":false,"uuid":"p2kmgcl","name":"Pablo Molina","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-kmhk1sJE1xRLiUziYJ8sRCnUV422/avatar/4521431c0b.avif","id":"u-kmhk1sJE1xRLiUziYJ8sRCnUV422"}],"id":"HO3qi3mp781Zu5zaWB4v"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ITi2rVKtTj2Bo0ierb1j","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Ya sé Python. ¿Ahora qué?","description":"Python es genial, pero más allá del lenguaje existe una jungla de herramientas\ny servicios para desarrollar, documentar, revisar, integrar y compartir\nnuestro trabajo. En este taller nos adentraremos en esta jungla para entender\nmejor un conjunto de herramientas y servicios que nos harán la vida más fácil y\nnos ayudarán a desarrollar mejor. Con los conocimientos adquiridos podremos\nafrontar mejor el reto de desarrollar y compartir nuestro propio trabajo ası́\nco- mo contribuir a muchos de los proyectos libres que conforman el ecosistema\nde paquetes de Python.\n\nEn particular, cubriremos:\n\n* Metodologı́as de desarrollo\n* Servicios de control de versiones con Git: GitHub y Gitlab (se utilizará\n GitHub durante el taller)\n* Creación de repositorios, grupos y organizaciones\n* ”Merge requests” o ”pull requests”\n* Entornos virtuales con `venv`\n* Revisiones y ”fixups”\n* Herramientas de testeo: pytest\n* Sistemas de integración continua: `.gitlab-ci.yaml` o `.travis.yml`\n* Flecos y estilo\n* Documentación con Sphinx\n* Despliegue de documentación en Read the Docs (y comparación con Gitlab Pages\n o GitHub Pages)\n* Herramientas de testeo: Tox\n* Distribución de paquetes a traves de PyPI\n\nMuchas de estas herramientas podrı́an requerir de un taller completo para\nprofundizar en ellas. El objetivo de este taller, no obstante, es hacer una\nbreve introducción a cada una de ellas para despejar dudas y facilitar a los\nasistentes el adentrarse en un tipo de desarrollo que va más allá de Python\ncomo lenguaje de programación\n\n## Prerrequisitos para atender al taller\n\n* Ordenador portátil con navegador y conexión a internet\n* Python 3.6 o superior\n* Git 2.0 o superior\n* Visualizador de repositorios (preferiblemente gitk)\n* Perfil de GitHub\n* Claves SSH configuradas para poder interactuar con GitHub fácilmente\n* Conocimientos básicos de Python: funciones, paquetes\n* Conocimientos básicos de Git: add, commit, push, pull\n\nSe recomienda el uso de una distribución Linux durante el taller por ser el\nsistema operativo que se mostrará en la presentación, aunque no es un requisito\nindispensable.","created":1556817073808,"bookmarkCount":19,"recordingAuthorized":false,"slidesURL":"https://peque.github.io/beyond-python-presentation","tags":{"39153":[" Intermediate"],"70b46":[" Lab"],"0db80":[" Soft skills","Agile and Lean"," Other"],"1f174":["Spanish"],"92508":["Python"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-401014001","description":"Passionate about data engineering, software engineering, data science, distributed architectures and machine learning. Free software advocate and contributor.\n\nhttps://www.linkedin.com/in/peque/","reimburseExpenses":false,"uuid":"msdeleonpeque","name":"Miguel Sánchez de León Peque","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-401014001/avatar/d31347828e.avif","id":"l-401014001"}],"id":"ITi2rVKtTj2Bo0ierb1j"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Jz3lggg1nBa5HjMogWJR","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"¡Quiero ser una desarrolladora del montón!","description":"Desde pequeños hemos vivido con la mentalidad de que debemos estudiar, trabajar duro y tener mucho éxito. Esta presión en nuestro sector puede que sea incluso más fuerte, debemos llegar a senior en 3 años, luego a tech lead y terminar dirigiendo equipos. Debemos ser el mejor desarrollador de la empresa y el que menos errores cometa en Github, y sobre todo dedicar nuestro tiempo a seguir ascendiendo en esta carrera sin pensar qué es lo que quieres... !frena!\n\nEn esta charla totalmente imparcial y personal te voy a contar mi experiencia, el viaje personal en el que he estado inmersa y las ventajas de ser un programador del montón en lugar de un 10x engineer. Te contaré como yo prefiero ser una developer a secas (no aspiro a ser arquitecta, ni teach lead, ni manager) y por qué en mi tiempo libro hago pet projects, que me aportan y que otros hobbies tengo. También las frustraciones a las que me he enfrentado en los últimos meses y como he luchado frente a ellas. Además desmitificaremos que para impartir una charla haya que ser un referente y hablaré de cómo la comunidad es una de las mejores cosas que tiene este sector. ","created":1572348276365,"bookmarkCount":75,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/azaferna/quiero-ser-una-desarrolladora-del-monton-eaca0460-8c36-4114-82c4-af13bfe138db","videoURL":"https://youtu.be/3mQ1ciXKGgc","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Soft skills"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1024":"Sentimientos del orador sobre el trabajo.","195":"Formación académica del orador.","10":"Discurso personal/motivacional.","715":"Decisión del orador de abandonar el mundo académico.","13":"¿Quién es el orador?","846":"Transición del orador a la inmunología.","914":"Transición del orador a la industria tecnológica.","1106":"Aspiraciones profesionales del orador.","661":"Trayectoria del orador hacia el desarrollo de software.","149":"Antecedentes personales y profesionales del orador.","727":"Transición del orador a un nuevo campo.","154":"Historia del orador hasta el presente.","1371":"Equilibrio entre la vida laboral y personal del orador.","28":"El contenido y la intención del discurso.","286":"Trayectoria profesional del orador.","609":"Frustración del orador.","1250":"Autoanálisis y crecimiento personal del orador.","1636":"Experiencia y conocimientos del orador.","997":"Rol y desafíos actuales del orador.","809":"Experiencia del orador como programador junior.","554":"Cómo se sintió el orador cuando hizo la transición.","494":"Transición y desafíos del orador.","1135":"Definición de éxito del orador.","112":"Razón para dar este discurso.","368":"Estudios de doctorado del orador.","1651":"¿Cuáles son los objetivos futuros del orador?","307":"Experiencia del orador en la trayectoria elegida.","53":"¿Por qué el orador está dando este discurso?","1525":"Motivación del orador para dar el discurso.","441":"Frustraciones del orador con la trayectoria elegida.","1465":"Equilibrio personal y profesional del orador.","1727":"Metas y aspiraciones futuras del orador."}},"presenters":[{"path":"accounts/u-i77K2WkprgYPRBojPB64BvUZKaw2","description":"Desarrolladora de Software desde 2015, (.Net y Angular son mis puntos fuertes) actualmente trabajo en Sngular, pero trasteo con todo tipo de tecnologías. Formo parte de AsturiasHacking y de Afaya y creo en la importancia de la comunidad. Potterhead y geek a ratos. Este año además MVP de Microsoft.","reimburseExpenses":false,"uuid":"azahara-fernandez-guizan","name":"azahara fernandez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-i77K2WkprgYPRBojPB64BvUZKaw2/avatar/ecad8a6c3d.avif","id":"u-i77K2WkprgYPRBojPB64BvUZKaw2"}],"id":"Jz3lggg1nBa5HjMogWJR"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/JzOjmRp3N5TYVGABiTZu","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"TDD en el mundo real. Mi manera de trabajar","description":"La mayoría de nuestras aplicaciones no *germinan* desde un núcleo, como se muestra en muchos ejemplos de TDD, sino que vienen bastante encaminadas desde antes de empezar a programar. No por esto deja de tener sentido esta metodología. \n\nEn esta presentación explicaré de qué manera hago TDD al desarrollar aplicaciones: qué orden sigo, cómo refactorizo, copy-paste (¡sí, lo hago!). Siempre enfocándome en lo práctico, incluso con un poco de live coding al final.\n","created":1554718955635,"bookmarkCount":227,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/EduardoSnchezContrer/tdd-en-el-mundo-real","videoURL":"https://youtu.be/qwoCQMZ6WH8","tags":{"39153":[" Intermediate"],"0db80":["Agile and Lean"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Java"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"211":"Ejemplos prácticos de implementación de TDD para un proyecto que imita operaciones bancarias. Cómo aplicar TDD en Java para prevenir problemas, así como crear clases, métodos y pruebas.","169":"Explicación del propósito de TDD, enfatizando que es una herramienta de diseño más que una herramienta de prueba, y una discusión sobre la importancia de diseñar la arquitectura antes de la primera prueba. Consideraciones antes de la primera prueba, como el diseño de la arquitectura y la configuración del entorno de desarrollo.","653":"Parte final del ejemplo y comentarios finales del presentador.","63":"Presentación del diagrama clásico de TDD (la prueba falla, la prueba pasa, refactorización) y explicación de cada una de las tres fases. Ventajas de usar TDD, como desistir de una unidad al pasar a la siguiente, y evitar la programación defensiva excesiva."}},"presenters":[{"path":"accounts/l-404934001","description":"[@edusanchezcon](https://twitter.com/edusanchezcon)\nSoy programador (principalmente en Java) de profesión y vocación, actualmente trabajando como consultor tecnológico en Autentia, desde donde ayudo a desarrollar todo tipo de soluciones. Me considero un apasionado del código limpio, aunque también me gusta enfangarme con detalles de bajo nivel, como las tripas de la JVM. \nEn mi tiempo libre, me gusta jugar con mis gatetes y leer, especialmente libros de fantasía; los quiero leer todos (ojalá tuviese tiempo).","reimburseExpenses":false,"uuid":"edusanchezcon","name":"Eduardo Sánchez Contreras","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-404934001/avatar/f257896a9a.avif","twitterAccount":"edusanchezcon","id":"l-404934001"}],"id":"JzOjmRp3N5TYVGABiTZu"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/KX0TGviNZBZZqKqhM0rp","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Las cárceles con diseño \"panóptico\", redes sociales y autocensura en la vida digital","description":"El panóptico era un tipo de arquitectura carcelaria ideada por el filósofo utilitarista Jeremy Bentham hacia fines del siglo XVIII. Su objetivo era permitir a su guardián, guarnecido en una torre central, observar a todos los prisioneros, recluidos en celdas individuales alrededor de la torre, sin que estos puedan saber si son observados.\n\nEl filósofo e historiador Michel Foucault desarrolló esta estructura en una forma abstracta para describir una sociedad disciplinaria. Con el desarrollo del internet y la vida digital, el termino \"panóptico\" se convirtió en un termino metafórico para describir la relación social en el mundo de internet. En las redes sociales, todos somos observadores mientras todos estamos observados.\n\nEsta estructura de las redes sociales nos trae un fenómeno interesante: con la inseguridad de no tener control de quienes van a ver lo que decimos, mucha gente hacen autocensura en las redes sociales para mantener una imagen poco agresiva. En esta charla, analizamos la psicología y filosofía detrás de este fenómeno y proponemos unas ideas para mejorar el diseño de productos con consideración de privacidad y seguridad.\n\n","created":1559302418855,"bookmarkCount":34,"recordingAuthorized":true,"slidesURL":"https://www.dropbox.com/s/412wpgtbgn2yjfc/Las%20carceles%20con%20dise%C3%B1o%20panoptico%2C%20redes%20sociales%20y%20autocensura%20en%20la%20vida%20digital.pdf?dl=0","videoURL":"https://youtu.be/J_5qn7SoqNU","tags":{"39153":["Beginner"],"0db80":[" Social"," Design/UX"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"384":"Este diseño arquitectónico fue ideado por el filósofo Jeremy Bentham a finales del siglo XVIII.","259":"El concepto de la cárcel panóptica es occidental y es de los siglos XIX y XX. Consiste en una torre central rodeada de celdas en forma de anillo.","3":"James Heda Weng dará una charla en la conferencia Commit 2019 en Madrid sobre cárceles con diseño \"panóptico\", redes sociales y autocensura en la vida digital.","196":"Ese sitio se construyó en el lugar donde se erigía la antigua cárcel de Carabanchel, de diseño panóptico. Abierta en 1944, fue cerrada en 1998 y demolida en 2008.","135":"El presentador aclara que no hablará directamente de política, sino del diseño panóptico, desde una perspectiva de diseño.","715":"El diseño utilitarista es una idea filosófica donde la mejor acción es la que produce la mayor felicidad y bienestar para el mayor número de individuos involucrados y maximiza la utilidad.","1038":"Recientemente se ha cambiado la perspectiva, y se piensa que las redes sociales son iguales que los panópticos: las redes sociales coleccionan muchos datos de sus usuarios y consiguen sus beneficios de los anuncios; los usuarios no se dan cuenta de que su privacidad ha sido invadida; los datos coleccionados pueden llegar a manos de gobiernos u organizaciones para controlar a sus ciudadanos más profundamente.","655":"La moral reformada, la salud preservada, la industria vigorizada, la instrucción difundida, los cargos públicos disminuidos, la economía fortificada, todo gracias a una simple idea arquitectónica. Jeremy Bentham. El Panóptico, 1780.","144":"Explica que su charla tiene alguna relación con su identidad como persona de origen chino.","594":"El diseño de la cárcel de Carabanchel no es totalmente circular sino que tiene varios brazos, de manera que maximiza la capacidad de presos que pueden ser observados.","1237":"Las redes sociales, en sus inicios, se veían como panópticos invertidos, pero ahora se perciben como panópticos tradicionales.","1110":"La aplicación de Facebook, por ejemplo, pide permiso para usar el Bluetooth.","151":"Como extranjero, el presentador relata que debe ir todos los años a un sitio en Madrid: la Oficina de Extranjería en la Avenida de los Poblados.","794":"También puede verse el diseño utilitarista en el Barrio de la Concepción de Madrid.","350":"La idea es que desde la torre los vigilantes pueden ver a todos los presos, sin que éstos sepan si están siendo observados.","998":"El presentador da ejemplos de cómo se aplican estos conceptos a los servicios de WeChat, una red social que se utiliza en China.","487":"El diseño panóptico tiene dos características principales: funcionamiento automático del poder y no hay contacto directo entre observador y observados.","1128":"Apple tiene un reporte de transparencia en el que informa sobre las peticiones de gobiernos para obtener datos de iCloud.","238":"Otras cárceles en España con diseño panóptico son: la Cárcel Modelo de Barcelona y la Cárcel Modelo de Madrid.","814":"En la película de Almodóvar \"¿Qué he hecho yo para merecer esto?\" se pueden apreciar los apartamentos del Barrio de la Concepción.","1198":"El diseño en sí mismo es neutral, pero no lo es el propósito del diseño.","115":"El título de la charla es \"Las cárceles con diseño \"panóptico\", redes sociales y autocensura en la vida digital\".","692":"El diseño de la cárcel de Carabanchel se basa en el diseño utilitarista, un diseño que también puede verse en otros sitios, como en viviendas públicas construidas en China en los años 50s, 60s y 70s.","52":"El presentador, James, explica que es de origen chino y que también es un fanático de Apple y que está completando un doctorado en Bellas Artes, UCM. Tiene 5 años de experiencia como diseñador y desarrollador front-end y, en la actualidad, es gerente de producto y diseñador de UX en StyleSage.","438":"El diseño panóptico se basa en la filosofía del utilitarismo, que busca la mayor felicidad y bienestar para el mayor número de individuos involucrados y maximiza la utilidad.","823":"Los interfaces de texto también se pueden ver como ejemplos de diseño utilitarista.","958":"El presentador explica cómo en los 90 se pensaba que las redes sociales eran panópticos inversos: los proveedores del contenido están en el centro; los usuarios son observadores desde fuera; la información es más accesible para el público en general, facilitando el ejercicio de su supervisión al gobierno."}},"presenters":[{"path":"accounts/u-RrNUkvhIt0NIVDPy3JjIukKFk5A3","description":"Diseñador UX/UI en StyleSage y doctorando de Bellas Artes en la Universidad Complutense de Madrid. Profesionalmente tiene 5 años de experiencia como diseñador y creative coder. Académicamente su investigación se enfoca en creación interactiva y diseño de interfaz.","reimburseExpenses":false,"uuid":"hedaweng","name":"James Heda Weng","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-RrNUkvhIt0NIVDPy3JjIukKFk5A3/avatar/b5671e9134.avif","id":"u-RrNUkvhIt0NIVDPy3JjIukKFk5A3"}],"id":"KX0TGviNZBZZqKqhM0rp"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Ksgiy3xdSrHiq1Hk9MnC","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"VueJS para aplicaciones escalables.","description":"Montar proyectos con **VueJS puede ser un desafío para aquellos con menos experiencia a la hora de construir aplicaciones escalables desde cero**.\n\nA partir del ecosistema que proporciona VueJS, en esta charla veremos algunas **recomendaciones para construir estas arquitecturas que sean escalables y mantenibles**. Un conjunto de herramientas y librerías sobre las cuales construir grandes SPA.","created":1565082543828,"bookmarkCount":84,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1aPqy45gXGGhhbBqJeg7wmjBmEuCD8mfCiu8NNyrWiy0/edit?usp=sharing","videoURL":"https://youtu.be/UGJjiUVmxBA","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"3":"Introducción a la charla sobre aplicaciones Vue escalables","263":"Explicación de la configuración de Webpack y su importancia","392":"Simplificación del archivo 'main.js' y el uso de funciones asíncronas","969":"Ejemplo de un archivo 'main.js' simplificado","717":"La evolución del archivo 'main.js'","589":"Transición a un estado caótico debido a la falta de una arquitectura clara","848":"Flexibilidad de Vue","536":"La configuración inicial de Vue CLI","345":"Uso de PostCSS para generar CSS a partir de Javascript y como preprocesador","921":"Recomendación de evitar el uso excesivo de bibliotecas externas","219":"Transición de Angular 1.5 a Vue","670":"Explicación de Webpack Bundle Analyzer","479":"Importancia de no usar preprocesadores por inercia","34":"Presentación de los ponentes, David Liébana García y Sendoa Barciela Llarena, desarrolladores frontend","100":"Introducción a Nucoro, la empresa para la que trabajan, y sus servicios","1253":"Conclusión: dedicar tiempo a la documentación y comprender el framework conduce a aplicaciones Vue escalables","165":"Análisis de fallos: no usar toda la potencia de Webpack, opiniones con linters, tiempo de compilación largo debido a preprocesadores HTML, componentes grandes con múltiples responsabilidades y uso de demasiadas bibliotecas (inútiles)","870":"Importancia de centrarse en la lógica del negocio","1127":"Discusión de Vue-axios y un enfoque nativo más simple","298":"Discusión sobre rutas absolutas con Webpack","1194":"El uso de Observables en Vue.js","812":"Explicación del uso de slots en Vue para la reutilización de componentes","748":"Soluciones propuestas: archivos más pequeños, organización de archivos anidados y mantenerse lo más nativo posible","368":"Fallos con ESLint","116":"Advertencias: La charla no es una lección de aprendizaje de Vue y se basa en opiniones subjetivas","244":"Herramientas utilizadas: Webpack, ESLint, Babel, Stylelint y PostCSS","57":"Introducción de todo el equipo de desarrolladores frontend","442":"Discusión sobre el uso excesivo de transpiladores como TypeScript, Sass, Stylus, Pug y Less","1019":"Introducción de componentes funcionales y envolturas de componentes","316":"Uso de Babel para transformar CSS y Javascript","508":"Ventajas de la organización de archivos anidados y la creación de archivos más pequeños","639":"Problemas con el acceso a los archivos y la estructura de la aplicación"}},"presenters":[{"path":"accounts/l-417214002","description":"Frontend Developer en la startup Nucoro cuenta con varios años de experiencia en el Sector. Actualmente trabaja con VueJs y siempre intenta estar al tanto de las novedades del mundo de javascript que tan rápido cambia.","reimburseExpenses":false,"uuid":"sendoabll","name":"Sendoa Barciela","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-417214002/avatar/b8154d5e27.avif","id":"l-417214002"},{"path":"accounts/l-137634001","description":"Frontend Developer en la startup Nucoro cuenta con varios años de experiencia en el Sector. Actualmente trabaja con VueJs y siempre intenta estar al tanto de las novedades del mundo de javascript que tan rápido cambia.","reimburseExpenses":false,"uuid":"davidliebana","name":"David Liebana","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-137634001/avatar/f33f1e469b.avif","id":"l-137634001"}],"id":"Ksgiy3xdSrHiq1Hk9MnC"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Le1I8iTKD3uMLg5JkIKA","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"La seguridad no empieza por el tejado: la importancia de un diseño seguro","description":"Desde el instante en el que surge esa gran idea de tu nueva web, App, API o cualquier proyecto de software, ya deberías estar pensando en su seguridad. En los tiempos que corren tanto la seguridad como la privacidad son vitales para que el proyecto tenga éxito, y ninguna de las dos viene gratis o por defecto, más bien todo lo contrario: requieren inversión, constancia y dedicación. \n\nEn esta charla analizaremos en detalle cómo empezar en el desarrollo seguro de software mediante dos acciones muy eficaces: diseño seguro y modelo de amenazas. También veremos casos reales de proyectos de software donde no se pensó en su seguridad, las consecuencias que tuvo (por ejemplo, fugas de información) y cómo podrían haberse evitado, ¡te sorprenderás!\n\nEn esta charla explicaremos cómo aplicar estas técnicas que las grandes casas tecnológicas ya emplean hace años para proteger su software. Con independencia del tamaño de la empresa o proyecto, se pueden utilizar las mismas poderosas herramientas y procesos; solo hay que ajustarlas a la escala correspondiente y conocer los pasos necesarios. \n\n¡Ven a descubrir cómo proteger tu software desde el principio!","created":1558105548667,"bookmarkCount":102,"recordingAuthorized":true,"videoURL":"https://youtu.be/zS4JVeNfP1Q","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":["Agile and Lean"," IoT"," Mobile"," DevOps"," Security"," Cloud"," Web"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"1027":"BLE Titan Security Key, producto de Google, tuvo fallos de seguridad que obligaron a sustituir las llaves.","196":"Agenda: Introducción a la seguridad del software, casos de software inseguro, diseño seguro, modelo de amenazas y conclusiones. Hoy en día es obligatorio hacer seguridad en el desarrollo, no es opcional; software y plataformas son auditados constantemente.","548":"La seguridad es una inversión, no un gasto. El coste de un incidente de seguridad puede ser muy elevado, económico y de reputación. Hay muchos marcos de seguridad, documentación y tutoriales disponibles. Lo importante: incorporar la seguridad en el ciclo de desarrollo.","708":"Ejemplos de software inseguro: iTrack, ASUS Router, AppLovin, BLE Titan Security Key.","838":"iTrack, app para monitorizar y gestionar vehículos mediante GPS, tiene problemas: contraseña por defecto y débil, cifrado MD5 y hardcodeado, y ataque contra el API.","231":"Cuando se publica una aplicación, muchas empresas o individuos la auditan automáticamente, aunque no se reciba informe. La seguridad en el diseño es fundamental; trabajo en equipo en todos los niveles: desarrolladores, diseñadores, jefes de proyecto y QA.","135":"Ejemplos de software inseguro y técnicas que podrían haber evitado problemas, con casos reales de software con fallos de seguridad. En el desarrollo seguro hay muchas acciones, y es necesario empezar por algún sitio.","360":"Es posible proteger el software, pero requiere medios humanos y técnicos, inversión en formación y tiempo. No empezar por todo, sino por pequeñas tareas. Diseño seguro y modelado de amenazas son buenos puntos de partida; uso de herramientas como Microsoft SDL, OpenSAMM, o Seven Touchpoints.","105":"Objetivos de la charla: introducción al desarrollo seguro de software, considerando que es un tema que puede llevar días o semanas de formación. El desarrollo de software seguro implica incorporar más trabajo, pero es un bien necesario.","1326":"El champion de seguridad es una figura clave dentro del equipo que lidera las tareas de seguridad. Hay muchas herramientas y recursos disponibles para aprender a modelar amenazas.","910":"ASUS Router, numerosos problemas de seguridad, falta de cifrado, acceso a FTP, contraseñas inseguras, etc. Esto llevó a una investigación.","1072":"El objetivo es minimizar las posibles vías de ataque. Identificar componentes críticos y mecanismos de seguridad, estableciendo los requerimientos. Modelado de amenazas: dibujar diagramas de componentes e interacciones, identificando flujos, autenticación, etc.","464":"El software, aunque inseguro, tiene beneficios para la humanidad. Pero es importante minimizar riesgos, sobre todo en áreas críticas: smart cities, aviones, coches autónomos y dispositivos médicos. El impacto de los fallos de seguridad puede ser económico, afectar la imagen y, en el futuro, vidas humanas.","17":"La seguridad no empieza en el tejado: se hablará de seguridad en el software, un tema del que todo el mundo habla y pocos hacen. Presentación de Simón Roses, fundador de VULNEX, empresa de hacking ético y seguridad en el software. Simón trabajó en Microsoft como instructor de SDL, auditando productos y buscando vulnerabilidades; ganó beca para DARPA, desarrollando tecnología presentada en el Pentágono.","1212":"No abarcar todo de golpe, sino empezar por pequeñas tareas. Herramientas facilitan el proceso, pero lo importante es entender el producto y sus riesgos.","957":"AppLovin, librería de publicidad, permitía explotación remota al no verificar la instalación, y tenía funcionalidad oculta para instalar troyano. Afectó a miles de aplicaciones."}},"presenters":[{"path":"accounts/l-393044001","description":"Licenciado en Informática por Suffolk University (Boston), Postgrado en E-Commerce, Harvard University (Boston) y Executive MBA, Instituto de Empresa (IE, Madrid).\n\nEn la actualidad es el fundador y CEO de VULNEX. Anteriormente formó parte de Microsoft, PriceWaterhouseCoopers y @Stake.\n\nCreador y colaborador en varios proyectos de código abierto de seguridad como OWASP Pantera y LibExploit, además de publicar avisos en seguridad de conocidos productos. \n\nHa obtenido una beca del DARPA Cyber Fast Track (CFT) para investigar sobre la seguridad del software.\n\nPonente habitual en eventos del sector de seguridad incluyendo BlackHat, DEFCON, HITB, RSA, OWASP, DeepSec, SOURCE, CCN STIC, INCIBE CyberCamp y Technets de seguridad de Microsoft.\n\nCISSP, CEH y CSSLP\n\nBlog: www.simonroses.com","reimburseExpenses":false,"uuid":"simonroses1","name":"Simon Roses Femerling","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-393044001/avatar/603ad5d6cd.avif","id":"l-393044001"}],"id":"Le1I8iTKD3uMLg5JkIKA"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/NM8NYAHyBDolUd5iFBOJ","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Information as a Service","description":"En [Zara.com](https://zara.com) hemos aprendido que llevar la información de una forma rápida, escalable y segura a los perfiles de negocio es algo crucial. **La información que proporcionamos es un producto** y debemos tratarlo como tal, para que así puedan tomar sus decisiones basándose en información de calidad.\n \nPara hacer que la información fluya entre los diferentes sistemas, e incluso entre departamentos, hemos tenido que acometer una serie de cambios de bastante calado, respetando siempre unos **principios básicos** y utilizando tecnologías como Elastic, Kafka y otras de desarrollo propio.\n \nEn esta charla contaremos nuestra experiencia con este proyecto. Explicaremos los problemas a los que nos hemos enfrentado y cómo hemos implantado este nuevo paradigma, comentando **casos de uso reales**.","created":1558700287391,"bookmarkCount":77,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1pyt0Ysc7yh15hvGohYimCBZCqVs6rwj6xfmrk_y1pCw/edit?usp=sharing","videoURL":"https://youtu.be/xJ5LuV93dV4","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":["Agile and Lean"," SQL/NoSQL"," Big Data"," Other"," Cloud"],"1f174":["Spanish"],"92508":["Java","Javascript","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"400":"Se presenta la arquitectura de la solución, que incluye la replicación de eventos en tiempo real a través de Kafka y se divide en dominios operacionales y de análisis.","225":"Se introduce la Ley de Conway, explicando cómo las organizaciones que diseñan sistemas están restringidas a producir diseños que son copias de las estructuras de comunicación de estas organizaciones.","17":"Introducción al proyecto desarrollado para mejorar el flujo de información entre los departamentos de una empresa y cómo comparten la información.","150":"Se discuten las necesidades de negocio con un enfoque en datos en tiempo real e información precisa. Se clasifican las preguntas en dos tipos: relacionadas con el tiempo real y aquellas que requieren información consolidada para informes y presupuestos.","503":"Se discuten los inconvenientes, como la complejidad de la arquitectura, el camino crítico para el rendimiento y la alta concurrencia.","42":"Explicación de cómo la visibilidad sobre el negocio, que incluye datos en tiempo real e información precisa, es vital para la toma de decisiones. Se presentan ejemplos de herramientas y métodos, desde extracciones manuales hasta asistentes virtuales.","107":"Se dan cifras significativas del negocio, como 5 millones de visitas diarias, presencia en 195 mercados y la generación de 700 GB de datos diariamente. Estos números representan la magnitud del desafío.","540":"Se explican los beneficios que incluye el uso de eventos de lenguaje natural, la disponibilidad instantánea de datos, el desacoplamiento de datos de la información, y la aplicación dinámica de reglas de negocio.","332":"Se explica que con el modelo de Data as a Service se ofrecen servicios de datos en lugar de la conexión directa a las bases de datos."}},"presenters":[{"path":"accounts/l-167514004","description":"Technical Lead @ Zara.com","reimburseExpenses":false,"uuid":"alejandromav","name":"Alejandro Martin","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-167514004/avatar/957af37f89.avif","twitterAccount":"alejandromav_","id":"l-167514004"},{"path":"accounts/l-416004001","description":"Miguel is part of the Data Engineer team from Zara. The goal of this team is to design architectures and build solutions for the new informational use-cases required by the business users. With lots of exprience as solutions architect and leading technical teams in high-performance and real time environments. Miguel develops his work always supported by three fundamental principles: the team, automation and architecture.","reimburseExpenses":false,"uuid":"mgarlorenzo","name":"Miguel García","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-416004001/avatar/3776d7a434.avif","twitterAccount":"miguelglor","id":"l-416004001"}],"id":"NM8NYAHyBDolUd5iFBOJ"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Ng15A4KIP6ul824XgDwP","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cómo sobrevivir a la selección en una empresa en crecimiento y no morir en el intento. ","description":"# Cómo sobrevivir a la selección en una empresa en crecimiento y no morir en el intento. \n\n1 **Mundo startup/Pyme/IT**: En este apartado introduciremos la charla, haciendo hincapié en la diferencia entre la estructura organizativa entre startups y pymes frente a multinacionales. \n\n2 **Creación de departamentos desde 0:**\n\nEn las pequeñas y medianas empresas uno de los mayores retos a los que se enfrenta el departamento de recursos humanos es a la detección de necesidades de puestos de trabajo y a la creación y organización de departamentos totalmente nuevos. En este punto de la charla daremos consejos sobre cómo hacerlo y evitar posibles problemas que puedan ocurrir.\n\n3 **Sin cultura empresarial establecida**: Este punto es clave para entender la dificultad añadida a la hora de hacer selección, ya que al carecer de cultura empresarial definida y la NO definición de un organigrama y los perfiles asociados a cada puesto, la decisión de seguir creciendo sin un foco, puede llevar a las empresas a gastos que se podrían evitar si se emplearán recursos en establecer una estrategia de contratación desde el principio; siempre mejorándola a medida que esta cultura se va asentando.\n\n4 **Tiene que funcionar desde el principio:** En las pequeñas y medianas empresas hay menos margen para el error y, además, hay menos tiempo ya que no hay una base sólida que pueda sustentar la producción hasta que se haga una correcta selección. Aquí hablaremos sobre cómo optimizar el proceso de selección, para que sea lo más rápido y productivo, posible siempre siendo de calidad.\n\n5 **Fundadores suelen ser técnicos/no conocimientos selección:** (se guían por el instinto). \n\nEn este apartado queremos desmitificar el concepto de selección basada en “corazonadas e instinto”, sentando las bases de una selección lo más objetiva posible. También aportamos una guía para hacer selección de diversos perfiles para fundadores de empresa IT, que por su formación no tienen conocimientos de selección de personal, y aún no se pueden permitir un departamento de RRHH.\n\n6 **Factores motivacionales e higiénicos:** Conocemos las limitaciones de las startups y pequeñas empresas, al igual que sus virtudes y sus posibilidades. Si las pequeñas empresas o startups remuneran a su equipo por debajo del mercado, no hay que temer, hay otras formas de convencer y aportar para llegar a tener un equipo que acabe siendo embajador de la marca. Para suplir esta necesidad, podemos diferenciar entre dos factores; los higiénicos y los motivacionales, y nunca confundirlos. \n\nEn esta sección hablaremos de ambos factores y la gran importancia a la hora de diferenciarlos; unos son esenciales para el correcto desempeño y el otro energiza y mejora el mismo.(Haremos uso de ejemplos claros).\n\n7 **Selección:** Hablaremos sobre los pasos fundamentales para hacer una selección de éxito en el menor tiempo posible, intentando evitar errores y consiguiendo los mejores candidatos.\n\nVideo:https://bit.ly/2HEBuS6","created":1558702684067,"bookmarkCount":34,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1eRIK3cQ2q2u-oAtpfI9ULx5KdIEs0ihKvb0H4QXjNIM/edit?usp=sharing","videoURL":"https://youtu.be/ajq2XdliU78","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Soft skills"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"64":"Una asistente explica que trabaja en una startup liderando un equipo técnico, con 7 años de experiencia, sin departamento de RRHH y contratando a través de agencias externas.","177":"El 90% de las startups fracasan en los tres primeros años por no tener establecidos los conceptos de valores y cultura. Es importante crearlos y definirlos.","389":"Beneficios del onboarding: transición de la experiencia del candidato a la del empleado. En 90 días: definir rol, tareas, misión y negocios. Establecer el libro blanco de la empresa (cultura y valores) y crear espacios de participación.","5":"Introducción de las ponentes Consuelo García y Esperanza Manga en la conferencia Commit 2019 en Madrid, y su presentación sobre la creación de equipos en una startup.","134":"Las startups tienen todo por hacer. Los socios fundadores de OpenWebinars son técnicos, sin conocimientos de selección ni RRHH.","231":"El método NEE: necesidades, entrevistas y errores. Primero, determinar las necesidades de contratación; segundo, el encaje con los valores; tercero, entrevistas técnicas y por competencias (basándose en la objetividad); cuarto, errores comunes en una startup al contratar.","456":"Gestión de conflictos a través del feedback continuo y la gestión de emociones. Última entrevista para preguntar qué no se ha cumplido como empresa, detectar áreas de mejora y motivos de la salida.","508":"Gestión del offboarding generando buen karma: dar buenas referencias del que se va e incluso ayudarle a reubicarse.","29":"Agradecimiento a la asistencia un sábado por la mañana. El objetivo es que la charla sea corta, sencilla e interactiva, pidiendo a los asistentes que expliquen sus motivaciones e inquietudes: '¿Qué buscáis en esta charla?'."}},"presenters":[{"path":"accounts/l-419134001","description":"IT recruiter/ HR en OpenWebinars.\n\nhttps://www.linkedin.com/in/hopemanga/\n@hopetita\n ","reimburseExpenses":false,"uuid":"esperanza","name":"Esperanza Manga","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-419134001/avatar/6251d80ae7.avif","id":"l-419134001"},{"path":"accounts/l-411154001","description":"HR Manager en OpenWebinars \n\nhttps://www.linkedin.com/in/consuelogarcia/","reimburseExpenses":false,"uuid":"consuelo","name":"Consuelo García Ontivero","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-411154001/avatar/7ee1b01650.avif","twitterAccount":"consogaront","id":"l-411154001"}],"id":"Ng15A4KIP6ul824XgDwP"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ODd7bQ7STfAnLFLZAGxU","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Tu Scrum Master te engaña... y lo sabes!","description":"Cada día vemos nuevas ofertas de empleo que solicitan roles de Scrum Master, cada vez más proyectos y productos se \"*llevan a cabo*\" dentro de \"*marcos*\" ágiles, a esto podemos sumar el número de detractores que va sumando el marco Scrum en concreto, y la creciente frustración de los equipos, pero... **¿Realmente estamos consiguiendo los resultados que nos han \"vendido\"? ¿Qué está pasando?**\n\nEn esta charla compartiré con el público experiencias sobre \"contorsionismo Agile\", o como hemos retorcido las prácticas ágiles para **seguir haciendo lo mismo que hacíamos antes pero con un nombre más molón**. Me centraré concretamente en los Scrum Master *abraza-arboles y/o animadores* que se han dedicado a decir que ellos consiguen aumentar la velocidad de los equipos por medio de prácticas (o *palabras raras*) como: \n\n* \"faci-manipulación\"\n* \"kudo-box\"\n* \"preguntas poderosas\"\n* \"zona de confort\"\n* \"aporte de valor\"\n* \"product owner proxy\"\n* \"demo\"\n* ...\n\nPero... ¿Y dónde están las verdades prácticas? ¿Dónde está el CI/CD? ¿Dónde están las katas?¿Dónde ha quedado el pair-programming o ayudar al equipo a tener una buena gestión de ramas? \n\n**¿Estamos como Scrum Master realmente ayudando a los equipos para/con los que trabajamos?**\n","created":1558886617686,"bookmarkCount":105,"recordingAuthorized":true,"slidesURL":"https://benjagarrido.com/wp-content/uploads/2019/11/Tu-Scrum-Master-te-engaña...-y-lo-sabes_v1.0.pdf","videoURL":"https://youtu.be/glowEu1U-p0","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":["Agile and Lean"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"771":"El peligro de que un Scrum Master se convierta en un dictador. Opiniones críticas sobre el mal uso de las prácticas y términos de Scrum.","278":"Discusión sobre las posibles motivaciones para convertirse en Scrum Master: demanda del mercado, salarios más altos, avance profesional o presión de la empresa. Discusión de los conceptos de demostraciones, motivación, zona de confort, habilidades blandas, valor, empoderamiento, autoorganización, preguntas poderosas y comunicación no violenta en el contexto del rol de Scrum Master.","230":"Análisis de los orígenes del rol de Scrum Master.","28":"Presentación de Benjamín Garrido, ponente en Commit Conf, y su experiencia trabajando con equipos grandes en entornos Agile para diferentes clientes e industrias.","76":"Scrum Masters y su rol: preguntas a personas que trabajan en entornos Agile, usan Scrum y son Scrum Masters. Definición del rol de Scrum Master desde el mercado. Ofertas de trabajo que describen el rol de Scrum Master con tareas inusuales, como configurar la mejora continua de las prácticas Agile."}},"presenters":[{"path":"accounts/u-vNbglE8NT9TqsKdNfTyHOYeOpt13","description":"Trabajo como Enterprise Agile Coach & Scrum Master en Accenture Digital. Para mí, Agile es una forma de vida. Compromiso, foco, franqueza, respeto y coraje, son las guías básicas que rigen mi día a día. Enamorado de Scrum como marco de trabajo que nos permite, no solo trabajar de una manera óptima, sino mejorar continuamente. Mi objetivo es la entrega de valor continua y, junto con todo el equipo, trabajamos para alcanzarlo con el mayor y mejor estado de motivación, concentración, felicidad y profesionalidad. Siempre en el camino de la mejora continua. SHU-HA-RI.","reimburseExpenses":false,"uuid":"bgarridobarreiro","name":"Benjamín Garrido Barreiro","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-vNbglE8NT9TqsKdNfTyHOYeOpt13/avatar/99740ff318.avif","id":"u-vNbglE8NT9TqsKdNfTyHOYeOpt13"}],"id":"ODd7bQ7STfAnLFLZAGxU"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/OLJqTTpKg0LmfLbMf781","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"React hooks, bye bye to classes","description":"En esta charla veremos cómo, utilizando los hooks de react, podremos conseguir:\n- Olvidarnos de los ciclos de vida\n- Gestión del estado compartido en diferentes partes de nuestra aplicación\n- Código más limpio, eliminando el boilerplate de los componentes de clase\n- Mayor reutilización de las lógicas de estado: al ser todo funciones nos resultará mas fácil abstraernos\n\nTambién veremos algunos ejemplos con live coding para ver como refactorizar nuestros antiguos componentes del clases o para implementar gestión de estado usando solamente hooks ","created":1557140988791,"bookmarkCount":82,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/file/d/1Ug5Z9hQXfu7T9PFj-H8G8ALO-Ss8d-b5/view?usp=sharing","videoURL":"https://youtu.be/Cn9xzgT57J4","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"17":"Introducción a los hooks de React y su comparación con los componentes de clase, incluyendo el contexto histórico y la programación tradicional de componentes.","946":"Introducción al hook useContext y demostración de su uso para la gestión del tema en la aplicación, incluyendo la funcionalidad del tema cambiando con el toggle.","678":"Explicación del hook useEffect para la gestión del ciclo de vida en componentes funcionales, incluyendo su uso en un componente de scroll, con la adición y eliminación de event listeners.","822":"Transición de un componente de clase a uno funcional usando el hook useState para gestionar el estado del scroll.","71":"Encuesta a la audiencia sobre el uso de React y hooks.","151":"Explicación de qué son los hooks: funciones que permiten acceder al ciclo de vida y estado en componentes funcionales, incluyendo la diferencia entre componentes de clase y funcionales, y demostración del hook useState.","1242":"Creación de un hook personalizado (useArray) para demostrar la reutilización de código y la abstracción de la lógica.","331":"Demostración de la reutilización de código y refactorización de un componente de clase a uno funcional con hooks.","1132":"Refactorización del código para utilizar el hook useToggle en lugar de la lógica de clase para el componente toggle.","238":"Razones para utilizar hooks en React: eliminación de 'scaffolding', reutilización de código, y lógica compleja en componentes.","30":"Introducción al ponente, Carlos P. Jimeno, y sus antecedentes en programación y enseñanza."}},"presenters":[{"path":"accounts/u-WDMtE6v9AvNwlL2P89vDLy9mKky2","reimburseExpenses":false,"uuid":"jimeno0","name":"Carlos P. Jimeno","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-WDMtE6v9AvNwlL2P89vDLy9mKky2/avatar/bca2b88ea1.avif","twitterAccount":"jimeno0","id":"u-WDMtE6v9AvNwlL2P89vDLy9mKky2"}],"id":"OLJqTTpKg0LmfLbMf781"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/PQDcBOJisyhbW8HzYrJg","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cómo hacer aplicaciones Cloud Native con Spring Cloud GCP","description":"Todos conocemos los beneficios de la nube a la hora de desplegar las aplicaciones, pero para no quedarnos a medias, nuestras aplicaciones deberían cumplir ciertos principios de diseño que las adapten a los entornos elásticos. \n\nEn esta charla, repasaremos conceptos sobre las aplicaciones cloud-native, las arquitecturas y buenas prácticas de diseño que podemos aplicar a la hora de construir aplicaciones web en entornos en la nube. El objetivo es poder definir correctamente aplicaciones 100% cloud-native. ","created":1558823382926,"bookmarkCount":79,"recordingAuthorized":false,"slidesURL":"https://docs.google.com/presentation/d/15lAJcWX1DnTvd2DlJb06QqGARJIt7qS87hHBH6BuFY4/edit?usp=sharing","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Web"],"1f174":["Spanish"],"92508":["Java"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-393004001","description":"En el 2012, empecé mis estudios del Grado de Ing. Informática en la Universidad de Oviedo, una vez finalizado tuve muy claro que lo mío son las tecnologías webs, así que, decidí continuar en la misma universidad con el Máster de Ing. Web. Estoy en continua formación y quiénes me conocen saben que me gustar estar a la última de las novedades tecnológicas. Actualmente trabajo en el departamento de backend en The Cocktail. ","reimburseExpenses":false,"uuid":"mariasanchez","name":"María José Sánchez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-393004001/avatar/e3d4053003.avif","id":"l-393004001"}],"id":"PQDcBOJisyhbW8HzYrJg"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/QpPkl9SSbTetWNnLiwZv","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":" Los videojuegos también son software","description":"Como desarrollador de aplicaciones de negocio y también de videojuegos como hobby. Se pueden ver que los desarrollos son completamente distintos. \n\n\nMientras que en negocio se desarrolla con una arquitectura definida véase MVVM o variantes, en videojuegos no se llega a aplicar nunca y todos los proyectos parten de estructuras completamente diferentes.\n\n\nDurante la charla no solo reafirmaremos que tener una arquitectura es una señal de un buen ejercicio, si no que también aplicarlos en videojuegos nos da mucho poder y una capacidad de desarrollar las cosas mucho mejor.\n\nVeremos código de ejemplo de distintos juegos.\n\n","created":1558698598885,"bookmarkCount":43,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/JosManuelMonteroOrte/games-are-software","videoURL":"https://youtu.be/GyVib9m8BYg","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Games"],"1f174":["Spanish"],"92508":[".Net"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"34":"El ponente comparte su experiencia con Rafael Muñoz, desarrollador de videojuegos en Electronic Arts, y la mención de Unit Testing y reglas de negocio en videojuegos.","338":"Planteamiento central: ¿Es posible aplicar Unit Testing y reglas de negocio en el desarrollo de videojuegos?","4":"Presentación de José Manuel Montero, desarrollador de Xamarin y DevsDNA, quien hablará sobre videojuegos y técnicas de negocio en videojuegos, titulado 'Games Are Software'.","709":"Enlace al repositorio de GitHub con el código de ejemplo: https://github.com/jmmortega/GamesAreSoftware","421":"Análisis conceptual de la aplicación del patrón MVVM (Model-View-ViewModel) en videojuegos, usando 'Super Mario Bros.' como ejemplo.","166":"Ejemplos de videojuegos exitosos desarrollados con MonoGame como 'Ska Studios' ('Salt and Sanctuary'), 'Stardew Valley' y 'They Are Billions'.","200":"Análisis del código de 'Charlie Murder' y 'Salt and Sanctuary' (Ska Studios), mostrando similitudes en la estructura del código y falta de separación entre lógica de negocio e implementación.","539":"Propuesta de abstracción de elementos del juego como entidades y gestión de la lógica mediante servicios ('Collider Service', 'DrawService', 'CameraService'), similar al desarrollo de software empresarial.","95":"Reflexión sobre la compilación y descompilación de software en .NET y Java, a raíz del descubrimiento del juego 'Magicka' hecho con MonoGame."}},"presenters":[{"path":"accounts/u-a3qLyX0qzodsASuxOPlPmSzTNvm1","description":"Desarrollador .NET desde hace más de 10 años. Desde hace unos 6 centrado completamente en el desarrollo móvil con tecnologías Microsoft de bandera. Ahora mismo me aguantan en DevsDna donde intento dar lo mejor de mí","reimburseExpenses":false,"uuid":"jmmonteroortega","name":"José Manuel Montero Ortega","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-a3qLyX0qzodsASuxOPlPmSzTNvm1/avatar/29502c502c.avif","id":"u-a3qLyX0qzodsASuxOPlPmSzTNvm1"}],"id":"QpPkl9SSbTetWNnLiwZv"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/RgGtbRL7DI87y62dLVPG","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Asistentes/Interfaces de voz, ¿han venido para quedarse?","description":"Los intefaces de voz se están convirtiendo en una realidad cada vez más presente en nuestro día a día y en miles de dispositivos diferentes. Se dice que más de la mitad de los hogares en USA tienen un Alexa en su casa. Pero, ¿es una moda o ha venido para quedarse? ¿Sirve para algo más que poner una cuenta atrás? ¿Cómo de diferente es diseñar una interfaz con voz de otra visual? \n\nMe gustaría debatir con los demás opiniones sobre esta \"no tan nueva\" tendencia, compartir experiencias si hay gente que ya tenga en este campo, hablar de herramientas existentes, casos de uso, testing, despliegue, etc","created":1554994666859,"bookmarkCount":21,"recordingAuthorized":true,"videoURL":"https://youtu.be/Tcq0MUixD4Q","tags":{"39153":["Beginner"],"70b46":[" Unconference"],"0db80":[" IoT"," AI"," Other"," Cloud"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"113":"Introducción a los asistentes de voz, sondeo de experiencia y perfiles de los asistentes (técnicos y diseño/UX).","6":"Introducción, aclaración y explicación del formato unconference, incluyendo la libertad de movimiento y la ausencia de charlas formales.","407":"Mención de las diferentes plataformas de asistentes de voz: Google, Amazon, Apple y otras.","538":"Discusión sobre cómo monetizar las habilidades de Alexa y los desafíos del diseño conversacional.","299":"Discusión sobre la naturalidad de la interfaz de voz y sus retos.","635":"Explicación de los componentes técnicos de una aplicación de voz: modelo de interacción, NPU y comunicación con el servidor.","716":"Debate sobre la integración de Alexa en diferentes dispositivos y la personalización de la experiencia del usuario.","478":"Diferencias entre los modelos de interacción de Google y Alexa.","239":"Introducción a los asistentes de voz y chatbots."}},"presenters":[{"path":"accounts/u-LzW3CTTkYeguYE8ALtBwFl7tXXA2","description":"Alexa, escribe mi bio por favor... vaya, no funciona :( Mi vida laboral se ha basado en el backend y lenguajes de la JVM pero en el último año estoy jugando y aprendiendo con los asistentes e interfaces de voz, concretamente con Alexa. En mis ratos libres cocino cosas que no siempre están comestibles, intento hacer deporte, viajo o juego a la play.","reimburseExpenses":false,"uuid":"kinisoftware","name":"Joaquin Engelmo Moriche","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-LzW3CTTkYeguYE8ALtBwFl7tXXA2/avatar/9f43128f9b.avif","id":"u-LzW3CTTkYeguYE8ALtBwFl7tXXA2"}],"id":"RgGtbRL7DI87y62dLVPG"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/UVqGUS0gBJv7da4tjQ62","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Aprendiendo programación funcional a lo borrico con Spark","description":"¿Eres de los que han escuchado cientos de veces las bondades de la programación funcional pero no has pasado del forEach? ¿Cada vez que te propones aprender algo de PF acabas aburrido de los filter y flatmap? ¿Todos los manuales sobre FP empiezan con cosas demasiado elementales, te aburres, y acabas perdiendo el interés?\n\nA veces, para aprender algo nuevo, en lugar de empezar por las bases, es buena idea empezar por algo que ya exista y diseccionarlo. En esta charla utilizaremos Spark, la conocida y estupenda herramienta para proyectos Big Data, como hilo conductor para aprender los fundamentos de la programación funcional.","created":1559512693586,"bookmarkCount":69,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/voiser/learning-functional-programming-the-hard-way-with-spark","videoURL":"https://youtu.be/dhup5tba7IQ","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Big Data"],"1f174":["Spanish"],"92508":["Scala"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"289":"Se introduce el concepto de RDD (Resilient Distributed Dataset) en Spark, explicando cómo distribuye los datos.","209":"Ejemplo de conteo de palabras usando MapReduce, y cómo se implementaría usando programación imperativa.","147":"Conceptos clave de la programación funcional: funciones puras, inmutabilidad, funciones de orden superior, map, flatmap, foldLeft.","374":"Se presenta el diseño de los functores como una estructura para dar contexto computacional y permitir la composición de operaciones.","476":"El concepto de mónada se introduce como un functor que además permite la composición, evitando los efectos laterales. Ejemplos de mónadas como Option, Future, y Writer, destacando cómo ayudan a resolver problemas comunes. Se describe la problemática de combinar functores y cómo una mónada resuelve esto, evitando los efectos colaterales.","781":"Se introduce el concepto de semigrupo, un patrón que permite combinar dos elementos de un mismo tipo. Una mónada es un semigrupo con un elemento vacío.","29":"La programación funcional busca resolver los mismos problemas que otros paradigmas, pero con principios distintos. Una analogía compara a los programadores funcionales con los veganos, destacando esta diferencia de principios.","957":"Se menciona el concepto de 'lazy evaluation', importante en programación funcional y cómo Spark lo utiliza."}},"presenters":[{"path":"accounts/l-416974001","description":"Los primeros años de colegio de David no fueron nada fáciles. A sus compañeros de clase solo les interesaba el fútbol y él era gordito y los deportes no se le daban bien. Así que el pobre muchacho lo llevaba fatal. Un buen día sus padres pusieron a su alcance un ordenador, un Amiga 2000 con dos disqueteras y un procesador a 8MHz, y su vida cambió para siempre. Era un cacharro grande, gris, frío, pero mucho más interesante que sus compañeros del colegio. Así que su vida social no mejoró, pero aprendió a hacer pequeños programas y juegos en BASIC. Con el tiempo comprendió que programar le encantaba y que quería ganarse la vida con ello.","reimburseExpenses":false,"uuid":"voiser","name":"David Muñoz","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-416974001/avatar/fc743a053c.avif","twitterAccount":"voiser","id":"l-416974001"}],"id":"UVqGUS0gBJv7da4tjQ62"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Xu5EsC0nhgeO8VZcRt9Y","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Agilidad en los videojuegos: Llegar al final sin morir en el intento.","description":"¿Por qué fracasan muchos proyectos de videojuegos? Probablemente una de las causas sea que no se hace un buen uso de las metodologías ágiles. En la charla, se expondrán ejemplos de casos reales en los que, por no haber aplicado los valores que representan estas metodologías, no se ha completado su desarrollo, o salido al mercado con un impacto negativo. Tambien se expondrá una combinación de estos métodos para incrementar la velocidad y calidad en la creación de videojuegos. ","created":1558716469869,"bookmarkCount":29,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1kDzKiKKK--kJLOjDgAGC3cA6JXBd7uVOHtAUS7gjD8Y/edit?usp=sharing","videoURL":"https://youtu.be/YwbEGTn1xts","tags":{"39153":["Beginner"],"0db80":[" Games","Agile and Lean"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"609":"Referencia a la diferencia entre las expectativas del cliente y lo entregado en proyectos de desarrollo de software.","147":"Problemática actual en el desarrollo de videojuegos: incumplimiento de plazos y presupuestos, desgaste humano (crunch), y cancelación de proyectos. Se mencionan ejemplos como \"The Last Guardian\" y \"Red Dead Redemption 2\".","4":"Presentación del ponente, Manuel Alejandro Bacallado López, y de la charla sobre Agilidad en los videojuegos en la Commit Conf 2019. El ponente comparte su experiencia en desarrollo de software y videojuegos, incluyendo su certificación como Scrum Master.","214":"Análisis de las causas de los problemas en el desarrollo de videojuegos: falta de visión del producto, ego, ausencia de trabajo en equipo, mal desarrollo del software y mala interpretación de la agilidad.","280":"Problemas de calidad en videojuegos como \"Watch Dogs\" y \"Assassin's Creed\", y anécdotas sobre condiciones laborales extremas en la industria.","489":"Experiencia del conferenciante combinando metodologías ágiles en proyectos de desarrollo de videojuegos.","681":"Diferencias clave en roles, creatividad y tiempo de desarrollo entre videojuegos y software tradicional.","363":"Introducción de las metodologías ágiles como solución, priorizando la calidad sobre el tiempo y adaptándose a las condiciones del proyecto.","396":"Presentación del manifiesto ágil y sus 12 principios resumidos en cuatro postulados: individuos e interacciones, software funcionando, colaboración con el cliente y respuesta al cambio.","429":"Implementación de metodologías ágiles en tres fases: piloto, lanzamiento y generalización.","462":"Ejemplos de combinaciones de metodologías ágiles: Lean Startup, Scrum, Kanban y XP (Extreme Programming).","543":"Importancia de adaptar los métodos a la organización y de los valores ágiles sobre la aplicación estricta de las reglas."}},"presenters":[{"path":"accounts/u-pZXopOgFKzdEO71prNnUwSSAQzK2","description":"Mi nombre es Manuel Bacallado y soy de Tenerife, Canarias. Soy Ingeniero de software y me dedico al desarrollo de aplicaciones móviles, métodologías ágiles y desde 2017, al mundo de los videojuegos de forma más seria. Tengo varios proyectos publicados, con roles desde guionista, diseñador de juego y desarrollador. Actualmente, buscando tiempo libre para continuar con el desarollo de mi primer videojuego en solitario: Impact Trial. ","reimburseExpenses":false,"uuid":"manuelbacallado89","name":"Manuel Bacallado","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-pZXopOgFKzdEO71prNnUwSSAQzK2/avatar/59ad54441f.avif","id":"u-pZXopOgFKzdEO71prNnUwSSAQzK2"}],"id":"Xu5EsC0nhgeO8VZcRt9Y"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/YQPKdiBIzN8PmRjTzEYv","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"GraphQL FullStack Development","description":"A la hora de desarrollar cualquier tipo de aplicación que gestione y/o consuma datos, la comunicación entre las distintas personas que conforman el equipo, es fundamental. A esto hay que añadir las previsibles modificaciones en los requisitos por parte de nuestro cliente y la coordinación de las distintas tareas asociadas a la creación del producto.\n\nTodas esta circunstancias han demostrado que en mayor o menor medida, la dependencia entre las distintas personas que intervienen en el desarrollo de la aplicación, léase FrontEnders, BackEnders, Database Admins y demás, tiende a inducir a errores en el diseño.\n\nPara solventar en la medida de lo posible este tipo de contingencias, GraphQL puede ser la solución a aplicar dada su flexibilidad, facilidad de uso y sobre todo, porque libera la dependencia entre Back y Front. Esto lo hace al establecer un contrato tácito entre ambas partes, de manera que cada una sabe perfectamente cuál va a ser la estructura de datos que va a manejar y cómo operar con ellos. Por este motivo, GraphQL está llamado a revolucionar la forma en cómo implementamos nuestras APIs y la manera en la que nuestros clientes se relacionan con ellas. \n\nPara respaldar estas afirmaciones, me basaré en una serie de ejemplos con los cuales mostraré los beneficios que puede aportar el uso de GraphQL en nuestras aplicaciones cliente/servidor, la facilidad con la que podemos implementar esta nueva herramienta y cómo, llegado el caso, pueden coexistir nuestra API en REST con GraphQL.","created":1556689127431,"bookmarkCount":139,"recordingAuthorized":true,"slidesURL":"http://bit.ly/commit-graphql","videoURL":"https://youtu.be/yFBFbHwvoZs","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1553":"Herramientas y recursos para el desarrollo con GraphQL, incluyendo herramientas del lado del cliente, herramientas de gestión del backend y recursos educativos.","914":"Abordando el problema del versionado en las APIs, y cómo GraphQL utiliza directivas para gestionar el versionado.","632":"Descripción de la implementación de endpoints estáticos y sus posibles inconvenientes, enfatizando el contraste con GraphQL.","216":"El rol de GraphQL con respecto a las APIs REST y la compatibilidad de ambas tecnologías.","281":"Explicación de la subobtención (underfetching) y la sobreobtención (overfetching) en las APIs, y cómo GraphQL puede mejorar la eficiencia en la obtención de datos.","10":"Introducción y contexto sobre el Desarrollo Full Stack con GraphQL. El orador da la bienvenida a los asistentes y proporciona detalles sobre el acceso a las diapositivas.","1004":"Discutiendo formas de implementar GraphQL, centrándose en el esquema, el cliente, el backend y los resolvers.","61":"Discusión sobre el propósito y la función de GraphQL, aclarando su relación con las bases de datos y las APIs.","414":"Ejemplos prácticos para ilustrar los conceptos de subobtención y sobreobtención utilizando una implementación de la API de Star Wars."}},"presenters":[{"path":"accounts/u-YCUiSfPVBMVJPDc9ehJwxUaCbih1","description":"Me apasiona la programación desde que la descubrí en la universidad y actualmente tengo la grandísima suerte de dedicarme a ella profesionalmente, sobre todo empleando Javascript, un lenguaje que por su flexibilidad me permite divertirme un poco más cada día. El principal side project en el que estoy involucrado ahora es la organización de la comunidad CanariasJS y del JSDay Canarias 2019, el mayor evento para profesionales JavaScript, que se celebrará los próximos 8, 9 y 10 de noviembre en Tenerife, Islas Canarias, y para el cual tenemos confirmados ponentes de 10 nacionalidades distintas así como 48 ponencias y seis talleres de manera que, si quieres estar al tanto de todas las novedades sobre el JSDay Canarias 2019, síguenos en Twitter (https://twitter.com/canariasjs).","reimburseExpenses":false,"uuid":"ddialar","name":"Dailos Rafael Díaz Lara","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-YCUiSfPVBMVJPDc9ehJwxUaCbih1/avatar/2bec60b989.avif","id":"u-YCUiSfPVBMVJPDc9ehJwxUaCbih1"}],"id":"YQPKdiBIzN8PmRjTzEYv"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/Yfya3IZ1hVFnDxWiHCu2","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cómo leer una licencia de software y no morir en el intento","description":"En esta charla intentaré traducir a humano los complejos textos legales de las licencias de software. Analizaré el contenido de las licencias más utilizadas como la GPL v3, Mozilla, Apache, Mit...etc, tratando de aclarar las diferencias existentes entre cada una de ellas y sobretodo explicar a que te obligan, que pasos tienes que seguir para respetarlas y las consecuencias de no hacerlo.","created":1555926980938,"bookmarkCount":49,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/open?id=16UjPwJF_UYR83FpwvboJdgd0lBkD_bhc","videoURL":"https://youtu.be/kDyNUGUoQGA","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"960":"Se aconseja que en caso de querer privatizar el software, es necesario comprender las licencias que se usan.","1090":"Finaliza aconsejando documentación online sobre licencias de software.","3":"Introducción a la presentación: 'Cómo leer una licencia de software y no morir en el intento'.","74":"El 'disclaimer' es una transparencia para que no se use esta charla como asesoramiento legal.","618":"Explicación de la compatibilidad entre las licencias GPL y las versiones 2 y 3.","44":"Presentación del ponente, José Manuel Sendín, y su empresa, SistemeUS.","205":"Pregunta a la audiencia sobre qué es una licencia de software, y definición de la misma como un contrato.","878":"Pregunta a la audiencia: ¿qué es una licencia de software?. Estructura, significado.","1041":"Aclaración sobre los derechos de autor y la legislación aplicable en materia de licencias de software.","819":"Referencia y lectura de la 'Licencia Pública para que Hagas lo que te dé la Gana' (versión 1.0).","23":"Aclaración sobre que poca gente lee las licencias de software y que no pasa nada malo por ello.","183":"Temas a tratar: qué es una licencia de software, su estructura y su significado.","407":"Explicación de conceptos legales relacionados con las licencias y con el Consentimiento, y discusión sobre su validez."}},"presenters":[{"path":"accounts/u-ICsTYrkoZqO99MrgH7ou4t6EdRs2","description":"Me llamo José Manuel Sendín, soy abogado especializado en el ámbito de las nuevas tecnologías y miembro del bufete Sistemius. He dedicado toda mi carrera profesional al asesoramiento legal a las empresas de base tecnológica con la premisa de hacer comprensible el complejo sistema legal que las rodea, generando confianza y transparencia con sus proveedores y clientes. ","reimburseExpenses":false,"uuid":"josesendin","name":"José Manuel Sendín Rodríguez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-ICsTYrkoZqO99MrgH7ou4t6EdRs2/avatar/f59e981203.avif","id":"u-ICsTYrkoZqO99MrgH7ou4t6EdRs2"}],"id":"Yfya3IZ1hVFnDxWiHCu2"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ZEIvYA7919TCpC52AzjI","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Git avanzado","description":"Conoces Git, sabes como clonar un repositorio, como realizar commits, como colaborar mediante fetch, push, pull, merge, … Ahora es cuando empieza lo divertido, cuando vas a aprender a sacarle el máximo partido a Git. \n\nEn esta sesión explicaré unos cuantos conceptos avanzados que te permitirán llevar tu flujo de trabajo al siguiente nivel: reset, rebase, cherry-pick, stash, bisect, blame, squash y reflog.","created":1558777057433,"bookmarkCount":240,"recordingAuthorized":true,"slidesURL":"https://www.jesusamieiro.com/wp-content/uploads/2019/11/20191123-Commit-Conf-Git-avanzado-r2.pdf","videoURL":"https://youtu.be/l2Jb9jrmITI","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Soft skills"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"736":"Stash. Guardar cambios sin commitear, cambiar de rama y recuperar los cambios.","1360":"Merge recursive. Si hay caminos divergentes, establece un commit de fusión.","1524":"Squash. Comprime el contenido de varios commits en uno solo para una mejor lectura del código. Se ejecuta mediante git rebase -i.","1860":"Ejemplo de cómo realizar un reflog con reset --hard HEAD-3","1638":"Reflog. Guarda un registro del paso de HEAD para poder restaurar commits que se han borrado por error.","1303":"Merge fast forward. Fusión sencilla, hay un camino común entre ambas ramas.","600":"Cherry pick. Copiar uno o más commits a una rama diferente.","937":"Bisect. Búsqueda de errores. Partiendo de un intervalo de commits donde uno es correcto y otro es incorrecto se busca de forma recursiva y con ayuda del navegador para comprobar si el punto intermedio es correcto. Devuelve el commit donde se ha introducido el error.","1193":"Blame. Indica quién modificó un archivo y en qué commit concreto, incluyendo el hash del commit, la fecha y hora, la persona que modificó la línea y el número de esta.","1278":"Rebase. Llevar el contenido de unas ramas a otras ramas."}},"presenters":[{"path":"accounts/u-MNoXooFYzOh27i6aismJjg7118J2","description":"Soy Jesús Amieiro, ingeniero de telecomunicación y artesano de las TIC. Trabajo como director técnico en Quadralia. Me dedico al desarrollo de proyectos a medida, principalmente en el ámbito de la sanidad y de la trazabilidad marina. Como tecnologías me encuentro muy cómodo con Laravel, WordPress y, fundamentalmente, con el software libre. Participo o he participado en comunidades de PHP, WordPress y de software libre. \n\nPublico semanalmente \"La semana PHP\" (https://www.lasemanaphp.com) ","reimburseExpenses":false,"uuid":"amieiro","name":"Jesús Amieiro Becerra","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-MNoXooFYzOh27i6aismJjg7118J2/avatar/33e7489efb.avif","twitterAccount":"JesusAmieiro","id":"u-MNoXooFYzOh27i6aismJjg7118J2"}],"id":"ZEIvYA7919TCpC52AzjI"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ZzUj9qsqth7kaa7Qrd5R","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"¿Quién manda en tu lenguaje de programación favorito? 2019 Edition!!","description":"En 2015 tuve el privilegio de dar esta charla en varias ocasiones en Madrid, e incluso una versión resumida en Bruselas. El panorama ha cambiado desde entonces y algunos amigos me han animado a que actualice el contenido a 2019.\n \nEs habitual ver comparativas de lenguajes de programación por su tipología o sintaxis, por su puesto actual en *TIOBE*, por el nº de proyectos en *Github*, por puestos de trabajo ofertados, por salario medio... En esta charla nos centraremos en compararlos por el **modelo legal, ético y estético tanto de su gobernanza como de su comunidad**.\n\nAnalizaremos los principales lenguajes: **Java, JavaScript, Python, Go, Ruby, Groovy, Kotlin, PHP, Clojure**, y quizá algún otro. ¿Qué *fortalezas* y **riesgos** tiene cada uno? ¿Quién marca el **ritmo**? ¿Quién **prioriza**? ¿Quién **desarrolla**?\n\nEn definitiva, **¿quién manda en cada lenguaje de programación?**","created":1558782494200,"bookmarkCount":65,"recordingAuthorized":true,"slidesURL":"https://luiyo.net/concerning-governance-programming-languages-2019/","videoURL":"https://youtu.be/3hKzgz1eNqA","tags":{"39153":[" Intermediate"],"0db80":[" Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Java","C/C++","Go","Javascript",".Net","PHP","Groovy","Ruby","Kotlin","Python","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"449":"Análisis de C#: diseño, licencias, versiones, estandarización y el papel de Microsoft, con mención a .NET Core y el proyecto Mono.","66":"Presentación de Luis García Castro, arquitecto de datos en ING, y su participación en comunidades de software libre.","290":"Comparación de los principales lenguajes de programación (Java, C, C#, Python, PHP, JavaScript, Ruby, Groovy, Go, Rust, Clojure, Scala y Kotlin) en términos de gobernanza.","98":"Tabla de contenidos de la presentación, incluyendo aspectos importantes de la gobernanza, comparación de lenguajes y un análisis crítico.","3":"Introducción a la presentación sobre la gobernanza en los lenguajes de programación, actualizando una charla de 2015. Incluye el objetivo de analizar los lenguajes más allá de sus capacidades técnicas, considerando licencias y gobernanza.","132":"Aspectos importantes de la gobernanza en lenguajes de programación: popularidad, evolución del ecosistema, sistemas de gobernanza, licencias de software y valor de la comunidad.","228":"Importancia del tamaño y la relevancia de la comunidad en la gobernanza de un lenguaje, así como la diversidad dentro de la misma.","839":"Análisis de Scala, creado por Martin Odersky en 2004.","650":"Análisis de Groovy: diseño, licencia, versiones, estandarización, y su adopción por la Apache Software Foundation.","747":"Análisis de Rust: diseño, licencia, versiones, estandarización, y el modelo de desarrollo impulsado por la comunidad bajo la dirección de un \"core team\" (principalmente de Mozilla).","493":"Análisis de Python: diseño, licencia, versiones, estandarización, y la evolución de la gobernanza desde un modelo de BDFL (Guido van Rossum) a uno más comunitario.","530":"Análisis de PHP: diseño, licencia, versiones, y proceso de evolución a través de RFCs, con mención a la falta de claridad en la membresía del PHP Group.","371":"Análisis de Java: diseño, licencia, versiones, estandarización y aspectos relevantes como el Java Community Process (JCP) y el modelo de lanzamiento de nuevas versiones.","691":"Análisis de Go: diseño, licencia, versiones, estandarización, y el papel de Google en su desarrollo y evolución.","629":"Análisis de Ruby: diseño, licencia, versiones, estandarización y el concepto de meritocracia en la comunidad, con \"Matz\" (Yukihiro Matsumoto) como figura central.","150":"Tipos de liderazgo en la gobernanza de lenguajes: dictadores benevolentes vitalicios (BDFL), consejos (boards) y modelos dirigidos por la comunidad.","570":"Análisis de JavaScript: diseño, licencia, versiones, estandarización (ECMAScript) y el rol del TC39 Group, dominado por multinacionales.","410":"Análisis de C: diseño, licencia, estandarización, evolución y liderazgo (Dennis Ritchie como el primer BDFL).","189":"Discusión sobre las licencias de software libre y sus diferencias, con énfasis en la importancia de ir más allá del concepto de \"código abierto\".","798":"Análisis de Clojure: diseño, licencia, versiones, estandarización, y el papel central de Rich Hickey y Cognitect en su desarrollo y evolución."}},"presenters":[{"path":"accounts/l-5097581659029504","description":"**Ingeniero de Software** y **FOSS /advocate/** habituado a liderar y coordinar equipos de desarrollo para diversos entornos. Mis habilidades y experiencias me han llevado a desarrollar _todo tipo de tareas_ más allá de las puramente técnicas. \n\nDesde hace unos años trabajo en el departamento de Arquitectura de **ING**, diseñando desde cero entre otras cosas la **arquitectura de datos y comunicaciones** de la que será la mejor plataforma bancaria multi-país.\n\nAparte de dar charlas he impartido varios cursos, especialmente sobre **metodologías** y **aseguramiento de la calidad**.","reimburseExpenses":false,"uuid":"luisgc","name":"Luis García Castro","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-5097581659029504/avatar/7734c10603.avif","twitterAccount":"luiyo","id":"l-5097581659029504"}],"id":"ZzUj9qsqth7kaa7Qrd5R"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/aVddftMfwIbSGJT05R0b","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"HTML. El estándar que lo va a petar.","description":"No, no hemos cogido la máquina del tiempo para volver a 1993, pero quizá deberíamos.\nCada nueva generación de frontenders parece olvidar un poco más qué es el HTML, cómo se utiliza y cuán potente es este estándar. Nos basamos en javascript para hacer cualquier cosa, sin darnos cuenta de que en gran parte de los casos HTML hace lo mismo, y sin reinventar la rueda con mágicos divs, que además suelen dejar totalmente de lado la accesibilidad web.\n\nEn este charla volveremos a los orígenes, hablando de HTML puro, y de las etiquetas que parecemos haber dejado de lado, como esas palabras que por falta de uso acaban siendo recogidas solo por arcaicos diccionarios.\n\n¿Te animas a retroceder para avanzar y ser un mejor frontend?","created":1559511645758,"bookmarkCount":68,"recordingAuthorized":true,"videoURL":"https://youtu.be/py7RB_xtD3o","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Accessibility"," Web"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"33":"Un hombre entra en un ascensor y posteriormente llama a una puerta. Un asistente virtual basado en Google Home informa a alguien de que tiene visita. Un hombre entra en la casa y saluda a su anfitrión.","177":"El reportero pregunta a tres desarrolladores en qué frameworks y herramientas están trabajando actualmente. Mencionan Vue.js, Rein 21, Claire, VIPS.js, Almanac y Remake 42. Los desarrolladores se sorprenden al enterarse de que HTML y CSS son tecnologías anticuadas.","146":"El reportero entrevista a una desarrolladora que trabaja en un proyecto de base lunar en la que, debido a limitaciones técnicas, no pueden utilizar las últimas tecnologías. El reportero entrevista a una desarrolladora que alaba el framework VIPS.js.","3":"Un ponente en la conferencia Commit de Madrid de 2019 informa a la audiencia de un pequeño problema con la presentación de Juanjo Montiel y Ramón Corominas. En su lugar, los asistentes verán un vídeo de ellos mientras ambos resuelven el problema.","259":"Los dos hombres deciden volver al futuro para arreglar el presente.","21":"Comienza el vídeo con una persona tocando el piano.","118":"Una persona con un micrófono de UX Today informa sobre la conferencia tecnológica \"Mother of all Web\" que se celebra en Barcelona, un evento de referencia para el sector del \"Front-end\".","59":"Los dos hombres hablan del calor, y el asistente virtual se une a la conversación para informar de la temperatura exterior, la previsión meteorológica y el bajo nivel de contaminación. El anfitrión silencia al asistente virtual, y ambos hablan de la inteligencia artificial y de la aceptación del evento Mother of all Web.","109":"Ambos se ponen unas gafas especiales y entran en una simulación de realidad virtual.","222":"Los dos hombres se quitan las gafas de realidad virtual conmocionados por lo que acaban de ver. Comentan lo que acaban de ver en la simulación, y la rapidez con la que se actualizan los frameworks hoy en día, con una versión nueva de Rein cada dos meses.","351":"La conferencia Commit de Madrid finaliza con los logos de sus patrocinadores."}},"presenters":[{"path":"accounts/u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3","description":"Me llamo Ramón Corominas, consultor de accesibilidad desde hace 9 años, me dedico a asesorar y formar a empresas e instituciones para hacer sus sitios web y apps de forma accesible. Actualmente trabajo como freelance, antes he trabajado en Ilunion Accesibilidad. He dado formación para empresas como Vodafone, Iberdrola, Bankinter o Verizon, e instituciones como la Comisión Europea, el Senado de España o la Universidad de Georgia.\nTwitter: @tinitun","reimburseExpenses":false,"uuid":"ramoncorominas","name":"Ramón Corominas","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3/avatar/69138cf793.avif","id":"u-d42KnDRhxKO3XI9YY1Lo1CQ8avI3"},{"path":"accounts/u-bDqx8NHFQRdFVsZcwLUdyi0xQM03","description":"Senior Developer y responsable del área de accesibilidad en Pasiona Consulting.\nLlevo más de diez años luchando y divirtiéndome con la tecnología. ¿Mi meta? Conseguir que la tecnología sea cada día más accesible... y aprender, siempre aprender algo nuevo.\n\nEspecializado en .NET, me apasiona el desarrollo y realizar aplicaciones que mejoren el día a día de las personas que como yo, tenemos un modo diferente de acceder a la información.\n\nPadre de un pequeño terremoto con el que se me cae la baba día sí y día también, adoro la música (soy pianista aunque con dar a las teclas del PC me queda poco tiempo para esa afición), y amante de la literatura.","reimburseExpenses":false,"uuid":"juanjo1","name":"Juanjo Montiel","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-bDqx8NHFQRdFVsZcwLUdyi0xQM03/avatar/3742aafe84.avif","id":"u-bDqx8NHFQRdFVsZcwLUdyi0xQM03"}],"id":"aVddftMfwIbSGJT05R0b"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/avPkPw7Z22Lq0eqnZ0Mg","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"¿Por que los programadores no se preocupan por su seguridad? y ¿por qué deberían?","description":"Una gran parte de nuestro mundo gira alrededor de las aplicaciones y el software. Los programadores sabemos mucho sobre el desarrollo, los interfaces de usuario, el acceso rápido a los datos... pero muchas veces no conocemos u olvidamos los aspectos básicos de la seguridad. \n\nEsto provoca que en los últimos años se haya disparado el número de ataques a sistemas.\n\nEsta charla no va dirigida a aprender las técnicas de desarrollo seguro del que podemos encontrar mucha información en Internet. Se centra en los problemas a los que se enfrentan nuestros usuarios y nuestras empresas cuando los programadores dejamos de lado la seguridad y porqué es tan importante en el desarrollo actual.","created":1555142259895,"bookmarkCount":86,"recordingAuthorized":true,"slidesURL":"https://github.com/jbautistam/CommitConfSecurity/blob/master/Preocuparse%20por%20la%20seguridad.pptx","videoURL":"https://youtu.be/esmIziM6MHA","tags":{"39153":["Beginner"],"0db80":[" Security"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"449":"Ejemplo de la web de citas Ashley Madison, robo de información y aumento de usuarios.","3":"Introducción a la presentación sobre seguridad, el conferenciante se presenta como programador y plantea por qué los programadores deberían preocuparse por la seguridad.","133":"Muestra el protocolo SMTP RFC 821, su evolución (RFC 2554) y el problema de la falsificación del remitente.","712":"El usuario considera que los datos que almacena no son importantes.","651":"Muestra la facilidad de vulnerabilidad de la internet de las cosas.","588":"Continúa con el ejemplo de Lexnet y un comentario del Ministro de Justicia.","848":"El código abierto es mucho más seguro debido a la transparencia del código fuente.","403":"Programadores: La seguridad es un problema de sistemas.","1430":"El usuario repite las contraseñas y una contraseña no se adivina, se lee.","279":"Ejemplos de brechas de seguridad: Wannacry, Lexnet, Nissan Leaf, etc.","350":"Tres ideas básicas sobre seguridad: privacidad de datos, seguridad temporal de la aplicación y la falsa creencia de que alguien más se encargará de la seguridad.","1571":"En el IoT seguro que se hacen las cosas bien y ejemplos de IoT hackeados.","1508":"Los programadores somos más cuidadosos.","232":"Muestra ejemplos de como explotar vulnerabilidades en CSS3.","940":"El problema de OpenSSL.","1197":"El usuario considera que las contraseñas no son importantes, las fugas de datos y un listado de las mayores fugas.","430":"Corolario: todo va cifrado con HTTPs.","1710":"El sistema de misiles balísticos de EEUU también tiene vulnerabilidades.","112":"Planteamiento: ¿Por qué los programadores no se preocupan por su seguridad?","625":"Mapa de ciberamenazas en tiempo real.","51":"Muestra un ejemplo de inyección de código XSS en un formulario web y datos de una investigación sobre vulnerabilidades en aplicaciones web.","1080":"Se comenta cómo configurar el router y el problema del protocolo WiFi Protected Setup.","1016":"El usuario es la víctima perfecta y sabe cómo asegurar el sistema.","760":"El sistema operativo se encargará de la seguridad.","250":"Un estudio indica que el 70% del tráfico de internet es tráfico de ataque.","508":"Ejemplos de aplicaciones con problemas de seguridad: gestión de expedientes judiciales y la app de los Nissan Leaf."}},"presenters":[{"path":"accounts/l-110694004","description":"Desarrollador. Últimamente trabajo en AnalyticAlways con C# y Sql Server luchando desde el back contra la maraña de datos.\nIntentando aprender de que va esto de la programación desde hace treinta años","reimburseExpenses":false,"uuid":"jbautistam","name":"Jose Antonio Bautista","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-110694004/avatar/e71cb49616.avif","id":"l-110694004"}],"id":"avPkPw7Z22Lq0eqnZ0Mg"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dPC6Tz0hph27DIoSvrqF","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Construyendo Cultura de Datos","description":"***“Todo el mundo tiene buenos algoritmos, ahora lo que diferencia a las empresas con los datos que poseen”*** y añadiría… ***“y cómo los gestionan\"***\n\nTeniendo esto en mente, la forma en la que tratamos la información tiene que cambiar. Los datos, cuántos tengas, de qué calidad y cómo de fácil sea su explotación es lo que puede marcar el éxito o fracaso de tu organización.\n\nLos equipos crecen de forma multidisciplinar: ahora los desarrolladores trabajamos junto a equipos de data science, research y negocio, que necesitan acceder a toda esa información de forma ágil para poder realizar simulaciones y validaciones continuas de la información. Esa información servirá para escalar los negocios al siguiente nivel.\n\nEn **Clarity.ai** manejamos información que sirve para evaluar el **impacto social de las empresas**. Deseamos que esta se utilice para tomar mejores decisiones a la hora de invertir y hemos tenido que aprender a poner esta información en el centro de la organización para ganar en eficiencia y agilidad.\n\nCrear una cultura centrada en el dato es unos de los retos de las organizaciones. Explicaremos cuáles han sido los retos que hemos tenido que afrontar, cómo hemos visto la necesidad de crear un equipo de ingeniería de datos y qué decisiones técnicas hemos ido tomando para ayudarnos en este reto:\n* estrategias de uso de la información\n* analizar las características de los datos\n* lenguajes de programación elegidos\n* tecnologías utilizadas, cuál y por qué en cada caso\n* el proceso de de versionado y trazabilidad del dato\n* release process de los datos\t","created":1571841723596,"bookmarkCount":53,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/rodrigoquintana/construyendo-cultura-de-datos","videoURL":"https://youtu.be/DT7342I-D7o","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Big Data"," DevOps"," Other"," Cloud"],"1f174":["Spanish"],"92508":["Java","Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"1360":"Procesos de datos en Clarity AI. Por lotes: Python + Docker, Airflow + Kubernetes. En línea: Java + Docker, RabbitMQ + Kubernetes. Énfasis en procesos idempotentes y configuración con control de versiones.","930":"Conjunto de tecnologías de Clarity AI: Ciencia de datos - Amazon (arquitectura), Python (análisis), Learn (aprendizaje automático), matplotlib (visualización), Helm (infraestructura). Tecnología - Amazon Web Services (infraestructura), Docker, Kubernetes, Terraform, GitLab, RabbitMQ, Amazon S3, MongoDB, Amazon Redshift (datos), Java, Spring Boot, Node.js, Kotlin, Python (backend), JS, npm, cucumber, Sail.js (frontend).","819":"Problemas identificados en el proceso de gestión de datos: trazabilidad, falta de un entorno maestro, heterogeneidad de herramientas, silos de datos, complejidad general y mantenibilidad.","1620":"Procesos de la plataforma de datos en Clarity AI: ingerir, transformar + validar, servir, persistir. Procesos por lotes y en línea. Importancia de la validación de datos y el seguimiento del modelo.","2006":"Control de versiones de datos en Clarity AI: se controlan las versiones de los módulos, los conjuntos de datos, la metodología y la ejecución. Esquema de control de versiones semántico (X.Y.Z.W)","2167":"Gestión de tareas y puesta en producción: organización del equipo, hojas de ruta, temas constantes, rotaciones de equipos y ciclos de lanzamiento.","1847":"Plataforma de análisis de Clarity AI: configuración actual (multisesión, funcionalidad limitada, control de versiones flexible) y objetivos futuros (multiusuario real, funcionalidad extensible, control de versiones sistemático).","600":"Evolución de la gestión de datos de Clarity AI. Configuración inicial: datos de proveedores, MongoDB, Java, Talend. Configuración actual: MongoDB, Java, Node.js, Kotlin, Python, Amazon Redshift, RabbitMQ y Talend.","761":"Estrategia de actualización de datos en Clarity AI: copiar datos de desarrollo a preproducción y luego a producción. Surgen problemas por las actualizaciones manuales y la dificultad para rastrear los cambios.","1164":"Plataforma de datos de Clarity AI: procesa el nivel 0 (ingestión de datos sin procesar), el nivel 1 (datos transformados) y el nivel 2 (datos específicos del cliente), incluidas las consideraciones de entrega y coherencia."}},"presenters":[{"path":"accounts/l-412164001","description":"Lead Data Engineer para Clarity con más de 10 años peleando con datos con distintas armas: JVM, Python, etc. Aterrizado en Clarity tras vivir data-aventuras por tierras Irlandesas, desgraciadamente no he vuelto con ningún caldero de oro.","reimburseExpenses":false,"uuid":"javierserrano","name":"Javier Serrano","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-412164001/avatar/dd91d594cd.avif","id":"l-412164001"},{"path":"accounts/l-46864006","description":"Ingeniero software, he desarrollado la mayor parte de mi carrera trabajando con lenguajes de la JVM . Después de experiencias por diversas empresas tanto en España como en EE.UU. ahora mismo trabajo en Clarity.ai como Data Engineer (previo paso por el departamento de backend). Recuerdo que cuando tenía tiempo libre me gustaba leer e ir a conciertos.","reimburseExpenses":false,"uuid":"rodrigoquintana","name":"Rodrigo Quintana","id":"l-46864006"}],"id":"dPC6Tz0hph27DIoSvrqF"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dVwS9Ki59Nn5hBJV2bVD","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Mi guía de estilos para el diseño orientado a objetos.","description":"Más allá de libros sobre de diseño de patrones y principios aplicados al desarrollo de software, no se suele encontrar buena documentación sobre como escribir un código orientado a objetos de mejor calidad. En esta charla me gustaría dar algunas sugenencias basadas en mi experiencia real que te ayudarán a escribir un mejor código cuando trabajes con orientación a objetos. Veremos código real donde hemos aplicado una serie de reglas que lo hacen más legible, mantenible y testeable.","created":1559300099148,"bookmarkCount":124,"recordingAuthorized":true,"slidesURL":"https://github.com/lurumad/object-design/blob/master/ppt/An%20style%20guide%20for%20object%20oriented%20design.pptx","videoURL":"https://youtu.be/VcPoF1K2hEI","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["Java",".Net","PHP"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"64":"Tipos de objetos: entidades, objetos de valor y servicios.","32":"Objetivos de la charla. Centrarse en los fundamentos de la programación para ser un mejor programador y escribir código de calidad que sea legible y mantenible.","513":"Recomendaciones sobre el uso de excepciones personalizadas.","835":"Ejemplo práctico de validación.","1194":"Patrón de objetos nulos.","10":"Introducción y agradecimientos.","107":"Ejemplos concretos en C# de la creación de entidades y objetos de valor de forma correcta. La importancia de requerir solo la información mínima para mantener un comportamiento consistente del objeto.","1036":"Manejando excepciones personalizadas.","589":"Tratamiento de la Obsesión Primitiva.","1297":"Constructores con nombre para mejorar la semántica.","341":"Invariantes y precondiciones o cláusulas de guarda para la validación de datos.","1622":"Pruebas unitarias.","792":"Creación correcta de entidades y objetos de valor.","413":"Implementación de cláusulas de guarda, ejemplo práctico.","254":"Uso de parámetros con nombre para mayor semántica del código."}},"presenters":[{"path":"accounts/l-33614001","description":"C3PO at PlainConcepts & CTO at localhost. Co-Fundador del grupos de usuarios MsCoders Madrid y Microsoft Most Valuable professional.","reimburseExpenses":false,"uuid":"luis_ruiz_pavon","name":"Luis Ruiz Pavón","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-33614001/avatar/fb8fcabef5.avif","id":"l-33614001"}],"id":"dVwS9Ki59Nn5hBJV2bVD"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dhDXaU5IGJ6dIm0Mgz70","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"¿Quieres un buen modelo de Machine Learning? Empieza por el procesado de datos ","description":"Los modelos de Machine Learning suelen verse como una especie de caja negra que es capaz casi predecir o estimar cualquier cosa. Sin embargo, en cuanto empiezas a trabajar un poco con ellos te das cuenta de que la mayoría de la calidad de un modelo depende directamente de la calidad (y a veces cantidad) de los datos que use para entrenar.\n\nDurante esta charla me gustaría dar la **importancia** que merece a la **fase de procesado y limpieza de los datos**. Para ello daremos un vistazo a las dos principales arquitecturas Big Data (Batch y Streaming) y cómo influyen en nuestros modelos. Exploraremos estas arquitecturas, tanto desde el punto de vista de **ingesta y generación de modelo datos**, como desde el punto de vista de **data augmentation** y generación de conjuntos de datos de entrenamiento.\n\nAdemás, con cada bloque veremos pinceladas de qué herramientas open source nos permiten desarrollar estos procesos, y cómo la nube pública (AWS, GCP) nos ayuda a optimizarlos.\n\n Un pequeño índice de los temas que veremos es:\n1. Big data y ML: desmitificando buzzwords\n2. Arquitecturas de ETL: vitamina tus datos\n3. El eje central de un proceso de research: un buen modelo de datos\n\nMi objetivo es que las personas que asistan salgan de la charla conociendo:\n* Las dos arquitecturas más habituales de ingesta y transformación de datos, y como encajan en los procesos de Machine Leaning, no como entidades separadas, si no como parte de un todo\n* Como un buen proceso de ETL puede enriquecer y mejorar la calidad de tus datos\n* Comprender que la calidad de un modelo viene muy condicionada por como sean los datos de los que aprende (garbage in, garbage out)\n* La automatización de la generación de conjuntos de entrenamiento, y como aumenta la productividad a la hora de explorar y validar modelos de Machine Learning.","created":1558799346421,"bookmarkCount":55,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1FZuOOHnGGgimmAvUt8EdWIKmiF-PNDi5qMTkUbgzveI/edit?usp=sharing","videoURL":"https://youtu.be/txbryILoISs","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Big Data"," Cloud","Machine Learning"],"1f174":["Spanish"],"92508":["Scala","Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"770":"La importancia de la fase de procesamiento de datos: es iterativa y posterior a la exploración.","37":"Los modelos de datos y el procesamiento de datos son críticos para los procesos posteriores de aprendizaje automático.","85":"Agenda de la charla: Introducción al Big Data y al Machine Learning, centrándose en la alineación de conceptos, los procesos ETL (Extracción, Transformación, Carga) y el Modelado de Datos.","1048":"Énfasis en la importancia de un modelo de datos genérico y compartido, y una profunda comprensión del contexto. La automatización es vital para reducir los errores manuales y mejorar la velocidad.","537":"Ciclo de vida de los datos: Definición de fuentes, exploración, definición del modelo de datos, desarrollo de ETL y validación.","170":"Definición de Big Data: Manejo de datos estructurados y no estructurados, alto volumen (de terabytes a petabytes) y variedad de fuentes, para análisis masivo y simultáneo.","219":"Aclaración de que muchas prácticas de Big Data se realizaban antes, pero las tecnologías en la nube han hecho que el almacenamiento y el procesamiento sean accesibles para más personas.","859":"Posibles impactos negativos de un mal procesamiento de datos en el desarrollo de modelos de Machine Learning: información incompleta, mayor tiempo de comercialización, sesgos en los datos, relaciones incorrectas entre los datos y frecuencia de las actualizaciones de datos.","237":"Introducción a las arquitecturas ETL, utilizando los servicios de AWS como ejemplo para ilustrar los diferentes componentes."}},"presenters":[{"path":"accounts/l-105694001","description":"Programo en Python y me interesan el ML y los grandes procesados de datos, trabajo como cloud y data engineer en Keepler. Mi otra gran pasión es compartir conocimiento y por eso organizo con grandes compañeros y compañeras el T3chFest. Podéis encontrarme en redes sociales como @drimmark.","reimburseExpenses":false,"uuid":"axelbc099","name":"Axel Blanco","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-105694001/avatar/ac8d800427.avif","id":"l-105694001"}],"id":"dhDXaU5IGJ6dIm0Mgz70"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/dzLyU8zaNzivZj8Bp7Ye","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Porqué es tan fácil escalar con Elixir","description":"Elixir es un lenguaje funcional que se ejecuta sobre la máquina virtual de Erlang (*BEAM*). La *BEAM* tiene más de 30 años de existencia y ofrece un sistema para crear aplicaciones distribuidas, escalables y tolerantes a fallos. Entre las aplicaciones más famosas que la usan, se encuentran *WhatsApp* y *Discord*.\n\nEl modelo de concurrencia de la *BEAM* está basado en un modelo de actores aislados que se comunican mediante el paso de mensajes. En esta charla, explicaremos dicho modelo y cómo a partir de esos principios puedes construir aplicaciones con Elixir de forma fácil. Si has usado otras plataformas como Java, Node.js o Go, está charla te permitirá conocer las ventajas del modelo Erlang sobre ellas. Si ya has usado Elixir, aprenderás lo que está detrás de la cortina de la BEAM.\n\n","created":1558890284341,"bookmarkCount":30,"recordingAuthorized":true,"slidesURL":"https://amcolin.github.io/commit_conf_elixir","videoURL":"https://youtu.be/jugJvs60Uqg","tags":{"39153":["Beginner"],"0db80":[" Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"770":"Uso de la función Process.list para obtener una lista de todos los procesos en la instancia actual de la máquina virtual de Erlang y la función Process.info para obtener información sobre un proceso específico.","1061":"Ejemplo de cómo se logra alta disponibilidad en Discord, que usa Elixir y tiene 11 millones de usuarios concurrentes, y hasta 200,000 personas en un mismo grupo de chat.","5":"Introducción a los ponentes, Anayeli Malváez y Erick Camacho, y al tema de la charla: sistemas de alta disponibilidad en Elixir. Ambos ponentes son mexicanos, pero actualmente viven en Estocolmo, Suecia, y han viajado a Madrid específicamente para esta charla.","263":"Introducción a Erlang, el lenguaje de programación en el que se basa Elixir, inventado en los años 80 por Joe Armstrong, Robert Virding, y Mike Williams en la empresa sueca Ericsson. Contexto histórico de Erlang, creado para atender millones de usuarios concurrentes en sistemas de telecomunicaciones con hardware limitado.","715":"Demostración de cómo la función spawn en Elixir crea procesos que se ejecutan en la máquina virtual, y cómo la comunicación entre procesos se realiza mediante el paso de mensajes.","588":"Demostración de cómo crear un proyecto en Elixir con el comando mix new y cómo se estructura el código en módulos y funciones.","174":"Definición de alta disponibilidad y total disponibilidad en sistemas, explicando que la total disponibilidad es prácticamente imposible debido a errores en el código, software, hardware, o problemas de red y energía. La alta disponibilidad se refiere a que casi todo funcione casi todo el tiempo, y se mide por el porcentaje de tiempo que el sistema no estuvo disponible durante el año. Mención de los \"nueves\" como métrica común para hablar de alta disponibilidad, aspirando a tener \"cinco nueves\" (99.999%), lo que significa que el sistema estuvo caído alrededor de 5 minutos en un año.","463":"Explicación de cómo Elixir, creado por José Valim en 2011, corre en la máquina virtual de Erlang (BEAM) y cómo se utilizan los procesos para lograr alta disponibilidad.","655":"Explicación de la diferencia entre procesos en Elixir y procesos del sistema operativo, y cómo los procesos en Elixir son ligeros y aislados, sin compartir memoria.","113":"Erick introduce su experiencia en programación, mencionando que ha trabajado con diversas plataformas y lenguajes, incluyendo Ruby, Go, y Elixir, destacando que las diferentes herramientas se adaptan a diferentes casos de uso.","1010":"Pregunta del público sobre los despliegues en caliente de código en Elixir, y aclaración de que aunque el código se compila, Erlang permite la actualización de módulos sin reiniciar todo el sistema.","52":"Anayeli comparte su experiencia de migrar del mundo de TI a la programación, eligiendo Elixir como su primer lenguaje, y cómo ahora trabaja en el backend de la empresa Betway utilizando este lenguaje.","955":"Mención de la facilidad para encontrar procesos problemáticos en Elixir y cómo se pueden crear aplicaciones web rápidamente con el framework Phoenix.","351":"Cita de Joe Armstrong en su tesis doctoral de 2003, donde sintetiza el objetivo de Erlang: programar sistemas que se comporten de forma razonable ante la presencia de errores.","895":"Análisis de cómo se distribuyen los procesos y cómo el scheduler (planificador de tareas) de Erlang es apropiativo, lo que significa que no permite que un solo proceso monopolice el uso del CPU."}},"presenters":[{"path":"accounts/l-391224002","description":"Soy un programador con más de 15 años de experiencia. Me apasiona aprender nuevos lenguajes y plataformas para realizar mejor mi trabajo. He trabajado con Java, Ruby, Go, Elixir, Swift y Objective-C. \nMe gusta colaborar con comunidades y fui Google Developer Expert en Latinoamérica por lo que puede dar charlas y talleres a lo largo del continente. Además del backend, me enfocó también a hacer apps para iOS. Actualmente trabajo para Spotify en Estocolmo.\n","reimburseExpenses":false,"uuid":"ecamachomx","name":"Erick Camacho","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-391224002/avatar/65fc10054e.avif","twitterAccount":"ecamacho","id":"l-391224002"},{"path":"accounts/l-419144002","description":"Por varios años intente aprender cómo programar sin conseguir mucho éxito, hasta que conocí Elixir y descubrí mi verdadera pasión. Con ayuda de la comunidad de Elixir he logrado mejorar mis habilidades como programadora, me apasiona estar activa en las comunidades de tecnología y uno de mis logros fue ser ponente en la CodeBEAM en Estocolmo. Actualmente trabajo para Derivco Sports donde combino dos de mis grandes pasiones: el deporte y Elixir para desarrollar aplicaciones tolerantes a fallos.","reimburseExpenses":false,"uuid":"anayeli-malvaez","name":"Anayeli Malvaez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-419144002/avatar/285f95c271.avif","twitterAccount":"AnayeliMalvaez","id":"l-419144002"}],"id":"dzLyU8zaNzivZj8Bp7Ye"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/f70leA9MizDlhniMPOkC","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"¿Qué es inclusión? Dices mientras clavas en mi pupila tu pupila azul...","description":"La inclusión es un término que a menudo pierde significado de tan manido que está, siempre detrás de la diversidad. Esta se nombra en mensajes aspiracionales sobre las paredes de nuestras oficinas, es imprescindible al redactar nuevas ofertas de trabajo, forma parte del footer de nuestros emails... ¿Pero tenemos claro qué significa? ¿Por qué es deseable?\nNos cuentan que los equipos diversos son más productivos, que las empresas diversas son más rentables, que los productos desarrollados en empresas diversas son más cercanos a la base de sus usuarios... pero con frecuencia percibimos que es conflictivo hablar de diversidad e inclusión, tememos \"meter la pata\" y nos sentimos injustamente juzgados por nuestras opiniones.\nEn realidad todo esto de la diversidad y la inclusión es mucho más simple de lo que parece. O al menos debiera serlo. Si lo charlamos \"a calzón quitado\" descubriremos que podemos establecer un \"framework conceptual\" común sobre el que reflexionar; y veremos nuevas y mejores formas de influir en nuestros equipos para hacer de la Cultura Corporativa de nuestra organización algo más que frases bonitas en la pared.\n","created":1559512710268,"bookmarkCount":21,"recordingAuthorized":true,"videoURL":"https://youtu.be/k8dUPx77Azk","tags":{"39153":["Beginner"],"70b46":[" Unconference"],"0db80":[" Soft skills"," Social"," Other"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"180":"Experiencias en multinacionales americanas sobre diversidad en España","5":"Introducción a la unconference Commit 2019 y su formato participativo","117":"Interés en resultados tangibles de la inclusión y diversidad en productos y servicios","57":"Interés de los asistentes en el tema de la inclusión, la diversidad y la igualdad, y dificultades en la implementación de planes de igualdad.","526":"La tendencia a la victimización y la necesidad de cambiar el enfoque. Ejemplos de microagresiones y la importancia de la empatía y el aprendizaje continuo. La necesidad de crear espacios seguros para el diálogo y la evolución.","287":"Definición de términos: diversidad, inclusión e igualdad. La diversidad como un hecho inmodificable y su relación con la discriminación y los privilegios. La inclusión como acción para reconocer y abordar las discriminaciones. El concepto de la normalidad y la necesidad de tener conciencia sobre los privilegios y discriminaciones."}},"presenters":[{"path":"accounts/l-88384001","description":"Ayudo a las organizaciones a aumentar sus resultados optimizando sus procesos. Actualmente trabajo sobre diversidad e inclusión, porque mejorando en ambas áreas se consigue incrementar la rentabilidad de manera más sostenible que con otras fórmulas. \n(En ratos libres busco la forma de entender el mundo con la quijotesca intención de mejorar mi parte).","reimburseExpenses":false,"uuid":"lainde","name":"Raquel Lainde","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-88384001/avatar/de4f9a5b9f.avif","twitterAccount":"lainde","id":"l-88384001"}],"id":"f70leA9MizDlhniMPOkC"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/fg94BkNDFNKy36Y8TOVq","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cómo ingerir miles de eventos por segundo con Apache Druid","description":"Si te has encontrado en la situación de tener que soportar la ingesta de miles de eventos por segundo para luego poder hacer queries interactivas sobre estos datos, sabrás que es un problema complicado. En esta charla hablaremos de Apache Druid, un sistema preparado para estos casos y que nos permite escalar para afrontar cualquier volumen de datos.\n\n","created":1572533978942,"bookmarkCount":48,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1-SyyTeFf2UgASxnuByH6HPsGhH2lMIFpcALf01Om1Zg/","videoURL":"https://youtu.be/Z5N5xBYg7nY","tags":{"39153":["Beginner"],"0db80":[" SQL/NoSQL"," Big Data"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"611":"Apache Druid: Una base de datos diseñada para trabajar con conjuntos de datos masivos y optimizada para consultas interactivas.","1412":"Visualización de datos con tablas dinámicas y actualizaciones de paneles en tiempo real.","1560":"Gestión de segmentos: Estructura inmutable, almacenamiento persistente y asignación dinámica.","1160":"Consideraciones clave para aprovechar Druid: volumen de datos, patrones de consulta y sobrecarga de gestión operativa.","860":"Esquema de configuración JSON para controlar la ingestión y el procesamiento de datos: fuente de datos, análisis, métricas, configuraciones de ajuste.","748":"Ejemplo de conjunto de datos que muestra la estructura de datos y la granularidad.","1836":"Tolerancia a fallos y resistencia a la pérdida de datos o fallos de nodos.","1900":"Cuándo elegir Druid: altas tasas de ingestión de datos, análisis interactivos en tiempo real y datos de alta cardinalidad.","1630":"Componentes de la arquitectura del sistema: Middle Manager, Broker, Servidores de datos, Históricos, Servidores maestros, dependencias externas."}},"presenters":[{"path":"accounts/l-94484001","description":"Paul es el CTO de seedtag. A lo largo de su carrera ha trabajado en las áreas de desarrollo y de sistemas y es un apasionado de los problemas de escalabilidad y los sistemas distribuidos.","reimburseExpenses":false,"uuid":"paulgoldbaum","name":"Paul Goldbaum","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-94484001/avatar/c36a9b5364.avif","twitterAccount":"paulgoldbaum","id":"l-94484001"}],"id":"fg94BkNDFNKy36Y8TOVq"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/g8VjqMHItH1NtGUlmARu","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cachitos de HTML y CSS","description":"Han pasado 20 años desde que comenzamos a construir páginas web. Aún no existía el término \"Front developer\" y nos llamábamos \"Maquetadores\", pero todos nos veían como \"los de los colorines\". Queremos mostraros un repaso histórico de nuestro paso por el mundo front desde finales de 1999 (¡el siglo pasado!) mostrando cómo maquetábamos entonces (nuestro código viejuno) y cómo hemos llegado hasta hoy, así como las herramientas y buenas prácticas de entonces.","created":1555491571479,"bookmarkCount":43,"recordingAuthorized":true,"slidesURL":"https://drive.google.com/a/paradigmadigital.com/file/d/1BQkVLcgaaMmuMZvCfX2A0bWKk4T1qo0X/view?usp=drivesdk","videoURL":"https://youtu.be/e1Qx2nB-rVA","tags":{"39153":["Beginner"],"0db80":[" Web"," Design/UX"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"672":"Anécdota sobre el uso de tablas anidadas hasta 10 niveles de profundidad y el descubrimiento de un fallo en Netscape al superar ese límite.","353":"Mención del HTML 3.2 y la ausencia de atributos como class, id o style, así como el uso de elementos como blink y marquee. Descripción de cómo se estilizaban los elementos utilizando atributos directamente en HTML, a falta de CSS. Introducción al CSS, muy básico en sus inicios, con unas 50 propiedades, y cómo cada navegador implementaba lo que quería, sin seguir estándares.","3":"Introducción a la charla sobre la evolución de HTML, CSS y JavaScript, mencionando que las diapositivas están disponibles en sus perfiles de Twitter.","1188":"Agradecimiento a figuras clave en el desarrollo web como Dan Steinman, Peter-Paul Koch, John Resig, Douglas Crockford, y el equipo de Firebug.","38":"Agradecimiento a la audiencia y a la organización Commit por la selección de su charla, destacando que es una presentación no técnica sin live coding ni frameworks de moda.","521":"Transición a la etapa '1999 - 2004 DHTML Edad media', destacando la aparición de DHTML y el inicio de una mayor interactividad en las páginas web. Mención de los navegadores Netscape Communicator 4.79 e Internet Explorer 5.5 como los principales en esa época.","74":"Presentación de los ponentes, Luis Calvo y Juan del Río, ambos con más de 20 años de experiencia en desarrollo frontend, y el objetivo de la charla: compartir cómo era el desarrollo web hace años y cómo ha evolucionado.","173":"Inicio de la retrospectiva con la etapa 'hasta 1999 la Prehistoria', explicando que las fechas son aproximadas y basadas en su experiencia personal.","718":"Introducción a los hacks de CSS, como el uso de atributos para dar estilos y la falta de propiedades como background-color. Uso de comentarios condicionales para aplicar estilos específicos a diferentes versiones de Internet Explorer.","943":"Ejemplo de código CSS con uso de atributos para dar estilos, y la falta de selectores avanzados.","1232":"Comentario sobre la mayor dificultad de entrar en el mundo del front-end en la actualidad, en comparación con la simplicidad de antes.","816":"Ejemplo de código HTML con tablas anidadas y uso del atributo background para simular líneas de puntos.","1009":"Muestra de código JavaScript con la función para crear una petición XMLHttpRequest, notando lo rudimentario que era en comparación con las herramientas actuales.","435":"Presentación de Javascript en su versión ECMAScript 2 y DOM 0, con acceso limitado a elementos del documento como imágenes, formularios, enlaces y anclas.","213":"Discusión sobre los navegadores de la época, Netscape 2.0 e Internet Explorer 3.0, y sus características, como la introducción de JavaScript, applets de Java, frames y CSS, así como la falta de seguimiento de estándares y la 'guerra de navegadores'.","598":"HTML 4.0: introducción de iframes, layout basado en tablas (con uso de imágenes transparentes para espaciado), la aparición de las etiquetas layer y div, y Flash como herramienta para interactividad.","1052":"Mención a AJAX, jQuery, JSON y es5 como elementos de la 'Era SPAcial' (2011-2019). Mención de otros elementos importantes de la época, como los editores Homesite, Dreamweaver y Frontpage, la velocidad de conexión con módems de 56kb y ADSL de 256kb, la resolución de pantalla de 800x600 ó 1024, y el uso de FTP para la producción."}},"presenters":[{"path":"accounts/l-64554001","description":"Llevo un tercio de mi vida siendo desarrollador front (otro tercio fui niño, y del otro no me acuerdo). La santísima trinidad de mi religión son el html, el css y el javascript. En general me gusta curiosear en todo lo relacionado con el desarrollo web, internet y la tecnología.","reimburseExpenses":false,"uuid":"jfdelrio","name":"Juan del Río","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-64554001/avatar/86f971fd08.avif","twitterAccount":"JuanRioPacheco","id":"l-64554001"},{"path":"accounts/l-33784001","description":"Soy responsable del equipo front de Paradigma Digital, pero comencé mi carrera profesional a finales de los 90, en pleno \"boom\" de internet, como maquetador web. Experto en el uso de las tecnologías \"del lado del cliente\" (html, css, javascript, xsl, ...) he participado en el desarrollo y conceptualización de un gran número de portales, páginas corporativas y aplicaciones web para las principales empresas. Creo firmemente en la accesibilidad web y en el desarrollo bajo estándares.","reimburseExpenses":false,"uuid":"lcalvo","name":"Luis Calvo Díaz","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-33784001/avatar/e9cb145c34.avif","twitterAccount":"luiscalvodiaz","id":"l-33784001"}],"id":"g8VjqMHItH1NtGUlmARu"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/iONJjmlWmIbOWzE8ALFV","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Como explicar computación cuántica a tu abuela","description":"¿Qué es un ordenador cuántico?¿Para qué sirve?¿Cómo funciona?¿Cuáles son los retos para su construcción? En esta charla trataremos de dar respuesta a todas esas preguntas básicas que cualquier persona se plantearía en una primera aproximación al mundo de la computación cuántica. Mas que una descripción técnica, pondremos el énfasis en capturar la intuición detrás de esta tecnología que desafía nuestra manera tradicional de pensar la computación, incluyendo un experimento colectivo con todos los asistentes: en definitiva, una charla memorable que luego puedas repetir tú mismo a tu abuela.\n","created":1558337959458,"bookmarkCount":82,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/e/2PACX-1vQ4JwPDsdq4RYQK6_TBiV9Z-JeSBNP-XFZKD0i_z5dpIFRN7TjceXOUzCmMv-hc4DlLqZJqBHVB7--f/pub?start=false&loop=false&delayms=3000","videoURL":"https://youtu.be/IyUfJLoU6LM","tags":{"39153":["Beginner"],"0db80":[" AI"," Cloud","Machine Learning"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"3":"Introducción del ponente, Samuel Fernández Lorenzo, físico especializado en física cuántica y tecnologías cuánticas.","837":"Discusión de las limitaciones actuales de las computadoras cuánticas, incluyendo los desafíos de la decoherencia, los errores y la necesidad de más qubits y una computación cuántica tolerante a fallos.","359":"Transición a la discusión de las aplicaciones y ventajas de la computación cuántica en varias industrias, utilizando una tabla de Boston Consulting Group.","327":"Resumen de lo que tienen en común las computadoras cuánticas: todas procesan información cuántica y utilizan qubits como unidad mínima de información cuántica.","809":"Descripción de los circuitos cuánticos como combinaciones de puertas cuánticas que actúan sobre un conjunto de qubits, enfatizando la naturaleza reversible de los circuitos cuánticos en comparación con los circuitos clásicos.","105":"Inicio de la explicación de la computación cuántica, comenzando con una pregunta de un personaje ficticio de la abuela, Loli, sobre la computación cuántica.","658":"Introducción del principio de superposición, como una diferencia clave entre la intuición clásica y la cuántica, donde un sistema cuántico puede existir en múltiples estados simultáneamente hasta que se mide. Un qubit es una abstracción matemática de cualquier sistema físico.","147":"Discusión sobre la computadora cuántica: qué es, y mención de la computadora cuántica de IBM como la más famosa, describiendo su apariencia y componentes, incluyendo el refrigerador de dilución y el chip cuántico. Se mantiene a una temperatura más fría que el espacio exterior (alrededor de 50 milikelvin) para lograr un estado de la materia conocido como condensado de Bose-Einstein, que convierte los circuitos en superconductores.","405":"Discusión del concepto de ventaja cuántica, definida como la capacidad de una computadora cuántica para rendir mejor que una computadora clásica en términos de calidad de la solución, velocidad y eficiencia energética.","471":"Mención de la ventaja algorítmica que la computación cuántica puede proporcionar, a veces incluso ofreciendo una reducción exponencial en la complejidad de resolver ciertos problemas en comparación con los algoritmos clásicos, haciendo referencia al algoritmo de Shor como ejemplo. Se introduce la ventaja energética.","56":"Discusión sobre la importancia de transmitir ideas valiosas y explicar conceptos complejos de forma sencilla, incluso hasta el nivel de ser entendido por la abuela. Referencia a una cita atribuida a Einstein sobre la comprensión de un tema si se puede explicar a la abuela.","536":"Discusión sobre el concepto de supremacía cuántica, la capacidad de realizar una tarea que es imposible para cualquier computadora clásica en un plazo razonable. IBM cuestiona la supremacía cuántica de Google.","217":"Mención de otras tecnologías y empresas involucradas en la computación cuántica, como D-Wave, Google y Rigetti, enfatizando el panorama competitivo dentro de esta tecnología. Incluye los \"annealers\" superconductores de D-Wave y los chips fotónicos de Xanadu.","26":"Presentación de los tres objetivos principales de la charla, todos introductorios: dar una visión general de la computación cuántica, proporcionar una comprensión intuitiva de los principios para crear algoritmos cuánticos y discutir los desafíos actuales en la computación cuántica.","282":"Iones atrapados como la propuesta inicial para las computadoras cuánticas, explicando cómo funcionan manteniendo los iones estables en posiciones fijas e interactuando electromagnéticamente. Hay diferentes empresas involucradas en esta tecnología, como IONQ.","636":"Transición a la discusión de la Ley de Moore y las limitaciones de la computación clásica, lo que lleva a la necesidad de la computación cuántica.","765":"Explicación del entrelazamiento cuántico como un concepto más complejo donde dos o más partículas forman un sistema unificado, incluso si están separadas espacialmente, y cómo esto se relaciona con el principio de superposición. Se introducen las puertas cuánticas."}},"presenters":[{"path":"accounts/l-409084002","description":"Samuel Fernández Lorenzo is a Physicist and Data Scientist. He has a PhD in Quantum Technologies from the University of Sussex (UK), where he also used to be a passionate tutor until he moved on to Industry. He is co-author of several research papers in quantum simulation and quantum sensing. Being a consultant for OpenSistemas, he is now located at BBVA New Digital Business, working as a research scientist exploring applications of quantum computing to finance.","reimburseExpenses":false,"uuid":"sfernandezlorenzo","name":"Samuel Fernández Lorenzo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-409084002/avatar/ca21ec344e.avif","id":"l-409084002"}],"id":"iONJjmlWmIbOWzE8ALFV"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/inoUmNvXSrWdc8N9W6P0","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Live Coding DDD: Más allá del Happy Path","description":"En esta sesión de live coding desarrollaremos una pequeña feature siguiendo algunos conceptos de DDD y CQRS (Bounded Contexts, modules, Arquitectura Hexagonal, Repositorios, Value Objects, Command/Query Bus, etc).\n\nUno de nosotros irá explicando de forma rápida los conceptos que el otro va aplicando. La idea es implementar una feature sencilla para poder centrar el debate en las distintas alternativas a las decisiones que vamos tomando a nivel de diseño y arquitectura de software.\n\nNO es una charla a nivel introductorio de DDD/Arquitectura Hexagonal. Daremos algunos conceptos por asumidos y simplemente haremos una pincelada sobre ellos para poder avanzar rápido y llegar a la coletilla del título de la charla: \"Más allá del Happy Path\".\n\nEs decir, nos gustaría poder explorar ciertos escenarios para estar preparados para cuando las cosas no son tan sencillas como puede parecer sobre el papel 🙂","created":1558904503882,"bookmarkCount":182,"recordingAuthorized":true,"videoURL":"https://youtu.be/-upX_Eagatg","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Other"],"1f174":["Spanish"],"92508":["Java","Scala","PHP","Kotlin","Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"10":"DDD: más allá del camino feliz","395":"Estrategia de prueba: prueba unitaria, prueba de integración, prueba de aceptación","1099":"Ventajas de Cqrs","332":"Arquitectura hexagonal: infraestructura, aplicación, dominio, ley de dependencia","590":"Prueba de aceptación, envío de boletín","142":"Codificación en vivo como hilo conductor para el análisis","528":"Obtención de información (CQRS, inyectando Repositorio, inyectando Servicio de Aplicación)","18":"Introducción de la charla: contexto","1491":"Diferenciación entre datos de MySQL y proyección de Elasticsearch","276":"Contexto: crear plataforma de cursos, registro y pago","660":"Controlador: endpoint, comando, put vs post, identificador del cliente","1176":"Implementación de proyección a Elasticsearch","345":"Flujo de petición: Controlador -> Servicio de Aplicación -> Servicios (Modelos, Repositorios, Implementación)","476":"Caso de uso: boletín de nuevos cursos","735":"Bus de Comandos: mapeo de comandos y contexto delimitado","96":"Objetivos: retos y decisiones en la codificación en vivo, beneficios y contraprestaciones de alternativas","805":"Creación del DTO del comando, manejador","935":"Ciclo TDD: prueba unitaria del Manejador de Comandos","488":"Contexto: boletín en contexto delimitado, módulo de notificaciones","1641":"Problemas de autonomía, acciones a tomar (Elasticsearch, promocionar a Contexto Delimitado)","173":"Contexto asumido: empresa de producto a largo plazo, código mantenible, alto nivel de peticiones","52":"Serie 'Elige tu propia aventura', importancia del 'cómo' sobre el 'qué' en la codificación en vivo, enfoque en la interpretación práctica","1717":"Implementación en Elasticsearch: ventajas e implicaciones","183":"Elección de lenguaje (Java, PHP, Cobol)","1020":"Inyección del repositorio y sus implicaciones","1279":"Prueba de Elasticsearch"}},"presenters":[{"path":"accounts/u-ge2p8V2xBHVX6ZSRr8t7cQdRl172","description":"👋 Hola!\n\nSomos Rafa y Javi. Hace 4 añitos empezamos a compartir vídeos sobre aspectos como SOLID, Refactoring, y testing en el [canal de YouTube CodelyTV](https://youtube.com/CodelyTV), donde también intentamos hacer divulgación a través de entrevistas a gente del sector.\n\nHace 1 año y medio nos animamos a lanzar [CodelyTV Pro](https://codely.tv/pro/cursos), una plataforma de cursos para programadores que quieran seguir aprendiendo. Publicamos cursos de Arquitectura de Software, Testing, AWS, Docker, Android, iOS, JavaScript, Agile, Scala y mucho más 🙂\n\nLo compaginamos con formaciones en empresas, y como profes en un máster de LaSalle.\n\nPodemos compartir estas experiencias gracias a la gente que nos hemos cruzado en el camino trabajado en empresas como letgo, Akamon y Uvinum.\n\n¡Nos vemos en la Commit y esperamos que te guste la charla!","reimburseExpenses":false,"uuid":"rgomezcasas","name":"Rafa Gómez Casas","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-ge2p8V2xBHVX6ZSRr8t7cQdRl172/avatar/a8250b7542.avif","twitterAccount":"rafaoe","id":"u-ge2p8V2xBHVX6ZSRr8t7cQdRl172"},{"path":"accounts/u-SMJ2Ev8df8Z4TjTt2sfXh6Ct7pF2","description":"👋 Hola!\n\nSomos Rafa y Javi. Hace 4 añitos empezamos a compartir vídeos sobre aspectos como SOLID, Refactoring, y testing en el [canal de YouTube CodelyTV](https://youtube.com/CodelyTV), donde también intentamos hacer divulgación a través de entrevistas a gente del sector.\n\nHace 1 año y medio nos animamos a lanzar [CodelyTV Pro](https://codely.tv/pro/cursos), una plataforma de cursos para programadores que quieran seguir aprendiendo. Publicamos cursos de Arquitectura de Software, Testing, AWS, Docker, Android, iOS, JavaScript, Agile, Scala y mucho más 🙂\n\nLo compaginamos con formaciones en empresas, y como profes en un máster de LaSalle.\n\nPodemos compartir estas experiencias gracias a la gente que nos hemos cruzado en el camino trabajado en empresas como letgo, Akamon y Uvinum.\n\n¡Nos vemos en la Commit y esperamos que te guste la charla!","reimburseExpenses":false,"uuid":"javiercane","name":"Javier Ferrer ﹤🫧﹥","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-SMJ2Ev8df8Z4TjTt2sfXh6Ct7pF2/avatar/d9fe43cb6e.avif","twitterAccount":"JavierCane","id":"u-SMJ2Ev8df8Z4TjTt2sfXh6Ct7pF2"}],"id":"inoUmNvXSrWdc8N9W6P0"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/jOzrUA3RKwLcMtnsANCp","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Diving into the native sea of React Native 🏊","description":"Cuando se desarrolla un aplicación con React-Native no se conoce realmente que hay por detrás para obtener una aplicación **100% nativa**. Solo en determinados casos se debe hacer uso del puente que hay entre *Javascript* y *Nativo*. En esta charla se mostrará como funciona React Native, que hay detrás de ese bridge nativo y se realizará un ejemplo con Java.","created":1557161515428,"bookmarkCount":23,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/ivanportillo/diving-into-the-native-sea-of-react-native","videoURL":"https://youtu.be/m6wBVdQ8S-A","tags":{"39153":[" Advanced"],"70b46":["Talk"],"0db80":[" Mobile"," Web"],"1f174":["Spanish"],"92508":["Java","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"402":"En la parte nativa hay tres partes: el hilo principal que renderiza la interfaz, una cola que calcula tamaños, y los módulos nativos.","18":"Esta charla tratará sobre todo lo que se levanta en una aplicación React Native antes de que se pueda ver o tocar algo, incluyendo la definición de React Native como un framework de JavaScript hecho por Facebook para crear aplicaciones 100% nativas utilizando React y JavaScript.","100":"Se muestra un ejemplo de código de una aplicación 'Hola Mundo' para explicar luego por qué se utilizan ciertos componentes.","486":"Todos los mensajes del puente son asíncronos y serializados en el mismo formato. Una analogía del puente sería la fórmula 1, en la que todo parece estar perfectamente coordinado, pero en realidad el puente se colapsa con facilidad.","151":"Una aplicación de React Native está estructurada en tres partes principales: El hilo de JavaScript, donde reside la ejecución del código y puede acceder en tiempo de ejecución como una variable global; un puente hecho en C++; y la parte nativa, con métodos nativos programados con el lenguaje de la plataforma.","634":"Se menciona una herramienta llamada RN-SNOOPY que sirve para debuguear los mensajes del puente.","238":"El puente es una cola de mensajes asíncronos entre la parte nativa y la parte JavaScript, que se puede colapsar muy fácil. Se deben tomar precauciones como ser cuidadoso con las librerías de terceros, no pasar mucha información, y dividir la lógica a ambos lados del puente.","670":"Casos de uso en los que sería necesario el desarrollo nativo: integración de SDKs de terceros, optimización del rendimiento, acceso al API de la plataforma."}},"presenters":[{"path":"accounts/l-74414010","description":"Ingeniero informático. Frontend Developer en Colvin. \"undefined is not a function\" Fixer.","reimburseExpenses":false,"uuid":"ivanportillo1","name":"Iván Portillo Leal","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-74414010/avatar/8841a51f93.avif","id":"l-74414010"}],"id":"jOzrUA3RKwLcMtnsANCp"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/m0Fsc9aTjIt3wjtqhwsd","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Despliega como los grandes: zero downtime deployment","description":"No necesitas ser Netflix, Google o Amazon para querer realizar despliegues que no supongan tiempos de parada. Sin decir que sea algo trivial (¡lástima!), hoy en día disponemos de las técnicas (como blue/green deployment y parallel changes) y las herramientas que nos permitirán conseguirlo.\nEn esta charla veremos algunas de esas técnicas, con ejemplos concretos de cómo aplicarlas para tener esos despliegues sin tiempos de parada, teniendo en cuenta aspectos siempre problemáticos como el esquema de bases de datos o dependencias con terceros.","created":1559481627537,"bookmarkCount":142,"recordingAuthorized":true,"videoURL":"https://youtu.be/_BEklD8eOCI","tags":{"39153":[" Advanced"],"0db80":[" DevOps"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None","Javascript",".Net"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"36":"Definición de Zero-Downtime Deployment: mantener el servicio siempre responsivo a las peticiones de los clientes, sin trucos, incluso durante el proceso de despliegue de una nueva versión de la aplicación. Motivos para desear despliegues sin parada incluyen: requerimientos de negocio, aplicaciones mundiales sin ventana de mantenimiento, o la capacidad de desplegar en cualquier momento, especialmente para arreglar un fallo crítico en producción rápidamente. Ventajas adicionales son: permitir despliegues en cualquier momento con el equipo disponible, y la capacidad de aplicar 'continuous delivery/deployment' haciendo que cada 'commit' de un desarrollador se despliegue automáticamente.","214":"Patrones para despliegues sin parada: se introduce el patrón 'Blue/Green deployment', que implica tener dos copias de la aplicación (activa y pasiva) y un balanceador de carga que redirige el tráfico. Explicación de 'Blue/Green deployment': consiste en tener dos entornos, 'Blue' (activo) y 'Green' (pasivo). Se despliega la nueva versión en el entorno pasivo y luego se cambia el tráfico al nuevo entorno. Beneficios: facilita la recuperación ante desastres, permitiendo volver rápidamente a la versión anterior si algo sale mal. Como alternativa se menciona 'Rolling Updates' en Kubernetes.","888":"Ejemplo práctico en Azure App Service: se demuestra cómo realizar un despliegue 'Blue/Green' para actualizar una aplicación sin tiempo de inactividad, mostrando la migración de la base de datos y el cambio de tráfico al nuevo entorno.","347":"Demostración de 'Zero-Downtime Deployment' con una aplicación en Azure: se muestra cómo se actualiza la aplicación sin interrupción del servicio, incluso con cambios en la base de datos. Los Desafíos son: el principal problema es el estado (base de datos) y las dependencias con otras aplicaciones, y la importancia de la compatibilidad hacia atrás.","494":"Demostración en Kubernetes: se enseña cómo se despliega una nueva versión de una aplicación en Kubernetes sin tiempo de parada, y los pods se crean y destruyen sin interrupción del servicio.","670":"Explicación de 'Parallel Change': un patrón para implementar cambios incompatibles hacia atrás de manera segura, descomponiendo el cambio en tres fases: expansión, migración y contracción. Pasos para renombrar una columna de base de datos: añadir una nueva columna, desplegar el software que lea y escriba en ambas columnas, migrar los datos a la nueva columna, desplegar software que solo use la nueva columna y, finalmente, eliminar la columna vieja. Importancia del patrón de 'Parallel Change': se enfatiza que este patrón es crucial para hacer cambios en la base de datos o en la estructura de mensajes sin romper la compatibilidad hacia atrás y sin tiempo de parada."}},"presenters":[{"path":"accounts/u-iwb8fBo20Jd7pSmdy5Vh3nmNbio2","description":"Sergio Navarro Pino es un desarrollador con 20 años de experiencia que trabaja haciendo un producto para AnalyticAlways. Apasionado por la tecnología en general y por el desarrollo de software en particular, actualmente está muy interesado en todo lo relacionado con Cloud Computing y DevOps, preferiblemente con tecnologías Microsoft. ","reimburseExpenses":false,"uuid":"sergionavarropino","name":"Sergio Navarro Pino","id":"u-iwb8fBo20Jd7pSmdy5Vh3nmNbio2"}],"id":"m0Fsc9aTjIt3wjtqhwsd"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/mKY7a3nDA9zPOabUh8XB","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"El *peor* lenguaje del mundo","description":"Es casi imposible que todos nos pongamos de acuerdo en cual es el MEJOR lenguaje de programación... Que si Go es mejor que Rust, o si Rust supera a C++. Que si Java es mejor que C# o si ambos son una mala copia de C++. Si a su vez C++ mejora a C o solo le añade chorradas que nadie usa y es Objective-C el que lo hace bien. Que si JavaScript es la hostia porque es dinámico o TypeScript es mejor porque es estático. Que si Swift es guay porque puede no tener nulos, o si todos son unos herejes y Smalltalk es el dios a quien rendir pleitesía. Que si Python es el futuro porque es fácil, o no mola porque solo lo saben usar aquellos que no saben programar. Que si lo que mola es lo funcional y ahí nadie gana a Haskell o es mejor Scala porque nadie entiende Haskell...\n\nEn fin, como es imposible que nos pongamos de acuerdo, vamos a intentarlo por el otro lado: ¿Cual es el **PEOR** lenguaje de programación? Y, para que nadie se ofenda, lo que haremos será **inventarlo**. Vamos a mezclar características de distintos lenguajes de desarrollo para conseguir crear un monstruo con el que nadie desarrollaría. El **peor lenguaje del mundo (o bueno, ya puestos, que a modestia nadie nos gana, del multiverso)**.\n\n(Esta charla está basada en una idea y charla original de Mark Rendle, aunque la adapteremos a nuestros gustos y tiempos xD)","created":1558525110735,"bookmarkCount":53,"recordingAuthorized":true,"slidesURL":"https://www.slideshare.net/eduardtomas/el-peor-lenguaje-del-mundo","videoURL":"https://youtu.be/_FhOER_P75Y","tags":{"39153":[" Intermediate"],"0db80":[" Other"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Java","Rust","Scala","Go","Bash","Groovy","Kotlin"," None","C/C++","R","HTML/CSS","Javascript",".Net","PHP","Objective-C","Swift","Ruby","Python","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"64":"Explicación del origen de la charla y su enfoque en los lenguajes de programación.","113":"Mención de múltiples lenguajes, y la estrategia del ponente de votar por varios lenguajes. Introducción al tema principal: análisis de lenguajes de programación.","210":"Mención de ejemplos de 'hola, mundo' en COBOL e IBM COBOL, incluyendo la relación de IBM COBOL con JSONx. Continuación de ejemplos de 'hola mundo', ahora en APL (A Programming Language). Presentación de 'hola, mundo' en Brainfuck, un lenguaje de programación esotérico. Continuación de los ejemplos de 'hola, mundo', esta vez usando Malbolge, con menciones de su naturaleza complicada.","387":"Diseño hipotético de su propio lenguaje, inspirado en PHP. Una nueva versión de su lenguaje hipotético, ahora con palabras clave contextuales. Más ejemplos del lenguaje, como Whitespace. Continuación de 'hola, mundo' en Javascript.","4":"Introducción del ponente, Eduard Tomàs, que trabaja para Plain Concepts y es MVP de Microsoft desde 2012. Presentación de sus intereses personales y cómo le motivaron a empezar a programar. Descripción de la empresa para la que trabaja.","537":"Explicación de los problemas con las palabras clave contextuales.","154":"Visión general de los lenguajes de programación COBOL, incluyendo sus diferentes divisiones. Mención de la conferencia 'Build Stuff' como fuente de su charla. Discusión de lenguajes antiguos y sus creadores.","571":"Principios de diseño hipotéticos que podrían implementarse. Introducción de más ejemplos de lenguaje hipotético, como el uso del signo de almohadilla como prefijo."}},"presenters":[{"path":"accounts/l-28024001","description":"Friki standard de nivel 10. Le gusta la música heviata, los libros de fantasía (buenos, nada de R. A. Salvatore, no hagamos coñas), la ciencia ficción, los juegos de rol con papel y dados de colores y como no, el desarrollo… Tras varios años de ir dando lata y de charlar en eventos internacionales (vale, un par de veces en Andorra) fue reconocido MVP por parte de Microsoft, por lo que tiene en casa una esatuilla de algo parecido al cristal con 7 anillitos muy monos. También ganó una vez unos juegos florales en su escuela, hito que no se valora lo suficiente. \nEn su tiempo libre lo puedes encontrar programando algún que otro engendro en Plain Concepts","reimburseExpenses":false,"uuid":"etomas","name":"Eduard Tomàs","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-28024001/avatar/e18249f05c.avif","twitterAccount":"eiximenis","id":"l-28024001"}],"id":"mKY7a3nDA9zPOabUh8XB"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/mW72QuduAo2AaHs4ux5F","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Embracing Istio in production","description":"What is the next generation microservices architecture about? What is *service mesh*? What is Istio?\nIn this talk we will talk why and *how we embraced Istio for running a production-ready environment* of hundreds of microservices.\nLearning Istio for the first time is hard, but we will explain how to make it easy.\nObservability? Authentication? Advanced deployment strategies? Timeouts? Retry policies? This can all be done directly in the service mesh.\nIstio is production-ready but still in active development, there are many things you need to keep in mind if you don't want to fail.","created":1558340466923,"bookmarkCount":76,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1ErWWcrlBndln2am8_i2aVhRUhWWE35Y0vbhli5ZJsvU/edit?usp=sharing","videoURL":"https://youtu.be/-jjIafLEZ3M","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" DevOps"," Cloud"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INTERNAL_ERROR","values":{}},"presenters":[{"path":"accounts/u-0e6qvm9LWcdvxmnkqDwQvNtqGAA2","description":"Pablo es Google Developer Expert (GDE) for Cloud y trabaja como SRE Engineer en una empresa del sector Telco, una industria que cambia a la velocidad de la luz y dónde el dimensionamiento y la escalabilidad es primordial.","reimburseExpenses":false,"uuid":"pmoncadaisla","name":"Pablo Moncada","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-0e6qvm9LWcdvxmnkqDwQvNtqGAA2/avatar/a2b484b618.avif","id":"u-0e6qvm9LWcdvxmnkqDwQvNtqGAA2"}],"id":"mW72QuduAo2AaHs4ux5F"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/mibBzzisbkFfA4yLSS8Y","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Can Blockchain revolutionise the World?","description":"1 What is Blockchain \n\n1.1 A brief history \n\n1.2 Types of blockchains \n\n1.3 Smart contracts \n\n1.4 Multiple applications, but not a solution to everything\n\n2 Can Blockchain revolutionize international trade?\n\n2.1 Towards frictionless and paperless trade","created":1559639370739,"bookmarkCount":30,"recordingAuthorized":true,"videoURL":"https://youtu.be/aC9gfIswQss","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Blockchain"],"1f174":[" English"],"92508":["Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"96":"Introducción a los conceptos básicos de blockchain: base de datos descentralizada, segura y permanente (libro de contabilidad). Explicación de bloques de información enlazados con hashes, garantizando inmutabilidad.","290":"Caso de uso: blockchain en bienes de lujo para verificar autenticidad y combatir falsificaciones.","482":"Mención de tipos de blockchain (públicas, privadas y de consorcio): acceso, transparencia y velocidad.","213":"Demostración visual de la seguridad de la cadena de bloques: cambio en un bloque afecta los hashes subsiguientes.","5":"Introducción de la ponente, Victoria Gago, su experiencia y presentación de la European Blockchain Convention (EBC). Explicación de la misión de la EBC: conectar el ecosistema blockchain en España y el norte de Europa.","358":"Caso de uso: blockchain en el comercio global (plataforma TradeLens de IBM y Maersk) para digitalizar y optimizar la cadena de suministro, mejorando transparencia y confianza.","70":"Pregunta central: ¿Puede blockchain revolucionar el mundo? Reflexión sobre el potencial y estado inicial de la tecnología.","230":"Discusión sobre el problema del \"doble gasto\" y solución con blockchain (ejemplo: retrasos en vuelos y compensaciones automáticas). Introducción a smart contracts: acuerdos auto-ejecutables (ej: seguros).","599":"Ejemplo de aplicación real: bono emitido por el Banco Santander en la blockchain de Ethereum.","535":"Introducción a los smart contracts y su capacidad para automatizar procesos (ej: seguros y gestión de identidades digitales).","652":"Conclusión: blockchain puede transformar industrias (logística, comercio global, arte, bienes de lujo) al aumentar transparencia, confianza y eficiencia."}},"presenters":[{"path":"accounts/l-395294001","description":"Victoria Gago is Co-Founder of the European Blockchain Convention and Director at WindCorp Translink, where she advises tech companies on M&A transactions. Prior to that she worked as an Investment Analyst at Black Toro Capital.\n\nShe is a blockchain guest speaker at Millionaire’s Club (Millionærklubben), Denmark’s leading financial radio show. \n \nIn 2016 Victoria founded Accelerate Network, an association for young female professionals, whose objective is to inspire young women to reach their full potential, empower upcoming talents and future female leaders.\n\nVictoria has roots in Northern, Southern and Eastern Europe and a global mindset, having lived in Malaysia, Australia, United Kingdom, Spain, Luxembourg and Denmark.","reimburseExpenses":false,"uuid":"victoria-gago-cert-itm","name":"Victoria Gago, CertITM","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-395294001/avatar/140670fd7f.avif","id":"l-395294001"}],"id":"mibBzzisbkFfA4yLSS8Y"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/nG22SS5m7dMBvacVXEvi","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Three.js: crea entornos 3D interactivos en tu navegador","description":"Desde sus inicios, Three.js se ha convertido en una de las bibliotecas más populares para la creación de gráficos 3D en los navegadores. Con esta introducción descubrirás todo su potencial y cómo crear escenarios interactivos jugando con objetos, luces, texturas, etc.","created":1555939668071,"bookmarkCount":62,"recordingAuthorized":true,"slidesURL":"https://yunevk.github.io/slides-threejs/index.html","videoURL":"https://youtu.be/rZIUEwSxglc","tags":{"39153":["Beginner"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"160":"Ricardo Cabello, líder técnico español en el proyecto Rome. Demostración interactiva de un juego en 3D.","641":"Adición de elementos a la escena para su visualización.","3":"Introducción a la conferencia.","741":"Elementos de la escena. Inicialización de la escena con un fondo de color y niebla.","358":"Ejemplo de un cubo en Three.js con muchas menos líneas de código.","679":"Ejemplo de una función de renderizado para animar la escena. Explicación de requestAnimationFrame().","239":"Las ventajas de usar Three.js. Enlaces a Github y Web para Three.js. Sitio web, documentación y editor en línea de Three.js.","944":"Esquema y explicación de la cámara 3D. Ejemplo de escena interactiva.","17":"Introducción a Three.js.","1042":"Objetos o mesh. Composición del mesh: geometría, material y textura. Ejemplo de una textura. Código para crear un mesh.","210":"Ejemplo de una geometría muy simple renderizada solo con WebGL. Se requieren más de 300 líneas de código para mostrar un cubo simple usando WebGL.","467":"Diferentes tipos de cámara.","820":"Cámara. Tipos de cámara. Cámara en perspectiva. Código para crear una cámara en perspectiva.","598":"Variables de Three.js para un objeto 3D. Ejemplo de una función Init simple para crear los elementos 3D.","121":"Ejemplo de un proyecto creativo complejo: Rome, un video musical interactivo.","58":"La evolución de la web.","538":"Instalación de Three.js.","379":"Elementos básicos necesarios para una escena 3D.","28":"Presentación de la ponente, Sonia Ruiz, desarrolladora Frontend.","1340":"Interacción. Ejemplo de código usando un Raycaster. Enlaces con más información sobre Three.js.","510":"Más sobre la definición de 'render'. Ejemplo de cómo un objeto 3D se convierte en píxeles para la pantalla.","191":"Problemas de WebGL.","95":"Llegada de WebGL y el renderizado 3D a la web alrededor de 2006. Definición de WebGL.","1119":"Materiales. Configuración de materiales. Parámetros de los materiales. Diferentes materiales para un objeto 3D."}},"presenters":[{"path":"accounts/l-408954001","description":"\"Granaína\" que llegó a Madrid para cursar el bootcamp de Web Development en Ironhack, lo que me sirvió para especializarme y obtener una nueva visión de la web gracias a tecnologías como React, Three.js o D3.js. Durante mi época en el sur fundé mi propia comunidad donde organizamos varias charlas técnicas, aunque en Madrid he pasado de organizarlas a impartirlas gracias a la participación en el programa TechSHEssions. Mientras tanto, he trabajo por mi cuenta siendo freelance, como Teacher Assistant en Ironhack, y actualmente en Secuoyas como Frontend Developer.","reimburseExpenses":false,"uuid":"sonia-ruiz-cayuela","name":"Sonia Ruiz Cayuela","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-408954001/avatar/e5336bdf39.avif","twitterAccount":"Yune__vk","id":"l-408954001"}],"id":"nG22SS5m7dMBvacVXEvi"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/o3rWItbWgGmxPeQKZpUu","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Rendering Web Performance","description":"Nos meteremos en la sala de máquinas de los navegadores, aprendiendo cómo funcionan y cuáles son las mejores técnicas para conseguir el máximo rendimiento de nuestra web. Pasaremos de 0 a 60 FPS entendiendo los procesos básicos de pintado y descubriremos quién es el enemigo número uno del buen rendimiento.\n\n¿Cómo conseguimos animaciones «suaves», interacciones inmediatas (clicks, taps, scrolls), y la carga y el pintado de contenido a máxima velocidad? Descúbrelo en esta charla.","created":1554718427146,"bookmarkCount":102,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1vxS-MneHi0hm7ueIetphfBqtFX4AUoWf_j1GUcQG7tQ/edit?usp=sharing","videoURL":"https://youtu.be/4ODU9MrUD4E","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"2":"Introducción a la charla: Rendimiento en el Renderizado Web.","453":"Explicación del 'stacking context' y cómo las propiedades transform y opacity crean un nuevo contexto.","517":"Demostración visual de la creación de capas en tiempo real y su posterior destrucción. Advertencia sobre su impacto en memoria. Consejo: evitar la composición implícita.","104":"Explicación de la pestaña de rendimiento y el botón de grabación para auditar animaciones.","393":"Introducción a las propiedades CSS transform y opacity para optimizar animaciones en la GPU.","272":"Explicación de los colores en la línea de tiempo: amarillo para JavaScript, violeta para estilo y layout, verde para pintura.","18":"Procesos principales del navegador: parser y render.","84":"Objetivo: aprender a usar la herramienta de rendimiento para entender el flujo del navegador.","58":"Uso específico de la pestaña de rendimiento en las Chrome DevTools.","156":"Preguntas clave: ¿Cómo pinta el navegador tu código? ¿Qué procesos ocurren en una animación? Definición técnica de animación: conjunto de imágenes (60 fotogramas por segundo).","190":"Explicación de la relación entre cuadros y tiempo: 1 cuadro = 16.6 milisegundos.","350":"Advertencia sobre el uso de setTimeout y su posible impacto en el rendimiento.","286":"Análisis de un caso de ejecución de código: hit test, JavaScript y estilo.","222":"Visualización de los cuadros y su duración en la pestaña de rendimiento de Chrome.","127":"URL para acceder a un ejemplo práctico durante la charla."}},"presenters":[{"path":"accounts/u-mCykg5QnkcWDbO4Q6NKwXyS1IX13","description":"Soy especialista Javascript y Rendimiento Web en Kairós DS, con más de 15 años de experiencia en desarrollo Front-End; hoy me dedico, según mi madre, a «hacer caritas y botoncitos» de manera profesional. Suelo dar charlas en eventos de programación para no pagar la entrada.","reimburseExpenses":false,"uuid":"eduardosada","name":"Eduardo Sada","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-mCykg5QnkcWDbO4Q6NKwXyS1IX13/avatar/fd7807ff4a.avif","id":"u-mCykg5QnkcWDbO4Q6NKwXyS1IX13"}],"id":"o3rWItbWgGmxPeQKZpUu"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/oVVULdjtN02RZHQYHxn5","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Desarrollo móvil cross-platform VS nativo","description":"# **Desarrollo móvil cross-platform VS nativo**\n\n## **Mi experiencia desarrollando solo en nativo**\nContaré por qué no me he apartado nunca del desarrollo nativo desde que empecé a programar para dispositivos móviles allá por 2011. Y las ventajas y desventajas que he encontrado con ello.\n\n## **Análisis de soluciones cross-platform**\nRepasaré los frameworks más comunes que he ido conociendo en esos años (*Appcelerator, PhoneGap, Unity 3D, ionic, Xamarin, React Native, Flutter*...) y las experiencias personales que he tenido con ellos. Hablaré del lenguaje de programación que utilizan, su curva de aprendizaje, envergadura de su soporte y comunidad, si son webapps o generan views nativos, sus estadísticas de uso en las plataformas de versión de código y de publicación en las stores y lo demandados que son actualmente en ofertas de empleo.\n\n## **iOS y Android a día de hoy**\nEnumeraré una serie de condicionantes que son intrínsecos a las plataformas Android e iOS y hay que configurar siempre independientemente de la herramienta de desarrollo utilizada. Contaré los inicios con Objective-C y Java y el paso a Swift y a Kotlin en iOS y Android respectivamente. Terminaré mostrando similitudes entre Swift y Kotlin y arquitecturas y patrones de presentación que pueden ser utilizados en las dos plataformas nativas y reducen el código implementado específicamente para cada plataforma aunque sean implementaciones nativas de cada una.","created":1556650066750,"bookmarkCount":67,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/jaimefere/desarrollo-movil-cross-platform-vs-nativo","videoURL":"https://youtu.be/7C1J2N21GMI","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Mobile"],"1f174":["Spanish"],"92508":["Java","HTML/CSS","Javascript","Objective-C","Swift","Kotlin"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"33":"Introducción del ponente, desarrollador freelance de aplicaciones nativas, y revisión de proyectos en los que ha trabajado, incluyendo un proyecto de telemedicina de 2011 para el hospital de Badajoz con Bluetooth y proyectos con tratamiento de imágenes y uso de filtros previos a operaciones.","945":"Aspectos a considerar para elegir el tipo de desarrollo: funcionalidad, equipo, tiempo de lanzamiento, presupuesto, plataformas y reusabilidad.","162":"Mención de otros proyectos con tecnologías no nativas o con hitos importantes, incluyendo el descarte de Titanium Accelerator.","706":"Mención de frameworks y plataformas específicas: Ionic (híbrida), Xamarin (cross-platform), React Native (cross-platform), Nativescript (cross-platform) y Flutter (cross-platform).","851":"Comparativa del uso de lenguajes en Stackoverflow y Google Trends (últimos 5 años) de Xamarin, Ionic, React Native, Flutter y Progressive Web Apps.","586":"Cuestionamiento a clientes sobre la necesidad de una aplicación móvil y afirmación de que la web no ha muerto. Tipos de desarrollos: web adaptativa, híbrida, nativa, PWA (Progressive Web App) y cross-platform, con sus ventajas y desventajas.","239":"Revisión de proyectos de desarrollo híbrido en los que trabajó el ponente."}},"presenters":[{"path":"accounts/l-137174001","description":"Desarrollo freelance de apps nativas para iOS y Android en remoto desde Cáceres.\nHe dado charlas en meetups locales y en la WCMad de este año: https://wordpress.tv/2019/04/27/jaime-fernandez-wordpress-como-backend-de-tus-apps/","reimburseExpenses":false,"uuid":"jaimefere1","name":"Jaime Fernández","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-137174001/avatar/be2de9a279.avif","twitterAccount":"jaimefere","id":"l-137174001"}],"id":"oVVULdjtN02RZHQYHxn5"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/ombZJQ0i74fw3k3Ehuqs","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Cloud-native monitoring with Prometheus","description":"En el mundo de las applicaciones cloud-native y microservicios, Prometheus se ha convertido en el estándar para monitorización.\n\nSe verá porqué, y qué lo diferencia de las aproximaciones más tradicionales. Cómo puede usarse para monitorizar tanto sistemas como aplicaciones, y cómo desarrollar aplicaciones prometheus-native.\n\nAdemás veremos cómo integrar Alertmanager con otros sistemas de alertas o sistemas de gestión de incidencias ya desplegadas.","created":1558897215551,"bookmarkCount":126,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1gisbJqIl0uHJCST7f64njC8QPGloZzhrI_mhRwlecTY/edit?usp=sharing","videoURL":"https://youtu.be/wLG1ABrKFs4","tags":{"39153":["Beginner"],"0db80":[" DevOps"," Other"," Cloud"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["Go"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"832":"Componentes para monitorizar los sistemas y aplicaciones. Necesidad de scraping. Al final se ha ido al Alertmanager, el componente del stack que gestiona el enrutado de alertas. Funcionalidades de Alertmanager como \"Deduplicates\" para evitar alertas duplicadas, y \"Groups\" para agrupar alertas. Prometheus Server es quien se comunica con Alertmanager.","644":"Historia del desarrollo de Prometheus, su inspiración en el sistema de monitorización Borgmon de Google, y su posterior desarrollo como proyecto de código abierto. Prometheus como el estándar de monitorización, con soporte tanto de \"official exporters\" como de \"prometheus-native applications\". El proyecto Open Metrics, un esfuerzo para crear un estándar abierto para la transmisión de métricas a escala. Prometheus es la instrumentación, y no es la monitorización.","472":"Instrumentación y métricas con Prometheus, y las librerías de cliente disponibles. Ejemplo de código para implementar la exposición de métricas de una aplicación en Prometheus, utilizando el concepto de \"contador\" y el método \".Inc()\". Conclusiones. Instrumentación: no es tan difícil, después de todo.","1129":"Conclusiones finales de la presentación: Monitoring Cloud-Native es observabilidad, Cross-Team implication e instrumentación","329":"Ejemplos de la monitorización tradicional como Nagios. La necesidad actual de métricas y la correlación de la información con la RED method. Ventajas de usar Prometheus que permiten correlar datos, seguir tendencias, debugear, tener insight. Comparación entre la monitorización tradicional y la observabilidad. La observabilidad incluye la monitorización basada en métricas como una de sus bases.","140":"Inicio del viaje conceptual: De la monitorización tradicional a la observabilidad. ¿Qué es la monitorización y por qué la realizamos? Monitorización manual vs automática. Monitorización de caja negra (externa) y de caja blanca (interna). La monitorización de caja negra es una aproximación externa en la que no se conoce la implementación interna del sistema. Se pueden realizar pruebas como ping, acceder a una página web, y comprobar si está caída o no.","1005":"Posibilidad de hacer búsquedas distribuidas o federadas con Prometheus. Introducción a Thanos. Introducción a M3DB. Finalmente, se menciona a Cortex, una solución para Prometheus-as-a-Service, que también es parte de los proyectos de la Cloud Native Computing Foundation.","15":"Introducción a la ponente, Beatriz Martínez Rubio, y a su presentación sobre monitorización Cloud-Native con Prometheus. Propósito de la charla: Compartir el panorama actual de la monitorización en entornos cloud con Prometheus. Estructura de la presentación: Un viaje desde la monitorización tradicional hasta la observabilidad actual, uso de Prometheus para monitorizar sistemas y aplicaciones, un ejemplo de instrumentación de aplicaciones para exponer métricas de forma nativa, y una revisión del ecosistema de Prometheus."}},"presenters":[{"path":"accounts/l-89014006","description":"Beatriz Martínez works at IBM’s Architecture and Innovation department, mainly focus on enterprise-grade cloud environments. Passionate about technology and innovation, she is an insatiable learner who loves getting involved with open-source communities.","reimburseExpenses":false,"uuid":"beatrizmrg","name":"Beatriz Martínez Rubio","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-89014006/avatar/8466e696a6.avif","twitterAccount":"beatrizmrg","id":"l-89014006"}],"id":"ombZJQ0i74fw3k3Ehuqs"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/rXRbf9TNhIErN8rPiyco","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Hablemos de acciones a favor de la diversidad en ámbito tecnológico","description":"En esta unconference nos reuniremos para hablar de proyectos e iniciativas para **fomentar la diversidad en ámbito tecnológico**. Participaremos Lorena Martín (embajadora de Technovation), Inés Vázquez (Fundadora & co-CEO de Adalab), Leni Bascones (coordinadora de la Iniciativa 11 de Febrero) y Laura Vignali (coorganizadora de Tech SHEssions) para hablar de las siguientes acciones:\n\n**[Technovation Challenge](https://technovationchallenge.org/)**, un programa de emprendimiento y tecnología que busca inspirar a niñas y jóvenes, de edades comprendidas entre los 10 y 18 años, para que se conviertan en futuras profesionales líderes e innovadoras. Su objetivo es disminuir la brecha tecnológica de género que existe en el ámbito de la tecnología actualmente. \n\n**[Adalab](https://adalab.es/)**, ofrece a mujeres que no han tenido acceso a oportunidades laborales de calidad la posibilidad de iniciar una carrera en el sector tecnológico, transformando así sus vidas.\nA través del Curso Intensivo las alumnas se convierten en desarrolladoras web, y consiguen un empleo de calidad, aportando diversidad al sector.\n\n**[Iniciativa 11 de Febrero](https://11defebrero.org/)**, iniciativa voluntaria y sin ánimo de lucro que fomenta e invita a organizar actividades que conmemoren el Día Internacional de la Mujer y la Niña en la Ciencia, que ayuden a visibilizar el trabajo de las científicas, a crear roles femeninos en los ámbitos de la ciencia y la tecnología y que promuevan prácticas que favorezcan la igualdad de género en el ámbito científico-tecnológico. \n\n**[Tech SHEssions](https://2018.commit-conf.com/tech-shessions/)**, un programa gratuito de mentoring que pretende empoderar mujeres para que participen como ponentes en eventos tecnológicos. Este programa incluye formación en habilidades de comunicación oral, expresión corporal, control del nerviosismo y gestión de situaciones difíciles que puedan surgir. Las mentoras son mujeres profesionales del sector IT con experiencia participando en la organización de eventos tecnológicos o como ponentes en eventos de este tipo. Su misión es enseñar y apoyar a las alumnas a la hora de recorrer el camino que ellas ya han recorrido.\n\n\nDesde luego, la lista es afortunadamente mucho más larga, y contamos con tu participación para poder apuntar más acciones, recibir tu punto de vista, hacer brainstorming sobre qué queda por hacer todavía, y cómo podemos ayudar entre todos. Es un espacio abierto donde todo el mundo puede contribuir.\n\n¡Te esperamos!","created":1571055427759,"bookmarkCount":16,"recordingAuthorized":true,"videoURL":"https://youtu.be/ngPgrFRwtbI","tags":{"39153":["Beginner"],"0db80":[" Soft skills"," Social"," Other"],"70b46":[" Unconference"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"33":"Debate sobre la falta de interés de las niñas por la ciencia y la tecnología.","97":"Technovation girls es un proyecto internacional con sede en Estados Unidos.","962":"Adalab ofrece un curso intensivo de 12 semanas presenciales en Front-End, trabajo en equipo, desarrollo profesional y marca personal.","1124":"11 de febrero: Día Internacional de la Mujer y la Niña en la Ciencia.","167":"El objetivo del proyecto es invitar a las niñas a participar y crear una aplicación móvil.","10":"Proyectos e iniciativas para fomentar la diversidad en el sector tecnológico.","77":"Presentación del proyecto Technovation girls.","910":"El objetivo de Adalab es ofrecer a las mujeres oportunidades laborales y la posibilidad de iniciar una carrera en tecnología.","304":"No hay requisitos para participar en el programa, no hay selección y pueden participar grupos de amigas en su casa con su tía o mentora.","404":"Las mentoras no tienen que saber programar, las niñas aprenden a programar en App Inventor (basado en Scratch), hacen un plan de negocios y la aplicación tiene que resolver un problema social.","890":"Presentación del proyecto Adalab.","220":"Las participantes participan en una competición mundial, donde los mejores equipos ganan.","1341":"El programa de mentoring ayuda a las participantes a conectar con mujeres del sector y crear charlas para el 11 de febrero."}},"presenters":[{"path":"accounts/l-414504002","description":"Física e investigadora en el Instituto de Ciencia de Materiales. Forma parte del equipo organizador de 11 de Febrero.","reimburseExpenses":false,"uuid":"lenibascones","name":"Leni Bascones","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-414504002/avatar/6ddb32ebc5.avif","id":"l-414504002"},{"path":"accounts/l-416214008","description":"Embajadora de Power to Code y organizadora de Technovation.","reimburseExpenses":false,"uuid":"lorena-martin","name":"Lorena Martin","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-416214008/avatar/9d5dce8ec9.avif","id":"l-416214008"},{"path":"accounts/l-121984002","description":"Social entrepreneur working to increase diversity in Tech. Cofounder of Adalab @AdaLab_Digital\n","reimburseExpenses":false,"uuid":"ines","name":"Inés Vázquez Ríos","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-121984002/avatar/28cf7b11de.avif","twitterAccount":"inesvrios","id":"l-121984002"},{"path":"accounts/u-6FhlHNOGa7WrOy6A8MJdUMsuuxk2","description":"Coorganizadora de Commit y Tech SHEssions. ","reimburseExpenses":false,"uuid":"lravignali","name":"Laura Vignali","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-6FhlHNOGa7WrOy6A8MJdUMsuuxk2/avatar/5995199416.avif","id":"u-6FhlHNOGa7WrOy6A8MJdUMsuuxk2"}],"id":"rXRbf9TNhIErN8rPiyco"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/sk6JZ5B1mCQmeGi1BAUc","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Asistentes virtuales multiplataforma","description":"Desarrollo para Alexa, desarrollo para Google Assistant, distintas experiencias de usuario en cada asistente ¿Y si llega otro? ¿Volvemos a desarrollar las conversaciones?. Esto ya lo hemos vivido con las aplicaciones móviles ¿Cómo podemos hacer desarrollos multiplataforma para los asistentes virtuales? Pues vamos a hacer un ejemplo aprovechando más del 99% de código\n\nEsta charla es perfecta como ampliación del \"The chatbot tour\" de Joaquin Engelmo (@kinisoftware), Jordi (@itortv) y Diego Zapico (@dzapic0)\n","created":1558623086085,"bookmarkCount":30,"recordingAuthorized":true,"slidesURL":"https://ckm-my.sharepoint.com/:p:/g/personal/dzapico_encamina_com/EfP1GDjlWeNHkqAcK7Lj3DYBMOwh07xZ0a9i0ucFtqj66Q?e=zHeW52","videoURL":"https://youtu.be/MidtvYqmBD0","tags":{"39153":[" Intermediate"],"0db80":[" AI"," Accessibility","Machine Learning"," Design/UX"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[".Net","Python"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"192":"Pregunta a la audiencia sobre su experiencia con skills de Alexa y conectores de Google Assistant.","130":"Índice de la presentación: Esquema, Assistant y Alexa, Diego craftman, Bot Framework, Cognitive Services.","67":"Mención de charlas previas en el evento sobre Google Assistant, Alexa, y Bot Framework.","643":"Explicación del funcionamiento de Google Assistant: Usuario -> Altavoz -> Action -> Dialogflow -> Google Cloud Platform.","1061":"Configuración de los intents en el bot, con ejemplos de frases y el tipo phrase.","933":"Demostración de un bot que identifica objetos en imágenes usando el servicio de Visión de Cognitive Services.","901":"Muestra de la consola de Google Actions y cómo hablar con el bot de prueba \"el chigrero bot\".","1030":"Ejemplo de una skill de Alexa en desarrollo usando Bot Framework.","966":"Conexión con la API de QnA Maker para mostrar un ejemplo sencillo.","808":"Detalle de las líneas de código: recepción de la petición, construcción y envío de respuesta.","9":"Introducción a los asistentes virtuales multiplataforma.","237":"Recapitulación de temas: Assistant, Alexa, el caso particular de Diego Zapico con su trabajo final de grado, Bot Framework y Cognitive Services.","22":"Presentación de los ponentes: Rodolfo, Santiago Porras (Microsoft MVP y Team Leader en Encamina) y Diego Zapico.","214":"Explicación del mayor problema de la charla: La agilidad y adaptación a otras charlas sobre el tema.","886":"Intento fallido de conectarse a su bot en Azure.","696":"Diferencia con Amazon: Alexa Voice Services, integrando Actions y su propio NLP.","1048":"Conexión con el simulador de Alexa. Se salta el ASR (Automatic Speech Recognition).","730":"Muestra de código de un controlador de API que gestiona las peticiones de Google Assistant."}},"presenters":[{"path":"accounts/u-yiN0I9UyIoVmOUKd0IJuLTwHt4x2","description":"Si algo me encanta es probar las cosas nuevas que salen al mercado. Me especializo en el desarrollo de soluciones aprovechando las ventajas que ofrece la computación cloud y matar vendedores de humo. No me conquisto Microsoft, si no su comunidad y ahora es el momento de devolverle el favor. Intentaré ayudarte con Azure, los coches (incluso electricos) y los follones que son mis tres vicios.","reimburseExpenses":false,"uuid":"dzapico","name":"Diego Zapico Ferreiro","twitterAccount":"dzapic0","id":"u-yiN0I9UyIoVmOUKd0IJuLTwHt4x2"},{"path":"accounts/u-714ag49DczYYrc9roQAd5GdkT612","reimburseExpenses":false,"uuid":"santiagoporras","name":"Santiago Porras Rodríguez","avatar":"https://storage.googleapis.com/users.koliseo.com/accounts/u-714ag49DczYYrc9roQAd5GdkT612/avatar/06f8482d84.avif","twitterAccount":"saintwukong","id":"u-714ag49DczYYrc9roQAd5GdkT612"}],"id":"sk6JZ5B1mCQmeGi1BAUc"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/tKMuujDcDlobmoucoALK","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Jardineros, artesanos o ingenieros.... pero no juglares","description":"¿Cuáles son los conocimientos mínimos necesarios para trabajar en tu equipo?\n\n¿Qué hay detrás de las decisiones de diseño y arquitectura que se han tomado a lo largo de la vida de tu producto? \n\n¿Qué es necesario para empezar a trabajar en cualquiera de tus proyectos? \n\n¿A qué se debió aquella interrupción de servicio y qué medidas se tomaron para evitar que vuelva a suceder?\n\nSi mañana entrase un nuevo compañero con poca experiencia al equipo, ¿tiene acceso al \"corpus\" de conocimiento que en la empresa se considera necesario?¿Cómo se pone al día?\n\nEn demasiadas ocasiones dependemos del boca a boca para transmitir todos estos conocimientos dentro del equipo o de la empresa y eso no escala. En esta charla intentaré hablar de los enfoques que podemos adoptar para evitar el conocimiento juglar dentro de la empresa y así evitar silos de conocimiento, facilitar la entrada a las nuevas incorporaciones o recordar/cuestionar porqué se tomo aquella decisión técnica en aquel momento.","created":1559430709249,"bookmarkCount":63,"recordingAuthorized":true,"slidesURL":"https://speakerdeck.com/modesto/jardineros-artesanos-o-ingenieros-dot-dot-dot-pero-no-juglares/","videoURL":"https://youtu.be/mCUKh6twum4","tags":{"39153":[" Intermediate"],"70b46":["Talk"],"0db80":[" Soft skills"," DevOps"," Other"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"977":"El trabajo en equipo es fundamental, evitando la dependencia de individuos clave o \"héroes\" que centralizan el conocimiento.","1684":"Los informes de incidencias (Incident Reports) son útiles para documentar incidentes, detallando el resumen, la línea de tiempo, la causa, la solución y las acciones tomadas para su resolución. Permiten crear un conocimiento valioso de cara al futuro, ya que se pueden estudiar para evitar que los problemas se repitan.","1877":"Los ADRs (Registros de Decisiones Arquitectónicas) permiten documentar de forma ligera las decisiones técnicas relevantes del proyecto y nos ayudan a comprender el porqué de las mismas. Deben enfocarse en el contexto y la decisión, así como las consecuencias, las opciones descartadas y las alternativas.","1128":"El manifiesto ágil nos recuerda que debemos buscar el equilibrio entre las personas e interacciones, software funcionando, colaboración con el cliente y respuesta al cambio, y no tanto en procesos, herramientas, documentación o planes rígidos.","1304":"El archivo \"README\" es un recurso simple pero poderoso para centralizar información esencial del proyecto.","600":"Juglares medievales transmitían historias y conocimiento oralmente, sin herramientas como internet o medios impresos.","1241":"La documentación en el contexto actual debe ser práctica y concisa, evitando documentos extensos o complejos. Se debe priorizar la documentación de las técnicas y las herramientas utilizadas en el proyecto.","1417":"Los Runbooks permiten documentar procedimientos para operar con el sistema y ayudan a manejar incidencias o emergencias.","681":"Importancia de comprender el contexto y las reglas de cada empresa y proyecto al aplicar prácticas.","2155":"Es esencial extender las herramientas que tenemos añadiendo analizadores de código, visualizadores y tests automáticos, ya que esto permite detectar problemas tempranamente y ayuda a evitar incidencias. El feedback inmediato es fundamental.","732":"El problema radica en cómo se genera y gestiona el conocimiento en un proyecto de desarrollo de software y cómo se realiza su transmisión con el paso del tiempo.","1020":"Una dinámica útil es la Evaluación de Entrega de Software, que permite evaluar la salud del equipo, el despliegue, el flujo, la entrega continua, la operabilidad y las pruebas, identificando así las áreas de mejora."}},"presenters":[{"path":"accounts/u-9Nxu9dTccZQfPthA8DDdcCklmD13","description":"Llevo tanto tiempo desarrollando software que ya no recuerdo cómo era mi vida cuando no sabía hacerlo. Y aún así no se ni la mitad de lo que querría, y lo que yo querría no es ni la mitad de lo que la mitad de mi vida me va a permitir aprender. Y ahí sigo, intentando entregar valor, manteniendo a raya al legacy que paga las facturas y dando la brasa con cosas como TDD, evitar el desperdicio, la complejidad accidental e insistiendo en que los verdaderos problemas son los que nos esperan del lado del negocio.","reimburseExpenses":false,"uuid":"modestosja","name":"Modesto San Juan","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-9Nxu9dTccZQfPthA8DDdcCklmD13/avatar/5a7cc5561a.avif","twitterAccount":"msanjuan","id":"u-9Nxu9dTccZQfPthA8DDdcCklmD13"}],"id":"tKMuujDcDlobmoucoALK"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/v3CZM9DbGbbM3AUIAkKC","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Creando un UI Kit con Vue","description":"Que el diseño de las diferentes aplicaciones de nuestro producto tenga su respectivo UI Kit nos sirve para mantener una consistencia en el estilo y la experencia de usuario de nuestra marca. \nSin embargo, trasladar ese diseño a nuestro desarrollo frontend implica una serie de consideraciones: crear y mantener una hoja de estilos y un javascript único o duplicar estos mismos entre proyectos, estudiar cómo gestionar actualizaciones o correciones en el UI Kit, etc.\n\nComo Vue nos ofrece el concepto de Componente y a nadie le gusta hacer el mismo trabajo dos veces, tenemos una oportunidad en bandeja de transformar este UI Kit a componentes y reutilizarlos de manera sencilla entre proyectos.\n\nPara ello, en esta charla veremos: la estructura que puede tener nuestros componentes, cómo nos ayudará a desarrollar nuevos proyectos más rápido y las diferentes maneras de paquetizar y distribuir nuestro UI Kit, tanto de manera pública como de manera privada. ","created":1558578867034,"bookmarkCount":69,"recordingAuthorized":true,"slidesURL":"https://emibloque.me/talks/building-a-ui-kit-with-vue/","videoURL":"https://youtu.be/8Wfmd0P9KTA","tags":{"39153":[" Intermediate"],"0db80":[" Web"],"70b46":["Talk"],"1f174":["Spanish"],"92508":["HTML/CSS","Javascript","Other"]},"highlights":{"status":"PROCESSED","origin":"LLM","values":{"257":"Descargo de responsabilidad sobre el conocimiento de diseño limitado del orador","355":"Herramientas para sistemas de diseño Vue.js, como Vue Design System y Buefy","774":"Importando pickle-ui/src/styles/base.scss","679":"Pickle UI nombrando los componentes","136":"Introducción de 'The Cocktail' y su enfoque al desarrollo web","1036":"Tree shaking en JavaScript para optimización","302":"Salesforce como uno de los primeros grandes sistemas de diseño","48":"Evolución de la web de 'Web Master' a 'Desarrollador Web' a 'Desarrolladores Frontend' y 'Backend'","560":"Tokens de diseño aplicados al ejemplo de la aplicación 'Shuffle Salad'","1011":"Trabajando con repositorios privados","245":"Creando un kit de interfaz de usuario con Vue.js","951":"Instalando la biblioteca Vue.js","89":"La creciente complejidad de las necesidades de los clientes y la variedad de plataformas (CMS, CMS corporativos, comercio electrónico, páginas de destino…) y su impacto en el desarrollo web","857":"Extrayendo el kit de interfaz de usuario","409":"Ejemplo práctico: un sistema de diseño aplicado a una tienda de ensaladas ('Shuffle Salad')","187":"Resultados de la encuesta: eficiencia en el desarrollo (51%) y consistencia en la experiencia del usuario (74%) como principales objetivos para los creadores de sistemas de diseño","158":"Sistemas de diseño y su importancia","1246":"Publicando componentes del kit de interfaz de usuario","1375":"Usando el sistema de diseño a la carta"}},"presenters":[{"path":"accounts/l-138954001","reimburseExpenses":false,"uuid":"emibloque","name":"Luis Emilio Velasco Sánchez","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-138954001/avatar/1fc38451fb.avif","twitterAccount":"emibloque","id":"l-138954001"}],"id":"v3CZM9DbGbbM3AUIAkKC"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/yM8ESoM051NGOUsNqc2u","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Sé lo que hiciste en tu última story.","description":"Esta charla es la segunda parte de [¿Quién eres en realidad?](https://youtu.be/Hf-3jPWbzVQ) que di en la edición anterior, en ella hablé sobre cómo afectan las redes sociales en los procesos de selección tanto desde el punto de vista del empleador como del empleado.\nEn esta ocasión daré una vuelta de tuerca al tema indagando más allá de las típicas redes sociales generalistas.\n¿Y si vas a una entrevista y resulta que la persona que tienes delante te hizo ghosting un mes antes?\nNunca volverás a ver las redes sociales con los mismos ojos.","created":1555917341634,"bookmarkCount":56,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1scW49hEMLIapOFMxpQf5WGWbf_mnh_ECvUXfNBq5JeU/edit?usp=sharing","videoURL":"https://youtu.be/ylxGoKsxe7M","tags":{"39153":[" Intermediate"],"0db80":[" Soft skills"," Social"],"70b46":["Talk"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"640":"El millennialismo va a llegar... o mejor dicho ¡ya ha llegado! Y se espera que para el 2025 el 75 % de la población activa sea millennial.","161":"El tiempo de espera de una llamada ya pasó. Las redes sociales dan mucha información de nosotros y las empresas las utilizan para hacer una preselección de candidatos. La primera impresión ahora son nuestras redes sociales.","3":"Introducción de la ponente, Vanessa Medina, FrontEnd Developer.","739":"La speaker resume los temas tratados que están relacionados con cada red social en la que buscar información y se despide.","455":"La inteligencia artificial también discrimina. Amazon tenía una herramienta experimental que calificaba a los candidatos, pero se descontinuó el proyecto.","40":"La presentadora comenta que el tema a tratar es el de las redes sociales y como estas afectan en procesos de selección, a candidatos y empresas. Se realizó un análisis de encuesta.","233":"Eliminar las redes sociales es un error. En la encuesta anual de 2018 de Career Builder casi la mitad de los empleadores dicen que es menos probable que se llame a candidatos sin redes sociales. Conclusión: es necesario tener presencia en las redes.","587":"Las redes sociales nos pueden ayudar a dar información que respalda nuestras aptitudes y cualificaciones, mostrar lo que otra gente dice de nosotros, o mostrar que somos humanos. Pero también a tirar por la ventana todas nuestras posibilidades.","334":"La idea de utilizar inteligencia artificial en los procesos de selección ya está en marcha. Hay grandes empresas que ya usan herramientas como AllyO, TextRecruit, o Modern Hire para escribir a candidatos y concertar entrevistas. Los candidatos tienen la posibilidad de completar entrevistas en el momento que prefieran y los chatbots pueden programar y hacer seguimiento de preguntas y pruebas de una forma mucho más sencilla.","695":"Hay siete estrategias clave para atraer a los millennials: Organizar el alcance apropiado. Hacer atractiva a la compañía. Equilibrio entre trabajo y vida y flexibilidad. Ofrecer una oportunidad de aprender. Ser socialmente responsable. Invertir en innovación. Mantenerse en contacto.","88":"Aspectos que influyen en la selección de un candidato: Apología de cualquier tipo de violencia o discriminación; publicación de contenido que promueva el consumo de drogas y/o alcohol; datos que contradigan el CV del candidato; imágenes de contenido sexual o poco apropiadas; comentarios negativos sobre empleadores y/o compañeros de trabajo; errores de expresión o gramaticales; ausencia de habilidades comunicativas; afiliación política.","670":"Las redes sociales no necesitan ser una expresión completa de nosotros mismos. Podemos elegir la versión que queremos presentar y qué redes son públicas. No hay problema en compartimentar y customizar nuestra vida real dependiendo del contexto, ya sea en el trabajo, en un restaurante, o en una barbacoa. Debería hacerse también en las redes sociales.","286":"Según un estudio de Monster.co.uk, el 56 % de los empleadores admite que los perfiles sociales impactan en las decisiones de contratación, y el 65 % de los candidatos cree que sus candidaturas se vieron resentidas a causa de sus perfiles en redes sociales. Los abogados recomiendan ser extremadamente cautelosos en las redes sociales para no basar las decisiones en factores discriminatorios. Las redes son útiles, pero somos humanos, y es difícil ver la página de Facebook, Twitter o Instagram de un individuo sin formarse una o dos ideas preconcebidas."}},"presenters":[{"path":"accounts/u-2oiEGKDxJ1NPvVxB9LmFrvkLaPB2","description":"FrontEnd Developer.\nHago cosas random en mi tiempo libre.","reimburseExpenses":false,"uuid":"v4n3ss4ms","name":"vanessa skw","avatar":"https://storage.googleapis.com/users.koliseo.com/users/u-2oiEGKDxJ1NPvVxB9LmFrvkLaPB2/avatar/a1b4046d34.avif","id":"u-2oiEGKDxJ1NPvVxB9LmFrvkLaPB2"}],"id":"yM8ESoM051NGOUsNqc2u"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/z10H6wtscDRkEFOsCiIG","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"Mi bot es más que yo","description":"Propongo un workshop en el que crearemos un **chatbot**. Le daremos personalidad, y será capaz de tener conversaciones multi-turno además de responder a preguntas sencillas.\n\nPara ello, en esta ocasión, programaremos en *.NET Core* con *Microsoft Bot Framework* (ambos **open source** y **multiplataforma**), la nube *Microsoft Azure* y el servicio cognitivo *QnAMaker*.\n\nVoilà, tendremos bot ¡gratis!\n\nLos requisitos para el workshop serán:\n\n- Un ordenador con *[Visual Studio](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16)* o *[Visual Studio Code](https://code.visualstudio.com/docs?dv=win&wt.mc_id=DX_841432&sku=codewin)* instalado\n- *[.NET Core](https://dotnet.microsoft.com/download/dotnet-core)*\n- [Bot Framework Emulator](https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v4.6.0)\n- Una subscripción de Mirocrosoft Azure. Puedes conseguir una trial de 12 meses gratuita [aquí](https://azure.microsoft.com/en-us/free/)\n\nPodéis encontrar [aquí](https://github.com/esalcedoo/Multiturn-QnA-Bot-Workshop) el workshop que vamos a seguir","created":1559512551795,"bookmarkCount":13,"recordingAuthorized":false,"tags":{"39153":[" Intermediate"],"70b46":[" Lab"],"0db80":[" AI"],"1f174":["Spanish"],"92508":[".Net"]},"highlights":{"status":"NOT_PROCESSED","origin":"LLM","values":{}},"presenters":[{"path":"accounts/l-417084001","description":"Me divierto programando bots, trabajo montando legos. Algún día mis bots montarán legos.","reimburseExpenses":false,"uuid":"esalcedoo","name":"Elena Salcedo","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-417084001/avatar/11bbe157f9.avif","twitterAccount":"ESalcedoo","id":"l-417084001"}],"id":"z10H6wtscDRkEFOsCiIG"},{"path":"events/yGSkzEMny7znzdctRu3V/sessions/zzvkHrJ20wu7fUiIVDp1","draftAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/x8kad6TXDQhDEZSLaWmN","publishedAgendaRef":"events/yGSkzEMny7znzdctRu3V/agendas/P-x8kad6TXDQhDEZSLaWmN","name":"UX y juegos de mesa","description":"**Estamos acostumbrados a oír hablar de la experiencia de usuario en materia digital o de servicios, pero también podemos encontrarla en otros mundos. ¿Te has planteado cómo afecta el UX a los juegos de mesa?**\n\n*Mansiones de la Locura, Mechs vs Minions, Dice Forge, Smallword, Star Wars Rebellion, Gloomhaven*… son algunos de los ejemplos de los que hablaremos en esta charla, donde os contaré cómo podemos mejorar la experiencia en los juegos de mesa antes incluso de empezar a jugar.","created":1558898732974,"bookmarkCount":47,"recordingAuthorized":true,"slidesURL":"https://docs.google.com/presentation/d/1WQSeYdA5fwsEp0fwsntniAQ9RYyXqHNKrGQm7riXEW0/edit?usp=sharing","videoURL":"https://youtu.be/kKHzs9JvLqg","tags":{"39153":["Beginner"],"70b46":["Talk"],"0db80":[" Design/UX"],"1f174":["Spanish"],"92508":[" None"]},"highlights":{"status":"PROCESSED","origin":"LLM","error":"INSUFFICIENT_VIDEO_COVERAGE","values":{"289":"Ejemplo de 'Mansions of Madness', destacando el problema del caos al abrir la caja y la solución con un inserto modulable.","513":"El juego 'Sub Terra' y cómo se juega con luz ultravioleta para una experiencia más inmersiva.","97":"Analogía visual entre diseño y experiencia de usuario: un camino diseñado que no coincide con el camino que realmente toma el usuario por ser más directo.","354":"El juego 'Zombicide' y su solución de diseño con peanas de colores para identificar a los personajes, facilitando la jugabilidad.","3":"Introducción de Maite Antolín, diseñadora UX, a su charla sobre UX y juegos de mesa en Commit 2019.","197":"Breve explicación del proceso de diseño de la experiencia de usuario, destacando las fases de investigación, diseño y testeo.","392":"El juego 'Chronicles of Crime' y su inserto que permite guardar las cartas en orden y su modo de juego con realidad virtual.","265":"Presentación de diferentes perfiles de jugadores de juegos de mesa: el del TOC, el de las prisas, el coleccionista, el que se queda sin espacio y el temático.","426":"Menciona la estantería 'Kallax' de IKEA, popular entre los jugadores de juegos de mesa, y el problema de tamaño del juego 'Catacombs'.","235":"Introducción a los juegos de mesa, enfatizando la gran cantidad de opciones y su coste.","145":"Afirmación de que la mejor experiencia de usuario es la que no se nota, comparándola con el bajo en un grupo de música: fundamental pero no prominente hasta que falla.","59":"Ejemplo para ilustrar la Experiencia de Usuario, comparando dos bares hipotéticos, 'Bar Manolo' y 'Bar Paco', idénticos en producto pero diferentes en experiencia.","478":"Presentación del juego 'Mechs vs Minions' y su inserto que permite un almacenamiento ordenado y rápido.","30":"Definición de Experiencia de Usuario (UX): interacción con un entorno o dispositivo que genera una percepción y emociones en el usuario.","319":"El problema de espacio con el juego 'Gloomhaven', la solución con el inserto y las expansiones que caben en la misma caja."}},"presenters":[{"path":"accounts/l-401304001","description":"Me encantan los libros, los cómics, los juegos de mesa y los animales (sobre todo mi gato). Cuando era pequeña descubrí la que quería que fuese mi profesión: “ser como la abuela”. Cuando entendí que no podías trabajar de 'abuela', decidí ser artista, así que estudié Bellas Artes y trabajé como diseñadora y maquetadora gráfica offline durante siete años. Hace tres años oí hablar del mundo de la Experiencia de Usuario, donde resulta que se mezclan dos de mis pasiones, la psicología (una de mis carreras frustradas) y el diseño, y decido darle un giro a mi carrera profesional. Me apasiona entender a las personas y me encanta convertir las cosas complicadas en lo más sencillas posibles. ","reimburseExpenses":false,"uuid":"maite-antolin-ayuso","name":"Maite Antolin Ayuso","avatar":"https://storage.googleapis.com/users.koliseo.com/users/l-401304001/avatar/46f7c965df.avif","twitterAccount":"Maitea83","id":"l-401304001"}],"id":"zzvkHrJ20wu7fUiIVDp1"}] Skip to content