4 puntos por GN⁺ 2024-12-30 | 1 comentarios | Compartir por WhatsApp
  • EmacsConf 2024 operó 31 charlas y 21 conferencias web de preguntas y respuestas, y después de completar la subida de videos y los correos de agradecimiento, dejó registradas mejoras obtenidas de la operación real
  • Desde el CFP hasta el evento, se dejó suficiente tiempo y se recomendó fuertemente el uso de videos pregrabados para reducir la carga de los ponentes y el riesgo operativo del día del evento
  • Archivos Org, PsiTransfer, Mumble, Etherpad, IRC, BigBlueButton, OBS, Icecast, YouTube, WhisperX y subed, combinados con la automatización en Emacs Lisp, formaron el flujo operativo
  • BigBlueButton 3.0, el stream en 480p, los eventos en vivo de YouTube por turnos y los borradores de subtítulos con WhisperX funcionaron en general bien, pero la normalización de audio, los videos a 60 fps y la falta de grabación de algunas sesiones de preguntas y respuestas quedaron como tareas pendientes
  • El costo total de 2024 fue de USD 175.65 antes de impuestos y USD 198.48 después de impuestos; aunque el tiempo de preparación se redujo, el evento pudo sostenerse gracias a la automatización y documentación acumuladas

Escala y calendario del evento

  • EmacsConf 2024 estuvo compuesto por 31 charlas, con un total de 10.7 horas de presentaciones
  • Hubo 21 conferencias web de preguntas y respuestas, con una duración total de 7.8 horas
  • El pico del stream varió mucho según la pista y la resolución
    • Sábado gen: pico de 177 personas, lowres pico de 14 personas
    • Sábado dev: pico de 226 personas, lowres pico de 79 personas
    • Domingo gen: pico de 89 personas, lowres pico de 10 personas
  • El pico de transmisiones en vivo en YouTube estuvo entre 15 y 46 personas por turno, con promedios entre 7 y 28 personas
  • El calendario siguió este flujo
    • Inicio del CFP: 2024-06-30
    • Cierre del CFP: 2024-09-20
    • Notificación a ponentes: 2024-09-27
    • Publicación del programa: 2024-10-25
    • Fecha objetivo para videos: 2024-11-08
    • EmacsConf: 2024-12-07
  • Se aseguraron 82 días desde el inicio hasta el cierre del CFP, 49 días desde el cierre hasta la fecha objetivo de videos y 29 días desde esa fecha hasta el evento
  • Este año también se usó aprobación temprana, y las charlas largas se ajustaron para aprobarse después de que estuviera definido el esquema general del programa
  • Seis videos llegaron antes o el mismo día de la fecha objetivo, y el resto fue llegando después de forma gradual, pero eso no causó mayores problemas gracias a la política de operación de baja carga y a la capacidad de procesamiento disponible

Datos, comunicación y operación del calendario

  • La información de las charlas siguió gestionándose con archivos Org, y se podrían reducir aún más los errores operativos agregando las siguientes funciones de validación
    • Verificación de permisos y propiedad de archivos
    • Verificación del manejo de mayúsculas y minúsculas en la detección del tipo de Q&A
    • Verificación de la existencia de la página de redirección de BBB
    • Verificación de comillas invertidas en transcripts que rompan el formato del wiki
    • Verificación de si los archivos están publicados y son legibles
    • Verificación de inconsistencias entre comentarios de subtituladores, estado de subtítulos y captioners
  • Para la subida de archivos de ponentes se volvió a usar PsiTransfer
  • La difusión del CFP se hizo en emacs-tangents, Emacs News, emacsconf-discuss, emacsconf-org, r/emacs y otros espacios; System Crafters, Irreal y Emacs APAC también mencionaron EmacsConf
  • También hubo publicaciones relacionadas en Mastodon, X, BlueSky y Facebook, y el evento se registró en foss.events
  • En Suiza, 200ok y Ardeo organizaron encuentros presenciales, y en Ljubljana emacs.si realizó otro encuentro
  • Para contactar a ponentes y voluntarios se usó mucho la combinación de correspondencia por correo basada en emacsconf-mail.el
  • La coordinación tras bambalinas siguió usando Mumble, que funcionó de forma estable

