Program for Opensouthcode 2019

Bienvenida a Opensouthcode 2019
presented by David Sedeño
Bienvenida a Opensouthcode 2019
09:45 - 10:00 Sala 1 - Flightgear
Docket con Docker: springfox con swagger 3 para microservicios
presented by Pedro
Veremos cómo documentar nuestras APIs REST usando Dockers con con Spring (con su módulo SpringBoot para exponer las APIs) y SpringFox, una librería que ofrece tanto el documento de especificación Swagger como una interfaz web para entender (incluso probar) nuestras APIs REST.
10:00 - 12:00 Aula 1 - Minetest
Enganchado a React Hooks
presented by Braulio
El equipo de React la ha vuelto a liar :-) han sacado en una release menor, una nueva aproximación para programar componentes funcionales con estado, ¿Te apuntas a ver que han hecho estos chicos y como va a afectar a la forma que vas a desarrollar en los próximos años?
10:00 - 10:45 Sala 3 - Freeciv
IaC: Gestiona tu infrastructura como código con Terraform
presented by Gonzalo
IaC (Infrastructure as code) es el proceso de gestión de una infraestructura (cloud o bare metal) mediante ficheros de configuración en lugar de configuraciones manuales. De este modo intentamos automatizar la creación, o incluso replicación, de nuestro entornos evitando fallos humanos, compartiendo el conocimiento (que antes sólo tendrían los administradores de sistemas que desplegaran dicho e...
more 10:00 - 10:45 Sala 1 - Flightgear
Añadiendo seguridad a React Apps con Auth0
React y seguridad en el lado del cliente de la mano.
presented by Daily Miranda Pardo
En esta charla podrás ver contenidos que te permitirán saber cómo manejar la autorización y autenticación en tu aplicación React. Implementar el inicio de sesión, registro y las llamadas seguras a la API utilizando los protocolos de seguridad modernos, incluidos OAuth 2.0, OpenID Connect y JWT tokens. Conocerás los scopes, roles y reglas de OAuth. Podrás ver como hacer el al...
more 11:00 - 11:45 Sala 3 - Freeciv
Creando aplicaciones multi-tenant
presented by Nacho Fanjul
La mayoría de las veces, cuando hablamos de desarrollar aplicaciones para cloud, podemos cometer el error de no tener en cuenta una serie de factores que influyen a la hora de plantear la arquitectura de nuestras soluciones. Uno de los factores más comunes es como gestionar los datos de cada cliente. Venimos de una vida donde la infraestructura es on-premise, en la que cada cliente tiene una in...
more 11:00 - 11:45 Sala 1 - Flightgear

QA en SEO
Cómo hacer visible un proyecto web
presented by Beatriz, Carlos Bonilla
Si nadie encuentra en Google un proyecto web en el que se ha trabajado durante meses, ¿de qué sirve todo ese esfuerzo? Carlos Bonilla (QA) y Bea González (SEO) te cuentan cómo hacer QA al SEO. QA y SEO son los grandes olvidades en los proyectos tecnológicos pero juntos, contribuyen a que sean un éxito. A través de una charla interactiva con ejemplos prácticos, Carlos y Bea te darán una buena co...
more 11:00 - 11:45 Sala 2 - 0 A.D.
Manteniendo el estado a raya con Vuex y Typescript
presented by lissette.ibnz
¿Estás cansado de que tus datos cambien sin saber por qué y que los componentes trasteen con ellos a su antojo? ¡Átalos en corto con Vuex! Vuex es una librería que te permite mantener un store centralizado para todos los componentes de tu aplicación realizada con Vue. Está inspirada en el patrón de Flux por lo que se basa en el concepto de one-way data flow. En esta charla veremos cóm...
more 12:00 - 12:45 Sala 3 - Freeciv
Transforma tu Monolito con HMVC
presented by Luis Majano
En esta presentacion exploraremos el problema mas grande de nuestra industria: Las Aplicaciones Legacy. Estas no discriminan el lenguaje o plataforma de uso. Exploraremos el problema y nos devolveremos a la escuela de arquitectura para ver como podemos transformar estos monolitos a plataformas de grande escala ocupando HMVC (MVC Jerarquico) y Microservicios. No tengas miedo que juntos ba...
more 12:00 - 12:45 Sala 1 - Flightgear
Pipelines de entrega continua multilenguaje con Jenkins y Docker
presented by Jorge Hidalgo
En el taller mostraremos cómo desatar el poder de Jenkins y Docker para hacer pipelines de entrega continua para Java (Maven, Boot), JavaScript (Node, Webpack) y Python (pip, Flask). Empezaremos desde la base, montando Jenkins sobre Docker. Introduciremos los conceptos principales de pipelines-como-código con Jenkinsfile, y construiremos los pipelines paso a paso desde lo más sencillo a lo más...
more 12:00 - 14:00 Aula 1 - Minetest
Programación de videojuegos 2D con Phaser
Aprendizaje avanzado de programación a través de la creación de videojuegos
presented by Sergio Banderas Moreno
Sergio Banderas es profesor de Informática en la FP del IES Campanillas en el PTA (Málaga) twitter: @sergiflags En los últimos cursos ha empleando la programación de videojuegos para ampliar el ecosistemas de tecnologías usadas en programación web (NodeJS, webpack, babel, socket.io, ES6, autenticación, diseño, despliegue, etc) http://iescampanillas.com/2018/12/...
more 12:00 - 12:45 Sala 2 - 0 A.D.
Contentful, Netlify y el gran Gatsby
presented by Daniel Sánchez Muñoz
En esta charla veremos el set perfecto de herramientas para crear web sites de manera simple y con las últimas tecnologías.
13:00 - 13:45 Sala 3 - Freeciv
Strimzi: Where Kafka meets OpenShift
Managing your Apache Kafka cluster by Strimzi
presented by Roman Martin Gil
Apache Kafka is the most used data streaming broker by companies. It could manage millions of messages easily and it is the base of many architectures based in events, micro-services, orchestration, ... and now cloud environments. OpenShift is the most extended Platform as a Service (Paas). It is based in Kubernetes and it helps the com...
more 13:00 - 13:45 Sala 1 - Flightgear

Kubevirt 101
presented by Juan Manuel Parrilla, Sergi
Kubevirt 101
In this session we will talk about what is KubeVirt and how it works under the hood on a Kubernetes platform. KubeVirt is a project that allows users to create and manage virtual machines within a Kubernetes cluster. Attendees will walk away with the following: - Understanding of KubeVirt installation.
- Understanding of the basic KubeVirt objects and components.
- Unders...

From data gathering to visualization: How to measure software development?
How software development metrics can bring your business to the next level
presented by Valerio
With more and more digitized companies and software being a crucial asset to gain competitive advantage, some firms choose to beat competition adopting Open Source to boost innovation. However, this journey requires a clear Software Data Strategy to succeed.
This data-driven approach creates new ways to gather and visualize data to better find meaningful insights among software development a...
more 15:30 - 16:15 Sala 1 - Flightgear
WP-CLI - Automatiza tus tareas y tómate un café
En esta charla aprenderemos a usar la herramienta WP CLI, la herramienta de línea de comandos para gestionar nuestros sitios WordPress.
presented by fcjurado
En esta charla aprenderemos a usar la herramienta WP CLI, la herramienta de línea de comandos para gestionar nuestros sitios WordPress. Veremos como WP CLI permite: - Instalar WordPress - Actualizar WordPress: plugins, temas, traducciones y core - Importar y exportar contenido de uno o varios sites - Importación masiva de imágenes - Regenerar miniaturas - Realizar copias de seguridad de la base...
more 15:30 - 16:15 Sala 2 - 0 A.D.
Desarrollo web basado en Microservicios
Repaso a las herramientas Open Source más utilizadas para crear y desplegar aplicaciones web basadas en Microservicios.
presented by Francisco Sánchez
Empezaremos con una breve introducción de lo que significa desarrollar una app web con la mente puesta en microservicios, ventajas e inconvenientes, mencionando famosos casos de éxito por el uso de microservicios como Netflix, Spotify o Amazon. A continuación daremos un repaso a las principales herramientas open source que nos pueden ayudar a crear y desplegar aplicaciones web basadas en micros...
more 15:30 - 16:15 Sala 3 - Freeciv
Trabajando con Genesis Hooks
Los hooks ofrecen una manera de escribir código personalizado, alterando el comportamiento de WordPress
presented by Luis
Los hooks ofrecen una manera de escribir código personalizado, alterando el comportamiento de WordPress y Genesis. En esta charla, veremos cómo trabajar con los hooks de Genesis y la manera de encontrar el hook más adecuado para tus funciones personalizadas.
16:30 - 17:15 Sala 2 - 0 A.D.
Across the tidyverse - Análisis y visualización de datos con R
presented by Joaquín Morís
R es un lenguaje de programación destinado al análisis de datos y a día de hoy es una de las alternativas más populares y potentes para este tipo de tareas. Además de ser software libre, tiene una amplia comunidad que continúa extendiendo el lenguaje y mejorando su funcionalidad. Tidyverse es una colección de librerías de R diseñadas ...
more 16:30 - 17:15 Sala 1 - Flightgear
Node + TypeScript
presented by Jaime
En esta ponencia haremos una retrospectiva del uso de Node junto con TypeScript, configuración, debugging, y goodies del typing estático.
16:30 - 17:15 Sala 3 - Freeciv
Arquitectura Angular S.O.L.I.D. Cómo diseñar una aplicación web mantenible y extensible
Arquitectura Angular S.O.L.I.D.
presented by José Antonio Suárez Guerrero
Analizaremos cómo diseñar una aplicación web usando Angular 7, mantenible y extensible, presentando una arquitectura de referencia basada en los 5 principios fundamentales de OOP o Desarrollo Orientado a Objetos S.O.L.I.D:
- Single Responsibility.
- Open/Closed.
- Liskov Substitution.
- Interface Segregation.
- Dependency Inversion.
Present...
more 17:30 - 18:15 Sala 3 - Freeciv
Taller de Lenguaje R: Aprendiendo a realizar análisis de datos usando R: "Inserción-movilidad de nuestros titulados"
presented by ANGEL MORA
#Taller de Lenguaje R Aprendiendo a realizar análisis de datos usando R: "Inserción-movilidad de nuestros titulados".
El lenguaje R se ha destacado entre los más interesantes como herramienta para el análisis de datos en las áreas de ciencia de datos, big data. Nació como un lenguaje de estadística y para estadísticos y está alcanzando una madurez que ha hecho que las grandes empresas c...
more 17:30 - 19:30 Aula 2 -Wesnoth
Desarrollo de bloques de WordPress Gutenberg con React
presented by Fran Pérez Gómez
Gutenberg, el nuevo editor de WordPress basado en bloques, está cambiando el modo de trabajar y desarrollar con este gestor de contenidos. Una de sus novedades es el cambio en el stack de tecnologías, que han convertido a JavaScript en la principal herramienta de desarrollo para este editor.
Las posibilidades que nos ofrece Gutenberg se hacen casi infinitas cuando podemos crear nuest...
more 17:30 - 18:15 Sala 2 - 0 A.D.
OpenStack: tu cloud privada. Lo bueno, lo feo y lo malo.
presented by Pablo Martínez Schroder
Una introducción de OpenStack, que te permitirá disfrutar de una cloud privada o pública con tecnologías Open Source. Una introducción y demo sobre el producto.
17:30 - 18:15 Sala 1 - Flightgear

Wikimedia Commons, cuando una imagen vale más que mil artículos
presented by Pedro Pacheco, JuanCamacho
Introducción al Repositorio Multimedia de contenido libre, Wikimedia Commons y su relación con los demás proyectos Wikimedia.
18:30 - 19:15 Sala 1 - Flightgear
JSON con Circe y otras librerías de Typelevel
Un paso adelante en tu viaje hacia la programación funcional
presented by Jose Miguel Martinez
JSON, ese formato omnipresente en el mundo de las APIs, y aunque seguro que ya tienes una librería favorita para trabajar con él, déjame que con esta charla te ahorre horas de frustración y sepas transformar de JSON a scala y viceversa como un pro, y cómo puedes utilizar otras librerías del stack Typelevel para contruir tus APIs.
09:30 - 10:15 Sala 3 - Freeciv
microVM Containers: Lo mejor de ambos mundos
Diseños minimalistas de máquinas virtuales integrables con Contenedores y porqué.
presented by Alejandro Escanero Blanco
Las soluciones basadas en contenedores disponen de alta densidad y tiempos rápidos de despliegue pero carecen de las características de seguridad aislamiento y control del que disponen las máquinas virtuales. En está charla se hablará de aquellas soluciones que están buscando rellenar el hueco dejado entre ambos paradigmas y como cada proveedor orienta su solución a un cometido concreto.
Los...
more 09:30 - 10:15 Sala 2 - 0 A.D.
Cómo hacer test automáticos en aplicaciones iOS con Appium.
Appium, iOS, Testing, QA, Mobile Testing, Native
presented by Estefanía Fernández Muñoz
Cuando comienzas con la automatización de pruebas móviles, la primera herramienta que se te viene a la cabeza es Appium, y todo es maravilloso, sobre todo en Android ya que el 90% de los tutoriales que encuentras por internet son de Appium+Android+un Emulador, pero...¿Qué pasa con iOS?, ¿Es que las cosas de la manzanita no se prueban?, ¿Por qué?. Mi experiencia como Head de QA en una empresa de...
more 09:30 - 10:15 Sala 1 - Flightgear
Build an API with HMVC and BDD
Hierarchical MVC with Behavior Driven Development
presented by Luis Majano
In this workshop we will model and build an API using a Hierarchical MVC (HMVC) framework (ColdBox) and apply Behavior Driven Development (BDD) to the development process. We will begin with a short introduction to our tools and stack of choice, then continue to model and write the features stories of our API. From there we will use our tools to scaffold, write and t...
more 10:00 - 12:00 Aula 1 - Minetest

Talleres de creación de videojuegos en Scratch
Scratch Day 2019
presented by Ezequiel Antúnez, Jose Ortiz
Talleres de creación de videojuegos en Scratch
dirigido principalmente a publico infantil donde celebraremos el SCRATCH DAY 2019. En esta actividad los niños y niñas se dedican a crear juegos, principalmente basados en las competencias STREAM.
- Science - Ciencia
- Technology - Tecnología
- Read and writing - Lectoescritura
- Engineering - Ingeniería
- Art - Arte
- Mathema...

OOP to FP mindshift
Be ready for the great functional flow
presented by Dawid Furman
Functional programming seems super cool but ...
A good understanding of different paradigms is not an easy issue - it is like changing the culture chip and even more about some kind of mind-shift. Once we got it, your programming toolbox in terms of abstraction will be much richer than ever before.
Let's see how we can slightly move into the functional paradigm world:
- how we can expr...



Aplicación de patrones CI/CD modernos a Monorepositorios Multiaplicación Legacy - Del 1:1 al 1:N.
Un repositorio con cientos de proyectos no debe impedir que haga Integración Continua.
presented by José María Gutiérrez Ramírez, Juan Manuel Cintas Peña, Rafa Molina
En esta charla vamos a presentar una implementación que permite aplicar el modelo de Integración Continua/Despliegue Continuo (CI/CD) a repositorios, que pueden o no ser legacy, basándonos en un enfoque moderno a través de pipelines de Jenkins implementados con jenkinsfiles. La estrategia propuesta pretende solventar los retos que se plantean al trabajar con monorepositorios de código que a...
more 10:30 - 11:15 Sala 2 - 0 A.D.
Cómo Krita puede ayudarnos en nuestros procesos creativos
presented by Ramón Miranda
Mi nombre es Ramón Miranda www.ramonmiranda.com y uso Krita para ilustrar y enseñar pintura digital.
He colaborado con Krita desde hace años y he colaborado con el equipo de Gimp e Inkscape. El tema que sería interesante tratar es enseñar cómo colaborando con proyectos de software libre pueden surgir oportunidades laborales, como pasó con Digital Atelier ( https://krita.org/en/item/introduc...
more 10:30 - 11:15 Sala 1 - Flightgear
Introducción a GraalVM
La máquina virtual que cambiará el mundo!
presented by Jerónimo López
GraalVM es una nueva tecnología creada por Oracle para la JVM que la convierte en una máquina virtual "universal", pudiendo ejecutar código de JS, Python, Ruby, C, C++ o R. La charla consistirá en una introducción a GraalVM, explicando sus cuatro grandes novedades:
- como reemplazo del compilador JIT de Java
- para generar ejecutables ultrarápidos de Java sin necesitar la JRE
- para eje...


El truco era el software libre
Formando administradores de sistemas en el IES Gonzalo Nazareno
presented by Alberto Molina Coballes, José Domingo Muñoz Rodríguez
El uso de software libre en la enseñanza y en particular en la formación de futuros administradores de sistemas ha sido la característica principal de nuestro quehacer diario como profesores en el IES Gonzalo Nazareno los últimos 15 años. Con esta charla queremos compartir nuestra experiencia y mostrar por qué el software libre deb ser la herramienta principal de aprendizaje de las TIC y la dif...
more 11:30 - 12:15 Sala 3 - Freeciv
Ruby on Rails una visión general desde la instalación al despliegue en Heroku
Ruby on Rails overview from installation to deploy in heroku
presented by Esteban Rivas
Tanto si quieres empezar con Ruby on Rails o eres de otro Stack pero sientes curiosidad, se bienvenido. En solo 45 minutos vamos a recorrer el flujo de trabajo sencillo con Ruby on Rails y haremos un despliegue sobre Heroku. Y sí tenemos tiempo acabaremos la charla haciendo spoilers de Rails 6 ;-)
11:30 - 12:15 Sala 1 - Flightgear
Opensouthkids
presented by pablonete
Se realizarán actividades de introducción a la programación, creación de video, demostraciones de impresoras 3D, todo ello enfocado a niños y niñas.
12:00 - 14:00 Aula 1 - Minetest

Python, boto3 y AWS. ¿Qué podría pasar?
Python, boto3 y AWS. ¿Qué podría pasar?
presented by Jose Antonio Dominguez Gonzalez, elianaferiolinunez
En esta charla presentaremos una pequeña introducción a la librería Boto3, el SDK para python de AWS. Mostraremos distintas funciones para intetactuar con los distintos elementos que nos ofrece AWS: ec2, rds, vpcs, security groups, etc... El objetivo de esta charla es mostrar las posibilidades de interactuar con las infraestructuras de AWS a través de la librería de código boto3 Como ejemplo le...
more 12:30 - 13:15 Sala 3 - Freeciv
Desarrollo de un cloud privado como soporte para docencia en Informática
Pero cómo nos hemos podido enredar tanto
presented by Manuel Torres
Las plataformas de Cloud computing proporcionan recursos ajustables a las necesidades y son altamente escalables. La incorporación de estas plataformas al curriculum de asignaturas de informática favorece su contextualización con tendencias y necesidades actuales. Sin embargo, las peculiaridades de la gestión económica de las universidades dificulta su uso continuado en el modo de pago por uso ...
more 12:30 - 13:15 Sala 2 - 0 A.D.
Déjame que te hable de Perl 6
presented by JJ Merelo
Perl 6 es un lenguaje diseñado para los próximos 100 años. Más allá de un simple cambio incremental sobre Perl (ahora llamado Perl 5), Perl 6 es un lenguaje multiparadigma, concurrente, con soporte pleno para Unicode y alguna cosa que no tiene ningún otro lenguaje: Gramáticas. En esta charla mostraré algunos ejemplos de programas y one-liners en Perl 6, tratando de enseñar qué es lo que lo hac...
more 12:30 - 13:15 Sala 1 - Flightgear
Software Libre como catalizador hacia la agilidad a escala
presented by Agustín Benito Bethencourt
Muchas empresas se encuentran en la actualidad en procesos de adopción o maduración de metodologías ágiles y prácticas DevOps. Las organizaciones de mayor envergadura, necesitan diseñar y ejecutar en paralelo a esos procesos y prácticas, procesos más complejos y globales de transformación para alcanzar mayores niveles de flexibilidad, eficiencia y resiliencia lo largo de toda la empresa, no sól...
more 15:30 - 16:15 Sala 1 - Flightgear
Hurd SMP
Implementación de soporte multiprocesador en el sistema operativo GNU/Hurd
presented by Almudena Garcia
En esta charla expondremos el proyecto Hurd SMP, que busca implementar soporte multiprocesador en el sistema operativo GNU/Hurd. Hablaremos sobre la arquitectura de GNU/Hurd, como influiría el soporte multiprocesador en su funcionamiento, el estado inicial del soporte SMP al iniciar este proyecto, y los avances en la implementación del mismo.
15:30 - 16:15 Sala 3 - Freeciv
NLTK, Scikit and Damegender (a gender detection tool)
Damegender
presented by David
The natural language processing allows sentence similarity, text summary, classify documents, manage words, gramatical trees, ... For these tasks we could need extend the nlp toolkits (example: nltk) with another machine learning libraries (example: scikit). Damegender is using these techniques to: + to guess the gender about a name in spanish or english (current status). + to determine gender ...
more 15:30 - 17:30 Aula 1 - Minetest

Drupal & GatsbyJS
Introduction to Drupal Decoupled
presented by Marco Martino, Giuseppe Iannì
Drupal sigue evolucionando dentro del mundo de los CMS escritos en PHP. El futuro de los CMS es poder servir como backend de nuestras aplicaciones y de esta forma poder construir fácilmente servicios para nuestros múltiples canales (web, aplicación móvil, chatbot..)
Al mismo tiempo, el mundo de los frameworks en Javascript no deja de evolucionar, siendo GastbyJS uno de los que más atención e...
more 15:30 - 17:30 Aula 2 -Wesnoth
Trackula
Generando conciencia sobre la privacidad digital
presented by Santiago Saavedra
Es posible que a estas alturas te hayas parado a pensar cuántas compañías conocen tus gustos en Internet, ¿pero y tus amigos? Cada vez que interaccionas con una página web o una app, o que usas un dispositivo conectado a Internet generas datos que pueden llegar a ser utilizados para predecir tu comportamiento. Y no solamente el tuyo, sino resultados de elecciones presidenciales.
Pero entende...
more 16:30 - 17:15 Sala 3 - Freeciv
Espetando Series Temporales desde Zacaba
presented by Antonio Vilches
Durante las últimas décadas del siglo XX, tanto en la industria como en la academia se han llevado a cabo numerosas aportaciones y desarrollos relacionados con el análisis de series temporales (Time series). Sin embargo, no es hasta estos últimos años en los que la industria se ha lanzado al análisis y cómputo masivo de este tipo de datos. El auge del Internet de la Cosas y la necesidad de ...
more 16:30 - 17:15 Sala 1 - Flightgear
Gestionando aplicaciones con operadores
presented by Ruben Romero Montes
En esta charla explicaré conceptos y estrategias necesarios para gestionar aplicaciones en cloud con operadores.
Describiendo el ciclo completo desde arquitectura, diseño de CRDs (Custom Resource Definitions), despliegue del operador, mantenimiento y consumo de los operadores.
Ejemplos de alternativas al operator-sdk que se basan en el mismo, tales como helm-operator o el ansible-operator...
more 16:30 - 17:15 Sala 2 - 0 A.D.
APPLICATION SECURITY Fundamentals
Key concepts for Cybersecurity top threats with hacking scenarios
presented by Ángel Gómez Romero
> Join up in a tour of various scenarios identifying the basic concepts about Application Security, learning about some of the most recent vulnerabilities and data breaches, as well as examples of how easy it can be to hack you.
Application Security not only consists in the use of software, hardware, and procedural methods to protect applications from external threats, it **is more than ...
more 17:30 - 18:15 Sala 3 - Freeciv

Chatbots, Machine Learning y Microservicios. ALL IN
presented by Rafael Hidalgo Calero, José María Palma
Cada vez más y en más entornos, las arquitecturas basadas en Microservicios se expanden y no pueden dejar a un lado la explosión del Big Data y la Inteligencia Artificial en el que nos hayamos inmersos. Además, vemos el gran avance que han experimentado los chatbots como nueva forma de interacción con el usuario. Son mundos felizmente condenados a convivir. En esta charla vamos a presentar de q...
more 17:30 - 18:15 Sala 1 - Flightgear
20.000 registros de viaje submarino
Si cada gota de agua fuese un registro, ¿cuanto eres capaz de beber?
presented by Juanmi Taboada
En este viaje nos sumergiremos en el mundo de los datos con un viaje donde se explicarán las bases de los conceptos subyacentes en la palabra "Big Data", se darán ejemplos reales del día a día y como afrontar el diseño de bases de datos orientadas a almacenar muchos, muchísimos datos. Se explicará el teorema de CAP, se verá la relación entre los diferentes motores de bases de datos existentes, ...
more 17:30 - 18:15 Sala 2 - 0 A.D.