From 93904c9d4d80759803f8f15c53c42ee662ba10a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Arnulfo=20R=2E=20H=2E?= Date: Mon, 19 Oct 2026 11:04:44 -0500 Subject: [PATCH 1/2] Retira a Alberto Castillo y Andres Vasquez de la agenda del viernes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quita las sesiones "gil" (11:22) y "async" (10:26) con sus perfiles, y pasa la conferencia invitada de Carlos Alarcón a 11:35-12:15, 40 min. Co-Authored-By: Claude Opus 5.5 --- 2026/agenda.html | 6 ++---- 2026/js/agenda.js | 4 ---- tests/agenda-page.cjs | 9 +++++---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/2026/agenda.html b/2026/agenda.html index 231a1c2..7c8bf83 100644 --- a/2026/agenda.html +++ b/2026/agenda.html @@ -115,10 +115,8 @@

Viernes 23 de octubre

  • a. m.15 min

    Apertura de la jornada presencial

  • a. m.40 min
    Keynote de apertura

    Agentes de guardia: lo que pasa cuando la IA atiende producción a las 3 a.m.

    Abdel Martínez

    Próximamente...

    Resumen y biografía

    Los agentes de IA pasaron de las demos a los centros de operaciones. En esta keynote, Abdel cuenta qué ocurre cuando se les da acceso real a bases de datos, métricas y logs de sistemas críticos: dónde aciertan, dónde se equivocan con total seguridad y por qué el humano sigue siendo indispensable. Con ejemplos en Python y casos reales de servicios gestionados en Panamá, el público se llevará un marco práctico para construir agentes útiles, observables y seguros, sin caer en el hype.

    Abdel Gadiel Martínez Lassonde es Director de Soluciones y Servicios Tecnológicos en Solusoft, empresa panameña de servicios de ingeniería de datos con más de 30 años de trayectoria. Lidera equipos de consultores que dan soporte a clientes de banca, gobierno, salud, retail y telecomunicaciones, y es el arquitecto principal de Holos, la plataforma de observabilidad de Solusoft. Tiene amplia experiencia como DBA, ingeniero DevOps y arquitecto cloud, y cuenta con múltiples certificaciones en todas estas tecnologías. Es vicepresidente de la Fundación de Tecnologías Libres de Panamá y docente en la Universidad Interamericana de Panamá, UNICyT y CEAGRO AIP, donde comparte su experiencia con nuevas generaciones de profesionales.

  • a. m.25 min
    Todos los públicos

    Python y Robotica

    Conferencista por confirmar

    Robótica

    Resumen de la charla

    Aplicación de un enjambre de robots móviles con ROS 2 y Python. Se presenta una arquitectura modular con nodos, tópicos, servicios y acciones para coordinar robots en simulaciones y prepararlos para el mundo físico.

  • -
  • a. m.25 min
    Intermedio

    Cómo entender async / await sin usar async / await

    Conferencista por confirmar

    Rendimiento y concurrencia

    Resumen de la charla

    Una introducción a qué son el paralelismo y el asincronismo en Python y cómo funcionan.

  • a. m.25 min
    Intermedio

    Agentes de IA con Pydantic AI: De cero a producción con menos magia y más ingeniería

    Conferencista por confirmar

    IA y agentes

    Resumen de la charla

    Diseño de agentes tipados con Pydantic AI: herramientas, dependencias, integración con FastAPI, streaming y pruebas deterministas para crear sistemas modulares y testeables.

  • -
  • a. m.25 min
    Avanzado

    Ocho núcleos y usas uno: el GIL ya no es obligatorio

    Conferencista por confirmar

    Rendimiento y concurrencia

    Resumen de la charla

    Una comparación práctica de procesos, hilos y mutex, y de los cambios de Python 3.14 que permiten aprovechar los núcleos del procesador sin el Global Interpreter Lock.

  • -
  • a. m.25 min
    Conferencia invitada

    Conferencia de Carlos Alarcón

    Carlos Alarcón

    Próximamente...

    Resumen de la charla

    Próximamente...

  • +
  • a. m.40 min
    Conferencia invitada

    Conferencia de Carlos Alarcón

    Carlos Alarcón

    Próximamente...

    Resumen de la charla

    Próximamente...

  • p. m.45 min

    Almuerzo

  • p. m.25 min
    Todos los públicos

    De Cero a Producción en Django: Arquitectura MVT, Migraciones y Wagtail CMS bajo el estándar "No Doc, No Deploy".

    Conferencista por confirmar

    Desarrollo web

    Resumen de la charla

    Un recorrido por el ciclo de desarrollo en Django: arquitectura MVT, migraciones conscientes y gestión con Wagtail CMS, bajo un estándar de ingeniería que prioriza documentación, seguridad y mantenibilidad.

  • p. m.25 min
    Intermedio

    De Junior a Productivo: Automatizando el Desarrollo de Módulos Odoo con Python y Claude

    Conferencista por confirmar

    IA aplicada al desarrollo

    Resumen de la charla

    Una experiencia práctica usando Python, Odoo y un framework interno construido con Claude para que desarrolladores junior creen módulos ERP siguiendo estándares reales, con una demostración de un módulo CRM.

  • @@ -163,7 +161,7 @@

    - + diff --git a/2026/js/agenda.js b/2026/js/agenda.js index b89b85b..b53c134 100644 --- a/2026/js/agenda.js +++ b/2026/js/agenda.js @@ -21,8 +21,6 @@ document.addEventListener('DOMContentLoaded', function () { 'ai-ready': { name: 'Valery C. Briz', role: 'Senior Data Engineer', org: 'Mitek Systems', country: 'Guatemala', countryCode: 'GT', bio: 'Senior Data Engineer en Mitek Systems, con más de 10 años de experiencia. Excoorganizadora de PyLadies Madrid y PyLadies CDMX, fundadora de Python Guatemala e instructora en OpenWebinars.', photo: 'img/conferencistas/ValeriaCalderonBriz.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/valerybriz' }] }, streamlit: { name: 'Maria Clara Sanchez de Mira', role: 'Ingeniera de software backend', org: 'CI&T', country: 'Brasil', countryCode: 'BR', bio: 'Soy ingeniera informática con más de 4 años de experiencia en desarrollo de software, trabajando principalmente con Python. Actualmente, me desempeño como ingeniera de software backend en CI&T, atendiendo a un cliente del sector financiero. Estoy cursando una maestría en Ciencias de la Computación en el ICMC-USP, con enfoque en sistemas distribuidos y programación concurrente.', photo: 'img/conferencistas/MaríaClaraSanchez.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/maasanchez' }, { label: 'Sitio web', url: 'https://maria-sanchez.netlify.app' }] }, 'educacion-ia': { name: 'Juan Camilo Infante', role: 'Educador, cofundador de Perspektiva 360 y Truvadur', country: ['Colombia', 'Costa Rica'], countryCode: ['CO', 'CR'], bio: 'Educador, apasionado por cómo la tecnología puede solucionar los problemas del mundo. Cofundó Perspektiva 360, empresa de software que durante 11 años creó productos para clientes como el Programa de las Naciones Unidas para el Desarrollo (PNUD) y UNICEF. Hoy construye productos de IA por voz con Python en Truvadur, como Bjørn, un tutor de idiomas por voz en Telegram. Ingeniero industrial de la Universidad de los Andes, MSc en Technology-based Entrepreneurship de KTH Royal Institute of Technology (Suecia) y Machine Learning Specialization de DeepLearning.AI. Fellow de la Young Leaders of the Americas Initiative (YLAI) y becario del Swedish Institute (SISGP).', photo: 'img/conferencistas/JuanCamiloInfante.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/juan-camilo-infante' }, { label: 'Sitio web', url: 'https://www.truvadur.com' }] }, - gil: { name: 'Alberto Castillo', role: 'Líder de infraestructura', country: 'Panamá', countryCode: 'PA', bio: 'Más de 8 años de experiencia en desarrollo e infraestructura. Lidera infraestructura en una empresa de tecnología y forma parte de FLOSSPA desde 2016.', links: [{ label: 'Sitio web', url: 'https://www.betoissues.com' }] }, - async: { name: 'Andres Vasquez', role: 'Software Engineer en IA y Machine Learning', country: 'Panamá', countryCode: 'PA', bio: 'Software Engineer especializado en Inteligencia Artificial, Machine Learning y Deep Learning, con foco en arquitectura backend, integración de LLM y sistemas escalables.', links: [{ label: 'LinkedIn', url: 'https://co.linkedin.com/in/andresvasquez-softwareengineerai' }] }, corporativo: { name: 'Ivan Lopez Raudales', role: 'Líder regional de Business Intelligence y Analítica Estratégica', country: 'Panamá', countryCode: 'PA', photo: 'img/conferencistas/Ivan Lopez.webp', bio: 'Líder regional de Business Intelligence y Analítica Estratégica, MBA de INCAE Business School. Desarrolló pipelines regionales de datos con Python y APIs en Samsung Latinoamérica.', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/ivanlopezraudales' }] }, robotica: { name: 'Luis Meron', role: 'Estudiante de Ingeniería Electrónica y Telecomunicaciones', org: 'Universidad Tecnológica de Panamá', country: 'Panamá', countryCode: 'PA', bio: 'Estudiante de Ingeniería Electrónica y Telecomunicaciones en la Universidad Tecnológica de Panamá.', photo: 'img/conferencistas/LuisMeron.webp', links: [] }, django: { name: 'Jair Manuel Poveda Frago', role: 'Socio fundador', org: 'Cohesive DataOps y Cooltimedia', country: 'Panamá', countryCode: 'PA', bio: 'Ingeniero en Sistemas Computacionales, con más de una década liderando proyectos de software e ingeniería de datos. Socio fundador de Cohesive DataOps y Cooltimedia en Panamá.', photo: 'img/conferencistas/JairManuelPoveda.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/jairpoveda' }] }, @@ -39,8 +37,6 @@ document.addEventListener('DOMContentLoaded', function () { pypi: ['De la idea al PyPI: el camino para enseñar a crear librerías de Python en Latinoamérica', 'Empaquetado y educación'], streamlit: ['Monitoreando los datos que entrenan la IA con Streamlit', 'Datos e IA'], 'educacion-ia': ['Usando Python, modelos LLM open source, STT, TTS y Design Thinking humano para optimizar mis labores en educación', 'IA aplicada a la educación', 'Como docente, la carga administrativa me saturaba y me quitaba tiempo para conectar con mis estudiantes y pensar en la mejor forma de explicar. Perdía horas cada semana en correos y mensajes de muchos canales de comunicación. Construí Marimba, un asistente en Python con modelos open source, voz a texto (STT) y texto a voz (TTS). Marimba prioriza mis tareas, redacta correos, resume reuniones, guarda clases y consulta mis documentos con RAG. Contaré cómo lo diseñé con Design Thinking, empezando por el problema con empatía hacia la labor docente y las buenas prácticas de lo que he aprendido en mi uso diario de la herramienta.'], - gil: ['Ocho núcleos y usas uno: el GIL ya no es obligatorio', 'Rendimiento y concurrencia'], - async: ['Cómo entender async / await sin usar async / await', 'Rendimiento y concurrencia'], corporativo: ['Más allá del código: casos reales de Python para transformar operaciones corporativas', 'Automatización empresarial'], robotica: ['Python y Robótica', 'Robótica'], django: ['De cero a producción en Django: arquitectura MVT, migraciones y Wagtail CMS bajo el estándar “No Doc, No Deploy”', 'Desarrollo web'], diff --git a/tests/agenda-page.cjs b/tests/agenda-page.cjs index 5b43adf..48d768c 100644 --- a/tests/agenda-page.cjs +++ b/tests/agenda-page.cjs @@ -9,7 +9,7 @@ const styles = fs.readFileSync('2026/css/style.css', 'utf8'); test('la agenda incluye las dos jornadas y excluye la propuesta individual retirada', () => { assert.match(page, /data-agenda-panel="jueves"/); assert.match(page, /data-agenda-panel="viernes"/); - assert.equal((page.match(/data-session-id="/g) || []).length, 17); + assert.equal((page.match(/data-session-id="/g) || []).length, 15); assert.doesNotMatch(page, /data-session-id="grpc"|Beyond Hello World/); assert.match(page, /Jornada híbrida/); }); @@ -41,7 +41,7 @@ test('la agenda es una sola vista con filtro por día y ficha de detalle', () => assert.match(styles, /\.session-speaker\s*\{[^}]*display:\s*flex;[^}]*align-items:\s*center;/); assert.match(script, /countryCode: 'PA'/); const profiles = script.split('const speakerProfiles = {')[1].split('\n };')[0]; - assert.equal((profiles.match(/countryCode:/g) || []).length, 17); + assert.equal((profiles.match(/countryCode:/g) || []).length, 15); assert.match(profiles, /'educacion-ia': \{[^}]*name: 'Juan Camilo Infante'[^}]*bio:/); assert.match(profiles, /'educacion-ia': \{[^}]*country: \['Colombia', 'Costa Rica'\][^}]*countryCode: \['CO', 'CR'\]/); [ @@ -119,12 +119,13 @@ test('el horario oficial vive en el HTML y el script no lo reescribe', () => { 'uv 11:09 30', 'educacion-ia 11:42 30', 'ai-ready 12:15 30', '· 12:45 10' ]); assert.deepEqual(horario('viernes'), [ - '· 09:00 15', 'abdel 09:15 40', 'robotica 09:58 25', 'async 10:26 25', 'pydantic-ai 10:54 25', - 'gil 11:22 25', 'carlos 11:50 25', '· 12:20 45', 'django 13:08 25', 'odoo 13:36 25', + '· 09:00 15', 'abdel 09:15 40', 'robotica 09:58 25', 'pydantic-ai 10:54 25', + 'carlos 11:35 40', '· 12:20 45', 'django 13:08 25', 'odoo 13:36 25', 'corporativo 14:04 25','keisa-cloud 14:32 25', 'gerardo-vilcamiza 15:00 40', '· 15:40 20' ]); assert.doesNotMatch(script, /setTime|movedToThursday|addReservedTalk/); assert.doesNotMatch(page + script, /Vilcaminaza/i); + assert.doesNotMatch(page + script, /Alberto Castillo|Andres Vasquez|data-session-id="(gil|async)"/); }); test('no quedan controles de búsqueda, favoritos ni niveles', () => { From 4e2d2b04b990da62254b38c461756c88a3efdce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Arnulfo=20R=2E=20H=2E?= Date: Mon, 19 Oct 2026 11:07:20 -0500 Subject: [PATCH 2/2] =?UTF-8?q?Agrega=20la=20charla=20breve=20de=20Jos?= =?UTF-8?q?=C3=A9=20Arnulfo=20Reyes=20a=20las=2011:22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- 2026/agenda.html | 1 + 2026/js/agenda.js | 1 + tests/agenda-page.cjs | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/2026/agenda.html b/2026/agenda.html index 7c8bf83..7cb322b 100644 --- a/2026/agenda.html +++ b/2026/agenda.html @@ -116,6 +116,7 @@

    Viernes 23 de octubre

  • a. m.40 min
    Keynote de apertura

    Agentes de guardia: lo que pasa cuando la IA atiende producción a las 3 a.m.

    Abdel Martínez

    Próximamente...

    Resumen y biografía

    Los agentes de IA pasaron de las demos a los centros de operaciones. En esta keynote, Abdel cuenta qué ocurre cuando se les da acceso real a bases de datos, métricas y logs de sistemas críticos: dónde aciertan, dónde se equivocan con total seguridad y por qué el humano sigue siendo indispensable. Con ejemplos en Python y casos reales de servicios gestionados en Panamá, el público se llevará un marco práctico para construir agentes útiles, observables y seguros, sin caer en el hype.

    Abdel Gadiel Martínez Lassonde es Director de Soluciones y Servicios Tecnológicos en Solusoft, empresa panameña de servicios de ingeniería de datos con más de 30 años de trayectoria. Lidera equipos de consultores que dan soporte a clientes de banca, gobierno, salud, retail y telecomunicaciones, y es el arquitecto principal de Holos, la plataforma de observabilidad de Solusoft. Tiene amplia experiencia como DBA, ingeniero DevOps y arquitecto cloud, y cuenta con múltiples certificaciones en todas estas tecnologías. Es vicepresidente de la Fundación de Tecnologías Libres de Panamá y docente en la Universidad Interamericana de Panamá, UNICyT y CEAGRO AIP, donde comparte su experiencia con nuevas generaciones de profesionales.

  • a. m.25 min
    Todos los públicos

    Python y Robotica

    Conferencista por confirmar

    Robótica

    Resumen de la charla

    Aplicación de un enjambre de robots móviles con ROS 2 y Python. Se presenta una arquitectura modular con nodos, tópicos, servicios y acciones para coordinar robots en simulaciones y prepararlos para el mundo físico.

  • a. m.25 min
    Intermedio

    Agentes de IA con Pydantic AI: De cero a producción con menos magia y más ingeniería

    Conferencista por confirmar

    IA y agentes

    Resumen de la charla

    Diseño de agentes tipados con Pydantic AI: herramientas, dependencias, integración con FastAPI, streaming y pruebas deterministas para crear sistemas modulares y testeables.

  • +
  • a. m.10 min
    Todos los públicos

    No necesitas ser un experto para construir algo cool con Python

    José Arnulfo Reyes

    Charla breve

    Resumen de la charla

    Próximamente...

  • a. m.40 min
    Conferencia invitada

    Conferencia de Carlos Alarcón

    Carlos Alarcón

    Próximamente...

    Resumen de la charla

    Próximamente...

  • p. m.45 min

    Almuerzo

  • p. m.25 min
    Todos los públicos

    De Cero a Producción en Django: Arquitectura MVT, Migraciones y Wagtail CMS bajo el estándar "No Doc, No Deploy".

    Conferencista por confirmar

    Desarrollo web

    Resumen de la charla

    Un recorrido por el ciclo de desarrollo en Django: arquitectura MVT, migraciones conscientes y gestión con Wagtail CMS, bajo un estándar de ingeniería que prioriza documentación, seguridad y mantenibilidad.

  • diff --git a/2026/js/agenda.js b/2026/js/agenda.js index b53c134..e5bcbaa 100644 --- a/2026/js/agenda.js +++ b/2026/js/agenda.js @@ -24,6 +24,7 @@ document.addEventListener('DOMContentLoaded', function () { corporativo: { name: 'Ivan Lopez Raudales', role: 'Líder regional de Business Intelligence y Analítica Estratégica', country: 'Panamá', countryCode: 'PA', photo: 'img/conferencistas/Ivan Lopez.webp', bio: 'Líder regional de Business Intelligence y Analítica Estratégica, MBA de INCAE Business School. Desarrolló pipelines regionales de datos con Python y APIs en Samsung Latinoamérica.', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/ivanlopezraudales' }] }, robotica: { name: 'Luis Meron', role: 'Estudiante de Ingeniería Electrónica y Telecomunicaciones', org: 'Universidad Tecnológica de Panamá', country: 'Panamá', countryCode: 'PA', bio: 'Estudiante de Ingeniería Electrónica y Telecomunicaciones en la Universidad Tecnológica de Panamá.', photo: 'img/conferencistas/LuisMeron.webp', links: [] }, django: { name: 'Jair Manuel Poveda Frago', role: 'Socio fundador', org: 'Cohesive DataOps y Cooltimedia', country: 'Panamá', countryCode: 'PA', bio: 'Ingeniero en Sistemas Computacionales, con más de una década liderando proyectos de software e ingeniería de datos. Socio fundador de Cohesive DataOps y Cooltimedia en Panamá.', photo: 'img/conferencistas/JairManuelPoveda.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/jairpoveda' }] }, + arnulfo: { name: 'José Arnulfo Reyes', country: 'Panamá', countryCode: 'PA' }, carlos: { name: 'Carlos Alarcón', country: 'Colombia', countryCode: 'CO', bio: 'Carlos Andrés Alarcón es un profesional especializado en inteligencia artificial, ciencia de datos y transformación digital, además de creador de contenido educativo sobre IA en YouTube. Ha sido reconocido como Microsoft Most Valuable Professional (MVP) y Google Developer Expert (GDE) en inteligencia artificial y machine learning, distinciones que reflejan su trayectoria y contribuciones a la comunidad tecnológica. Anteriormente, se desempeñó como Director de la Escuela de Inteligencia Artificial en Platzi, donde lideró iniciativas de formación, innovación y adopción de tecnologías de IA. Actualmente, es CTO y cofundador de Quix, una startup que transforma la capacitación corporativa mediante inteligencia artificial y experiencias de aprendizaje conversacionales. También participa como conferencista y consultor, ayudando a organizaciones y profesionales a comprender y aprovechar el potencial de la IA.', photo: 'img/conferencistas/Carlos Alarcon.webp', links: [] }, odoo: { name: 'Yudith Recio Milanés', role: 'Directora y Fundadora de Solvixer | Consultora Empresarial | ERP Odoo', country: 'Panamá', countryCode: 'PA', bio: 'Cuenta con 15 años de experiencia con Python y el framework Odoo.', photo: 'img/conferencistas/YudithRecio.webp', links: [{ label: 'LinkedIn', url: 'https://linkedin.com/in/yudithrecio0503' }] }, 'keisa-cloud': { name: 'Keisa Ávila', role: 'Licenciada en Informática · Máster en Inteligencia Artificial para el Negocio', country: 'Panamá', countryCode: 'PA', bio: 'Keisa Ávila es licenciada en Informática y cuenta con un máster en Inteligencia Artificial para el Negocio. Tiene más de 15 años de experiencia en inteligencia de negocios y ha participado en proyectos de integración, migración y análisis de datos en sectores como banca, telecomunicaciones, aerolíneas y retail. Su experiencia abarca inteligencia de negocios, ingeniería de datos, diseño de arquitecturas de Data Lake e integración y migración de datos hacia la nube. Actualmente trabaja en proyectos corporativos de inteligencia artificial, incluyendo asistentes conversacionales para consultar datos y agentes de voz para automatizar procesos de negocio. Combina tecnologías como SQL Server, Python, Spark, AWS y Databricks para desarrollar soluciones de datos, analítica e IA aplicada al negocio. Es autora del libro Data Storytelling y conferencista en comunidades tecnológicas, donde comparte conocimientos sobre datos e inteligencia artificial aplicada al negocio. Es fundadora de la comunidad EllasTech y forma parte de las comunidades de Power BI Panamá y AWS Panamá.', photo: 'img/conferencistas/Keisa_Avila.webp', links: [{ label: 'LinkedIn', url: 'https://www.linkedin.com/in/keisa/' }, { label: 'Sitio web', url: 'https://keisaavila.net/' }] }, diff --git a/tests/agenda-page.cjs b/tests/agenda-page.cjs index 48d768c..ada86bd 100644 --- a/tests/agenda-page.cjs +++ b/tests/agenda-page.cjs @@ -9,7 +9,7 @@ const styles = fs.readFileSync('2026/css/style.css', 'utf8'); test('la agenda incluye las dos jornadas y excluye la propuesta individual retirada', () => { assert.match(page, /data-agenda-panel="jueves"/); assert.match(page, /data-agenda-panel="viernes"/); - assert.equal((page.match(/data-session-id="/g) || []).length, 15); + assert.equal((page.match(/data-session-id="/g) || []).length, 16); assert.doesNotMatch(page, /data-session-id="grpc"|Beyond Hello World/); assert.match(page, /Jornada híbrida/); }); @@ -41,7 +41,7 @@ test('la agenda es una sola vista con filtro por día y ficha de detalle', () => assert.match(styles, /\.session-speaker\s*\{[^}]*display:\s*flex;[^}]*align-items:\s*center;/); assert.match(script, /countryCode: 'PA'/); const profiles = script.split('const speakerProfiles = {')[1].split('\n };')[0]; - assert.equal((profiles.match(/countryCode:/g) || []).length, 15); + assert.equal((profiles.match(/countryCode:/g) || []).length, 16); assert.match(profiles, /'educacion-ia': \{[^}]*name: 'Juan Camilo Infante'[^}]*bio:/); assert.match(profiles, /'educacion-ia': \{[^}]*country: \['Colombia', 'Costa Rica'\][^}]*countryCode: \['CO', 'CR'\]/); [ @@ -120,7 +120,7 @@ test('el horario oficial vive en el HTML y el script no lo reescribe', () => { ]); assert.deepEqual(horario('viernes'), [ '· 09:00 15', 'abdel 09:15 40', 'robotica 09:58 25', 'pydantic-ai 10:54 25', - 'carlos 11:35 40', '· 12:20 45', 'django 13:08 25', 'odoo 13:36 25', + 'arnulfo 11:22 10', 'carlos 11:35 40', '· 12:20 45', 'django 13:08 25', 'odoo 13:36 25', 'corporativo 14:04 25','keisa-cloud 14:32 25', 'gerardo-vilcamiza 15:00 40', '· 15:40 20' ]); assert.doesNotMatch(script, /setTime|movedToThursday|addReservedTalk/);