summaryrefslogtreecommitdiffstats
path: root/2025/talks
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2025/talks.md11
-rw-r--r--2025/talks/bibliography.md83
-rw-r--r--2025/talks/commonlisp.md39
-rw-r--r--2025/talks/completion.md36
-rw-r--r--2025/talks/juicemacs.md106
-rw-r--r--2025/talks/life.md92
-rw-r--r--2025/talks/python.md26
-rw-r--r--2025/talks/reference.md67
8 files changed, 460 insertions, 0 deletions
diff --git a/2025/talks.md b/2025/talks.md
new file mode 100644
index 00000000..bb651054
--- /dev/null
+++ b/2025/talks.md
@@ -0,0 +1,11 @@
+We're getting ready for EmacsConf 2025. Want to propose a talk?
+[[Check out our call for participation|/2025/cfp]] and submit your proposal
+by Friday, September 19, 2025!
+
+Here are some of the talks we've accepted so far:
+
+[[!inline pages="internal(2025/schedule-details)" raw="yes"]]
+
+Want to help make EmacsConf even awesomer? [[Volunteer!|/volunteer]]
+
+We hope to see you all around on Dec 6-7 for EmacsConf 2025!
diff --git a/2025/talks/bibliography.md b/2025/talks/bibliography.md
new file mode 100644
index 00000000..eb3c1dff
--- /dev/null
+++ b/2025/talks/bibliography.md
@@ -0,0 +1,83 @@
+[[!meta title="An enhanced bibliography in org-mode for scientific research and self-directed learning"]]
+[[!meta copyright="Copyright © 2025 Blaine Mooers"]]
+[[!inline pages="internal(2025/info/bibliography-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# An enhanced bibliography in org-mode for scientific research and self-directed learning
+Blaine Mooers (he/him) - <mailto:blaine-mooers@ouhsc.edu>
+
+[[!inline pages="internal(2025/info/bibliography-before)" raw="yes"]]
+
+This 20-minute talk introduces a modernized approach to creating annotated bibliographies using Org-mode.
+This new approach overcomes the limitations of traditional BibTeX-based methods.
+Unlike classical annotated bibliographies, this system supports rich content including text-wrapped figures, tables, code listings, equations, and appendices.
+These features transform static reference collections into visual knowledge repositories.
+
+The presentation will demonstrate how this system leverages Org-mode's unique capabilities, particularly literate programming, to enable real-time data transformation and visualization from cited papers.
+I introduce a modular architecture to overcome BibTeX's whitespace limitations in the annotation field, which stores notes for assembling annotated bibliographies in the classical approach.
+
+Key features of the new approach include:
+
+- A modular design that supports the reuse of annotation files between bibliographies and with literature notes in org-roam and denote
+- Support for including figures, tables, equations, code listings, and literature programming blocks
+- Citation key injection into subsection headings
+- Automated PDF downloading, relabeling, and storing
+- Property drawers for keywords, links to annotation note files to ease making further edits, and links to PDF documents
+- Specialized sorting function for bibliography organization (by author, year, or keywords)
+- Inclusion of a table of contents with hyperlinks
+- Specialized glossaries for acronyms, software packages, equations, and mathematical notation
+
+I will address how this approach complements, rather than replaces, modern personal knowledge management systems like org-roam and denote.
+This approach strengthens project-focused knowledge organization.
+I will discuss the practical benefits, including improved visual memory reinforcement through embedded figures and reduced context switching during in-depth academic work.
+
+I will share the implementation details of the Emacs Lisp functions that power this system (available as a package).
+The presentation will include demonstrations of how these functions streamline everyday tasks such as adding new entries, navigating between bibliography and source material, and preparing project-specific BibTeX files.
+These functions reduce the friction in the academic reading and writing workflow.
+
+For those interested in adopting this approach, I will discuss adaptations for various workflows and address practical considerations, such as copyright implications when sharing illustrated bibliographies.
+The talk will conclude with thoughts on how this system supports different reading styles (reference, survey, and deep reading) as identified by Stephen Heard in his 2022 book "A Scientist's Guide to Writing".
+This approach is particularly valuable for researchers, graduate students, and knowledge workers who need to maintain project-specific literature collections.
+The approach recognizes the reality that most scientists do not need access to their entire knowledge corpus when working on a specific paper.
+Instead, they need a visually reinforced understanding of a targeted subset of the literature.
+
+The format is a 20-minute talk presented as a narrated slideshow. The outline follows:
+
+- The role of the annotated bibliography in my three-pronged approach to scientific writing project management, which I introduced last year in my talk about writing logs.
+- My innovative use of a modular approach, along with numerous enhancements, promotes deep work.
+- Why make an annotated bibliography in the Age of Zettelkastens and Generative AI?
+- Why not assemble a notebook instead?
+- The classic annotated bibliography and its deficits (i.e., why I developed the enhanced bibliography).
+- The advantages of Org-mode for making this annotated bibliography.
+- Defining the scope of the enhanced bibliography: research program level versus writing project-specific.
+- Tour of the master org file that controls the assembly of the final PDF.
+- Project file tree and version control with helper functions.
+- The annotation file and accommodation of three levels of detail for reference, survey, and deep reading.
+- Demonstrations of creating an entry by wrapping a citar, org-ref, and org-cite citekeys.
+- Show how to use literature programming to carry out further analyses using data from a specific paper.
+- Show integration with Zettelkasten by including annotation org files in literature notes.
+- Feeding annotation files into generative AI for help with querying, brainstorming, planning, and synthesis.
+- How does working on an annotated bibliography fit into my weekly writing schedule?
+- Tour of the GitHub repository for this project.
+- Copyright of figures and limits on sharing the enhanced bibliography in public.
+- Summary
+- Acknowledgements
+
+About the speaker:
+
+Blaine Mooers is an associate professor of biochemistry at the University of Oklahoma Health Sciences, where he specializes in macromolecular crystallography. His research focuses on RNA structures and protein-drug complexes important in cancer.
+As an avid Emacs user for five years and LaTeX and Python user for 15 years, Dr. Mooers has developed tools to optimize scientific writing workflows.
+In this talk, he shares his system for managing academic literature using Org-mode, which he developed as a solution to his frustration with traditional annotated bibliographies.
+This new approach enhances scientific creativity and productivity by combining visual memory reinforcement with project-focused knowledge organization.
+This approach addresses the challenging reality of scientific research, where focus is often more valuable than breadth.
+
+
+
+[[!inline pages="internal(2025/info/bibliography-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/bibliography-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/commonlisp.md b/2025/talks/commonlisp.md
new file mode 100644
index 00000000..709d98f4
--- /dev/null
+++ b/2025/talks/commonlisp.md
@@ -0,0 +1,39 @@
+[[!meta title="Common lisp images communicating like-a-human through shared emacs slime and eev"]]
+[[!meta copyright="Copyright &copy; 2025 screwlisp"]]
+[[!inline pages="internal(2025/info/commonlisp-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Common lisp images communicating like-a-human through shared emacs slime and eev
+screwlisp (he/him, they/them) - IRC: screwlisp, <https://gamerplus.org/@screwlisp>, <https://screwlisp.small-web.org/>
+
+[[!inline pages="internal(2025/info/commonlisp-before)" raw="yes"]]
+
+Instead of trying to cram multiple lisp curses
+into one lisp image, slime-connect to multiple
+common lisp images! Communicating through a shared
+emacs pre-solves many race-conditions and other
+communication needs. Further, by harnessing
+eev-mode's eepitch, you can even watch your lisp
+images sharing your emacs with you in real time.
+Even further, the lisp images can pitch to other
+emacs major mode buffers. Cf.
+<https://screwlisp.small-web.org/complex/eepitch-send/>
+.
+
+Q&A will be on IRC and in LambdaMOO.
+
+About the speaker:
+
+Flocking lisp images with Screwlisp (Lispy Gopher Climate and
+<https://screwlisp.small-web.org/>).
+
+
+
+[[!inline pages="internal(2025/info/commonlisp-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/commonlisp-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/completion.md b/2025/talks/completion.md
new file mode 100644
index 00000000..a074b568
--- /dev/null
+++ b/2025/talks/completion.md
@@ -0,0 +1,36 @@
+[[!meta title="corfu+yasnippet: Easier than I thought"]]
+[[!meta copyright="Copyright &copy; 2025 Pedro A. Aranda GutiƩrrez"]]
+[[!inline pages="internal(2025/info/completion-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# corfu+yasnippet: Easier than I thought
+Pedro A. Aranda GutiƩrrez (he, him) - <mailto:paaguti@gmail.com>
+
+[[!inline pages="internal(2025/info/completion-before)" raw="yes"]]
+
+I describe my experience in "getting rid" of company-mode and
+transitioning to corfu. I now have yasnippets integrated with
+a couple lines Emacs Lisp. The main advantage is that with I
+need less packages and configuration, specially on master.
+The talk will include some code snippets that show it was
+easier than expectedand a life demo.
+
+20 minutes (with demo)
+
+About the speaker:
+
+After 30 years using Emacs, professionally and for my PhD, I'm currenly
+quite involved in org-mode, where I'm revamping the LaTeX backend.
+To do this, I needed a new approach to auto-completion because
+company-mode started requiring too much code and integration.
+
+
+
+[[!inline pages="internal(2025/info/completion-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/completion-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/juicemacs.md b/2025/talks/juicemacs.md
new file mode 100644
index 00000000..ba29b3f6
--- /dev/null
+++ b/2025/talks/juicemacs.md
@@ -0,0 +1,106 @@
+[[!meta title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java"]]
+[[!meta copyright="Copyright &copy; 2025 Kana"]]
+[[!inline pages="internal(2025/info/juicemacs-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java
+Kana (they/them) - IRC: kanakana, Blog: https://kyo.iroiro.party - ActivityPub: @kana@f.iroiro.party - Bluesky: @kana.iroiro.party, <mailto:kana@iroiro.party>
+
+[[!inline pages="internal(2025/info/juicemacs-before)" raw="yes"]]
+
+Just-in-time (JIT) compilation helps dynamic languages run fast, and
+speculative compilation makes them run faster, as has been showcased
+by JVMs, LuaJIT, JavaScript engines, and many more JIT runtimes.
+However, Emacs native-compilation, despite its JIT compilation
+(`native-comp-jit-compilation`), does not speculate about runtime
+execution, making it effectively a JIT-ish AOT (ahead-of-time)
+compiler. By introducing a speculative runtime for ELisp, we could
+potentially improve ELisp performance even further, with many new
+optimization opportunities.
+
+Juicemacs <sup><a id="fnr.juicemacs" class="footref" href="#fn.juicemacs" role="doc-backlink">1</a></sup> is my work-in-progress toy project
+re-implementing Emacs in Java. At its centre sits an ELisp JIT
+runtime powered by Graal Truffle, a JIT interpreter framework based
+on partial evaluation and Futamura projections. This talk will cover
+the following along with some demonstrations:
+
+- What is Juicemacs and its ambition? How compatible is it (or does
+ it plan to be) with GNU Emacs and how feature-complete is it now?
+
+- What is speculative compilation? How is it useful for an ELisp JIT
+ runtime?
+
+- What is Truffle and partial evaluation? What is needed if we are to
+ implement a speculative runtime in C without Truffle?
+
+- How many interpreters are there in Emacs? How does Juicemacs
+ implement them?
+
+- What JIT techniques does Juicemacs plan to explore? How can you
+ get involved?
+
+
+# Footnotes
+
+<sup><a id="fn.1" href="#fnr.1">1</a></sup> <https://codeberg.org/gudzpoz/Juicemacs>
+
+Outline:
+
+- Intro: Juicemacs
+ - Self-introduction
+ - Emacs `native-compile` versus modern JIT compilers
+ - Juicemacs: Yet another Emacs rewrite
+ - Demonstration: REPL, pbootstrap, pdump, elprop, ERT
+- Speculative compilation
+ - What we talk about when we talk about JIT compilers
+ - Tired: JIT versus AOT
+ - Wired: With or without runtime information
+ - Speculative compilation
+ - Example: arithmetics
+ - Example: boxing elimination
+ - Graal+Truffle: a meta-compiler by partial evaluation
+- ELisp JIT interpreters
+ - AST interpreter
+ - Macros
+ - Bytecode interpreter
+ - Regexp: slowish
+ - CCL: to be done
+ - Benchmarks
+ - Fun to be had (i.e., TODO & possible explorations)
+ - Transparent array-backed cons list
+ - Regexps
+ - Leaning on `native-compile` for LIMPLE IR
+ - Others
+ - GraalVM native image
+ - GUI
+ - Emacs dynamic module support
+ - How this could be implemented in C
+ - `transferToInterpreter`
+ - Bytecode approach
+ - Problems with the AST approach
+
+- Closing Words
+ - Future of Juicemacs
+ - Future of GNU Emacs Lisp JIT
+ - Ways to contribute
+
+About the speaker:
+
+Hello! This is Kana, an Emacs hobbyist and Java lover from China. A
+few years ago I discovered the Truffle JIT compilation framework and
+have since hoped to implement a JIT runtime myself. Last year I
+finally started implementing one for ELisp, called Juicemacs, and
+have made some progress. In this talk I will share what I've learned
+during the journey, including how three interpreters out of four (or
+more?) in Emacs are implemented in Juicemacs and how speculative
+compilation can make some optimizations possible.
+
+
+[[!inline pages="internal(2025/info/juicemacs-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/juicemacs-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/life.md b/2025/talks/life.md
new file mode 100644
index 00000000..335676d3
--- /dev/null
+++ b/2025/talks/life.md
@@ -0,0 +1,92 @@
+[[!meta title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact"]]
+[[!meta copyright="Copyright &copy; 2025 Andrew John Dougherty"]]
+[[!inline pages="internal(2025/info/life-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact
+Andrew John Dougherty (he/him) - Pronunciation: Andrew DOW-er-tee, IRC: aindilis, Website: <https://frdcsa.org> GitHub: <https://github.com/aindilis>, <mailto:adougher9@gmail.com>
+
+[[!inline pages="internal(2025/info/life-before)" raw="yes"]]
+
+Six years after my EmacsConf 2019 presentation on the Formalized Research
+Database (FRDCSA), I return to share the evolution of this ambitious
+project into the Free Life Planner (FLP) - a comprehensive AI-powered
+system designed to help people manage the complex logistics of daily life,
+from basic survival to thriving in challenging circumstances.
+
+This talk chronicles the development journey from FRDCSA's initial vision
+of collecting and integrating all free software AI systems, to FLP's
+practical focus on solving real-world problems like homelessness, medical
+crises, and financial hardship. I'll demonstrate how Emacs serves as both
+the development environment and user interface for a system that now
+encompasses over 1000 subsystems including meal planning, financial
+forecasting, medical management, and emergency preparedness.
+
+Key highlights include:
+
+Technical Architecture: How we've built FLP using SWI-Prolog as the core
+reasoning engine, with Emacs providing the primary interface through 4680+
+custom ELisp functions. I'll show the integration of modern LLMs (Llama3,
+DeepSeek-Prover-V2, etc) with classical AI planning systems (PDDL planners,
+behavior trees, agent-based systems) all orchestrated through Emacs.
+
+Security Evolution: The transition from the original internet-connected
+FRDCSA/FLP to air-gapped systems, and the development of FRKCSA/FLP2 as
+open-source, internet-facing reboots. How we balance powerful AI
+capabilities with privacy and security concerns.
+
+Real-World Impact: Using generative AI and our PresGen presentation system,
+I'll showcase documented case studies where FLP has helped users navigate
+homelessness, medical crises, and benefit loss scenarios. These aren't
+hypothetical use cases - they represent the system's practical application
+to urgent human needs.
+
+Emacs Integration: Deep dive into our Emacs-based development workflow,
+including the CLEAR book reader for academic research, Verber planning
+domain editor, UniLang integration for multi-system communication, and our
+Academician mode for synchronized document processing. How Emacs serves as
+mission control for a complex AI ecosystem.
+
+AI Planning Systems: Demonstration of how we've integrated automated
+planning, temporal reasoning, and contingency planning into daily life
+management. Users can ask "How do I get through the next month if I lose my
+job?" and receive detailed, executable plans.
+
+Community Building: How FLP facilitates mutual aid networks and community
+resilience, turning individual survival into collective thriving. The
+system doesn't just help people - it helps them help each other.
+
+Future Directions: The roadmap for FLP2, including improved security
+models, enhanced AI integration, and broader accessibility. How we're
+preparing for a world where AI-powered life assistance could become a
+virtual social safety net.
+
+This presentation will use our PresGen system to generate slides
+dynamically, incorporating the latest AI developments and real user
+feedback. Attendees will see both the technical implementation and the
+humanitarian vision that drives this project - demonstrating how Emacs can
+be the foundation for transformative social technology.
+
+About the speaker:
+
+Andrew Dougherty is the creator of the FRDCSA (Formalized Research
+Database: Cluster, Study and Apply) and Free Life Planner projects. For
+over 25 years, he has worked on integrating AI systems to solve real-world
+problems, with a focus on helping vulnerable populations navigate complex
+life challenges. His work spans automated planning, knowledge
+representation, and practical AI applications. Andrew presented FRDCSA at
+EmacsConf 2019 and has continued developing these systems with Emacs as the
+primary development and deployment environment. He believes in using AI
+technology to strengthen communities and provide practical assistance to
+those who need it most.
+
+
+
+[[!inline pages="internal(2025/info/life-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/life-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/python.md b/2025/talks/python.md
new file mode 100644
index 00000000..c96e94a7
--- /dev/null
+++ b/2025/talks/python.md
@@ -0,0 +1,26 @@
+[[!meta title="Interactive Python development in Emacs"]]
+[[!meta copyright="Copyright &copy; 2025 David Vujic"]]
+[[!inline pages="internal(2025/info/python-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Interactive Python development in Emacs
+David Vujic (he/him) - Mastodon <https://mastodon.nu/@davidvujic>
+
+[[!inline pages="internal(2025/info/python-before)" raw="yes"]]
+
+Learning Lisp was an eye opener for me. The Interactive way of writing code is Amazing. Emacs has great support for this in general already. For Python, there's limitations and I have looked for ways to make Python development more interactive (and fun). Python is what I do at work and in Open Source projects. It has lead me to develop Emacs features specific for Python: evaluating code with visual feedback, modify a running Python app without restarts, and some LLM support. I will demo and talk about what I have developed to make Python development interactive and joyful.
+
+About the speaker:
+
+My name is David and I'm a software developer. Colleagues and friends may know me as an early adopter of agile ideas and test driven development. I am passionate about things like that, and share the things I learn to the community and the people I work with. My favorite programming languages are Python and Clojure. On my spare time I practice outdoor Parkour & contribute to Open Source.
+
+
+
+[[!inline pages="internal(2025/info/python-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/python-nav)" raw="yes"]]
+
+
diff --git a/2025/talks/reference.md b/2025/talks/reference.md
new file mode 100644
index 00000000..bfffd5db
--- /dev/null
+++ b/2025/talks/reference.md
@@ -0,0 +1,67 @@
+[[!meta title="Emacs as a fully-fledged reference manager"]]
+[[!meta copyright="Copyright &copy; 2025 Vidianos Giannitsis"]]
+[[!inline pages="internal(2025/info/reference-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs as a fully-fledged reference manager
+Vidianos Giannitsis (he/him) - IRC: vidianos, <https://github.com/Vidianos-Giannitsis>. Vidianos Giannitsis on LinkedIn <mailto:vidianosgiannitsis@gmail.com>
+
+[[!inline pages="internal(2025/info/reference-before)" raw="yes"]]
+
+Even though all of my note-taking and literature organization
+infrastructure has been in Emacs for a few years, I haven't been able to
+make myself independent from a literature manager (Zotero in my case)
+until recently. Zotero was just too convenient. You can capture articles
+seamlessly (although downloading attachments didn't always work as
+intended), organize them in directories and take a quick look at your
+lists to determine what to read next, before you move on to actually
+reading them and taking notes.
+
+This year, I finally decided that I am tired of this and I will find a
+way to do this fully in Emacs. This talk will be discussing my findings
+in this regard. A lot of this was built in Ebib. It turns out that a lot
+of what I considered useful for this workflow was already available
+through this excellent software, built inside Emacs. Not everything
+worked as I wanted on installation, but naturally, this is Emacs, so I
+just hacked my way through getting the exact behaviour I wanted. This
+required integration with other tools and especially a closer
+interaction between Ebib and Org-roam. This came out incredible and I am
+now very happy with using it, so I thought I should also showcase it in
+EmacsConf!
+
+With this integration ready, only capturing articles from the web
+remains. Zotra can capture articles in a way about as seamless as
+Zotero's (it actually uses Zotero's translators, but from Emacs).
+Attachments remain a problem sometimes, but that's publishers making
+attachments hard to get because third party software can't see that you
+have full access to them, so I have decided to do those mostly manually,
+I often did that with Zotero anyways.
+
+Relevant links:
+
+- [Zotra - Capturing Articles](https://github.com/mpedramfar/zotra)
+- [Ebib - Organizing literature before and after reading](https://joostkremers.github.io/ebib/)
+- [Org-Roam - The missing link to create an effective reading list](https://www.orgroam.com/)
+- [Bibtex Completion - Useful tools for manipulating literature](https://github.com/tmalsburg/helm-bibtex)
+
+About the speaker:
+
+I'm Vidianos and I'm currently doing my PhD in KU Leuven in Belgium.
+Working on research means I have a need for good tools to help me with
+my research. I have been using Emacs for roughly 5 years now and I can
+confidently say it is the number one tool that helps me with this
+research. This talk will be all about how it helps me and about finally
+being able to remove external reference managers from my workflow,
+something I have wanted for years, but that I haven't managed to do
+before this.
+
+
+
+[[!inline pages="internal(2025/info/reference-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/reference-nav)" raw="yes"]]
+
+