Registro de operação da EmacsConf 2024
(sachachua.com)- A EmacsConf 2024 realizou 31 apresentações e 21 webconferências de perguntas e respostas, e depois de concluir também o upload dos vídeos e os e-mails de agradecimento, registrou melhorias aprendidas na operação real
- Do CFP até o evento, foi reservado tempo suficiente e os vídeos pré-gravados foram fortemente recomendados para reduzir a carga sobre os palestrantes e os riscos operacionais no dia
- Arquivos Org, PsiTransfer, Mumble, Etherpad, IRC, BigBlueButton, OBS, Icecast, YouTube, WhisperX e subed compuseram o fluxo operacional em conjunto com a automação em Emacs Lisp
- BigBlueButton 3.0, stream em 480p, eventos ao vivo do YouTube por turno e rascunhos de legendas com WhisperX funcionaram bem em geral, mas a normalização de áudio, vídeos em 60 fps e falhas na gravação das sessões de Q&A continuaram como pontos a melhorar
- O custo total de 2024 foi de USD 175.65 antes de impostos e USD 198.48 após impostos; embora o tempo de preparação tenha diminuído, o evento pôde continuar graças ao acúmulo de automação e documentação
Escala e cronograma do evento
- A EmacsConf 2024 teve 31 apresentações, com um total de 10,7 horas de conteúdo
- Houve 21 webconferências de Q&A, somando 7,8 horas
- O pico de audiência do stream variou bastante conforme a trilha e a resolução
- Sábado gen: pico de 177 pessoas, lowres pico de 14
- Sábado dev: pico de 226 pessoas, lowres pico de 79
- Domingo gen: pico de 89 pessoas, lowres pico de 10
- O pico de lives no YouTube variou entre 15 e 46 pessoas por turno, com média entre 7 e 28
- O cronograma seguiu o seguinte fluxo
- Início do CFP: 2024-06-30
- Encerramento do CFP: 2024-09-20
- Notificação aos palestrantes: 2024-09-27
- Publicação da programação: 2024-10-25
- Data-alvo para os vídeos: 2024-11-08
- EmacsConf: 2024-12-07
- Foram garantidos 82 dias entre a abertura e o fechamento do CFP, 49 dias entre o fechamento e a data-alvo dos vídeos, e 29 dias entre essa data e o evento
- Neste ano também foi usada aprovação antecipada, e apresentações mais longas foram ajustadas para serem aprovadas depois que o contorno geral da programação ficou definido
- Seis vídeos chegaram antes ou no próprio dia da data-alvo, e os demais vieram em sequência depois, mas isso não causou grandes problemas graças à política de operação de baixa carga e à capacidade de processamento disponível
Dados, comunicação e operação da programação
- As informações das apresentações continuaram sendo gerenciadas em arquivos Org, e os seguintes testes de validação poderiam reduzir ainda mais erros operacionais
- verificar permissões e propriedade dos arquivos
- verificar tratamento de maiúsculas e minúsculas na detecção do tipo de Q&A
- verificar a existência da página de redirecionamento do BBB
- verificar crases em transcrições que quebrem o formato da wiki
- verificar se os arquivos estão públicos e legíveis
- verificar inconsistências entre comentários dos legendistas, status das legendas e legendistas
- O PsiTransfer foi usado novamente para upload de arquivos pelos palestrantes
- A divulgação do CFP aconteceu em emacs-tangents, Emacs News, emacsconf-discuss, emacsconf-org, r/emacs e outros, e System Crafters, Irreal e Emacs APAC também mencionaram a EmacsConf
- Também houve postagens relacionadas no Mastodon, X, BlueSky e Facebook, e o evento foi registrado no foss.events
- Na Suíça, 200ok e Ardeo realizaram encontros presenciais, e em Ljubljana o emacs.si também organizou um encontro
- Para contato com palestrantes e voluntários, foi usado bastante mail merge com base em emacsconf-mail.el
- A coordenação de bastidores continuou usando Mumble e funcionou de forma estável
Montagem das apresentações e automação
- O evento foi organizado em dois dias, com duas trilhas no primeiro dia e trilha única no segundo
- Foram deixados intervalos de cerca de 15 a 20 minutos entre as apresentações para lidar com envios atrasados, cancelamentos de última hora e mudanças tardias de Q&A para ao vivo
- No domingo, foi adicionada uma sessão de microfone aberto para preencher o tempo gerado por um cancelamento de última hora, e no ano seguinte pode valer a pena reservar esse horário com antecedência
- Ao mover parte dos comentários finais usuais para mais cedo, foi possível terminar no horário e evitar que alguns hosts e participantes precisassem ficar até muito tarde
- Houve um pequeno problema na publicação automática da agenda: como
case-fold-searchestava emnil, o Q&A"Live"não correspondia alivee não foi anunciado como apresentação ao vivo - Essa configuração foi adicionada a
emacsconf-stream-config.ele, na próxima vez, deverá ser refletida também nos scripts do ansible - As transições entre apresentações ficaram a cargo do gerenciamento automático baseado em crontab e funcionaram de forma estável
- Houve um problema no domingo em que a abertura não começou exatamente na hora, porque o crontab foi desligado para fazer os comentários finais de sábado no momento desejado e depois esqueceram de religar o autopilot no dia seguinte
- A trilha dev foi programada para começar um pouco depois da trilha gen, reduzindo a carga operacional da manhã
- Na manhã de domingo, foram colocadas mais sessões de Q&A via IRC em vez de Q&A ao vivo, e neste ano não houve sinal de problemas de largura de banda nesse período
- Como melhorias futuras, continuam pendentes um countdown em JavaScript para a interface web dos hosts, refletir o horário de término atual dos vídeos no MPV e mostrar o horário local nas páginas de programação e exibição
Vídeos gravados e streaming
- Os palestrantes foram fortemente incentivados a enviar vídeos pré-gravados, reduzindo o estresse operacional e permitindo o trabalho voluntário de legendagem
- Também foi possível lidar com alguns envios de última hora e apresentações ao vivo, e cada palestra pôde ter seu vídeo e sua transcrição publicados automaticamente na wiki quando fosse liberada ao vivo
- Neste ano não houve um problema claro de prazo de corte para codificação de vídeo, e a reencodificação dentro do screen funcionou de forma confiável para evitar travamentos
- A normalização automática de áudio com
ffmpeg-normalizenão funcionou bem, então Leo Vivier normalizou o áudio às pressas na véspera do evento - No próximo ano, pode-se considerar remixar o áudio para mono
- em uma apresentação, o áudio se movia entre esquerda e direita, o que distraiu
- para alguns participantes que ouvem a apresentação apenas com um dos ouvidos, mono pode ajudar
- Vídeos em 60 fps parecem ter sobrecarregado o servidor res e causado frames perdidos; na próxima vez, uma opção é reduzir para 30 fps e adicionar uma observação às instruções de preparação das apresentações
- Houve borrões de cor e anomalias em alguns vídeos no MPV, mas isso foi resolvido após o upgrade para MPV v0.38
- Todos os vídeos foram enviados e agendados no YouTube, o que foi conveniente por não exigir atualizações contínuas durante o evento
- O Toobnix também tem recurso de upload agendado, mas isso não era conhecido durante o evento, então os vídeos foram enviados com a função
emacsconf-publish-upload-talk
Legendas e processamento de Q&A
- Neste ano, a conversão de fala em texto usou WhisperX
- O WhisperX teve bom desempenho na criação de rascunhos de legendas que os voluntários de legendagem puderam editar
- A detecção de atividade de voz integrada do WhisperX reduziu bastante as alucinações em trechos de silêncio que o OpenAI Whisper mostrou no ano passado
- Houve um caso em que o WhisperX perdeu um bloco de texto do palestrante, e essa parte foi preenchida manualmente
- Graças ao Lenovo P52 e aos 64 GB de RAM, até mesmo o processamento de legendas de última hora pôde ser feito no computador local
- Os timestamps ficaram um pouco desalinhados, mas o processo em que palestrantes e voluntários verificaram a qualidade do vídeo nos bastidores ajudou
- Para realinhamento de texto, foi usado Aeneas, mas o Aeneas também se confundiu em trechos de silêncio
- Foi adicionado ao subed código para realinhar segmentos de legenda com timestamps do Aeneas ou do WhisperX
- Anush V fez um experimento usando machine learning para subtitle segmentation, algo que pode ser explorado no futuro
- A gravação de Q&A às vezes só começava alguns minutos depois do início da apresentação, mas não foi feito trabalho de extrair a parte inicial de dumps do Icecast ou de gravações do stream do YouTube
- Ao configurar o BigBlueButton no formato de processamento adicional de vídeo, neste ano foi possível receber um arquivo por sessão, sem precisar juntar vários streams com ffmpeg
- As transcrições de Q&A e os logs de chat foram verificados rapidamente para identificar qualquer conteúdo que alguém pudesse querer remover
- A função
subed-crop-media-filefoi adicionada, facilitando o corte dos arquivos de Q&A
BigBlueButton e operação dos servidores
- Neste ano, foi configurado um novo servidor de webconferência BigBlueButton
- O servidor que hospedava a instância anterior do BigBlueButton havia sido doado por uma organização sem fins lucrativos que deixou de existir, e foi removido em 27 de outubro
- Depois de avaliar a adequação de Jitsi e Galene, decidiu-se continuar usando BigBlueButton
- Por preocupação com o problema do Mongo non-free nas versões BBB 2.3 ou superiores e inferiores à 3, foi instalado o BBB 3.0
- Foi difícil fazer o BBB 3.0 rodar no Docker do servidor res existente, então decidiu-se subir uma VPS Linode adicional
- O BBB se recusava a rodar em servidores menores que 8GB/4core; durante os testes subiu-se para 8GB/4core, depois no meio foi reduzido para 1GB/1core, e durante o evento foi elevado para 16GB/8core dedicated
- Uma das vantagens do BBB 3.0 foi o smart layout, que permite arrastar miniaturas de webcam para o lado da tela compartilhada e facilitar a leitura do conteúdo compartilhado
- Criar salas pelo Rails console foi relativamente simples
- Foi fornecido aos palestrantes o moderator access code, mas mesmo com o superadmin logado, não havia automaticamente privilégio de moderador em todas as salas, então foi preciso adicionar host access manualmente
- O uso do BBB em comparação com 2023 foi o seguinte
- máximo de usuários simultâneos: de 62 para 107
- máximo de reuniões simultâneas: de 6 para 7
- máximo de pessoas em uma reunião: de 27 para 25
- total de usuários únicos: de 84 para 102
- usuários únicos que falaram: de 36 para 40
- O número máximo de usuários simultâneos não é deduplicado, porque é uma métrica necessária para planejar a carga do servidor
Etherpad, IRC e automação de publicação
- O Etherpad 1.9.7 foi usado novamente para coletar perguntas e respostas
- O Etherpad v2.x não foi atualizado neste ano porque não se conseguiu resolver a forma de colocá-lo em funcionamento dentro do tempo disponível
- Foi escrito um Elisp para copiar a linha atual do ERC sem quebra de linha e colá-la no Etherpad, e isso funcionou bem para transferir perguntas do IRC para o pad
- Essa função é
emacsconf-erc-copye está em emacsconf-erc.el - No próximo ano, a ideia é adicionar pronomes e pronúncia ao template do Etherpad para que os hosts possam consultar isso facilmente
- Graças ao aviso prévio à equipe do libera.chat antes do evento, não houve bloqueio por uso de
chat.emacsconf.org - A configuração do IRC quase não precisou de ajustes e continuou funcionando de forma estável como plataforma de discussão
- Um atalho de teclado para inserir a URL da apresentação seria útil e parece fácil de adicionar ao keymap do Embark
- O processo de publicar automaticamente apresentações e transcrições na wiki às vezes exigiu intervenção manual quando alguém fazia commit de mudanças na wiki
- Houve esquecimento na mudança de fase de publicação da conferência para ativar a inclusão do Etherpad, mas Ihor percebeu e isso foi corrigido no fim
Custos, tempo e documentação
- Os custos de 2024 antes de impostos foram os seguintes
- custo adicional de hospedagem em dezembro: USD 52.54
- custo adicional de testes do BBB em novembro: USD 3.11
- custo de hospedagem ao longo do ano: USD 120
- O custo total foi de USD 175.65 antes de impostos e USD 198.48 com 13% de imposto
- A Free Software Foundation fornece o media.emacsconf.org para disponibilização dos arquivos de mídia
- Ry P fornece o res.emacsconf.org para streaming com OBS via sessão VNC
- No fim de semana do evento, não havia ninguém disponível para consultar imediatamente a lista de doadores e as estatísticas atuais de doação do programa FSF Working Together, então da próxima vez isso precisa ser preparado antes para agradecer devidamente aos apoiadores
- O tempo total relacionado a Emacs em 2024 foi de 320 horas, menos que as 432 horas de 2023
- Em outubro e novembro de 2024, o tempo relacionado a Emacs foi de 92,6 horas, cerca de metade das 179,8 horas do mesmo período no ano anterior
- Parte do tempo de 2023 estava relacionada à preparação de apresentações da EmacsConf, e naquela época já havia mais familiaridade com os scripts
- Mesmo com menos tempo de preparação, a automação acumulada de forma gradual teve efeito, permitindo realizar a EmacsConf dentro de um tempo de foco limitado
- As tarefas pendentes e anotações encontradas durante a operação foram capturadas como itens a adicionar ao organizers notebook
- As notas anuais do organizers notebook estão sendo transferidas para o organizers' notebook principal, com o objetivo de no longo prazo ter um estado em que seja possível seguir checklists e notas do início do planejamento até o encerramento
Avaliação geral e próximos pontos de conexão
- A EmacsConf 2024 foi uma boa experiência, foi divertida e continua sendo um evento que dá vontade de realizar novamente no ano seguinte
- As reações dos participantes incluíram comentários positivos sobre a logística de conferências online e sobre as condições para uma conferência online bem-sucedida
- Mesmo depois do evento, ainda é possível manter conexão por meio do Emacs News, meetups, Planet Emacslife, emacs.tv
- Também estão sendo procurados posts de blog de outras conferências, especialmente sobre como melhorar ainda mais conferências virtuais
1 comentários
Opiniões no Hacker News
A EmacsConf deste ano foi muito bem organizada, e eu também tive a sensação de que foi “aconchegante e confortável”
É interessante comparar a atmosfera da EmacsConf com a de outros eventos de editores, como a NeovimConf ou as “festas” de lançamento do Visual Studio Code e da Jetbrains
A Sacha é realmente incrível, e é impressionante a quantidade de código escrito em elisp para viabilizar um evento com esse nível de qualidade
É uma pena que ela tenha um ranqueamento tão baixo nas buscas a ponto de, mesmo pesquisando diretamente, aparecerem só resultados de arquivos de configuração do Neovim; então espero que entendam eu deixar o link aqui: https://neovimconf.live
Isso me dá esperança de que este editor vá durar muito tempo, e mesmo nos breves 10 anos em que o usei de forma leve, ele de fato continuou melhorando
Viva a comunidade Emacs
Pelo que sei, haveria uma apresentação sobre uma tentativa de ressuscitar o Emacs baseado em Guile, mas ainda não vi se ela está incluída em algum lugar
Com o Emacs ganhando compilação nativa, imagino que essa pressão tenha diminuído um pouco, mas ainda vejo apelo em scriptar o Emacs com uma linguagem que não seja Elisp
Para esse objetivo, Scheme ou Lua parecem opções bem boas
Edit: estava aqui - https://emacsconf.org/2024/talks/guile/
Eu sou do lado do Guile, mas acho que, mesmo que o Emacs só permitisse elisp em cima do Guile, já seria um ganho suficiente
Eu esperava ver algo sobre o EAF este ano
Acho que o que ainda falta bastante ao Emacs é uma boa forma de lidar com gráficos interativos, mas o EAF ainda é bem instável e tem pouca documentação
Espero que esse projeto, ou algo melhor, avance
[1]: https://github.com/emacs-eaf/emacs-application-framework
Fico muito triste por não ter conseguido “participar” disso
Uso Emacs há mais de 15 anos, e pessoas como a Sacha já estavam por lá desde quando comecei com Emacs, tendo sido um dos grandes motivos para eu me apaixonar por ele naquela época
Sinto que tive muita sorte de ter entrado nesse período
Vejo colegas sofrendo com ferramentas que eles não conseguem consertar, nem sequer ajustar um pouco, mas hoje em dia é difícil imaginar que eles dedicariam tempo para aprender Emacs
Emacs é realmente um editor para a vida inteira
O Emacs está longe de ser perfeito, é lento, carece dos recursos vistosos de outros editores e às vezes é realmente frustrante de usar
Mas, no fim, ele é meu editor
Ele me permitiu criar um ambiente de edição e programação perfeito para mim, e não há outro ambiente que me dê tanta liberdade e prazer
A família Vim também chega bem perto, continuo usando como editor auxiliar e não consigo viver sem vim-mode, mas o Emacs permite uma personalização muito mais profunda, e Lisp se encaixa nisso de forma muito elegante
É reconfortante saber que, enquanto editores surgem e desaparecem, o Emacs sempre estará por perto
Gosto dele até com seus defeitos
A organização das palestras online da EmacsConf 2024 foi realmente impressionante
Roteiros, comentários, perguntas e respostas e links dos vídeos foram todos capturados e publicados em org-mode, o que tornou tudo muito fácil de examinar
Fico curioso para saber se o projeto Lem é “aceito” pela comunidade Emacs, ou se vale a pena testá-lo
Como usuário antigo de Emacs, às vezes fui embora, mas sempre acabei voltando; ultimamente, porém, o Lem tem chamado minha atenção: https://github.com/lem-project/lem
Para quem não conhece, o Lem é, grosso modo, um editor parecido com o Emacs, escrito e extensível nativamente em Common Lisp, multiplataforma, com suporte a NCurses, SDL2 etc., com LSP e rápido
Espero que o Lem continue crescendo
Como ele é melhor que o Emacs em vários aspectos essenciais, espero que continue ganhando visibilidade
Também gostaria de saber se há planos de empacotamento para Debian
Foi muito divertido explorar os vídeos da EmacsConf deste ano; as presentations estavam muito bem-acabadas, e há muitos trabalhos legais em andamento
Ainda tenho muita coisa para ver, mas, até agora, os conteúdos de infraestrutura e UI foram especialmente impressionantes, e há muita coisa acontecendo
As palestras de que gostei foram estas:
https://emacsconf.org/2024/talks/casual/ -- Charles Choi falando sobre projetar uma UI para humanos, não para polvos. A piada é feita com carinho, e eu sou um polvo feliz
https://emacsconf.org/2024/talks/literate/ -- programação literária, de Howard Abram
https://emacsconf.org/2024/talks/gypsum/ -- um clone de Emacs e Emacs Lisp feito em Guile
https://emacsconf.org/2024/talks/rust/ -- Rune, um núcleo experimental de Emacs feito em Rust
https://emacsconf.org/2024/talks/julia/ -- uma ótima palestra sobre concorrência entre Julia e Emacs
https://emacsconf.org/2024/talks/guile/ -- Robin Templeton retomando o Guile-Emacs
https://emacsconf.org/2024/talks/mcclim/ -- hmm, será que essa palestra recebeu perguntas pelo lambdaMOO?
“O custo total de hospedagem do evento foi de USD 42.92 + impostos, e o custo do teste do BBB antes do evento foi de USD 3.11 + impostos, totalizando USD 46.03 + impostos. O nó web e o nó de live streaming ficam como nanodes de 1 GB pelo restante do período. São USD 5 por mês + impostos para cada um dos 2 servidores, ou seja, USD 110. Totalmente administrável.”
Fico curioso para saber como esse custo se compara ao de outras conferências
Configurar o BBB por conta própria com Docker não é fácil
Se você não já fez isso antes ou não é, de algum jeito, especialista, é bem difícil; eu tentei e desisti
Meses ou até anos depois, as pessoas ainda comentam na issue que abri
A implantação via Docker nem é o método oficial, então, embora dê para entender, também é difícil conseguir ajuda dos mantenedores
É uma configuração enorme, com muitas peças em movimento
Ainda assim, é muito legal que tenham conseguido fazer isso
Acho que foi algo em torno de USD 12, mas não consigo confirmar o valor exato agora
Também estamos experimentando enviar pequenos presentes como forma de agradecimento
O plano maligno é que adesivos ou pins possam fazer outras pessoas puxarem assunto com os palestrantes sobre Emacs, mas Corwin vê isso como um experimento pessoal e não inclui no orçamento da conferência
Claro, há muitas coisas que não entram como custo monetário, como o tempo que os palestrantes dedicaram às apresentações ou servidores que as pessoas compartilharam
Mesmo assim, é surpreendente quanta coisa dá para fazer com um orçamento pequeno e voluntariado flexível
Para quem já pensou em organizar sua própria conferência, vale muito a pena considerar
Acompanho a Sacha há bastante tempo e gosto das atualizações frequentes dela sobre Emacs
Sou um entusiasta ferrenho de Common Lisp e também comprei o livro Mastering Emacs no ano passado, então agora só falta tomar coragem e fazer um projeto em Emacs Lisp
É preciso estar realmente preparado para pensar em termos de escopo dinâmico
Eu fiz o caminho inverso, de elisp para Common Lisp, e é difícil voltar para elisp
Fico me perguntando se o TeXmacs deveria ser incluído na EmacsConf, mesmo não sendo baseado em Emacs nem em TeX, apenas inspirado neles
A troca de ideias e entusiasmo entre ferramentas do tipo Emacs só pode beneficiar os dois projetos e os editores baseados em Lisp em geral
O motivo de eu estar realmente falando de fora é que uso LyX para escrever documentação técnica e, por isso, acabo deixando de lado um caso de uso muito importante do TeXmacs