Programación de charlas y automatización

  • El evento se organizó en dos días: el primer día con dos pistas y el segundo con una sola pista
  • Entre charlas se dejaron intervalos de unos 15 a 20 minutos para responder a entregas tardías, cancelaciones de último minuto y cambios de Q&A hacia formato en vivo
  • El domingo se añadió una sesión de micrófono abierto para llenar el tiempo dejado por una cancelación de último minuto, y podría valer la pena reservar ese espacio de antemano el próximo año
  • Al mover parte de los comentarios finales habituales hacia más temprano, fue posible terminar a tiempo y algunos hosts y participantes no tuvieron que quedarse hasta muy tarde
  • En la publicación automática del calendario hubo un problema menor: como case-fold-search estaba en nil, la Q&A "Live" no coincidía con live, así que no se anunció como presentación en vivo
  • Esa configuración se añadió a emacsconf-stream-config.el, y la próxima vez se planea reflejarla también en el script de ansible
  • El cambio entre presentaciones se dejó a la gestión automática basada en crontab, y funcionó de manera estable
  • Hubo una vez un problema porque, para dar los comentarios finales del sábado en el momento deseado, se desactivó crontab y luego se olvidó volver a activar el autopilot al día siguiente, así que la apertura del domingo no empezó en punto
  • La pista dev se programó para comenzar un poco después que la pista gen, reduciendo la carga operativa de la mañana
  • La mañana del domingo se programaron más sesiones de Q&A por IRC en lugar de Q&A en vivo, y este año no se observaron problemas de ancho de banda en la mañana del domingo
  • Como mejoras futuras quedan pendientes la cuenta regresiva en JavaScript para la interfaz web de hosts, reflejar el tiempo de finalización actual del video en MPV y mostrar la hora local en las páginas de agenda y visualización

Videos grabados y streaming

  • Se recomendó fuertemente a los ponentes el uso de videos pregrabados para reducir el estrés operativo y permitir el trabajo de subtitulado por parte del voluntariado
  • También fue posible manejar algunas entregas de último minuto y presentaciones en vivo, y cada vez que una charla se publicaba en vivo, el video y el transcript podían publicarse automáticamente en el wiki
  • Este año no hubo un problema claro de fecha límite para codificación de video, y la forma de reencodificar dentro de screen funcionó de manera confiable para evitar cortes
  • La normalización automática de audio con ffmpeg-normalize no funcionó bien, así que Leo Vivier normalizó el audio de urgencia el día anterior al evento
  • El próximo año podría evaluarse remezclar el audio a mono
    • En una charla, el audio se movía entre izquierda y derecha y resultaba distractor
    • Algunas personas asistentes escuchan las charlas solo con un oído, así que mono podría ayudar
  • Los videos a 60 fps parecieron sobrecargar el servidor res y provocar pérdida de cuadros, así que la próxima vez podría hacerse downsampling a 30 fps y añadirse una nota en la guía de preparación para ponentes
  • Hubo algunos casos de colores corridos y anomalías en MPV con ciertos videos, pero se resolvieron después de actualizar a MPV v0.38
  • Todos los videos se subieron y programaron en YouTube, lo cual fue conveniente porque no hizo falta seguir actualizándolos durante el evento
  • Toobnix también tiene función de subida programada, pero como eso no se conocía durante el evento, los videos se subieron con la función emacsconf-publish-upload-talk

