{"id":26225669,"url":"https://github.com/jwalsh/emacsconf-2024","last_synced_at":"2026-05-09T16:02:24.623Z","repository":{"id":267024853,"uuid":"900003467","full_name":"jwalsh/emacsconf-2024","owner":"jwalsh","description":"EmacsConf 2024 conference notes, transcript processing, and analysis tools","archived":false,"fork":false,"pushed_at":"2024-12-08T23:17:56.000Z","size":365,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T22:44:35.205Z","etag":null,"topics":["community-event","conference","conference-notes","data-processing","editor","elisp","emacs","emacs-lisp","emacsconf","event","transcript-analysis","vtt-processing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwalsh.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-07T15:51:38.000Z","updated_at":"2025-06-07T00:48:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"57752489-cb22-4878-a987-90a5fe591d6b","html_url":"https://github.com/jwalsh/emacsconf-2024","commit_stats":null,"previous_names":["jwalsh/emacsconf-2024"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jwalsh/emacsconf-2024","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwalsh%2Femacsconf-2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwalsh%2Femacsconf-2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwalsh%2Femacsconf-2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwalsh%2Femacsconf-2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwalsh","download_url":"https://codeload.github.com/jwalsh/emacsconf-2024/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwalsh%2Femacsconf-2024/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273423563,"owners_count":25103143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community-event","conference","conference-notes","data-processing","editor","elisp","emacs","emacs-lisp","emacsconf","event","transcript-analysis","vtt-processing"],"created_at":"2025-03-12T19:17:33.004Z","updated_at":"2026-05-09T16:02:19.211Z","avatar_url":"https://github.com/jwalsh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: EmacsConf 2024: Full Schedule\n#+DATE: December 7-8, 2024\n\n- https://emacsconf.org/2024/talks/\n\n* Interest Categories\n- :REPL: REPL-driven development focus\n- :AI: AI/ML and data processing related\n- :LITERATE: Literate programming and documentation\n- :CLOUD: Cloud/systems development\n- :CORE: Core Emacs development/internals\n- :RECOMMEND: Strong recommendation based on your interests\n\n* Streaming Options and Setup\nFor optimal performance, we recommend watching the streams using mpv:\n\n#+begin_src bash\n# General Track\nmpv https://live0.emacsconf.org/gen.webm\n\n# Development Track\nmpv https://live0.emacsconf.org/dev.webm\n#+end_src\n\n* [#A] Priority Talks                                             :RECOMMEND:\n\n** Saturday Key Talks\n1. [10:00] Gypsum: Emacs and ELisp in Scheme                      :REPL:CORE:\n2. [10:40] Experimental Emacs core in Rust                         :CORE:CLOUD:\n3. [11:20] p-search: local search engine                          :AI:\n4. [13:00] Julia and Emacs philosophies                           :REPL:\n5. [13:25] Guile-Emacs relaunched                                 :REPL:CORE:\n6. [14:25] Elisp and McCLIM                                       :REPL:\n\n** Sunday Key Talks\n1. [09:10] Org-based semantic wiki                                :LITERATE:\n2. [09:30] Regex compilation and pattern matching                 :CORE:\n3. [14:15] Literate programming for 21st Century                  :LITERATE:\n4. [16:00] Transducers: ergonomic data processing                :AI:\n\n* [#A] Schedule\nTimes in EST (GMT-5)\n\n** Saturday, December 7, 2024\n\n*** 9:00 - 9:10 :: Saturday opening remarks\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n*** DONE [#B] 9:10 - 9:20 :: Writing academic papers in Org-Roam      :watch:\n- *Speaker*: Vincent Conus (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n*** 9:40 - 10:00 :: Managing writing project metadata with org-mode\n- *Speaker*: Blaine Mooers (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n*** 10:00 - 10:20 :: Gypsum: my clone of Emacs and ELisp written in Scheme\n- *Speaker*: Ramin Honary (he/him)\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/gypsum/\n\n\n#+begin_src scheme\n(define push-stack (put-with cons))\n(define collatz\n  (many\n    push-stack\n    (either\n      (try (check (λ (n) (\u003c= n 1)))\n                  (success))\n      (try (check odd?)\n           (next (λ (n) (+ 1 (* 3 n)))))\n      (try (check even?)\n           (next (λ (n) (quotient n 2))))\n      (fail \"not an integer\")\n      )))\n#+end_src\n\n#+RESULTS:\n\n*** DONE 10:20 - 11:00 :: The Future of Org\n- *Speaker*: Ihor Radchenko\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/org-update - Ihor Radchenko - Track: General\n- https://sr.ht/~yantar92/\n\n*** DONE 10:40 - 11:00 :: An experimental Emacs core in Rust\n- *Speaker*: Troy Hinckley\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/rust/\n- https://github.com/CeleritasCelery/rune\n\n*** 11:20 - 11:30 :: Colour your Emacs with ease\n- *Speaker*: Ryota Sawada (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n*** DONE 11:20 - 11:45 :: p-search: a local search engine in Emacs\n- *Speaker*: Zac Romero\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/p-search/\n- https://github.com/zkry/p-search\n\n#+begin_src elisp\n(use-package p-search :straight (:host github :repo \"zkry/p-search\"))\n#+end_src\n\n#+begin_src elisp\n#+end_src\n\n*** DONE 13:00 - 13:10 :: Exploring shared philosophies in Julia and Emacs\n- *Speaker*: Gabriele Bozzola (he/him/his)\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/julia/\n\n*** 13:00 - 13:10 :: My journey of finding and creating the \"perfect\" Emacs theme\n- *Speaker*: MetroWind (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n*** DONE 13:25 - 13:45 :: Beguiling Emacs: Guile-Emacs relaunched!\n- *Speaker*: Robin Templeton (they/them)\n- *Track*: Development\n- *Q\u0026A*: #emacsconf-dev\n\n- https://emacsconf.org/2024/talks/guile/\n\n*** 13:30 - 13:45 :: Watering my (digital) plant with Emacs timers\n- *Speaker*: Christopher Howard (he/him)\n- *Track*: General\n- *Q\u0026A*: #emacsconf-gen\n\n*** DONE 13:55 - 14:05 :: Committing secrets with git using sops-mode\n- *Speaker*: Jonathan Otsuka\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/secrets/\n- https://github.com/getsops/sops\n- https://github.com/djgoku/sops\n\n#+begin_src elisp\n(use-package sops\n  :straight (:type git :repo \"djgoku/sops\"))\n#+end_src\n\n*** 13:55 - 14:35 :: Emacs as a shell\n- *Speaker*: Christopher Howard (he/him)\n- *Track*: General\n- *Q\u0026A*: #emacsconf-gen\n\n*** DONE 14:25 - 15:25 :: Elisp and McCLIM\n- *Speaker*: he or e/em/eir\n- *Track*: Development\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/mcclim/\n\n#+begin_src elisp\n(use-package rmoo\n    :straight (:type git :repo \"toddsundsted/rmoo\")\n    :init\n    (unless (fboundp 'process-kill-without-query)\n        (defun process-kill-without-query (process \u0026optional flag)\n            (set-process-query-on-exit-flag process nil)\n            t))\n    :config\n    (rmoo-worlds-add-new-moo \"LambdaMOO\" \"lambda.moo.mud.org\" \"8888\"))\n#+end_src\n\n#+RESULTS:\n\n*** 14:45 - 15:05 :: Re-imagining the Emacs user experience with Casual Suite\n- *Speaker*: Charles Choi (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/casual/\n\n*** 15:25 - 15:45 :: New in hyperdrive.el: quick install, peer graph, transclusion!\n- *Speaker*: Joseph Turner\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/hyperdrive/\n\n*** 15:45 - 16:05 :: Emacs, eev, and Maxima - now!\n- *Speaker*: Eduardo Ochs\n- *Track*: Development\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/maxima/\n\n*** 16:05 - 16:15 :: Emacs Writing Studio\n- *Speaker*: Peter Prevos (he)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/writing/\n\n*** DONE 16:25 - 16:50 :: Emacs 30 Highlights\n- *Speaker*: Philip Kaludercic\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/emacs30/\n\n*** DONE 17:00 - 17:10 :: Saturday closing remarks\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/sat-close/\n\n** Sunday, December 8, 2024\n\n*** DONE 9:00 - 9:10 :: Sunday opening remarks\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/sun-open/\n\n*** DONE 9:10 - 9:20 :: Unlocking linked data: replacing specialized apps with an Org-based semantic wiki\n- *Speaker*: Abhinav Tushar (he/him)\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/links/\n\n#+begin_src emacs-lisp\n;; Install package\n(straight-use-package\n '(org-roam-exts :type git :host github :repo \"lepisma/org-roam-exts\"))\n\n;; Configure display settings\n(add-to-list 'display-buffer-alist\n             '(\"\\\\*org-roam\\\\*\"\n               (display-buffer-in-direction)\n               (direction . right)\n               (window-width . 0.33)\n               (window-height . fit-window-to-buffer)))\n\n;; Enable features\n(org-roam-exts-enable)\n(org-roam-sk-enable)\n\n#+end_src\n\n#+RESULTS:\n\n*** DONE 9:30 - 9:50 :: Emacs regex compilation and future directions for expressive pattern matching\n- *Speaker*: Danny McClanahan (they/them)\n- *Track*: General\n- *Q\u0026A*: #emacsconf-gen\n\n- https://emacsconf.org/2024/talks/regex/\n- https://github.com/cosmicexplorer/helm-rg\n\n*** 10:00 - 10:20 :: Survival of the skillest: Thriving in the learning jungle\n- *Speaker*: Bala Ramadurai (his/him)\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/learning/\n\n*** 10:30 - 11:15 :: About Blee: enveloping our own autonomy directed digital ecosystem with Emacs\n- *Speaker*: Mohsen BANAN (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/blee/\n- https://github.com/bxgenesis/start\n\n*** 11:30 - 11:45 :: Fun things with GNU Hyperbole\n- *Speaker*: Mats Lidell (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/hyperbole/\n\n*** [#C] 13:40 - 13:55 :: PGmacs: browsing and editing PostgreSQL databases from Emacs\n- *Speaker*: Eric Marsden (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/pgmacs/\n- https://github.com/emarsden/pgmacs\n\n#+begin_src elisp\n(use-package pg\n  :straight (:type git :host github :repo \"emarsden/pg-el\"))\n\n(use-package pgmacs \n  :straight (:type git :host github :repo \"emarsden/pgmacs\"))\n#+end_src\n\n#+RESULTS:\n\n*** DONE 14:15 - 14:35 :: Literate programming for the 21st Century\n- *Speaker*: Howard Abrams (he/him)\n- *Track*: General\n- *Q\u0026A*: BBB\n\n- https://emacsconf.org/2024/talks/literate/\n- https://howardism.org/Technical/Emacs/literate-writ-large.html\n\n*** 15:00 - 15:10 :: An example of a cohesive student workflow in Emacs\n- *Speaker*: Daniel Pinkston (he/him)\n- *Track*: General\n- *Q\u0026A*: #emacsconf-gen\n\n- https://emacsconf.org/2024/talks/students/\n- https://protesilaos.com/emacs/denote\n\n*** 15:20 - 15:40 :: So you want to be an Emacs-fluencer?\n- *Speaker*: Gopar\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/sharing/\n\n*** DONE 16:00 - 16:30 :: Transducers: finally, ergonomic data processing for Emacs!\n- *Speaker*: Colin Woodbury (he)\n- *Track*: General\n- *Q\u0026A*: BBB\n- https://emacsconf.org/2024/talks/transducers/\n- https://github.com/fosskers/transducers.el\n\n**** Setup Example\n#+begin_src elisp\n(use-package transducers\n  :straight (:host github :repo \"fosskers/transducers.el\"))\n\n(require 'transducers)\n(setq-local read-symbol-shorthands '((\"t-\" . \"transducers-\")))\n#+end_src\n\n**** Line Processing Example\n#+begin_src elisp\n;; Process lines in README.org\n(t-transduce\n  ;; How do we want to process each element?\n  (t-comp (t-step 2) (t-map #'length) (t-filter #'cl-evenp))\n  ;; How do we want to combine all the elements together?\n  #'+\n  ;; What's our original data source?\n  (t-file-read \"README.org\"))\n#+end_src\n\n**** Text Analysis Example\n#+begin_src elisp\n;; Sample text analysis\n(defvar sample-text\n  \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. \nSed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris \nnisi ut aliquip ex ea commodo consequat.\")\n\n;; Letter frequency analysis\n(t-transduce\n (t-comp\n  (t-map #'downcase)                    ; Convert to lowercase\n  (t-filter #'alphabetp)                ; Keep only letters\n  (t-group-by #'identity)               ; Group by character\n  (t-map (lambda (group)                ; Calculate frequencies\n          (cons (car group)\n                (/ (* 100.0 (length (cdr group)))\n                   (length sample-text)))))  ; As percentage\n  (t-sort #'\u003e #'cdr))                   ; Sort by frequency\n #'t-cons\n (string-to-list sample-text))\n#+end_src\n\n;; Local Variables:\n;; read-symbol-shorthands: ((\"t-\" . \"transducers-\"))\n;; End:\n*** TODO 16:50 - 17:00 :: Sunday closing remarks\n- *Track*: General\n- *Q\u0026A*: Etherpad\n\n- https://emacsconf.org/2024/talks/sun-close/\n\n* Streaming Options\nFor optimal performance, we recommend watching the streams using a streaming media player:\n\n** General Track\nStream URL: https://live0.emacsconf.org/gen.webm\nLow bandwidth: https://live0.emacsconf.org/gen-480p.webm\n\n** Development Track\nStream URL: https://live0.emacsconf.org/dev.webm\nLow bandwidth: https://live0.emacsconf.org/dev-480p.webm\n\nSupported players:\n- mpv\n- vlc\n- ffplay\n\n* Chat Channels\n\n- General Track: #emacsconf-gen on libera.chat\n- Development Track: #emacsconf-dev on libera.chat\n\n;; Local Variables:\n;; read-symbol-shorthands: ((\"t-\" . \"transducers-\"))\n;; End:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwalsh%2Femacsconf-2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwalsh%2Femacsconf-2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwalsh%2Femacsconf-2024/lists"}