4 pontos por GN⁺ 2024-12-30 | 1 comentários | Compartilhar no WhatsApp
  • 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-search estava em nil, o Q&A "Live" não correspondia a live e não foi anunciado como apresentação ao vivo
  • Essa configuração foi adicionada a emacsconf-stream-config.el e, 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-normalize nã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-file foi 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-copy e 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

 
GN⁺ 2024-12-30
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

    • Se eu não estivesse lá, acho que seria difícil acreditar que foi tão bem organizada
      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
    • Eu nem sabia que existia uma NeovimConf
      É 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
    • Sinceramente, o que torna o Emacs especial é a comunidade, e o fato de ser um software em que a GPL se encaixa bem e brilha fica especialmente claro na comunidade do Emacs
      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
    • Fico curioso para saber o que foi diferente em comparação com a NeovimConf
  • 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/

    • Alguns textos sobre Lua chegaram à página principal recentemente, e os comentários deixam bem claro que Lua é uma linguagem que realmente divide opiniões
    • Só de ter um runtime decente para elisp já seria excelente
      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

    • Eu também uso Emacs exatamente por esse motivo
      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

    • No ano passado, o Lem foi incluído na apresentação sobre Emacsen, e lembro que a recepção foi boa: https://emacsconf.org/2023/talks/emacsen/
      Espero que o Lem continue crescendo
    • O Lem é realmente excelente
      Como ele é melhor que o Emacs em vários aspectos essenciais, espero que continue ganhando visibilidade
    • O lançamento mais recente foi em fevereiro, então fico curioso para saber se houve progresso desde então
    • Parece bom, mas fico curioso sobre como é o ecossistema de plugins e extensões em comparação com o Emacs
      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

    • Aqui falta o custo de tempo investido
      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
    • Se estamos falando de custos como registro de nome de domínio, isso também é bem pouco
      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

    • Passar de Common Lisp para elisp é uma transição extremamente frustrante
      É 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

    • Falando totalmente como alguém de fora, acho que deveria ser incluído, sim
      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