Subtítulos y manejo de Q&A

  • Este año se usó WhisperX para la conversión de voz a texto
  • WhisperX mostró buen rendimiento para crear borradores de subtítulos que el voluntariado pudiera editar
  • La detección de actividad de voz integrada en WhisperX redujo mucho las alucinaciones en silencios que OpenAI Whisper había mostrado el año pasado
  • Hubo un caso en el que WhisperX omitió un bloque de texto del ponente, y esa parte se completó manualmente
  • Gracias a una Lenovo P52 con 64 GB de RAM, incluso el procesamiento de subtítulos de último minuto pudo hacerse en una computadora local
  • Las marcas de tiempo estaban un poco desfasadas, pero ayudó que ponentes y voluntariado revisaran la calidad del video tras bambalinas
  • Para la realineación de texto se usó Aeneas, aunque Aeneas también se confundía en tramos de silencio
  • A subed se le añadió código para realinear segmentos de subtítulos usando marcas de tiempo de Aeneas o WhisperX
  • Anush V hizo un experimento usando aprendizaje automático para subtitle segmentation, y quedó como línea posible para explorar a futuro
  • La grabación de Q&A a veces comenzaba solo varios minutos después del inicio de la charla, pero no se hizo extracción de la parte inicial desde volcados de Icecast o grabaciones del stream en YouTube
  • Al configurar BigBlueButton con video como formato adicional de procesamiento, este año se pudo obtener un archivo por sesión y ya no fue necesario combinar múltiples streams con ffmpeg
  • Los transcripts de Q&A y los registros de chat se revisaron rápidamente para ver si había contenido que alguien quisiera eliminar
  • Se añadió la función subed-crop-media-file, lo que facilitó recortar archivos de Q&A

BigBlueButton y operación de servidores

  • Este año se configuró un nuevo servidor de conferencias web de BigBlueButton
  • El servidor que alojaba la instancia anterior de BigBlueButton había sido donado por una organización sin fines de lucro que desapareció, y fue retirado el 27 de octubre
  • Después de revisar la idoneidad de Jitsi y Galene, se decidió seguir usando BigBlueButton
  • Por preocupaciones sobre el problema non-free de Mongo en versiones de BBB posteriores a 2.3 y anteriores a 3, se instaló BBB 3.0
  • Hacer funcionar BBB 3.0 en Docker sobre el servidor res existente resultó difícil, así que se decidió levantar un VPS adicional en Linode
  • BBB se negaba a ejecutarse en servidores más pequeños que 8GB/4core; durante las pruebas se subió a 8GB/4core, luego se bajó a 1GB/1core en medio del proceso y durante el evento se subió a 16GB/8core dedicated
  • Una de las ventajas de BBB 3.0 fue el smart layout, que permite arrastrar las miniaturas de webcam junto a la pantalla compartida para hacerla más legible
  • Crear salas desde la consola de Rails fue relativamente sencillo
  • Se proporcionó a los ponentes el moderator access code, pero aunque el superadmin estuviera con sesión iniciada, no obtenía automáticamente privilegios de moderator en todas las salas, así que hubo que añadir manualmente el acceso de host
  • El uso de BBB frente a 2023 fue el siguiente
    • Máximo de usuarios simultáneos: de 62 a 107
    • Máximo de reuniones simultáneas: de 6 a 7
    • Máximo de personas en una reunión: de 27 a 25
    • Total de usuarios únicos: de 84 a 102
    • Usuarios únicos que hablaron: de 36 a 40
  • El máximo de usuarios simultáneos no se deduplica porque es una cifra necesaria para planificar la carga del servidor

Etherpad, IRC y automatización de publicación

  • Para recopilar Q&A se volvió a usar Etherpad 1.9.7
  • No se actualizó a Etherpad v2.x este año porque no se logró resolver cómo ejecutarlo dentro del tiempo disponible
  • Se escribió un Elisp para copiar la línea actual de ERC sin saltos de línea y pegarla en Etherpad, y funcionó bien para pasar preguntas de IRC al pad
  • Esa función es emacsconf-erc-copy y está en emacsconf-erc.el
  • El próximo año se planea añadir pronombres y pronunciación a la plantilla de Etherpad para que los hosts puedan consultarlos fácilmente
  • Gracias a que se avisó con anticipación a libera.chat antes del evento, no se activaron limitaciones de uso sobre chat.emacsconf.org
  • La configuración de IRC casi no se tocó y siguió funcionando de forma estable como plataforma de discusión
  • Sería útil contar con un atajo de teclado para insertar URLs de charlas, y parece fácil añadirlo al keymap de Embark
  • El proceso de publicar automáticamente en el wiki las charlas y transcripts a veces requirió intervención manual cuando alguien hacía commits de cambios al wiki
  • Se olvidó activar la transición a la fase de publicación de la conferencia que habilita la inclusión de Etherpad, pero Ihor lo detectó y se corrigió a última hora

