diff options
Diffstat (limited to '')
31 files changed, 1604 insertions, 0 deletions
diff --git a/2025/talks.md b/2025/talks.md new file mode 100644 index 00000000..b6d7602f --- /dev/null +++ b/2025/talks.md @@ -0,0 +1,7 @@ +We're getting ready for EmacsConf 2025. Here are the talks coming up: + +[[!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/authoring.md b/2025/talks/authoring.md new file mode 100644 index 00000000..c5120713 --- /dev/null +++ b/2025/talks/authoring.md @@ -0,0 +1,30 @@ +[[!meta title="How Emacs became my authoring playground—no Lisp required"]] +[[!meta copyright="Copyright © 2025 Uli"]] +[[!inline pages="internal(2025/info/authoring-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. ---> + + +# How Emacs became my authoring playground—no Lisp required +Uli - Pronunciation: 'u:li, IRC: rhaen, Mastodon: <https://digitalcourage.social/@rhaen> + +[[!inline pages="internal(2025/info/authoring-before)" raw="yes"]] + +In this talk, I will share the story of my journey with Emacs as a writer, author, and storyteller. Over the years, I have crafted a personal workflow to write technical articles, analyses, and handouts using Emacs, Pandoc, Org Mode, and Zotero. I’ll demonstrate how this setup enables me to easily produce documents in PDF, DOCX, and EPUB formats on macOS and Unix-like systems—with potential extensions to Windows. + +Rather than diving deep into complex Org Mode customizations, my approach focuses on maintaining flexibility in translating documents between formats. This workflow, developed incrementally over several years, illustrates how you can build a comfortable and efficient writing environment in Emacs without needing perfect Lisp mastery or an encyclopedic knowledge of Emacs internals. + +I'll introduce the key packages I use and how they weave together into a cohesive personal authoring system—proving that Emacs can be a powerful yet approachable tool for writers. This talk is not a deep technical dive but a practical exploration of methodology and workflow that can inspire writers to harness Emacs in their own unique ways. + +About the speaker: + +I'm a writer with a strong passion for open-source software. As an agile coach, I enjoy helping people work together. I truly believe in the power of free code and prefer platforms like Codeberg over GitHub, just as I find Mastodon a friendlier space compared to X. I’m also deeply interested in audio and love capturing the world around me through my field recording podcast. At the heart of everything I do is combining these passions into practical workflows—especially using Emacs as a powerful and flexible tool to bring my ideas to life. + + + +[[!inline pages="internal(2025/info/authoring-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/authoring-nav)" raw="yes"]] + + diff --git a/2025/talks/bibliography.md b/2025/talks/bibliography.md new file mode 100644 index 00000000..4c597cdf --- /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 in the Department of Biochemistry and Physiology at the University of Oklahoma Health Campus, 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/blee-lcnt.md b/2025/talks/blee-lcnt.md new file mode 100644 index 00000000..285c6680 --- /dev/null +++ b/2025/talks/blee-lcnt.md @@ -0,0 +1,109 @@ +[[!meta title="Blee-LCNT: An Emacs-centered content production and self-publication framework"]] +[[!meta copyright="Copyright © 2025 Mohsen BANAN"]] +[[!inline pages="internal(2025/info/blee-lcnt-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. ---> + + +# Blee-LCNT: An Emacs-centered content production and self-publication framework +Mohsen BANAN (he/him) - Pronunciation: MO-HH-SS-EN, <http://mohsen.1.banan.byname.net> + +[[!inline pages="internal(2025/info/blee-lcnt-before)" raw="yes"]] + +In a sense this is yet another talk about how you +can use Emacs to produce fancy presentations like +this or write complex books and self-publish them. +But our approach is fundamentally different. + +Many talks at previous Emacs Conferences have +described how Emacs and org-mode can be extended +to facilitate content production by adding more to +Emacs. Our approach is that of putting a smaller +Emacs at the core of something bigger. That +something bigger is an autonomy oriented digital +ecosystem called "ByStar" which is uniformly built +with a layer on top of Debian called BISOS (ByStar +Internet Services OS). + +At Emacs Conf-2024 the title of my talk was "About Blee" – +<https://emacsconf.org/2024/talks/blee>. +Blee (ByStar Libre-Halaal Emacs Environment) is that +smaller Emacs packaging that positions Emacs at the core of BISOS and +ByStar. BISOS and Blee are intertwined and +ByStar is about autonomy oriented unified platforms for developing and +delivering both internet services and +software-service continuums. + +This talk is about Content Production and Self-Publication capabilities of +Blee and BISOS. + +Blee-LCNT is LaTeX centric. The original text is always in COMEEGA-LaTeX – +LaTeX augmented by Org-Mode. This is +the inverse direction of exporting LaTeX from Org-Mode. For typesetting, +the LaTeX syntax is far more powerful than +org-mode. And with COMEEGA-LaTeX, you can also benefit from all that +org-mode offers. The scope of Blee-LCNT is all +types of content from presentations to videos to books to name-tags and +business cards. + +LaTeX to HTML translation is done with HeVeA. For +presentation/screen-casting, the original text is then augmented +in layers by images, audio voice-overs, screen captures, videos and +captions. The Beamer LaTeX file is then +processed by both LaTeX and HeVeA. LaTeX produced slides are then absorbed +in html by HeVeA as images. HeVeA output +is destined to be dispensed by Reveal.js. The video is then just a screen +capture of the autoplay of reveal file. +Viewing presentations in their original Reveal form makes for an even +richer experience. + +All of this involves a whole lot of integration and scripting. But all of +that has been done and you can get it all +in one shot by just running one script. + +To get started with BISOS, Blee, and ByStar, visit +<https://github.com/bxgenesis/start>. From a vanilla Debian 13 +installation ("Fresh-Debian"), you can bootstrap BISOS and Blee (with +Emacs-30) in one step by running the +raw-bisos.sh script. It produces "Raw-BISOS" which includes "Raw-Blee". + +You can then add the LaTeX sources for your content as ByStar Portable +Objects (BPO) to BISOS and process +your content with Blee-LCNT. + +All of this and more has been documented in a book that was produced by +Blee-LCNT itself. +The title of that book is: + +Nature of Polyexistentials: +Basis for Abolishment of the Western Intellectual Property Rights Regime +And Introduction of the Libre-Halaal ByStar Digital Ecosystem + +- On Line US Edition: <https://github.com/bxplpc/120033> – Download: + +<https://raw.github.com/bxplpc/120033/main/pdf/c-120033-1_05-book-8.5x11-col-emb-pub.pdf> + +- On Line International Edition: <https://github.com/bxplpc/120074> – + +Download: +<https://raw.github.com/bxplpc/120074/main/pdf/c-120074-1_05-book-a4-col-emb-pub.pdf> +DOI: <https://doi.org/10.5281/zenodo.8003846> + +- US Edition Book Prints At Amazon: <https://www.amazon.com/dp/1960957015> +- International Edition Book Prints in Iran: + +<https://jangal.com/fa/product/252689/nature-of-polyexistentials> + +I welcome your thoughts and feedback, especially if you experiment with +Blee, +BISOS, ByStar, and the model and the concept of Libre-Halaal +Polyexistentials. + + + +[[!inline pages="internal(2025/info/blee-lcnt-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/blee-lcnt-nav)" raw="yes"]] + + diff --git a/2025/talks/bookclub-tapas.md b/2025/talks/bookclub-tapas.md new file mode 100644 index 00000000..5d0574b1 --- /dev/null +++ b/2025/talks/bookclub-tapas.md @@ -0,0 +1,73 @@ +[[!meta title="Bookclub tapas"]] +[[!meta copyright="Copyright © 2025 Maddie Sullivan"]] +[[!inline pages="internal(2025/info/bookclub-tapas-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. ---> + + +# Bookclub tapas +Maddie Sullivan (she/her) - IRC: ElephantErgo, <https://ElephantErgonomics.com>, <mailto:hello@ElephantErgonomics.com> + +[[!inline pages="internal(2025/info/bookclub-tapas-before)" raw="yes"]] + +I've been experimenting with a new programming methodology that I've +stumbled upon. I call it "Bookclub Tapas". It is comprised of two parts, +"Bookclub" and "Tapas". Together, they form a literate-inspired, +Agile-inspired development method which centers around developer +self-reflection as a means to chip away at identifying powerful custom-fit +abstractions. + +Bookclub turns literate programming on its head by having the target +audience of the source document's commentary be its own developer. Bookclub +files contain source code, issue tracking, research, feature requests, and +reflections on the development process all seamlessly integrated into a +single file. Developers no longer have to worry about keeping track of what +they want to be doing, why they want to do something, or even the full +picture of how to go about doing something, because the Bookclub file acts +in cooperative conversation with the developer as a living record of their +hopes, intentions, and efforts. + +Tapas is the idea that instead of writing stand-alone programs, we write +library ecosystems. Instead of getting ahead of ourselves by trying +immediately to write large programs to solve large problems, we instead +focus on writing abstractions that reduce the scale of our problem. Our +goal is to identify what sort of tool would make the problem at hand +trivial to solve, implement said tool, and even work recursively to +implement tools to implement our tools. Our goal is that each next level of +abstraction is roughly a three-line trivial case of the level of +abstraction below, and eventually the solution to our initial problem is +itself trivial. + +Over the course of the talk, I intend to dive into what is Bookclub, what +is Tapas, what do they look like when used together, and why they provide a +meaningful set of methodologies both for getting real work done and also +elevating the programming process' beauty. I will use a live demo centered +around light development on a real-life yet-to-be-released Emacs Lisp +package. I intend to showcase how Org Babel enables Bookclub by allowing +for incredibly malleable documents that seamlessly integrate source code, +documentation, issue tracking, research, and even the build process. I also +intend to showcase how the Emacs Lisp macro system enables Tapas by +allowing us to recontextualize and reinvent syntax in order to build +powerful, composable abstractions that do exactly what the context calls +for while using phrasing that is both natural and intuitive. + +About the speaker: + +Hi! I'm Maddie Sullivan, my pronouns are she/her, my handle is +ElephantErgonomics (ElephantErgo on IRC), and my email is +hello@ElephantErgonomics.com. My talk is on a programming methodology I've +stumbled into that I've come to call "Bookclub Tapas". It's inspired by +literate, agile, and last year's Emacsconf! I've had great success with it +for my personal development process, and I'm hoping you can get something +out of it as well. I'll be laying out what it is, how I found it, why Emacs +makes an awesome environment for it, and how you can get started with it +too! + + + +[[!inline pages="internal(2025/info/bookclub-tapas-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/bookclub-tapas-nav)" raw="yes"]] + + diff --git a/2025/talks/calc.md b/2025/talks/calc.md new file mode 100644 index 00000000..b0172603 --- /dev/null +++ b/2025/talks/calc.md @@ -0,0 +1,26 @@ +[[!meta title="Basic Calc functionality for engineering or electronics"]] +[[!meta copyright="Copyright © 2025 Christopher Howard"]] +[[!inline pages="internal(2025/info/calc-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. ---> + + +# Basic Calc functionality for engineering or electronics +Christopher Howard (he/him) - IRC: lispmacs or lispmacs[work], gemini capsule: gemini://gem.librehacker.com, <mailto:christopher@librehacker.com> + +[[!inline pages="internal(2025/info/calc-before)" raw="yes"]] + +An introduction to some of the basic Algebra and Calculus functionality in Calc, as might be useful in engineering or electronics. + +About the speaker: + +Christopher Howard is a simulator technician in Fairbanks, Alaska, and a GNU Emacs user for a little over a decade. My technical interests are focused on analog computing and modeling with differential equations. + + + +[[!inline pages="internal(2025/info/calc-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/calc-nav)" raw="yes"]] + + diff --git a/2025/talks/claude-code.md b/2025/talks/claude-code.md new file mode 100644 index 00000000..0e4c198c --- /dev/null +++ b/2025/talks/claude-code.md @@ -0,0 +1,69 @@ +[[!meta title="emacs-claude-code: Intelligent Claude Integration for Emacs"]] +[[!meta copyright="Copyright © 2025 Yusuke Watanabe"]] +[[!inline pages="internal(2025/info/claude-code-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-claude-code: Intelligent Claude Integration for Emacs +Yusuke Watanabe (he/him) - Pronunciation: you-SKAY wah-tah-NAH-bay, GitHub: <https://github.com/ywatanabe1989/emacs-claude-code>, <mailto:ywatanabe@alumni.u-tokyo.ac.jp> + +[[!inline pages="internal(2025/info/claude-code-before)" raw="yes"]] + +As AI coding assistants become essential development tools, integrating +them seamlessly into our Emacs workflows becomes crucial. This talk +introduces emacs-claude-code, a package that transforms how Emacs users +interact with Claude Code through intelligent automation and enhanced vterm +integration. + +The main challenge with terminal-based AI assistants is the repetitive +manual interaction required. Claude Code presents various prompts (Y/N +choices, waiting states, continuation prompts) that interrupt the +development flow. emacs-claude-code solves this by introducing smart +auto-response patterns that recognize Claude's state and respond +appropriately, allowing developers to maintain focus on their code rather +than managing the AI interface. + +Key features I'll demonstrate include: + +1. **Intelligent Auto-Response System**: Automatically handles Claude's various prompt states (INITIAL WAITING, Y/N, Y/Y/N, WAITING) with customizable responses. This allows uninterrupted AI-assisted coding sessions. + +1. **Centralized Buffer Management**: A dashboard view of all Claude sessions showing their current state, auto-response status, and last interaction time. Users can quickly navigate between multiple AI conversations and toggle automation settings. + +1. **Yank-as-File Functionality**: Elegantly handles large code snippets by saving them as files instead of cluttering the terminal, with full TRAMP support for remote development. + +1. **Periodic Command Automation**: Executes custom commands at specified interaction intervals, perfect for maintaining context or triggering regular actions like compacting conversation history. + +The package leverages Emacs' powerful vterm-mode to create a robust +integration layer. I'll share implementation details about state detection +using regular expressions, buffer management techniques, and the advice +system used for seamless clipboard integration. + +Beyond the technical implementation, I'll discuss practical workflows that +emerge from this integration, including custom Claude commands (stored as +Markdown files) that can be triggered automatically based on context. The +talk will include a live demonstration showing how these features work +together to create a fluid AI-assisted development experience. + +This project embodies the Emacs philosophy of extensibility and automation, +making cutting-edge AI tools work the way Emacs users expect - efficiently, +automatically, and under their complete control. + +About the speaker: + +I'm Yusuke Watanabe, a researcher who uses Emacs for both academic work and +software development. After experiencing friction with manual Claude Code +interactions, I developed emacs-claude-code to automate repetitive tasks +and integrate AI assistance smoothly into Emacs workflows. This project +represents my approach to making modern AI tools work within the Emacs +ecosystem while maintaining the editor's core principles of efficiency and +user control. + + + +[[!inline pages="internal(2025/info/claude-code-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/claude-code-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 © 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 © 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/gardening.md b/2025/talks/gardening.md new file mode 100644 index 00000000..b2c067ef --- /dev/null +++ b/2025/talks/gardening.md @@ -0,0 +1,56 @@ +[[!meta title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph"]] +[[!meta copyright="Copyright © 2025 Marco Bresciani"]] +[[!inline pages="internal(2025/info/gardening-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. ---> + + +# Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph +Marco Bresciani - Pronunciation: [mˈarko breʃˈanɪ](https://unalengua.com/ipa-translate?hl=en&ttsLocale=it-IT&voiceId=Giorgio&sl=it&text=Marco%20Bresciani&ttsMode=word&speed=3), Delta Chat: marco.530@outlook.it, [@AAMfP@fosstodon.org](https://fosstodon.org/@AAMfP), [marcoxbresciani.codeberg.page](https://marcoxbresciani.codeberg.page/) + + + +[[!inline pages="internal(2025/info/gardening-before)" raw="yes"]] + +I'm a not-ashamed Windows user, both at +work and at home, since forever. I also like portable applications, to +bring everything I need, everywhere, on my tiny USB thumb drive. +And now also Emacs is there, on my USB! + +I'm also not the blogger type of person: I've tried, for a time. I +stopped at entry ~8 of a "100 days blogging" saga. + +But I actually immediately fell in love with the (possibly slower pace) +digital garden concept and since I wanted to try Emacs, I decided to +catch two pigeons with one stone. + +This is the story of how I learned the very basics of Emacs and Org Mode, +from how to save and exit to how to change letters case of a whole region +or the (long searched for) fill-paragraph feature. + +This is the story of how I learned Org Mode publishing configuration and +tricks, to create my digital garden, give it a structure and make it +freely available for anyone to read (and hopefully enjoy) in HTML format. +This is the story of how I added Japanese furigana and PlantUML diagrams +and a <del>one</del> few clicks-away "go to market" strategy. + +This is the story of my digital garden, how I tend to it while learning +the tool(s) I'm using to care of my garden, Emacs and Org Mode. +And this is the story of how I ask for your help, to continue learning +Emacs and Org Mode. + +About the speaker: + +20+ years software +developer and Vi user during university life, now moved to the dark side +of agile coaching as Scrum Master. +Started learning Emacs by chance since I wanted to try it since ages. + + + +[[!inline pages="internal(2025/info/gardening-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/gardening-nav)" raw="yes"]] + + diff --git a/2025/talks/gmail.md b/2025/talks/gmail.md new file mode 100644 index 00000000..2768748b --- /dev/null +++ b/2025/talks/gmail.md @@ -0,0 +1,64 @@ +[[!meta title="org-gmail: A Deep Integration of Gmail into Your Org Mode"]] +[[!meta copyright="Copyright © 2025 Bala Ramadurai"]] +[[!inline pages="internal(2025/info/gmail-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. ---> + + +# org-gmail: A Deep Integration of Gmail into Your Org Mode +Bala Ramadurai (he/him) - <https://balaramadurai.net>, <mailto:bala@balaramadurai.net> + +[[!inline pages="internal(2025/info/gmail-before)" raw="yes"]] + +For many, email is the starting point for tasks, projects, and reference +material. While Emacs has powerful, full-featured mail clients like Gnus +and mu4e, they are designed to manage the entire email workflow. + +org-gmail offers a different approach: it is not a replacement for a full +mail client, but a tool for deeply **integrating** your most important emails +into your Org Mode knowledge base. + +This talk will introduce org-gmail, a package that allows users to fetch +entire Gmail threads or individual messages and save them as entries in Org +mode files. The core idea is to triage emails in the Gmail interface and +pull relevant threads into Org Mode, where they can be linked to tasks, +notes, and projects. + +We will explore the key features of the package, including: + +- Fetching emails by label and syncing new messages for previously downloaded labels. +- Managing labels directly from Emacs, including creating, deleting, editing, and bulk-moving threads between labels, which updates both Gmail and the corresponding :LABEL: properties in your Org files. +- Performing common email actions from within Org Mode, such as replying, forwarding (delegating), snoozing (deferring), and moving messages to the trash. +- Integrating emails into a task management workflow by creating actionable sub-tasks that appear in the agenda. + +The session will demonstrate practical use cases for both Getting Things +Done (GTD) and the P.A.R.A. method (Tiago Forte). For GTD, we'll show how +to process a Gmail inbox, download actionable emails into an Org file, and +then defer, delegate, or create TODO items. For P.A.R.A., we'll demonstrate +how to label emails according to projects and areas, and how to archive +them systematically using the bulk-move feature. + +By the end of the talk, attendees will understand the unique workflow +org-gmail enables and how it can help them turn their email into a +structured, actionable part of their Org Mode system. + +About the speaker: + +Bala Ramadurai is an entrepreneur, professor, author, coach, consultant, +and podcaster. He is the CEO of Spirelia, a company that helps innovate. He +has authored a book called Karmic Design Thinking and holds 3 patents. + +In this talk, Bala will introduce org-gmail, a package he developed to +seamlessly integrate Gmail with Org Mode. You will learn how to transform +your important emails into actionable tasks and reference material, +leveraging the power of Org Mode for a more organized and productive +workflow that supports methodologies like GTD and P.A.R.A. + + + +[[!inline pages="internal(2025/info/gmail-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/gmail-nav)" raw="yes"]] + + diff --git a/2025/talks/gnus.md b/2025/talks/gnus.md new file mode 100644 index 00000000..155bd9e0 --- /dev/null +++ b/2025/talks/gnus.md @@ -0,0 +1,44 @@ +[[!meta title="Reading and writing emails in GNU Emacs with Gnus"]] +[[!meta copyright="Copyright © 2025 Amin Bandali"]] +[[!inline pages="internal(2025/info/gnus-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. ---> + + +# Reading and writing emails in GNU Emacs with Gnus +Amin Bandali (he/him) - IRC: bandali, <https://kelar.org/~bandali>, <mailto:bandali@gnu.org> + +[[!inline pages="internal(2025/info/gnus-before)" raw="yes"]] + +Gnus has had the reputation of being difficult to grasp and +configure. The myriad of configuration options of its many major +and minor modes which afford Gnus its high degree of customizability +can also seem overwhelming and daunting for folks looking to learn +about and use it to build a workflow for doing email in GNU Emacs. + +This talk aims to provide a high-level outline of some of the key +concepts in Gnus, and a roadmap for approaching and configuring Gnus +and Message to your liking so that you, too, can read, compose, and +send emails with GNU Emacs. + +About the speaker: + +Amin Bandali is a computing scientist and activist for user freedom, +and a participant in various free software projects and communities. +Bandali wears a few hats around the GNU Project and is a volunteer +member of the Free Software Foundation SysOps team, a core organizer +of EmacsConf, a Debian Developer and a contributor to the Trisquel +GNU/Linux distribution. + +In this talk, Bandali will go over configuring Gnus and Message for +reading and composing emails, showcasing one of many approaches for +using GNU Emacs for email communications. + + + +[[!inline pages="internal(2025/info/gnus-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/gnus-nav)" raw="yes"]] + + diff --git a/2025/talks/greader.md b/2025/talks/greader.md new file mode 100644 index 00000000..5baa05bd --- /dev/null +++ b/2025/talks/greader.md @@ -0,0 +1,41 @@ +[[!meta title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence"]] +[[!meta copyright="Copyright © 2025 Yuval Langer"]] +[[!inline pages="internal(2025/info/greader-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. ---> + + +# GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence +Yuval Langer (he/him) - Pronunciation: /juval/ /lˈangeʁ/, IRC: kreptocracy, <https://kaka.farm/>, +[@mu@posting.solutions](https://posting.solutions/users/mu), <mailto:yuval.langer@gmail.com> + +[[!inline pages="internal(2025/info/greader-before)" raw="yes"]] + +<https://gitlab.com/michelangelo-rodriguez/greader> + +A short talk explaining why Greader mode is needed, demonstrating its normal +use, some interesting features, some interesting customization variables, and +so on. Greader is a text-to-speech minor mode written by Michelangelo +Rodriguez. For various reasons, I find it hard reading long things on the +computer screen. Using Greader greatly helps me with that. I use it to read +sites on EWW, books with Nov.el, blogs with Elfeed, and various other texts I +copy from other programs and yank to a randomly named `C-x b alsdkfjoewjfocm RET` buffer. The author had also provided some interesting features he would +like me to cover. + +About the speaker: + +I am a mere user who loves reading, but damned to be a slow reader. Alas! +Thankfully, there's Emacs and Greader mode. + +Note: This talk will be narrated by a +text-to-speech engine because of a request from +the speaker. + + + +[[!inline pages="internal(2025/info/greader-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/greader-nav)" raw="yes"]] + + diff --git a/2025/talks/hyperboleqa.md b/2025/talks/hyperboleqa.md new file mode 100644 index 00000000..31f02953 --- /dev/null +++ b/2025/talks/hyperboleqa.md @@ -0,0 +1,71 @@ +[[!meta title="Questions and answers to help you fly with Hyperbole"]] +[[!meta copyright="Copyright © 2025 Bob Weiner"]] +[[!inline pages="internal(2025/info/hyperboleqa-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. ---> + + +# Questions and answers to help you fly with Hyperbole +Bob Weiner - Pronunciation: Wine-er, <https://savannah.gnu.org/projects/hyperbole/> , <https://rswgnu.github.io/hyperbole/man/hyperbole.html> , <mailto:rsw@gnu.org> + +[[!inline pages="internal(2025/info/hyperboleqa-before)" raw="yes"]] + +RSW, the autthor of Hyperbole, will answer your questions on Hyperbole +live and demonstrate how it can make you more productive. + +Hyperbole is an extensive, easy-to-use package that brings +hypertextual information management across all of Emacs to files with +minimal or no markup, including source code files. It works with all +modern versions of Emacs and does not require the use of any +third-party packages or compiled modules. Its keyboard-driven +minibuffer menus let you learn the key bindings for one set of +features at a time. Its global minor mode lets you turn on and off +its features with a single command. + +Many people express interest in Hyperbole but find its breadth makes +it difficult for them to get started with it. Or they struggle to +find specific workflows because of its infinite flexibility. This Q +and A session is intended to help people over this initial hump by +covering introductory topics such as the Action Key and how Implicit +Buttons in your existing documents act as hyperlinks automatically. +If more advanced topics are of interest, we could even answer +questions such as: + +- How can I quickly turn my Lisp expressions into hypertext buttons? + +- Can I point Hyperbole at thousands of Org files and have it quickly + jump to arbitrary sections in the files without any prior indexing + or need for a database system? + +- Can Hyperbole build a wiki with Org files, automatically + highlighting WikiWord references with no special markup and then + publish it to the web? + +- When programming, can Hyperbole help me rapidly select, move and + display programmatic information? + +- What if I need an entire outline with builtin hyperlink anchors + and automatic paragraph numbering? + +- So Hyperbole just augments everything I do in Org mode already? + +The session will be driven by the topics that participants want to +know about, so come with your questions and lets dive in together to +see whether its all just Hyperbole. + +About the speaker: + +Bob Weiner (rsw) has been developing hypertextual systems since the +dawn of the web in 1991 and using Emacs since 1982, though the other +day someone said I look 28-years-old, so neither I nor Hyperbole feel +that old. We have gained some perspective through the years, so maybe +I can help you learn something new or see something in a new way. + + + +[[!inline pages="internal(2025/info/hyperboleqa-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/hyperboleqa-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 © 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/languages.md b/2025/talks/languages.md new file mode 100644 index 00000000..4a54d73e --- /dev/null +++ b/2025/talks/languages.md @@ -0,0 +1,57 @@ +[[!meta title="Studying foreign languages with Emacs, Org Mode and gptel"]] +[[!meta copyright="Copyright © 2025 Marek"]] +[[!inline pages="internal(2025/info/languages-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. ---> + + +# Studying foreign languages with Emacs, Org Mode and gptel +Marek (he/him) - https://github.com/keram, <mailto:nospam.keram@gmail.com> + +[[!inline pages="internal(2025/info/languages-before)" raw="yes"]] + +This talk will demonstrate the workflow I’ve built +around Emacs and Org mode for creating and +managing multilingual texts. My focus is on +English, Mandarin Chinese, and Pinyin (the +Romanized system for Chinese). A key part of this +setup is a custom major mode derived from +`text-mode`, designed to handle language switching +and structured study notes more effectively. On +top of this, I use `gptel` as a writing companion: +it helps catch typos, grammar mistakes, and subtle +issues that arise when switching between +languages. + +Beyond editing, I’ll show how I publish my study +notes to the web: +<https://keram.github.io/ihl-hanyu/index.html> . By +combining Org’s export features with a small +amount of custom JavaScript, I’ve added +interactive functionality such as text-to-speech +playback and vocabulary practice exercises. + +Attendees will see how these tools and techniques can be combined to: + +- Customize Emacs for multilingual writing and study workflows. +- Use Org mode as a framework for language learning materials. +- Leverage `gptel` for proofreading and feedback. +- Enrich exported Org documents with lightweight web enhancements. + +The talk will be of interest to language learners, Emacs users curious +about publishing workflows, and anyone who wants to see +how Emacs can as a personal learning environment. + +About the speaker: + +I am GNU Emacs enthusiast living in London, UK. Using Emacs for years for +work, personal life and study. + + + +[[!inline pages="internal(2025/info/languages-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/languages-nav)" raw="yes"]] + + diff --git a/2025/talks/latex.md b/2025/talks/latex.md new file mode 100644 index 00000000..3b277ca0 --- /dev/null +++ b/2025/talks/latex.md @@ -0,0 +1,37 @@ +[[!meta title="LaTeX export in org-mode: the overhaul"]] +[[!meta copyright="Copyright © 2025 Pedro A. Aranda Gutiérrez"]] +[[!inline pages="internal(2025/info/latex-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. ---> + + +# LaTeX export in org-mode: the overhaul +Pedro A. Aranda Gutiérrez (he, him) - paaguti@gmail.com, <mailto:paaguti@gmail.com> + +[[!inline pages="internal(2025/info/latex-before)" raw="yes"]] + +During the last year, the LaTeX backend in Org mode has received an overhaul. +The objectives, while keeping backward compatibility, were: + +- Better integration of the font-management features and packages with + lualatex/xelatex +- Reducing the amount of `#+LATEX_HEADER:` lines and avoiding to have to + include a pure LaTeX file to profit from them +- Flexibility, while using native Emacs Lisp features, like file/directory + local variables + +In this talk, I will present the new font management features in the LaTeX +backend and show a couple of examples of what can be achieved. + +About the speaker: + +After 30 years using Emacs, professionally and for my PhD, I'm currently +quite involved in org-mode, where I'm revamping the LaTeX backend. + + +[[!inline pages="internal(2025/info/latex-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/latex-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 © 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/llm.md b/2025/talks/llm.md new file mode 100644 index 00000000..f9b5633a --- /dev/null +++ b/2025/talks/llm.md @@ -0,0 +1,42 @@ +[[!meta title="Emacs, editors, and LLM driven workflows"]] +[[!meta copyright="Copyright © 2025 Andrew Hyatt"]] +[[!inline pages="internal(2025/info/llm-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, editors, and LLM driven workflows +Andrew Hyatt (he/him) - @andrewhyatt.bsky.social, <mailto:ahyatt@gmail.com> + +[[!inline pages="internal(2025/info/llm-before)" raw="yes"]] + +This talk will outline the major ways LLMs are changing the world of +editors. There are a few different ways that LLMs are being used now: +smart completion, smart feedback, ad-hoc addition and transformation, and +out-of-band instructions which are typically done outside of the editor. +What are the current Emacs solutions for these, and what does it mean for +Emacs? + +- Intro and state of the art of LLMs and their workflow modalities that are currently used +- Smart completion: Emacs solutions and demo +- Smart feedback: Emacs solutions and demo +- Ad-hoc addition and transformation: Gptel, ellama, and other tools; several demos +- Out-of-band instructions: Aider, Claude Code, and more. +- Thoughts for what it an editor is for, for those working with LLMs +- Possible futures, and what these mean for Emacs, for editors in general, and for free software. + +About the speaker: + +Andrew Hyatt is a software engineer, and Emacs package author (llm, +websocket, vecdb, ekg, and more). LLMs have already transformed how many +people write and edit text. This talk explores the major workflows that +have developed and examines what these mean for Emacs. + + + +[[!inline pages="internal(2025/info/llm-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/llm-nav)" raw="yes"]] + + diff --git a/2025/talks/modern.md b/2025/talks/modern.md new file mode 100644 index 00000000..5d60bcc1 --- /dev/null +++ b/2025/talks/modern.md @@ -0,0 +1,35 @@ +[[!meta title="Some problems of modernizing Emacs"]] +[[!meta copyright="Copyright © 2025 Eduardo Ochs"]] +[[!inline pages="internal(2025/info/modern-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. ---> + + +# Some problems of modernizing Emacs +Eduardo Ochs (he/him) - Pronunciation: Oks, IRC: edrx, <http://anggtwu.net/>, more info at <http://anggtwu.net/contact.html>., <mailto:eduardoochs@gmail.com> + +[[!inline pages="internal(2025/info/modern-before)" raw="yes"]] + +This talk is going to be a reworked version of the incomplete video +in <http://anggtwu.net/2025-modern.html>. I will start by presenting +several notions of "simplicity" and "elegance", and show that when I +started learning Elisp it was "simple" and "elegant" in a way that +it no longer is; then I will show how to fix some tiny parts of the +problem by 1) using functions based on \`cl-prin1', 2) redefining +some printing methods with "(cl-defmethod cl-print-object …)", and 3) using Common Lisp to understand some recent parts of Elisp that are not well-documented. + +About the speaker: + +Eduardo is the author of an Emacs package called eev that makes +total sense to a handful of people and no sense at all to +practically everyone else - except for one part of eev, called +"eepitch". He intends to explain the reasons for that in his talk. + + + +[[!inline pages="internal(2025/info/modern-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/modern-nav)" raw="yes"]] + + diff --git a/2025/talks/n-angulator.md b/2025/talks/n-angulator.md new file mode 100644 index 00000000..9b1044b7 --- /dev/null +++ b/2025/talks/n-angulator.md @@ -0,0 +1,28 @@ +[[!meta title="Org-mode GTD vs N-angulator GTD"]] +[[!meta copyright="Copyright © 2025 Kevin Haddock"]] +[[!inline pages="internal(2025/info/n-angulator-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. ---> + + +# Org-mode GTD vs N-angulator GTD +Kevin Haddock - <mailto:kevinbanjo@gmail.com> + +[[!inline pages="internal(2025/info/n-angulator-before)" raw="yes"]] + +Typical real-world GTD operations are compared in org-mode and N-Angulator + +EmacsConf 2021 talk on N-Angulator: <https://emacsconf.org/2021/talks/nangulator/> + +About the speaker: + +Long term emacs enthusiast showcases the power of his prototype +n-dimentional metadata indexer in a real world application + + +[[!inline pages="internal(2025/info/n-angulator-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/n-angulator-nav)" raw="yes"]] + + diff --git a/2025/talks/org-babel.md b/2025/talks/org-babel.md new file mode 100644 index 00000000..f3a548fb --- /dev/null +++ b/2025/talks/org-babel.md @@ -0,0 +1,40 @@ +[[!meta title="Making Org-Babel Reactive"]] +[[!meta copyright="Copyright © 2025 Abhinav Tushar"]] +[[!inline pages="internal(2025/info/org-babel-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. ---> + + +# Making Org-Babel Reactive +Abhinav Tushar (he/him) - <https://lepisma.xyz>, [@lepisma@mathstodon.xyz](https://mathstodon.xyz/@lepisma), <mailto:abhinav@lepisma.xyz> + +[[!inline pages="internal(2025/info/org-babel-before)" raw="yes"]] + +In Org mode, you can add and execute small snippets of code using +Org-Babel. This lets you have an extremely useful mixed-language notebook like +environment inside Emacs. These days, many notebook systems provide fully +reactive notebooks where changes made in any cell or variable propagate to its +dependents without manual execution. This pattern is very useful for exploratory +data analysis, visualization, and many other use-cases that notebooks are +generally good for. + +Unsurprisingly, we can enable such reactivity in Org-Babel without too much +effort. In this talk, I will cover how to do that while also adding certain +other interaction niceties to make full use of the resultant reactivity. + +About the speaker: + +I am a programmer and machine learning engineer, and I have enjoyed working with +Org-Babel code blocks inside my writings. Other notebooks and platforms have +recently started to adopt fully reactive computation, which is something I have +liked a lot for exploratory analysis. In this talk, I will show how to add +similar reactivity in Org-Babel. + + + +[[!inline pages="internal(2025/info/org-babel-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/org-babel-nav)" raw="yes"]] + + diff --git a/2025/talks/private-ai.md b/2025/talks/private-ai.md new file mode 100644 index 00000000..55660ac2 --- /dev/null +++ b/2025/talks/private-ai.md @@ -0,0 +1,32 @@ +[[!meta title="Emacs and private AI: a great match"]] +[[!meta copyright="Copyright © 2025 Aaron Grothe"]] +[[!inline pages="internal(2025/info/private-ai-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 and private AI: a great match +Aaron Grothe (he/him) - Pronunciation: Air-un Grow-the, <https://www.grothe.us> LinkedIn: <https://www.linkedin.com/in/aaron-grothe/>, <mailto:ajgrothe@yahoo.com> + +[[!inline pages="internal(2025/info/private-ai-before)" raw="yes"]] + +When experimenting with using AI with Emacs, many users have concerns. A few of the concerns that people have are the possibility of their information being shared with the AI provider (either to train newer models, or as a potential revenue source), the possibility of running up unpredictable costs with their cloud provider, and the potential environmental impact of using cloud AI. Using Private/Local AI models provide an AI environment that the user can fully control. User can add to it incrementally over time as their skills and experience grows. This talk will be a quick intro to using Ollama Buddy, Ellama, and gptel to add the ability to have a private AI integrated into your Emacs session. We’ll start with the basics and show people how they can add AI to their workflow safely and securely. Hopefully, people will come away from the talk feeling better about our AI futures. + +The talk will start with a simple implementation: Ollama and Ollama Buddy and a couple of models. After that it will build on that +for the rest of the 20 minutes. + +The goal is show the users multiple ways of using AI with Emacs and let them make their own choices. + +About the speaker: + +AI is everywhere and everyone is trying to figure out how to use it better. This talk will be a quick introduction to showing some +of the tools and techniques that a user can do to integrate AI privately and securely into their Emacs workflow. The goal is to help people take the first steps on what will hopefully be a productive journey. + + + +[[!inline pages="internal(2025/info/private-ai-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/private-ai-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 © 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/reader.md b/2025/talks/reader.md new file mode 100644 index 00000000..66de948d --- /dev/null +++ b/2025/talks/reader.md @@ -0,0 +1,34 @@ +[[!meta title="An introduction to the Emacs Reader"]] +[[!meta copyright="Copyright © 2025 Divyá"]] +[[!inline pages="internal(2025/info/reader-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 introduction to the Emacs Reader +Divyá - IRC: divya, Website: <https://www.phimulambda.org> Mastodon: <https://mathstodon.xyz/@divyaranjan>, <mailto:divya@subvertising.org> + +[[!inline pages="internal(2025/info/reader-before)" raw="yes"]] + +<https://codeberg.org/divyaranjan/emacs-reader> + +This talk will introduce a new document reader that I have been building for Emacs since the last few months. I will showcase the basic features of the document reader, how well it integrates with Emacs and the performance and other improvements that it provides in comparision to the existing document viewing options such as DocView, PDF Tools and others. + +I will also describe the core architectural decisions that were made, specficially the fact that it is a dynamic module and the pains and pleasures of interfacing Emacs with C and vice-versa. + +I will give a high-level tour of the codebase, which is pretty small as of now (<3K LOC), so that if a fellow Emacs developer wishes to contribute, they know where and how to get started. + +In conclusion, I'll summarize the current features we're in the process of developing, what challenges we're facing in diong so, and what we wish to work on for the upcoming versions of the package. + +About the speaker: + +I’m Divyá from India. My background has been as a mathematics teacher and now I'm a programmer. I’ve been hacking on free software as a hobby and, for the past three to four years, living inside Emacs. I loved reading PDFs in Emacs via pdf-tools, but poor hardware and maintenance gaps pushed me to build a faster reader. I learned MuPDF and Emacs Dynamic Modules and wrote The Emacs Reader: a dynamic-module-based, high-performance, resource-friendly document viewer for Emacs that supports PDFs and other formats (EPUB, CBZ) while integrating natively with Emacs. + + + +[[!inline pages="internal(2025/info/reader-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/reader-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 © 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"]] + + diff --git a/2025/talks/schemacs.md b/2025/talks/schemacs.md new file mode 100644 index 00000000..62ca5321 --- /dev/null +++ b/2025/talks/schemacs.md @@ -0,0 +1,90 @@ +[[!meta title="One year progress update Schemacs (formerly Gypsum)"]] +[[!meta copyright="Copyright © 2025 Ramin Honary"]] +[[!inline pages="internal(2025/info/schemacs-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. ---> + + +# One year progress update Schemacs (formerly Gypsum) +Ramin Honary (he/him) - Pronunciation: "Rah-mean" (hard-H) "Ho-na-ree", Mastodon (preferred): ; blog: <https://tilde.town/~ramin_hal9001>; Codeberg: <https://codeberg.org/ramin_hal9001/schemacs> - SourceHut: <https://sr.ht/~ramin_hal9001> + + + +[[!inline pages="internal(2025/info/schemacs-before)" raw="yes"]] + +During EmacsConf 2024 last year I presented my work on a +clone of GNU Emacs written in Scheme which also clones the +Emacs Lisp programming language. In this talk, I will +briefly present an overview of the project similar to the +talk I gave last year, and then discuss the progress that +I have made on this project in the past year. + +To quote the description from the presentation I gave last +year: + +> Unlike other editors which only clone the Emacs +> keybindings (Edwin, Jed, jEdit, Jove, Lem, MG, Yi, +> Zile), I hope my Emacs clone will also fully clone the +> Emacs Lisp programming language well enough that many of +> the packages in ELPA, Non-GNU ELPA, and perhaps even +> MELPA, can be used in [Schemacs, formerly "Gypsum"] +> without any modification. I would also like to talk a +> little bit about how I am implementing it (the software +> architecture), and invite others to contribute. +> +> I think my project is of interest to many Emacs users +> because, firstly, I have personally spoken with a +> relatively large number of people who have expressed +> interest in making Emacs programmable in Scheme. +> Secondly, there is a good amount of prior art for Scheme +> implementations of Emacs. There are even builds of Emacs +> that link to Guile which provides a "scheme-eval" +> built-in function that translates between Elisp data +> types and Scheme data types. The Guile compiler itself +> ships with an Emacs Lisp compiler as well, although it +> does not provide enough of Emacs's built-in functions to +> be of much use. + +The progress I have made so far: + +- Ported all Guile-specific parts of the Emacs Lisp + interpreter to fully standards-compliant R7RS Scheme + code. The interpreter now runs on a few different + Scheme implementations, not just Guile. The GUI remains + Guile-only for now. + +- Implemented a new R7RS-compliant lexer and parser which + constructs an Abstract Syntax Tree (AST) data structure, + making it easier to find the source of errors and + produce informative back traces. + +- Implemented enough of the Emacs Lisp interpreter to be + able to load the "subr.el" source file, this defines + what you might call the "core" of the Emacs Lisp + language, including macros such as "defun" and "lambda." + +My primary goal continues to be to make it as easy as +possible for other people to contribute to this +project. Pretty soon it should be possible to run the +Emacs Regression Test suite (ERT) in the cloned Emacs Lisp +interpreter. Once this is done, we can run the same test +code used during the building and testing GNU Emacs to +test Schemacs. Hopefilly then, anyone will be able to +select a failing test, write code to make the test pass, +and submit a patch. + +About the speaker: + +I am Ramin Honary, I am have been professional software +engineer for 17 years and I have always had a passion for +functional programming languages, especially Haskell and +the Lisp family of languages. + + + +[[!inline pages="internal(2025/info/schemacs-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/schemacs-nav)" raw="yes"]] + + diff --git a/2025/talks/swanky.md b/2025/talks/swanky.md new file mode 100644 index 00000000..de939730 --- /dev/null +++ b/2025/talks/swanky.md @@ -0,0 +1,49 @@ +[[!meta title="Swanky Python: Interactive development for Python"]] +[[!meta copyright="Copyright © 2025 Scott Zimmermann"]] +[[!inline pages="internal(2025/info/swanky-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. ---> + + +# Swanky Python: Interactive development for Python +Scott Zimmermann (he/him) - <mailto:sczi@disroot.org> + +[[!inline pages="internal(2025/info/swanky-before)" raw="yes"]] + +Project repository: <https://codeberg.org/sczi/swanky-python/> + +I'm working on a development environment for +Python based on Emacs' SLIME mode for Common Lisp. +In this talk I'll demonstrate some of its +features, like an object inspector, interactive +backtrace buffer, thread and async task viewer, +and function tracer. I'll also discuss its +implementation and limitations, along with future +directions for the project. + +This project aims to bring a Lisp and Smalltalk +inspired style of development to Python. You get a +faster feedback loop by developing inside a +running python process without needing to restart +your program and lose state on changes, allowing +you to immediately inspect the results of code you +write. We can also provide more advanced tooling +based on runtime introspection, as we have more +information available at runtime than is available +to traditional tools based on static analysis of +source code, mainly we have the actual values of +variables rather than just their types. + +About the speaker: + +Python is eating the world. Emacs is eating my computing environment. I'm +attempting to get them working together. + + + +[[!inline pages="internal(2025/info/swanky-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/swanky-nav)" raw="yes"]] + + diff --git a/2025/talks/weights.md b/2025/talks/weights.md new file mode 100644 index 00000000..06701453 --- /dev/null +++ b/2025/talks/weights.md @@ -0,0 +1,41 @@ +[[!meta title="Weightlifting Tracking with Emacs on Android"]] +[[!meta copyright="Copyright © 2025 Zachary Romero"]] +[[!inline pages="internal(2025/info/weights-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. ---> + + +# Weightlifting Tracking with Emacs on Android +Zachary Romero - <https://zacromero.com/>, <mailto:zacromero@posteo.com> + +[[!inline pages="internal(2025/info/weights-before)" raw="yes"]] + +Emacs on Android opens up a world of new possibilities for replacing +proprietary software with free alternatives. One such use case is +using Emacs and org-mode to replace the popular weightlifting tracking +apps like Hevy and Strong. + +Org-mode provides a solid foundation to replicate these apps +functionalities but by itself is cumbersome to use in the middle of a +workout. With the help of Elisp however, we can provide an experience +as seamless as these paid apps, but with added flexibility and +freedom. + +This talk will go over the package itself as well as the way org-mode +can be used as the foundation for applications on top of it. + +About the speaker: + +I'm Zachary Romero, a software developer and Emacs enthusiast. I've +been weightlifting for about three years when I grew tired of the +many apps constantly trying to push subscriptions. Knowing the many +things org-mode can do, I set about trying to replicate the same +functionality in Emacs. + + +[[!inline pages="internal(2025/info/weights-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/weights-nav)" raw="yes"]] + + diff --git a/2025/talks/writing.md b/2025/talks/writing.md new file mode 100644 index 00000000..476d2123 --- /dev/null +++ b/2025/talks/writing.md @@ -0,0 +1,40 @@ +[[!meta title="A Writing Day in the Life with Org-Mode"]] +[[!meta copyright="Copyright © 2025 Jeremy Friesen"]] +[[!inline pages="internal(2025/info/writing-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. ---> + + +# A Writing Day in the Life with Org-Mode +Jeremy Friesen - Pronunciation: Jair-ah-mee Free-sen, <https://takeonrules.com>, <mailto:jeremy@jeremyfriesen.com> + +[[!inline pages="internal(2025/info/writing-before)" raw="yes"]] + +In this talk, I’ll walk through my daily writing and organization using +Org-Mode. Building from the basics of the Org-Mode ecosystem, we’ll look at a +the parts that I’ve assembled to create a “rich for me” writing experience. + +This will be a tour of my writing ecosystem, from capturing books by ISBN, +tracking quotes I find meaningful, utilizing abbreviations (and clarifications), +exporting a journal node to a blog post, toot-ing about a blog post, and +printing my monthly journal entries with references to books I finished. + +The goal is not to say “this is the way” but to show a bit of “this is my way.” +And from there to have further conversation about ideas we each might +incorporate into our writing processes. + +About the speaker: + +I’ve always aspired to be a writer. And while I haven’t published long-form +material, I’ve been consistently writing for over a decade. In 2023, I talked +about how Emacs super-charges my writing. And I want to revisit that +conversation and walk through a day in the writing life. + + + +[[!inline pages="internal(2025/info/writing-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/writing-nav)" raw="yes"]] + + diff --git a/2025/talks/zettelkasten.md b/2025/talks/zettelkasten.md new file mode 100644 index 00000000..5469831f --- /dev/null +++ b/2025/talks/zettelkasten.md @@ -0,0 +1,40 @@ +[[!meta title="Zettelkasten for Regular Emacs Hackers"]] +[[!meta copyright="Copyright © 2025 Christian Tietze"]] +[[!inline pages="internal(2025/info/zettelkasten-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. ---> + + +# Zettelkasten for Regular Emacs Hackers +Christian Tietze (he) - [@ctietze@mastodon.social](https://mastodon.social/@ctietze) <https://christiantietze.de> <https://zettelkasten.de>, <mailto:hi@christiantietze.de> + +[[!inline pages="internal(2025/info/zettelkasten-before)" raw="yes"]] + +There's this one thing you can do with your Emacs that is not chiefly a technological problem to solve: thinking through writing. + +Emacs offers a malleable environment where you can tweak every key stroke, and every pixel on screen to your needs. + +Since we're all here at EmacsConf, the intention is clear: to use and enjoy Emacs, and spend our lives in this amazing environment. + +While it's easy to ditch modern UI conveniences and pull technology like email, chat, database and server management, and editing book drafts into Emacs – well, these are tasks that have been implemented, for which there exist alternatives, and which you can teach Emacs to do in a similar way. + +Oversimplifying: we can copy and tweak existing solutions and have a good life. + +Now while everyone's email needs to use the same protocol, everyone's approach to _thinking_ is different. There's no cookie cutter solution to merely rewrite in Emacs Lisp. We all need to figure out how to do this on our own, and then find an implementation that suits our needs. (Including using paper, but we're not talking about paper here.) + +**This is where I want to show you one simple foundational method to deep thinking, understanding, and problem solving:** create yourself a Zettelkasten, an environment of linked notes that scales well over decades, so that you can take it with you into retirement and beyond for a lifelong journey of learning. + +For this presentation, I merely assume that you agree that writing improves the quality and depth of thought. I also assume that you know how to type and move around in Emacs. The rest is just convention, and we'll walk through a couple of examples and exercises together so that after this talk, you're equipped with the simple tools that help you unlock new insights in your future. + +## About Christian + +Christian is a macOS/iOS developer with a strong focus on user experience and clean architecture. Driven by a passion for accessibility and performance, Christian has shipped many apps and authored three technical books and 895+ blog posts, helping developers world-wide to realize their app ideas with a deep understand for the technologies they use. In 2013, Christian wrote about the Zettelkasten topic on his own personal blog and eventually moved everything over to <https://zettelkasten.de> where he and Sascha continue to teach and write. + + + +[[!inline pages="internal(2025/info/zettelkasten-after)" raw="yes"]] + +[[!inline pages="internal(2025/info/zettelkasten-nav)" raw="yes"]] + + |
