Let Command Line Be Your Pilot (on Linux)
English Intermediate
"Whether it's in the midst of an incident, looking into an intermittent issue or a post event investigation to get to the bottom of a root cause, command line tools are the unsung heroes that come to our rescue again and again. In this talk, I'll go over the tools and techniques that helped me uncover insights during issues or incidents.
OAuth for Java Developers
English Intermediate
"You can use OAuth to secure apps, APIs, and devices. OAuth has become increasingly popular, especially as developers are asked to knit together hundreds of apps and thousands of users in enterprise environments. In this session, I’ll provide you with a state of the OAuth ecosystem in Java. You’ll learn which frameworks support OAuth and which ones don’t. I’ll also offer some practical examples you can run in just a few minutes."
Evolving your APIs, a step-by-step approach
English Beginner
When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. How do you evolve your API without breaking the contract with your existing users?
In this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.
Construyendo Tinder
Spanish Intermediate
Cuando pensamos en las grandes empresas de internet siempre vemos el resultado actual, gigantes tecnológicos que dan soporte a miles de usuarios cada segundo, pero... ¿cómo nacen? ¿cómo cambia su tecnología para permitirles evolucionar? ¿cómo se organizan para soportar el crecimiento?
En esta charla vamos a construir nuestro propio tinder, vamos a ver qué tecnología se adecúa mejor en cada fase de su desarrollo, cuáles son los baches que hay que sortear e incluso cómo nuestra organización debe amoldarse al crecimiento de la compañía.
¿Tienes muchos getters y setters? Representa tu negocio en código
Spanish Intermediate
Esta charla es una introducción a cómo mejorar la forma en que representamos nuestro negocio en el código. A menudo, es fácil caer en la tentación de utilizar getters y setters para acceder y modificar los atributos de nuestras clases. Sin embargo, esto puede llevar a un modelo anémico que no refleja adecuadamente nuestro negocio y que es difícil de entender y mantener.
Building an elastic and fault tolerant videoconference stateful service
Spanish Advanced
An elastic and fault tolerant stateless service is easy to build using replicas and a load balancer. But stateful services are much more difficult to create. In this talk we are going to present the different strategies we followed to create an elastic and fault tolerant version of OpenVidu, a platform for embedding videoconfereces in any web site or mobile app. We will see how we can take advantage of services offered by cloud providers like AWS, but as them are not available when deploying on premises, it is needed to take other approaches. We will see also the limitations we faced when supporting Kubernetes.
Beneficios y dificultades que (quizá) no pensaste de usar Event-Sourcing
Spanish Intermediate
Es probable que hayas oido muchos conceptos relacionados sobre las Event-Driven architectures tan utilizadas estos días. En esta sesión vamos a centrarnos en Event-Sourcing, y la pondremos en su contexto y compararemos con otros mecanismos de comunicación basada en eventos. En concreto, responderemos a tres preguntas muy concretas: - El qué: ¿Qué es exactamente Event-Sourcing? ¿Y cómo se diferencia de otras técnicas relacionadas con Arquitecturas Event-Driven? - El Porqué: ¿qué te aporta Event Sourcing en tu caso? - El cómo: ¿Qué debes tener en cuenta y cómo debes implementar Event-Sourcing para obtener lo máximo de sus beneficios (y evitar algunos dolores y problemas incómodos)?
Hack-Proof The Node.js runtime: The Mechanics and Defense of Path Traversal Attacks
English Advanced
These days of cyber warfare and targeted supply chain attacks on open source packages we developers are more attentive to security vulnerabilities. Yet writing secure code to avoid security vulnerabilities is an entirely different paradigm that needs to be mastered. One such vulnerability is Path Traversal, and while it may sound harmless, it is in fact ubiquitous and presents a significant risk. Learn how path traversal vulnerabilities manifest in your own applications' code to dependencies to core modules in the Node.js runtime. Path traversal vulnerabilities may endanger your local development setup and lead to insecure Node.js applications risking your production environment. Join me to gain a new secure coding skill and learn how to mitigate this set of security vulnerabilities.
Arquitecturas dirigidas por el diálogo
Spanish Intermediate
La construcción ágil de software es cada vez más demandada. Esto plantea un importante reto en los procesos de desarrollo. Los modelos de solución actuales no dan respuesta a este problema. Contrariamente a lo que plantean muchos frameworks se impone una inversión de control en la arquitectura donde el producto se impulse desde la experiencia.En esta charla revisaremos estas ideas y explicaremos porqué éste es el camino del futuro en los productos digitales. Aprenderémos cómo crear soluciones dirigidas por el diálogo, centradas en la interacción y basadas en arquetipos aprovechando las capacidades de APIs hypermedia en el back y de orientación a componentes en el front. Esta es la continuidad natural de mis dos últimas charlas en codemotion. Una sesión que sin duda no deberías perderte.
Testing Continúo: Pipelines CI/CD
Spanish Beginner
Integrar la calidad en cada fase del ciclo de vida de la entrega de software no es fácil, pero reducir el riesgo y mejorar la calidad de las aplicaciones es obligatorio en un mundo tecnológicamente competitivo. ¿Cómo podemos mejorar nuestras Pipelines de CI/CD para lograr este objetivo? Esta charla os guiará a través de diferentes ejemplos de pruebas tempranas, automatización generada directamente a partir de requisitos, lo que permite que cualquier equipo aprenda basándose en feedback continuo. Explicaremos las distintas prácticas DevOps y cómo participa el QA en ella, el rol de QAOps. La charla incluye una DEMO con la herramienta Gitlab CICD para crear pipelines sin conocimientos previos y veremos como lanzar pipelines que incluye test unitarios, tests de API y tests de Cypress."
Testcontainers y Spring Boot
Spanish Intermediate
Es 2023 y ya hemos dado por sentado que tenemos que testear nuestras aplicaciones. Escribimos test unitarios sin problemas y somos relativamente felices. Pero ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring? Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker. En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
El futuro de Java
Spanish Beginner
¿Está Java muerto? En esta charla haré un recorrido de Java desde sus inicios hasta hoy para poder hablar de su futuro próximo y lejano. Hablaré también de cómo están evolucionando los frameworks más utilizados y cómo se están adaptando para escribir aplicaciones nativas destinadas a la nube. Por el camino os ayudaré a ver si Java está muerto o es una apuesta de futuro que te catapulta al éxito profesional como desarrollador.
Building rugged APIs and surviving while trying...
Spanish Intermediate
With its recent breaches, 2023 is promising to become the year API security becomes the number one concern for organizations. API security poses unique challenges to builders and defenders, and many of your existing protection measures prove to be ineffective. This talk starts with a crash course on the OWASP API Security Top 10. We then analyse the biggest API breaches over the past 18 months, looking at what went wrong, the impact, and most importantly, how to prevent such attacks. Finally, we present the top techniques for protecting your APIs from attack, starting with secure development practices through to API protection and threat detection. The content will be technical, with demos and code samples.
Flying a drone with Twitter, bananas & Web APIs
English Not Technical
In this talk, I show the audience the power of APIs and discuss a few cool experimental APIs. I do this by taking them through on a journey through my experience of trying to hack a drone and fly it with a banana. If you're interested in all things web, custom controllers, Bluetooth technology and accelerometer-based controls or if you just like fruit and seeing silly applications of technology, this talk is for you
Front to the Future
Spanish Beginner
Después de años de evolución en el frontend nos hemos complicado tanto la vida que tenemos que volver a los orígenes. ¿De qué herramientas disponemos hoy para hacer frontend? ¿Qué librerías podemos dejar de utilizar gracias a los estándares web? Veremos muchas utilidades que podemos usar ya que nos ahorrarán dependencias y ganaremos en rendimiento.
Antes de los microfrontends, ¿es posible un front modular?
Spanish Intermediate
Las ideas de dominio, arquitecturas limpias durante años se han relacionado en el mundo web con el backend, pero cada vez más hablamos de apis ricas en backend y nuestros fronts contienen más lógica. Mi charla está dirigida a enseñar los beneficios de este tipo de arquitecturas para protegernos de los contínuos cambios tecnológicos en el front. La charla sería un live coding, con un problema del que iríamos descubriendo su solución en base a hacernos preguntas sobre el código y lo que queremos conseguir.
Stop using JavaScript for that: moving features from JS to CSS and HTML
English Intermediate
Common patterns implemented with JavaScript are being replaced with "native" CSS and HTML equivalents that end up being more performant, more accessible and more resilient. Features like accordions, Autosuggest, smooth scrolling, dialogs, parallax scrolling and more no longer need JavaScript to work. We'll walk through common JS features that now have CSS and HTML equivalents that you can use, or will soon be able to use.
Micro-frontends with Svelte & Module Federation
English Intermediate
Microservices nowadays is a well known concept and maybe you are using it in your current company. Do you know that now you can apply similar ideas in the Frontend? Today we already divide the Frontend into several components at development time, but at compile time these components are merged into one monolithic Frontend and this is where this new architecture comes into play.
Experiencias excepcionales en tiempos de incertidumbre: el poder de la empatía en el diseño UX
Spanish Intermediate
La pandemia ha cambiado radicalmente la forma en que vivimos y trabajamos, y muchas actividades esenciales se han transformado a formatos digitales. ¿Cómo podemos crear experiencias que respondan a las necesidades de los usuarios en tiempos de crisis? En el contexto actual de incertidumbre, es fundamental que como diseñadores estemos a la altura de las necesidades de los usuarios. En esta charla, se explorará el papel crucial que desempeña la empatía en la creación de experiencias excepcionales. Aprenderás cómo diseñar con inteligencia emocional puede ayudar a los usuarios a superar las dificultades, y a través de ejemplos prácticos, descubrirás cómo reducir la ansiedad y crear soluciones excepcionales que satisfagan las necesidades de los usuarios en estos tiempos sin precedentes.
Accessible Maps
English Advanced
Location Data and Maps are becoming more and more important nowadays in applications. However, while they make lives easier for many people, others still suffer from using them. Let’s understand why accessibility in maps is essential, see how to make a Google Map more accessible, and find out about still unsolved problems.
Clean Arch. on the frontend: The day after
Spanish Advanced
You have done it. You've managed to apply clean architectural principles to your front-end code. But you still have many challenges to solve. How do you optimally send your use cases to the client? How do you make sure you have observability of what is going on? How do you manage to maintain a similar code among all developers? How do you make it coexist with the concept of isomorphism? These and other questions we will try to solve in this talk.
Getting Started with SolidJS
English Beginner
SolidJS, which won the OSAwards for 2022 breakthrough of the year, is a JavaScript framework for building fast, declarative UIs on the web. It shares many ideas with React but does not use the virtual DOM to deliver a more performant and pragmatic developer experience. Is SolidJS better than React? Let's find out. In this presentation, I will discuss the following: what's different about SolidJS, what are the benefits of SolidJS, and what's the first step with SolidJS. I will also discuss things that are different between Solid and other frameworks. Also, how easy it is to share state, how to pull data from an API, what happens to a fetch on SSR, and what the tradeoffs are in SolidJS.
Mejora la UX de tu web optimizando las imágenes
Spanish Intermediate
Uno de los recursos de más peso en nuestras webs son las imágenes, optimizarlas mejorará la User eXperience, así como adaptarlas el tamaño correcto según el dispositivo, y servirlas formatos de nueva generación según el soporte. En esta charla veremos: - Formatos de nueva generación - Compresores y aplicaciones de optimización - Responsive images - Optimización automática - Validación del nivel de compresión - Optimización de la carga para mejorar la Web Performance Después de la charla, serás capaz de mejorar las imágenes de tu web para conseguir una mejor experiencia.
Turning Awareness into Action: How to Make a Real Difference in Accessibility
English Intermediate
This talk will focus on how to turn awareness of accessibility issues into actionable steps to make a real difference on the web. We will discuss how to develop expertise in accessibility, how to perform accessibility testing, how to learn to use a screen reader, and how to effectively work with people with disabilities. We will explore how to leverage ARIA and WCAG for compliance, and how to use them to create an inclusive and accessible web experience for all users. With practical advice and real-world examples, this talk will provide tools and resources to help make a meaningful contribution to the world of accessible web development.
Playwright can do this?
English Beginner
"Guaranteeing that your application doesn't break while constantly shipping new features is tough. Obviously, with a continually growing app or site, you can't test everything manually all the time! Test automation and monitoring are crucial to avoiding shipping broken apps and sites. But what functionality should you test? When should you run your tests? And aren't complex test suites super slow? In this session, we'll get our hands on Playwright, the end-to-end testing framework, and learn how to automate headless browsers to ensure that you confidently ship new features."
¿Cómo construir mal Software?
Spanish Intermediate
Hay demasiadas charlas hablando de cómo desarrollar buen Software. Sin embargo, crear mal Software requiere de disciplina, perfeccionismo y un gran nivel de dedicación y artesanía. En esta charla aprenderás a crear Software verdaderamente engañoso, que parece que hace una cosa pero que hace otra muy distinta. Lograrás crear código que, modificándolo, se romperán partes de la aplicación que aparentemente no tienen relación alguna. Introducirás tanta entropía en los proyectos, que tus compañeros de equipo se replantearán por qué eligieron la programación como carrera. ¡Únete a esta charla y creemos juntos Software que haría vomitar a una cabra!
Front to the future
Spanish Intermediate
Después de años de evolución en el frontend nos hemos complicado tanto la vida que tenemos que volver a los orígenes. ¿De qué herramientas disponemos hoy para hacer frontend? ¿Qué librerías podemos dejar de utilizar gracias a los estándares web? Veremos muchas utilidades que podemos usar ya que nos ahorrarán dependencias y ganaremos en rendimiento.
Antes de los microfrotends, ¿es posible un front modular?
Spanish Intermediate
"Las ideas de dominio, arquitecturas limpias durante años se han relacionado en el mundo web con el backend, pero cada vez más hablamos de apis ricas en backend y nuestros fronts contienen más lógica. Mi charla está dirigida a enseñar los beneficios de este tipo de arquitecturas para protegernos de los contínuos cambios tecnológicos en el front. La charla sería un live coding, con un problema del que iríamos descubriendo su solución en base a hacernos preguntas sobre el código y lo que queremos conseguir."
Gateway API: The new way to travel North/South
Spanish Intermediate
In this talk we will introduce and demo the new Gateway API, its benefits and how it compares to Ingress. By the end of the talk you will be able to understand the difference between the two APIs and the path to migrate from one to the other.
Cómo hacer migraciones masivas a la nube y no morir en el intento
Spanish
Advanced
En ésta charla, vamos a revisar cómo se planifican, realizan y se validan migraciones a gran escala hacia la nube. Las migraciones masivas son la forma mas rápidas de adoptar la nube a gran escala en la mayoría de las organizaciones, pero no son sencillas, requiren de mucha planificación y entender muy bien nuestras aplicaciones y la infrastructura que las sostiene.
Baking in Reliability
English Intermediate
The last few years saw a log of interest in Site Reliability Engineering (SRE). Ever since Google published the first SRE book there was an “explosion” in interest in the subject. Many saw it as an approach to implement DevOps. Others said it was a DevOps evolution. Regardless, SRE is here to stay. Moreover, reliability is here to stay. But how would you approach if you were tasked with implementing “reliability engineering”? What would be the steps you would take to achieve that audacious goal, both cultural and technical? That’s precisely what we’ll explore in this talk. We’ll talk about practical advice on how to get started but also go to get the ball rolling. We’ll discuss culture and tech and how they have to work together if you wish to prioritize reliability engineering.
Productionizing Big Data - Stories from the trenches
English Intermediate
Knowledge about various tech tools and hands-on experience is essential. But there’s something that is hard to get from books and courses: experience running production applications. With real data that can have anomalies or changes over time the experience of using a specific tech stack becomes completely different. Having an ideal image of how the system should work might not help when something goes wrong. In this talk, you will learn how to deal with various production issues like data evolution, anomalies, fixing errors in past data, dealing with real-time data, and more.
Desentrañando el misterio de los transformers
Spanish
Beginner
En los últimos meses la palabra transformer ha comenzado a aparecer en secciones de tecnologías, post tecnológicos debido a la aparición de sistemas basados en IA como DALL·E 2, IMAGE, ChatGPT o Bard. Estos sistemas utilizan en su mayoría redes de neuronas profundas basados en transformers que le permiten extraer información del contexto de las palabras de entrada mediante la utilización técnicas de atención y auto-atención. En esta charla, describiré que es un transformer, como funciona, cómo podemos construir o reutilizar uno para construir nuestros sistemas de NLP y ver como encajan dentro de las arquitecturas de los nuevos sistemas que parecen que están revolucionando el mundo de la IA.
Ya sé Machine Learning pero siento que no estoy preparada para el mundo real…
Spanish
Intermediate
ChatGPT, Stable Diffusion, Dall-E… Machine Learning está en boca de todos y seguro que habéis jugado con estos sistemas. Pero es muy diferente jugar con ellos que desarrollarlos e integrarlos en tu negocio. Después de años como desarrolladora hice un máster sobre Machine Learning. Aprendí a desarrollar modelos, llegué al mundo real y descubrí que tenía un montón de conocimientos que solo podía usar en mi máquina. El reto está en construir sistemas de Machine Learning integrados con nuestros productos y que se puedan monitorizar de forma continua. Os contaremos todos los problemas que tenemos y los que ya hemos resuelto para usar Machine Learning en producción. Si quieres ser parte del futuro del desarrollo del software te va a encantar todo lo que te vamos a enseñar.
But Will It Scale?
English
Not technical
Trust is essential. People who trust each other are more likely to share information (and code) and collaborate effectively. But how do you build trust remotely, and how do you do it at scale? In this talk, we will discuss how to build and maintain trust in teams, relationships, and organisations.
Complejidad en sistemas y sobreingeniería
Spanish
Not technical
En esta charla pretendo sobre todo hacer pensar y dar lugar al debate posterior sobre la complejidad actual que establecemos de base para cualquier sistema, arquitectura informática o proceso.
Making complexity simple
English
Not technical
In this talk, we will discover how design principles can be applied to make advanced and abstract computer science concepts accessible to everyone. We will start by choosing four algorithms of increasing complexity and abstraction, explaining them from a programmer's point of view, and how to make them accessible to everyone (nontechnical people) thanks to the application of a framework developed for this specific situation.
How regular expressions made my dog less reactive
English
Not technical
Let’s face it: Regular Expressions are intimidating. As soon as we know we have to deal with them, we open StackOverflow. Someone has the answer. We might not know if it’s correct, but at least we can write some tests around it. What if I tell you, that my dog, Hugo, with serious fear for everything unknown, moving or not moving, big or small, became less reactive – with the help of regular expressions? What if I tell you, that I believe that I got my dream job at thoughtbot – thanks to regular expressions? This talk will give you the answers and a guideline to understand regular expressions.
Lo que te gustaría saber... y no te atreves a preguntar
Spanish
Non Technical
Las entrevistas de trabajo y procesos de selección no son solo de una dirección. Tú también puedes preguntar a quien te entrevista...¡y deberías! ¿Es buena idea hablar de salario en la primera entrevista? (spoiler: sí) ¿Debería preocuparme quién pone la pasta en la empresa, aparte de las tech utilizadas? ¿Cómo vais a saber si he sido una buena contratación, y cómo sabre yo si no me he equivocado viniendo aquí? ¿Debo preguntar lo mismo como senior o junior? Hay mucho contenido sobre qué te pueden preguntar, pero no tanta reflexión sobre lo que debemos preguntar como candidatos o candidatos. En esta charla vemos casos prácticos que nos ayudarán a preparar nuestro próximo proceso.
¿Cómo introducir innovación en el DNA de las empresas del siglo XXI?
Spanish
Non Technical
Uno de los mayores retos a los que se enfrentan las organizaciones, es el impulsar la creatividad e innovación dentro de sus empresas. La palabra innovación está en todas las conversaciones corporativas, como si se tratase sólo de una tendencia de moda. Pero la innovación no es una moda, sino una necesidad imperante!
A pesar de numerosos talleres de Design Thinking y hackatones, las empresas tradicionales fracasan a la hora de desarrollar una cultura de disrupción.
En esta charla, analizaremos los diversos enfoques que se requieren para establecer una cultura creativa y mantenerla como un recurso sistemático de la organización. Observaremos algunos ejemplos de éxito en la industria, para asi poder transformar una empresa tradicional en una organización orientada a la innovación.
Cocinando una gran DX: Consejos de Chef para developers
Spanish
Non Technical
¿Os habéis preguntado por qué algunos desarrolladores son felices mientras que otros parecen estar atrapados entre los fogones del código? La Developer Experience (DX) se ha convertido en un tema crucial: Afecta a la productividad, la calidad del código y, especialmente, la satisfacción de los desarrolladores. Discutiremos aspectos clave como la facilidad de uso, la documentación clara, la retroalimentación o la importancia del onboarding. También hablaremos sobre cómo escuchar a los desarrolladores y estar dispuestos a realizar cambios y mejoras basados en sus comentarios. Al final de la charla entenderemos por qué una buena DX es tan importante para el éxito en el desarrollo de software, y cómo una mala DX puede convertir a los desarrolladores en sus peores enemigos.
Post Quantum Cryptography Apocalypse
English
Advanced
Quantum computers are real and are starting to be used for some interesting applications. As well as many applications in finance, organic chemistry and complex dynamical systems there is an ugly elephant in the room. That elephant is Shor's algorithm. Given a sufficiently powerful quantum computer, Shor's algorithm can factorise numbers in polynomial time. I have implemented it on a quantum simulator and it has been used on real quantum computers. When quantum computers are powerful enough nearly all the encryption techniques that we currently rely on will be useless. The time is still far off when RSA will be useless but I will share some compelling reasons why we need to be taking action right now to avoid potential catastrophe in the not too distant future.
Hacking you home utility systems to save energy
English
Advanced
The COVID-19 pandemic, the transition to sustainable energy, the energy crisis. All major events that that have turned the world upside down. In order to do my bit I decided to put matter in my own hands. First, you will learn how to use some electrical engineering to build a controller for your ventilation system, and how to use sensors to monitor it. Second, you will learn how to automate the ventilation system. Third, I will show you how I tapped into my central heating. Next, you will learn how to bring the central heating and controller together to automate the ventilation system. Last but not least, I will share how I extract data from a solar inverter which opens up possibilities of smart energy management.