Costos, tiempo y documentación

  • Los costos de 2024 antes de impuestos fueron los siguientes
    • Costo adicional de hosting en diciembre: USD 52.54
    • Costo adicional de pruebas de BBB en noviembre: USD 3.11
    • Costo de hosting durante el año: USD 120
  • El costo total fue de USD 175.65 antes de impuestos y USD 198.48 con 13% de impuestos incluidos
  • La Free Software Foundation proporciona media.emacsconf.org para servir archivos multimedia
  • Ry P proporciona res.emacsconf.org para streaming con OBS a través de una sesión VNC
  • Durante el fin de semana del evento no hubo nadie disponible para revisar de inmediato la lista de donantes y las estadísticas actuales de donaciones del programa FSF Working Together, así que la próxima vez habría que prepararlo con antelación para agradecer adecuadamente a quienes donan
  • El tiempo total relacionado con Emacs en 2024 fue de 320 horas, menos que las 432 horas de 2023
  • En octubre y noviembre de 2024, el tiempo relacionado con Emacs fue de 92.6 horas, aproximadamente la mitad de las 179.8 horas del mismo periodo del año anterior
  • Parte del tiempo de 2023 estuvo relacionado con la preparación de una charla de EmacsConf, y en ese momento ya había más familiaridad con los scripts
  • Aunque el tiempo de preparación disminuyó, la automatización acumulada de forma gradual dio resultado y permitió operar EmacsConf incluso con tiempo de concentración limitado
  • Las tareas pendientes y notas encontradas durante la operación se capturaron como elementos para añadir al organizers notebook
  • Las notas de los organizers notebook de cada año se están trasladando al organizers' notebook principal, con la meta de que a largo plazo se pueda seguir una lista de verificación y notas desde el inicio de la planificación hasta el cierre

Evaluación general y próximos puntos de conexión

  • EmacsConf 2024 fue una buena experiencia, fue divertido y quedó como un evento que da ganas de repetir el año siguiente
  • Entre las reacciones de participantes hubo comentarios que valoraron positivamente la logística de una conferencia en línea y las condiciones necesarias para que una conferencia en línea salga bien
  • Incluso después del evento, se puede seguir conectado a través de Emacs News, meetups, Planet Emacslife, emacs.tv
  • También se están buscando entradas de blogs de otras personas sobre conferencias, especialmente textos sobre cómo mejorar aún más las conferencias virtuales

