diff --git a/src/jbake/assets/js/session.js b/src/jbake/assets/js/session.js index 6c37f78..a9fcf6b 100644 --- a/src/jbake/assets/js/session.js +++ b/src/jbake/assets/js/session.js @@ -11,26 +11,35 @@ fetch(fetchUrl) return response.json(); }) .then(function (sessionsJson) { - var sessions = document.getElementById('sessions'); - - // traitement de l'objet - for (let i in sessionsJson) { - let title = sessionsJson[i].title; - let id = sessionsJson[i].id; - let abstract = sessionsJson[i].abstract; - let speakerId = sessionsJson[i].speakers[0]; - let language = sessionsJson[i].language; - let tags = sessionsJson[i].tags; - let audienceLevel = sessionsJson[i].audience_level; - let talkFormat = sessionsJson[i].talk_format; - let time = sessionsJson[i].time; - - let speakerPromise = getSpeakerById(getUsefulContents("lang", "../json/speakers/"+speakerId)); - - speakerPromise.then(function(speaker){ - sessions.innerHTML += createSessionCard(id,title,abstract,speaker, tags,language,audienceLevel,talkFormat, time); - }); - } + + var sessionList = []; + for(let y in sessionsJson){ + sessionList.push(sessionsJson[y]); + } + + sessionList.sort(function(a, b){return a.id-b.id}); + + let sessions = document.getElementById('sessions'); + + sessionList.forEach((session) => { + let title = session.title; + let id = session.id; + let abstract = session.abstract; + let speakerId = session.speakers[0]; + let language = session.language; + let tags = session.tags; + let audienceLevel = session.audience_level; + let talkFormat = session.talk_format; + let time = session.time; + + let speakerPromise = getSpeakerById(getUsefulContents("lang", "../json/speakers/"+speakerId)); + + speakerPromise.then(function(speaker){ + sessions.innerHTML += createSessionCard(id,title,abstract,speaker, tags,language,audienceLevel,talkFormat, time); + }); + }); + + }); function createSessionCard(id, title,abstract, speaker, tags, language,audienceLevel, talkFormat, time) { diff --git a/src/jbake/assets/json/sessions.json b/src/jbake/assets/json/sessions.json index 74bef62..978b718 100644 --- a/src/jbake/assets/json/sessions.json +++ b/src/jbake/assets/json/sessions.json @@ -1,40 +1,39 @@ { - "101": { "id": 101, - "title": "Introduction to the GraalVM polyglot virtual machine", - "abstract": "This talk will present five use cases for the multilingual virtual machine, GraalVM, that can benefit your organization today. From speeding up your applications to using multiple programming languages in the same project, native languages on top of the JVM and more.", - "description": "This talk will present five use cases for the multilingual virtual machine, GraalVM, that can benefit your organization today. From speeding up your applications to using multiple programming languages in the same project, native languages on top of the JVM and more.", + "title": "Clean Threading with Kotlin Coroutines", + "abstract": "Async and Threading are words that very often scare the developers. In Android, traditionally we have managed some of those tasks with the now deprecated AsyncTask, but that callback oriented way has some limitations.\n\nLet's learn how we can refactor our legacy background operations using callbacks for a graceful and very optimized way using Kotlin Coroutines.\n\nYou will get started with Kotlin coroutines, learn how to perform multiple operations in parallel or performing sequential operations.", + "description": "Async and Threading are words that very often scare the developers. In Android, traditionally we have managed some of those tasks with the now deprecated AsyncTask, but that callback oriented way has some limitations.\n\nLet's learn how we can refactor our legacy background operations using callbacks for a graceful and very optimized way using Kotlin Coroutines.\n\nYou will get started with Kotlin coroutines, learn how to perform multiple operations in parallel or performing sequential operations.", "audience_level": "Intermediate", - "time": "TBD", + "time": "10:30 AM", "language": "es", "talk_format": "Talk (~30-45 minutes)", "tags": [ - "Java", - "JVM" + "JVM", + "Kotlin", + "Framework" ], "speakers": [ - "psanders" + "euryperez" ] }, "102": { "id": 102, - "title": "Clean Threading with Kotlin Coroutines", - "abstract": "Async and Threading are words that very often scare the developers. In Android, traditionally we have managed some of those tasks with the now deprecated AsyncTask, but that callback oriented way has some limitations.\n\nLet's learn how we can refactor our legacy background operations using callbacks for a graceful and very optimized way using Kotlin Coroutines.\n\nYou will get started with Kotlin coroutines, learn how to perform multiple operations in parallel or performing sequential operations.", - "description": "Async and Threading are words that very often scare the developers. In Android, traditionally we have managed some of those tasks with the now deprecated AsyncTask, but that callback oriented way has some limitations.\n\nLet's learn how we can refactor our legacy background operations using callbacks for a graceful and very optimized way using Kotlin Coroutines.\n\nYou will get started with Kotlin coroutines, learn how to perform multiple operations in parallel or performing sequential operations.", + "title": "Introduction to the GraalVM polyglot virtual machine", + "abstract": "This talk will present five use cases for the multilingual virtual machine, GraalVM, that can benefit your organization today. From speeding up your applications to using multiple programming languages in the same project, native languages on top of the JVM and more.", + "description": "This talk will present five use cases for the multilingual virtual machine, GraalVM, that can benefit your organization today. From speeding up your applications to using multiple programming languages in the same project, native languages on top of the JVM and more.", "audience_level": "Intermediate", - "time": "TBD", + "time": "11:15 AM", "language": "es", "talk_format": "Talk (~30-45 minutes)", "tags": [ - "JVM", - "Kotlin", - "Framework" + "Java", + "JVM" ], "speakers": [ - "euryperez" + "psanders" ] }, @@ -44,7 +43,7 @@ "abstract": "In this session we will deal with the topic of reactive programming using the Mutiny library. There will be live code!", "description": "What is reactive programming? When we search in Wikipedia, you might find the following definition:\n\nReactive programming combines functional programming, the observer pattern, and the iterable programming\n\n.It is correct but we did not find a more useful definition but let's make a simpler definition.\n\nReactive programming is about programming with data streams.\n\nMutiny is a new reactive programming library.\n\nProvides a simple but powerful asynchronous development model that allows you to create reactive applications.\n\nEasy to implement?\n\nThe API does not require much advanced knowledge. This should help design your logic.\n\nThere will be live code!", "audience_level": "All", - "time": "TBD", + "time": "12:00 M", "talk_format": "Talk (~30-45 minutes)", "language": "es", "tags": [ @@ -59,7 +58,7 @@ "104": { "id": 104, "title": "Our journey to adopt Kubernetes to create an App like Tinder from start to finish", - "time": "TBD", + "time": "12:45 M", "abstract": "How many questions cross your mind at the time of starting a complex platform-adaptive app like Tinder? Probably many, especially in terms of technology and infrastructure.\n\nIn this talk, we'll discuss our approaches to overcome challenges that could prevent us from reaching our goals to create a viable solution for our users. We'll focus on open source tools that help us achieve the following objectives:\n\n- Have a single source of truth for our environments to support our contingency plan.\n- Reduce developer onboarding overhead and increase productivity.\n- Leverage existing technologies to reduce time to market.\n- Increase value for our users by improving service reliability.\n- Support business objectives with metrics, analytics, and platform observability.\nI invite you to join my talk to help you streamline your process of creating complex enterprise applications.", "description": "How many questions cross your mind at the time of starting a complex platform-adaptive app like Tinder? Probably many, especially in terms of technology and infrastructure.\n\nIn this talk, we'll discuss our approaches to overcome challenges that could prevent us from reaching our goals to create a viable solution for our users. We'll focus on open source tools that help us achieve the following objectives:\n\n- Have a single source of truth for our environments to support our contingency plan.\n- Reduce developer onboarding overhead and increase productivity.\n- Leverage existing technologies to reduce time to market.\n- Increase value for our users by improving service reliability.\n- Support business objectives with metrics, analytics, and platform observability.\nI invite you to join my talk to help you streamline your process of creating complex enterprise applications.", "audience_level": "All", @@ -79,7 +78,7 @@ "abstract": "With the proliferation of systems that implement the microservices architecture and the associated problems in the exchange of messages under REST, a new system arises that greatly helps in the performance of the exchange of messages for multiplatform systems and independent of the implementation language, This technology is called gRPC (general-purpose Remote Procedure Call) and we will be seeing its implementation under the Java platform and integrating into other languages.", "description": "With the proliferation of systems that implement the microservices architecture and the associated problems in the exchange of messages under REST, a new system arises that greatly helps in the performance of the exchange of messages for multiplatform systems and independent of the implementation language, This technology is called gRPC (general-purpose Remote Procedure Call) and we will be seeing its implementation under the Java platform and integrating into other languages.", "audience_level": "All", - "time": "TBD", + "time": "1:30 PM", "talk_format": "Talk (~30-45 minutes)", "language": "es", "tags": [ @@ -97,7 +96,7 @@ "abstract": "The management and administration of APIs are becoming more widespread, today it is easier to expose APIs safely to the world. However, the API development cycle has some pending cases to solve. The entire API lifecycle should also be agile to remain relevant. So it's time to think of a new way to deliver APIs (including mockups and tests) to simplify and speed up the delivery of production-ready APIs.\n\nIn this session we are going to create a Web API covering different phases of API development (Design, Mock up and testing) until we reach to production.", "description": "The management and administration of APIs are becoming more widespread, today it is easier to expose APIs safely to the world. However, the API development cycle has some pending cases to solve. The entire API lifecycle should also be agile to remain relevant. So it's time to think of a new way to deliver APIs (including mockups and tests) to simplify and speed up the delivery of production-ready APIs.\n\nIn this session we are going to create a Web API covering different phases of API development (Design, Mock up and testing) until we reach to production.", "audience_level": "All", - "time": "TBD", + "time": "2:15 PM", "talk_format": "Talk (~30-45 minutes)", "language": "es", "tags": [ diff --git a/src/jbake/assets/json/sessions_es.json b/src/jbake/assets/json/sessions_es.json index b2943e4..40fb7e7 100644 --- a/src/jbake/assets/json/sessions_es.json +++ b/src/jbake/assets/json/sessions_es.json @@ -3,38 +3,38 @@ "101": { "id": 101, - "title": "Introducción a la máquina virtual políglota GraalVM", - "abstract": "Esta charla presentará cinco casos de uso para la máquina virtual políglota, GraalVM, que pueden beneficiar a su organización hoy. Desde acelerar sus aplicaciones hasta usar múltiples lenguajes de programación en el mismo proyecto, lenguajes nativos sobre la JVM y más.", - "description": "Esta charla presentará cinco casos de uso para la máquina virtual políglota, GraalVM, que pueden beneficiar a su organización hoy. Desde acelerar sus aplicaciones hasta usar múltiples lenguajes de programación en el mismo proyecto, lenguajes nativos sobre la JVM y más.", + "title": "Clean Threading with Kotlin Coroutines", + "abstract": "Async y Threading son palabras que a menudo asustan a los desarrolladores. En Android, tradicionalmente hemos administrado algunas de esas tareas con la ahora obsoleta AsyncTask, pero esa forma orientada a la devolución de llamada tiene algunas limitaciones.\n\nAprendamos cómo podemos refactorizar nuestras operaciones en segundo plano heredadas usando devoluciones de llamada de una manera elegante y muy optimizada usando Kotlin Corutinas.\n\nComenzará con las corrutinas de Kotlin, aprenderá a realizar múltiples operaciones en paralelo o realizar operaciones secuenciales.", + "description": "Async y Threading son palabras que a menudo asustan a los desarrolladores. En Android, tradicionalmente hemos administrado algunas de esas tareas con la ahora obsoleta AsyncTask, pero esa forma orientada a la devolución de llamada tiene algunas limitaciones.\n\nAprendamos cómo podemos refactorizar nuestras operaciones en segundo plano heredadas usando devoluciones de llamada de una manera elegante y muy optimizada usando Kotlin Corutinas.\n\nComenzará con las corrutinas de Kotlin, aprenderá a realizar múltiples operaciones en paralelo o realizar operaciones secuenciales.", "audience_level": "Intermedio", - "time": "TBD", + "time": "10:30 AM", "language": "es", "talk_format": "Charla (~30-45 minutos)", "tags": [ - "Java", - "JVM" + "JVM", + "Kotlin", + "Framework" ], "speakers": [ - "psanders" + "euryperez" ] }, "102": { "id": 102, - "title": "Clean Threading with Kotlin Coroutines", - "abstract": "Async y Threading son palabras que a menudo asustan a los desarrolladores. En Android, tradicionalmente hemos administrado algunas de esas tareas con la ahora obsoleta AsyncTask, pero esa forma orientada a la devolución de llamada tiene algunas limitaciones.\n\nAprendamos cómo podemos refactorizar nuestras operaciones en segundo plano heredadas usando devoluciones de llamada de una manera elegante y muy optimizada usando Kotlin Corutinas.\n\nComenzará con las corrutinas de Kotlin, aprenderá a realizar múltiples operaciones en paralelo o realizar operaciones secuenciales.", - "description": "Async y Threading son palabras que a menudo asustan a los desarrolladores. En Android, tradicionalmente hemos administrado algunas de esas tareas con la ahora obsoleta AsyncTask, pero esa forma orientada a la devolución de llamada tiene algunas limitaciones.\n\nAprendamos cómo podemos refactorizar nuestras operaciones en segundo plano heredadas usando devoluciones de llamada de una manera elegante y muy optimizada usando Kotlin Corutinas.\n\nComenzará con las corrutinas de Kotlin, aprenderá a realizar múltiples operaciones en paralelo o realizar operaciones secuenciales.", + "title": "Introducción a la máquina virtual políglota GraalVM", + "abstract": "Esta charla presentará cinco casos de uso para la máquina virtual políglota, GraalVM, que pueden beneficiar a su organización hoy. Desde acelerar sus aplicaciones hasta usar múltiples lenguajes de programación en el mismo proyecto, lenguajes nativos sobre la JVM y más.", + "description": "Esta charla presentará cinco casos de uso para la máquina virtual políglota, GraalVM, que pueden beneficiar a su organización hoy. Desde acelerar sus aplicaciones hasta usar múltiples lenguajes de programación en el mismo proyecto, lenguajes nativos sobre la JVM y más.", "audience_level": "Intermedio", - "time": "TBD", + "time": "11:15 AM", "language": "es", "talk_format": "Charla (~30-45 minutos)", "tags": [ - "JVM", - "Kotlin", - "Framework" + "Java", + "JVM" ], "speakers": [ - "euryperez" + "psanders" ] }, @@ -44,7 +44,7 @@ "abstract": "En ésta sesión trateremos el tema de programación reactiva utilizando la librería Mutiny.Habrá código en vivo!", "description": "¿Qué es programación reactiva? Cuando buscamos en Wikipedia, tu podrías encontrar la siguiente definición:\n\nReactive programming combines functional programming, the observer pattern, and the iterable programming\n\nEn español\n\nLa programación reactiva combina con la programación funcional, el patrón del observador y la programación iterable.\n\nEs correcta pero no encontramos una definición más útil pero hagamos una definición más sencilla.\n\nReactive programming is about programming with data streams.\n\nEn español\n\nLa programación reactiva se trata de programar con flujos de datos.\n\nMutiny es una nueva librería de programación reactiva.\n\nProporciona un modelo de desarrollo asincrónico simple pero potente que le permite crear aplicaciones reactivas.\n\n¿Fácil de implementar?\n\nEl API no requiere mucho conocimiento avanzado. Esto debería ayudar a diseñar su lógica.\n\nHabrá código en vivo!", "audience_level": "Todos", - "time": "TBD", + "time": "12:00 M", "talk_format": "Charla (~30-45 minutos)", "language": "es", "tags": [ @@ -59,7 +59,7 @@ "104": { "id": 104, "title": "Our journey to adopt Kubernetes to create an App like Tinder from start to finish", - "time": "TBD", + "time": "12:45 M", "abstract": "¿Cuántas preguntas cruzan por su mente al momento de iniciar una aplicación compleja y adaptable a la plataforma como Tinder? Probablemente muchos, especialmente en términos de tecnología e infraestructura.\n\nEn esta charla, discutiremos nuestros enfoques para superar los desafíos que podrían impedirnos alcanzar nuestras metas para crear una solución viable para nuestros usuarios. Nos centraremos en herramientas de código abierto que nos ayuden a lograr los siguientes objetivos:\n\n-Tener una única fuente confiable para nuestros entornos que puedan respaldar nuestro plan de contingencia.\n- Reducir los gastos generales de incorporación de desarrolladores y aumentar la productividad.\n-Aproveche las tecnologías existentes para reducir el tiempo de comercialización.\n- Aumente el valor para nuestros usuarios al mejorar la confiabilidad del servicio.\n- Respalde los objetivos comerciales con métricas, análisis y la capacidad de observación de la plataforma.\nLe invito a unirse a mi charla para ayudarlo a optimizar su proceso de creación de aplicaciones empresariales complejas.", "description":"¿Cuántas preguntas cruzan por su mente al momento de iniciar una aplicación compleja y adaptable a la plataforma como Tinder? Probablemente muchos, especialmente en términos de tecnología e infraestructura.\n\nEn esta charla, discutiremos nuestros enfoques para superar los desafíos que podrían impedirnos alcanzar nuestras metas para crear una solución viable para nuestros usuarios. Nos centraremos en herramientas de código abierto que nos ayuden a lograr los siguientes objetivos:\n\n-Tener una única fuente confiable para nuestros entornos que puedan respaldar nuestro plan de contingencia.\n- Reducir los gastos generales de incorporación de desarrolladores y aumentar la productividad.\n-Aproveche las tecnologías existentes para reducir el tiempo de comercialización.\n- Aumente el valor para nuestros usuarios al mejorar la confiabilidad del servicio.\n- Respalde los objetivos comerciales con métricas, análisis y la capacidad de observación de la plataforma.\nLe invito a unirse a mi charla para ayudarlo a optimizar su proceso de creación de aplicaciones empresariales complejas.", "audience_level": "Todos", @@ -79,7 +79,7 @@ "abstract": "Con la proliferación de sistemas que implementan la arquitectura de microservicios y los problemas asociados en el intercambios de mensajes bajo REST, surge un nuevo sistema que ayuda en gran medida en el rendimiento del intercambio de los mensajes para sistemas multiplataformas e independiente del lenguaje de implementación, esa tecnología se llama gRPC (general-purpose Remote Procedure Call ) y estaremos viendo su implementación baja la plataforma Java e integrando en otros lenguajes.", "description": "Con la proliferación de sistemas que implementan la arquitectura de microservicios y los problemas asociados en el intercambios de mensajes bajo REST, surge un nuevo sistema que ayuda en gran medida en el rendimiento del intercambio de los mensajes para sistemas multiplataformas e independiente del lenguaje de implementación, esa tecnología se llama gRPC (general-purpose Remote Procedure Call ) y estaremos viendo su implementación baja la plataforma Java e integrando en otros lenguajes.", "audience_level": "Todos", - "time": "TBD", + "time": "1:30 PM", "talk_format": "Charla (~30-45 minutos)", "language": "es", "tags": [ @@ -97,7 +97,7 @@ "abstract": "El manejo y administración de API se están generalizando, actualmente es más fácil exponer las APIs de forma segura al mundo. Sin embargo, el ciclo de desarrollo de API tiene algunos casos pendientes que resolver. Todo el ciclo de vida de la API también debería ser ágil para seguir siendo relevante. Por lo tanto, es hora de pensar en una nueva forma de entregar API (simulacros y pruebas incluidas) para simplificar y acelerar el envío de API listas para producción.\n\nEn esta sesión vamos a crear un Web API abarcando diferentes fases del desarrollo de API (Diseño, Simulacro (mock) y pruebas) hasta llegar a producción.", "description": "El manejo y administración de API se están generalizando, actualmente es más fácil exponer las APIs de forma segura al mundo. Sin embargo, el ciclo de desarrollo de API tiene algunos casos pendientes que resolver. Todo el ciclo de vida de la API también debería ser ágil para seguir siendo relevante. Por lo tanto, es hora de pensar en una nueva forma de entregar API (simulacros y pruebas incluidas) para simplificar y acelerar el envío de API listas para producción.\n\nEn esta sesión vamos a crear un Web API abarcando diferentes fases del desarrollo de API (Diseño, Simulación (mock) y pruebas) hasta llegar a producción.", "audience_level": "Todos", - "time": "TBD", + "time": "2:15 PM", "talk_format": "Charla (~30-45 minutos)", "language": "es", "tags": [