1 comentarios

 
GN⁺ 2024-12-30
Opiniones de Hacker News
  • Este año EmacsConf estuvo realmente muy bien organizada, y yo también sentí que era “acogedora y cómoda”.
    También es interesante comparar el ambiente de EmacsConf con otros eventos de editores, como NeovimConf o las “fiestas” de lanzamiento de Visual Studio Code y Jetbrains.

    • Si no hubiera estado ahí, creo que me habría costado creer que estuviera tan bien organizada.
      Sacha es realmente increíble, y es sorprendente la cantidad de código escrito en elisp para hacer posible un evento con este nivel de calidad.
    • No sabía que existía NeovimConf.
      Es una lástima que esté tan abajo en los resultados de búsqueda que, incluso buscándolo directamente, solo aparezcan resultados de archivos de configuración de Neovim; por eso espero que se entienda que deje el enlace aquí: https://neovimconf.live
    • Sinceramente, lo que hace especial a Emacs es la comunidad, y el hecho de que sea software donde la GPL encaja bien y brilla se ve con especial claridad en la comunidad de Emacs.
      Eso me da esperanza de que este editor vaya a durar mucho tiempo, y de hecho siguió mejorando incluso durante los breves 10 años en que lo he usado de forma casual.
      Viva la comunidad de Emacs.
    • Me da curiosidad qué fue diferente en comparación con NeovimConf.
  • Creo que iba a haber una charla sobre un intento de revivir Emacs basado en Guile, pero todavía no vi si está incluida en algún lado.
    Con la llegada de la compilación nativa a Emacs, supongo que esa presión se redujo un poco, pero sigo viendo atractivo en scriptar Emacs con un lenguaje que no sea Elisp.
    Para ese propósito, Scheme o Lua me parecen bastante buenos.
    Editado: estaba aquí - https://emacsconf.org/2024/talks/guile/

    • Recientemente hubo varios artículos sobre Lua en la portada, y los comentarios dejan muy claro que Lua es un lenguaje que realmente divide opiniones.
    • Creo que con solo tener un runtime decente para elisp ya sería excelente.
      Yo vengo del lado de Guile, pero creo que incluso si desde Emacs solo permitieran elisp sobre Guile, ya sería una ganancia suficiente.
  • Esperaba que este año hubiera contenido sobre EAF.
    Creo que lo que todavía le falta mucho a Emacs es una buena forma de manejar gráficos interactivos, pero EAF sigue siendo bastante inestable y con documentación insuficiente.
    Ojalá este proyecto, o algo mejor, avance.
    [1]: https://github.com/emacs-eaf/emacs-application-framework

  • Me da mucha pena no haber podido “asistir” a esto.
    Uso Emacs desde hace más de 15 años, y personas como Sacha ya estaban ahí cuando empecé con Emacs; fueron una gran razón por la que me enganché con Emacs en aquel entonces.
    Siento que tuve mucha suerte de haber empezado en esa época.
    Veo a mis colegas sufrir con herramientas que no pueden arreglar, ni siquiera ajustar un poco, pero hoy me cuesta imaginar que se tomen el tiempo de aprender Emacs.
    Emacs es realmente un editor para toda la vida.

    • Yo uso Emacs precisamente por esa razón.
      Emacs está lejos de ser perfecto, es lento, le faltan funciones vistosas de otros editores y a veces puede ser realmente frustrante de usar.
      Pero, al final, este es mi editor.
      Me permitió crear un entorno de edición y programación perfecto para mí, y no hay otro entorno que me dé ese nivel de libertad y disfrute.
      La familia Vim también se acerca bastante y la sigo usando como editor secundario; no podría vivir sin vim-mode, pero Emacs permite una personalización mucho más profunda, y Lisp encaja de forma muy elegante en eso.
      Me consuela saber que, mientras los editores aparecen y desaparecen, Emacs siempre va a estar ahí.
      Me gusta incluso con sus defectos.
  • La organización de las presentaciones en línea de EmacsConf 2024 fue realmente impresionante.
    Guiones, comentarios, preguntas y respuestas, e incluso enlaces a videos: todo fue capturado y publicado en org-mode, así que era muy fácil de revisar por encima.

  • Me da curiosidad si el proyecto Lem es “aceptado” por la comunidad de Emacs, o si vale la pena probarlo.
    Como usuario veterano de Emacs, a veces me fui, pero siempre volví; últimamente Lem me llama la atención: https://github.com/lem-project/lem
    Para quienes no lo conozcan, Lem es, a grandes rasgos, un editor parecido a Emacs, escrito y extensible de forma nativa en Common Lisp, multiplataforma, con soporte para NCurses y SDL2, entre otros, compatible con LSP y rápido.

    • Recuerdo que Lem estuvo incluido en la charla Emacsen del año pasado y tuvo buena recepción: https://emacsconf.org/2023/talks/emacsen/
      Ojalá Lem siga creciendo.
    • Lem es realmente excelente.
      Como es mejor que Emacs en varios aspectos clave, espero que siga ganando visibilidad.
    • La versión más reciente es de febrero; me pregunto si hubo avances desde entonces.
    • Se ve bien, pero me da curiosidad cómo es el ecosistema de plugins y extensiones en comparación con Emacs.
      También quisiera saber si hay planes de empaquetarlo para Debian.
  • Este año fue muy disfrutable recorrer los videos de EmacsConf; las presentaciones estuvieron muy prolijas y hay mucho trabajo genial en marcha.
    Todavía me queda mucho por ver, pero hasta ahora me sorprendieron especialmente los contenidos sobre infraestructura y UI, y realmente están pasando muchas cosas.
    Las charlas que me gustaron fueron las siguientes:
    https://emacsconf.org/2024/talks/casual/ -- Charles Choi habla sobre diseñar una UI para humanos y no para pulpos. El chiste va con cariño; yo soy un pulpo feliz.
    https://emacsconf.org/2024/talks/literate/ -- programación literaria de Howard Abram
    https://emacsconf.org/2024/talks/gypsum/ -- un clon de Emacs y Emacs Lisp hecho con Guile
    https://emacsconf.org/2024/talks/rust/ -- Rune, un core experimental de Emacs hecho en Rust
    https://emacsconf.org/2024/talks/julia/ -- una excelente charla sobre concurrencia entre Julia y Emacs
    https://emacsconf.org/2024/talks/guile/ -- Robin Templeton retoma Guile-Emacs
    https://emacsconf.org/2024/talks/mcclim/ -- mmm, ¿esta charla recibió preguntas desde lambdaMOO?

  • “El costo total de hosting del evento fue de USD 42.92 + impuestos, y las pruebas de BBB previas al evento costaron USD 3.11 + impuestos, para un total de USD 46.03 + impuestos. El nodo web y el nodo de streaming en vivo se mantienen como nanodes de 1 GB durante el resto del período. Son USD 5 por mes + impuestos por cada uno de los 2 servidores, así que son USD 110. Es totalmente manejable.”
    Me pregunto cómo se compara este costo con el de otras conferencias.

    • Ahí falta el costo en tiempo invertido.
      Si intentas configurar BBB por tu cuenta con Docker, no es fácil.
      Es bastante difícil si no lo hiciste antes o si no eres, somehow, un experto; yo lo intenté y me rendí.
      Meses o incluso años después, la gente sigue comentando en el issue que dejé abierto.
      El despliegue con Docker ni siquiera es el método oficial, así que, aunque se entiende, también es difícil recibir ayuda de los mantenedores.
      Es una configuración enorme con muchas piezas móviles.
      Aun así, que lo hayan logrado es realmente genial.
    • Si hablas de costos como registrar el nombre de dominio, eso también es bastante bajo.
      Creo que eran alrededor de USD 12, aunque ahora mismo no puedo verificar el costo exacto.
      También estamos experimentando con enviar pequeños regalos como muestra de agradecimiento.
      El plan malvado es que stickers o pines puedan hacer que otras personas les saquen el tema de Emacs a los ponentes, pero Corwin lo ve como un experimento personal y no lo incluye en el presupuesto de la conferencia.
      Por supuesto, hay muchas cosas que no entran como costos monetarios, como el tiempo que los ponentes dedicaron a sus charlas o los servidores que la gente compartió.
      Aun así, sorprende todo lo que se puede hacer con un presupuesto reducido y voluntariado flexible.
      Si alguien alguna vez pensó en organizar su propia conferencia, vale la pena considerarlo.
  • Sigo a Sacha desde hace mucho y me gustan sus frecuentes actualizaciones sobre Emacs.
    Soy un entusiasta ferviente de Common Lisp y el año pasado también compré el libro Mastering Emacs, así que ahora solo me falta decidirme y hacer un proyecto en Emacs Lisp.

    • Pasar de Common Lisp a elisp es una transición tremendamente frustrante.
      Hay que estar realmente preparado para pensar desde la perspectiva del alcance dinámico.
      Yo hice el camino inverso, de elisp a Common Lisp, y volver a elisp se me hace difícil.
  • Me pregunto si consideran que TeXmacs debería incluirse en EmacsConf, aunque no esté basado en Emacs ni en TeX y solo se haya inspirado en ellos.

    • Lo digo completamente desde la tribuna, pero creo que sí corresponde incluirlo.
      El intercambio de ideas y entusiasmo entre herramientas tipo Emacs solo puede beneficiar a ambos proyectos y a los editores basados en Lisp en general.
      La razón por la que realmente hablo desde la tribuna es que uso LyX para escribir documentos técnicos, así que estoy dejando de lado un caso de uso muy importante de TeXmacs.