summaryrefslogtreecommitdiffstats
path: root/2026/talks
diff options
context:
space:
mode:
Diffstat (limited to '2026/talks')
-rw-r--r--2026/talks/align.md59
-rw-r--r--2026/talks/anju.md26
-rw-r--r--2026/talks/bible.md64
-rw-r--r--2026/talks/bone.md74
-rw-r--r--2026/talks/cadet.md51
-rw-r--r--2026/talks/emacspeak.md30
-rw-r--r--2026/talks/hutch.md61
-rw-r--r--2026/talks/hyperbole.md80
-rw-r--r--2026/talks/koutliner.md45
-rw-r--r--2026/talks/local.md33
-rw-r--r--2026/talks/open-mic.md21
-rw-r--r--2026/talks/os.md45
-rw-r--r--2026/talks/planning.md37
-rw-r--r--2026/talks/portable.md37
-rw-r--r--2026/talks/rau.md39
-rw-r--r--2026/talks/sat-close.md21
-rw-r--r--2026/talks/sat-open.md21
-rw-r--r--2026/talks/sun-close.md21
-rw-r--r--2026/talks/sun-open.md21
-rw-r--r--2026/talks/writing.md64
20 files changed, 850 insertions, 0 deletions
diff --git a/2026/talks/align.md b/2026/talks/align.md
new file mode 100644
index 00000000..8a78d763
--- /dev/null
+++ b/2026/talks/align.md
@@ -0,0 +1,59 @@
+[[!meta title="Column-aligning text in Emacs"]]
+[[!meta copyright="Copyright © 2026 Jeff Trull"]]
+[[!inline pages="internal(2026/info/align-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. --->
+
+
+# Column-aligning text in Emacs
+Jeff Trull (he/him) - Pronunciation: rhymes with "hull" and "dull", Mastodon: @jaafar@hachyderm.io Blog: <http://jefftrull.github.io/> Email: <mailto:edaskel@att.net>
+
+[[!inline pages="internal(2026/info/align-before)" raw="yes"]]
+
+Emacs has a rich set of features for manipulating ordinary text. The "fill"
+features align text at the right or left edges of a paragraph, while
+"indent" adds space at the start of a line based on the level within an
+outline, or the depth of a block in code.
+
+Emacs also has a framework for lining up text **inside** a line to match
+adjacent lines, creating the appearance of columns. For example, some
+coders like to have equal signs in a series of assignment statements line
+up, like this:
+
+ apple = 12;
+ rambutan = 42;
+
+The [align.el family of functions](https://www.gnu.org/software/emacs/manual///html_node/emacs/Code-Alignment.html) provides functions like align, which is the entry point for mode-based code alignment, as well as align-regexp, which gives interactive, user-defined access to the same features.
+The presenter will give a basic introduction to the user-facing features before diving into a technical explanation of how to use the framework at the Lisp level to create your own alignment rules and features.
+The technical portion will touch on packages like rx and peg in addition to align.el.
+
+Format: **20 minutes** and outline:
+
+- Motivation: the uses of (column) alignment
+- Built-in align: features you can use out-of-the-box in programming modes
+
+- Customizing built-in align
+ - align-regexp for interactive alignment
+ - customizing align-rules-list for modes
+- align.el for the ELisp coder
+ - Readable regexp with rx
+ - Example: Creating org-mode tables from columns
+ - Example: peg parsers as an alternative to regexp
+
+About the speaker:
+
+Jeff is a long-time Emacs user working on improving his ELisp skills.
+The dominance of VSCode makes him sad.
+
+He discovered the align.el framework while trying to improve Emacs
+formatting support for a C++ library he uses, Boost.SML
+<https://github.com/boost-ext/sml>.
+
+
+
+[[!inline pages="internal(2026/info/align-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/align-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/anju.md b/2026/talks/anju.md
new file mode 100644
index 00000000..033837a5
--- /dev/null
+++ b/2026/talks/anju.md
@@ -0,0 +1,26 @@
+[[!meta title="Revisiting Emacs Mouse Interactions with Anju"]]
+[[!meta copyright="Copyright &copy; 2026 Charles Y. Choi"]]
+[[!inline pages="internal(2026/info/anju-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. --->
+
+
+# Revisiting Emacs Mouse Interactions with Anju
+Charles Y. Choi - IRC: kickingvegas, Website: <http://yummymelon.com/devnull/> Mastodon: @kickingvegas@sfba.social, <mailto:kickingvegas@gmail.com>
+
+[[!inline pages="internal(2026/info/anju-before)" raw="yes"]]
+
+Anju (안주) is a project to align mouse interactions in Emacs with contemporary expectations in 2026. Effort towards this alignment is made in the areas of context-sensitive menus, de-emphasis of middle mouse button usage, support for direct manipulation, and re-organization of the main menu bar. The features offered by Anju are opinionated, but avoids unconventional behavior. Anju aspires to bring a calmer mouse experience to Emacs.
+
+This talk will present an overview of Anju (<https://kickingvegas.github.io/anju/>), describing its design decisions and implementation.
+
+About the speaker: Charles Choi is a Computer Engineer and Emacs enthusiast.
+
+
+
+[[!inline pages="internal(2026/info/anju-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/anju-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/bible.md b/2026/talks/bible.md
new file mode 100644
index 00000000..cf50fbf1
--- /dev/null
+++ b/2026/talks/bible.md
@@ -0,0 +1,64 @@
+[[!meta title="bible-gateway: A Two-Edged Sword in Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Kristjon Ciko"]]
+[[!inline pages="internal(2026/info/bible-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. --->
+
+
+# bible-gateway: A Two-Edged Sword in Emacs
+Kristjon Ciko (he/him) - <mailto:kristjoc@uio.no>
+
+[[!inline pages="internal(2026/info/bible-before)" raw="yes"]]
+
+`bible-gateway` is a simple Emacs package that fetches content from
+<https://BibleGateway.com> — verses, passages, search results — directly
+into Emacs.
+
+Unlike other approaches to reading Bible text in Emacs, it doesn't
+require installing extra modules, downloading zip files of Bible text,
+maintaining a local database, or signing up for an API key or
+subscription. Everything happens over plain HTTP/HTML scraping. It
+stores nothing on disk except a small cache for the verse of the day, so
+Emacs doesn't refetch it on every startup. It supports 14 Bible versions
+in different languages that are in the public domain, all fetched live,
+with no per-language downloads.
+
+In this short talk, I'll go through the main features with quick demos:
+
+- Verse of the day, usable as an emacs-dashboard footer or a `*scratch*` buffer message
+
+- Insert a Bible passage at point
+
+- Read a passage in a dedicated buffer, with n/p verse-by-verse navigation
+
+- Listen to a Bible chapter as audio, opened in the browser
+
+- Search the Bible by keyword, with clickable, paginated results
+
+- Follow a daily reading plan from a CSV file, with automatic progress tracking
+
+- Compare two Bible translations side by side in one window
+
+- Memorise verses using a touch-typing practice mode with live feedback
+
+- Switch between the 14 supported Bible versions/languages
+
+About the speaker:
+
+I am a postdoc at the University of Oslo, working on networking,
+transport protocols, and Wi-Fi. I have been using Emacs since 2020, and
+I now use it for nearly everything — email, Zulip, org-mode, LaTeX, and
+coding in C/C++, Python, and various scripting languages. I initially
+built the bible-gateway package to show the verse of the day in the
+emacs-dashboard footer. Over time it grew into a fuller toolkit for
+daily Bible reading, preparing devotions, and memorising Scripture — all
+without leaving Emacs.
+
+
+
+[[!inline pages="internal(2026/info/bible-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/bible-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/bone.md b/2026/talks/bone.md
new file mode 100644
index 00000000..06e67545
--- /dev/null
+++ b/2026/talks/bone.md
@@ -0,0 +1,74 @@
+[[!meta title="BONE and gnaw.el: tracking what matters"]]
+[[!meta copyright="Copyright &copy; 2026 Bastien Guerry"]]
+[[!inline pages="internal(2026/info/bone-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. --->
+
+
+# BONE and gnaw.el: tracking what matters
+Bastien Guerry (he) - IRC: bzg, <https://bzg.fr>, <mailto:bzg@bzg.fr>
+
+[[!inline pages="internal(2026/info/bone-before)" raw="yes"]]
+
+Most free software projects use three communication channels: one for
+general feedback, one for bug reports, and one for contributions.
+Projects that use patches instead of pull/merge requests (e.g. Emacs)
+can reduce this to two channels: a discussion list and a bug tracker.
+Some opinionated projects (e.g. Org mode) use only one channel: a
+mailing list for general discussions, bug reports and patches. This
+makes it easy for everyone to track everything. However, this requires
+a tool to help filter all the input. The Org mode tracker uses BONE
+for this filtering, and Org mode contributors can use gnaw.el as a
+BONE client.
+
+BONE (Backlog Of Notable Emails) is a bug tracker written in Clojure
+that watches a project's mailing list. An email whose subject starts
+with [BUG], [PATCH] or [FR] becomes a report. Replies update it with a
+small, fixed vocabulary: "Confirmed.", "Acked.", "Owned.", "Closed.",
+plus the usual review trailers like Reviewed-by:. Nobody creates an
+account, nobody fills a form, nobody leaves their mail client. The
+mailbox stays the single source of truth: the tracker database can be
+rebuilt from the archive at any time. BONE then exports the reports as
+static HTML, RSS, Org and, most importantly, plain reports.json files
+that anyone can fetch and reuse.
+
+gnaw.el is the Emacs client for BONE. M-x gnaw opens a report browser
+listing the bugs, patches and feature requests of the sources you
+follow, across projects. From that buffer you can search reports, read
+the underlying emails in Gnus, notmuch or mu4e, view and apply patches
+directly into a local git repository, open attachments, and organize
+your own work with local sticky and dismiss marks.
+
+The talk will:
+
+- show BONE in action on a real mailing list, from the tagged email to
+ the exported reports;
+- demo gnaw.el: browsing, searching, reading, applying a patch, all
+ from Emacs;
+- discuss the pros and cons of using this tool for Org mode.
+
+The audience is anyone who maintains or contributes to a project
+through a mailing list, anyone who is tired of forge accounts, and
+anyone curious about what a tracker looks like when it is derived from
+the conversation instead of replacing it.
+
+Links:
+
+- [BONE - Reports - Org mode ML](https://tracker.orgmode.org)
+- BONE: <https://codeberg.org/bzg/bone>
+- gnaw.el: <https://codeberg.org/bzg/gnaw.el>
+- The essay behind the idea:
+ <https://bzg.fr/en/notes/the-issue-with-issue-trackers/>
+
+About the speaker:
+
+Bastien Guerry has been maintaining Org mode from 2011 until 2025.
+
+
+
+[[!inline pages="internal(2026/info/bone-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/bone-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/cadet.md b/2026/talks/cadet.md
new file mode 100644
index 00000000..44710960
--- /dev/null
+++ b/2026/talks/cadet.md
@@ -0,0 +1,51 @@
+[[!meta title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration"]]
+[[!meta copyright="Copyright &copy; 2026 Andy Drop"]]
+[[!inline pages="internal(2026/info/cadet-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. --->
+
+
+# My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration
+Andy Drop (he/him) - Web: <https://plaindrops.de> Fediverse: SpaceCadet@chaos.social, <mailto:SpaceCadet@plaindrops.de>
+
+[[!inline pages="internal(2026/info/cadet-before)" raw="yes"]]
+
+After spending more time configuring my original Stream Deck than
+actually using it, I realized I’d rather build my own from scratch—just
+to spend even more time configuring it.
+
+This talk is a love letter to over-engineering. I’ll walk you through
+how I turned an old Android tablet into a programmable macro pad,
+complete with custom Emacs keybindings, because why use a keyboard when
+you can tap a screen like a caffeinated octopus?
+
+Expect:
+
+- *Software hacks* (SDD (Swearword Driven development), and questionable
+life choices).
+- *Emacs sorcery* (yes, it /does/ control my music, launch terminals,
+and occasionally insult me).
+- *Self-deprecating humor* (because if I can’t laugh at my own failures,
+who can?).
+
+Warning: May cause sudden urges to automate everything. Side effects
+include increased caffeine consumption, mild obsession with keyboards,
+and the occasional existential crisis when you realize you’ve spent
+three hours tweaking a button that saves you 10 seconds.
+
+About the speaker:
+
+I'm a passionate Emacs user and developer, tinkering with hardware to
+integrate it with Emacs. My talk introduces the SpaceCadet Deck, my
+Android-based Stream Deck alternative, and its deep integration with
+Emacs. I'll share my intention of building this customizable input
+device, highlighting its potential to enhance workflows. Expect live
+demos and practical tips.
+
+
+[[!inline pages="internal(2026/info/cadet-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/cadet-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/emacspeak.md b/2026/talks/emacspeak.md
new file mode 100644
index 00000000..c96fd0b5
--- /dev/null
+++ b/2026/talks/emacspeak.md
@@ -0,0 +1,30 @@
+[[!meta title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective"]]
+[[!meta copyright="Copyright &copy; 2026 Arkadiusz"]]
+[[!inline pages="internal(2026/info/emacspeak-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. --->
+
+
+# Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective
+Arkadiusz (Nuno) - <https://swietnicki.dev>
+
+[[!inline pages="internal(2026/info/emacspeak-before)" raw="yes"]]
+
+Emacs is a tool that is extremely suitable to be operated by a fully
+blind person. In this talk I would like to demonstrate one of its
+strongest features, which is audio font locking. Using this mechanism
+the user can get information in two dimensions, that is: "Information
+snippet" as well as its metadata, carried by the font. In this talk, I
+would like to briefly compare how blind people retrieve information
+versus how the sighted do it, then briefly compare Emacs to other
+traditional tools. At the end I am going to showcase a couple of
+practical points: messages management with Telega, file navigation with
+Dired and retrieving contact data with BBDB, all while using only speech
+and sounds.
+
+[[!inline pages="internal(2026/info/emacspeak-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/emacspeak-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/hutch.md b/2026/talks/hutch.md
new file mode 100644
index 00000000..aa8b1e3a
--- /dev/null
+++ b/2026/talks/hutch.md
@@ -0,0 +1,61 @@
+[[!meta title="hutch: code reviews for the mildly disenfranchised"]]
+[[!meta copyright="Copyright &copy; 2026 Akshay Gupta"]]
+[[!inline pages="internal(2026/info/hutch-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. --->
+
+
+# hutch: code reviews for the mildly disenfranchised
+Akshay Gupta (he/him) - Pronunciation: "UCK-shay", IRC: kitallis, Bluesky: repartee.party Homepage: <https://kitallis.in>, <mailto:mail@kitallis.in>
+
+[[!inline pages="internal(2026/info/hutch-before)" raw="yes"]]
+
+We're here today, roughly 500 days <https://en.wikipedia.org/wiki/List_of_large_language_models#2025> in, and coding agents are genuinely more productive than, previously, instructed <https://www.youtube.com/watch?v=U_cSLPv34xk>. They are now driving much of our daily work, helping us organize, process information and be more useful overall, and, with this brainwave of an opening, I present yet another attempt at wedging large languages, agents, coding harnesses etcetera inside our beloved buffers, or something.
+
+But hopefully, an unseemly angle to consider, first.
+
+I continue to hand-write and often, hand-commit code. I prefer the pedagogical aspect of AI more than the task completing automaton aspects. The latter has driven all sorts of explosion of tooling around not just writing, but reviewing code too. Like review agents jumping in, before your colleagues do, and plopping gobs of logorrhea across twenty pull requests before you have had a chance to wake up and look at your phone. This works, sometimes, for some people. But if you're like me, you still have people looking at code before they are deployed to users, and for that, it's overall better if you respect those people and their time.
+
+This is where hutch slides in.
+
+hutch <https://github.com/adjaecent/magit-hutch> is a Magit-induced, buffer-local interface over LLM review output. Instead of the review living on code-forges as comments for everyone to see, it appears patch-shaped (usually) within Magit's transient blocks and can be triaged and applied directly within emacs, **before** you commit and push.
+
+Here's an example workflow:
+
+Imagine you've just finished implementing a function. Before committing, you ask hutch to review the diff through the Magit buffer. You get a new actionable buffer back:
+
+ src/infirmary.rb
+ @@ ...
+ - def eligible?(user) = user.age >= 18 && user.age < 18
+ + def eligible?(user) = user.age >= 18 && user.age < 65
+
+ [hutch] This condition can literally never be true
+ [hutch] Did you mean `user.age < 65`?
+ [hutch] apply suggestion? [y]es [n]o [e]dit
+
+You can now accept, reject, or investigate each suggestion without leaving the Magit workflow. If the suggestions are useful, hutch can turn them into patches and apply; if it's nonsense, you dismiss it right there. None of it leaves your safe space.
+
+The talk walks through how it works and when it doesn't:
+
+- tour of the workflow: how to use hutch, when to use hutch, how to approve and reject things
+- patches over comments: hutch biasing outputs towards actionable items, rather than just prose
+- tools: guardrails, every agent loop earning its keep, gptel's state-machine
+- evals: how does it stack up against other external tooling on recognized benchmarks
+- dead-on-arrival: where it fails and why this is only useful if you work in a specific niche way
+
+This is a Magit and review-workflow talk that happens to involve an LLM, it doesn't purport any arguments about whether you should or shouldn't use AI with emacs.
+
+**Note:** The hutch package is available on MELPA <https://melpa.org/#/hutch>.
+
+About the speaker:
+
+Modern day aesthetically-relevant hacker. Long-time Clojure and Ruby programmer, reluctant polyglot by way of building high-throughput backends. Recently wound-down my startup Tramline, a mobile release orchestration tool, now kept alive as open source. Emacs and Magit are my daily drivers.
+
+
+
+[[!inline pages="internal(2026/info/hutch-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/hutch-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/hyperbole.md b/2026/talks/hyperbole.md
new file mode 100644
index 00000000..c899dfd1
--- /dev/null
+++ b/2026/talks/hyperbole.md
@@ -0,0 +1,80 @@
+[[!meta title="Hyperbole, My Dear Watson"]]
+[[!meta copyright="Copyright &copy; 2026 Charlie Holland"]]
+[[!inline pages="internal(2026/info/hyperbole-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. --->
+
+
+# Hyperbole, My Dear Watson
+Charlie Holland (he/him/his) - <https://chiply.dev>, <https://github.com/chiply>, <https://reddit.com/u/misterchiply>, <mailto:mister.chiply@gmail.com>
+
+[[!inline pages="internal(2026/info/hyperbole-before)" raw="yes"]]
+
+In the talk, I want to build the same set of notes twice, once in plain Org
+and once in Org + GNU Hyperbole, and this talk will demonstrate the utility
+of adding Hyperbole to the typical org workflow. The subject matter (the
+thing I'm taking notes on in the demo) is the Sherlock Holmes canon, which
+I selected deliberately as it contains sixty public-domain stories, on
+Project Gutenberg as plain text. This avoids copyright issues and also
+allows users to follow along with a note taking workflow on a complex
+resource for free.
+
+The thesis is that Org simply 'reads' text, while Hyperbole's added value
+is that it 'recognizes' text. In Org, a link is markup you have to
+explicitly type into a document, whereas in Hyperbole it is a pattern
+already in the text you read or type, and becomes live in any buffer (org,
+markdown, eww, epud, etc&hellip;).
+
+My contrived note taking on the Sherlock canon will make the benefits of
+Hyperbole clear.
+
+- In my notes, concepts and character names will be noted as CamelCase
+
+WikiWords. Once created, these will show up highlighted in any EPUB file,
+EWW page, etc&hellip;.
+
+- HyWiki links these for free in my personal notes, but in Doyle's text
+
+they are not written in CamelCase, so a simple alias extension to
+Hyperbole's HyWiki makes it as so that "Sherlock Holmes" will show up as a
+match for the "SherlockHolmes" WikiWord in any buffer, which will serve as
+an extensibility demo that resolves a common pain point with HyWiki.
+
+- Other elements of the canon are WikiWords already in-place. Sherlockians
+
+have cited the stories by four-letter code since 1947, so I will define a
+button with `defil` that makes every "(SCAN)", for a example, a live
+citation.
+
+- The Gutenberg text must stay untouched, so annotations I create will live
+
+in an explicit-button file beside it.
+
+- Holmes's docketed index of "men and things" will be an additional demo
+
+for HyRolo.
+
+Act I shows four frictions with Org alone, and Act II removes them one
+Hyperbole mechanism at a time. I close with what Org does better, which
+alternatives to Hyperbole address each friction (org-roam, org-remark,
+denote, org-transclusion), and why Hyperbole's uniform mechanism over all
+text in every buffer is still a differentiator. The idea is that I'm
+promoting Org plus Hyperbole, not Org versus Hyperbole.
+
+About the speaker:
+
+Charlie Holland writes
+about Emacs and knowledge management at [chiply.dev](https://chiply.dev), where this talk caps a
+four-part series on GNU Hyperbole. Charlie builds the same notes on the
+Sherlock Holmes canon twice, in Org and then in Org plus Hyperbole, to show
+the value that a mature hypertext system can bring to your note taking
+workflow.
+
+
+
+[[!inline pages="internal(2026/info/hyperbole-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/hyperbole-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/koutliner.md b/2026/talks/koutliner.md
new file mode 100644
index 00000000..d6f9c6bf
--- /dev/null
+++ b/2026/talks/koutliner.md
@@ -0,0 +1,45 @@
+[[!meta title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Bob Weiner"]]
+[[!inline pages="internal(2026/info/koutliner-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. --->
+
+
+# Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs
+Bob Weiner - Pronunciation: Wine-urr, <https://gnu.org/s/hyperbole/man/hyperbole.html#Koutliner>, <mailto:rsw@gnu.org>
+
+[[!inline pages="internal(2026/info/koutliner-before)" raw="yes"]]
+
+The Koutliner (pronounced Kay-outliner) is a powerful, easy-to-use
+multi-level autonumbered outliner for producing structured documents
+in Emacs.
+
+Learn how to use the Koutliner for critical outlines that must have
+unique, legal-style autonumbering for each section, simple
+cross-references, automatic permanent hyperlink anchors and outline
+view control via single alpha characters.
+
+Learn when to use the Koutliner and when to use Org mode for outlining.
+
+The Koutliner is just one part of the extensive Hyperbole package
+designed to handle many of your everyday information management and
+hyperlinking needs. See: <https://gnu.org/s/hyperbole/man/hyperbole.html>.
+
+About the speaker:
+
+Bob Weiner is a software developer who designs powerful, flexible
+easy-to-use systems that work out of the box with few dependencies.
+
+He developed the the Koutliner as part of the Hyperbole package prior to
+the advent of Org mode, when he needed an Emacs-based outliner with
+legal-styled numbering. Let's see how it differs from Org mode and
+how it can help you in rapidly structuring thoughts or notes.
+
+
+
+[[!inline pages="internal(2026/info/koutliner-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/koutliner-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/local.md b/2026/talks/local.md
new file mode 100644
index 00000000..158775d8
--- /dev/null
+++ b/2026/talks/local.md
@@ -0,0 +1,33 @@
+[[!meta title="Local File History Possibilities in Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Wouter Groeneveld"]]
+[[!inline pages="internal(2026/info/local-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. --->
+
+
+# Local File History Possibilities in Emacs
+Wouter Groeneveld - <https://brainbaking.com>, <mailto:wouter@brainbaking.com>
+
+[[!inline pages="internal(2026/info/local-before)" raw="yes"]]
+
+Emacs offers a myriad of ways to keep track of previous versions
+of your document: through tilde-like backup files, auto-save
+files, and of course the extensive built-in undo history
+system. Navigating that can be a chore unless you install
+something like vundo to visualize the undo tree. But with a huge
+undo-limit, even vundo can become unwieldy. What if we can conjure
+up a way to diff between the current document and the state it was
+in ten or twenty minutes ago, not unlike IntelliJ's local history
+system? Using a combination of Consult (preview) and diff-buff,
+that can be easily done! In this lightning talk, we'll explore how
+to quickly browse through diff history and roll back using
+built-in Emacs tooling.
+
+
+
+[[!inline pages="internal(2026/info/local-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/local-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/open-mic.md b/2026/talks/open-mic.md
new file mode 100644
index 00000000..333909f2
--- /dev/null
+++ b/2026/talks/open-mic.md
@@ -0,0 +1,21 @@
+[[!meta title="Open session"]]
+[[!meta copyright="Copyright &copy; 2026 Participants"]]
+[[!inline pages="internal(2026/info/open-mic-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. --->
+
+
+# Open session
+Participants
+
+[[!inline pages="internal(2026/info/open-mic-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/open-mic-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/open-mic-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/os.md b/2026/talks/os.md
new file mode 100644
index 00000000..3ded2bac
--- /dev/null
+++ b/2026/talks/os.md
@@ -0,0 +1,45 @@
+[[!meta title="Emacs everywhere: A fun romp through esoteric operating systems"]]
+[[!meta copyright="Copyright &copy; 2026 Aaron Grothe"]]
+[[!inline pages="internal(2026/info/os-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 everywhere: A fun romp through esoteric operating systems
+Aaron Grothe (he/him) - Pronunciation: Grow-Thee, <https://www.grothe.us> LinkedIn: <https://www.linkedin.com/in/aaron-grothe/>, <mailto:ajgrothe@yahoo.com>
+
+[[!inline pages="internal(2026/info/os-before)" raw="yes"]]
+
+One of the greatest running jokes and truest philosophies in the tech world is that Emacs isn’t just a text editor; it’s an operating system that happens to lack a good text editor. But a corollary to this philosophy is that the real Emacs can run on virtually any operating system ever conceived.Or can it?
+This talk is a lighthearted, deeply technical, and fun exploration of running full, uncompromised GNU Emacs on some of the most esoteric, vintage, and fringe operating systems in existence. If you have ever wondered whether a legendary text editor from the 1970s can comfortably coexist with modern hobbyist kernels or forgotten platforms, this is the session for you.
+
+The Journey Across the Fringe
+
+We will kick off our adventure by looking past the usual Linux, macOS, and Windows environments to explore how Emacs behaves in the wild. Our tour will take us across a fascinating spectrum of platforms, including:
+
+- Haiku OS: The spiritual successor to BeOS, known for its incredible snappiness and unique interface design.
+- ReactOS: The open-source effort to build an operating system binary-compatible with Windows NT.
+- AROS (Amiga Research Operating System): Keeping the legendary Amiga spirit alive on modern hardware.
+- GNU Hurd: The long-standing microkernel-based alternative to the Linux kernel, staying true to the core GNU philosophy.
+- Termux on Android: Bridging the gap between pocket mobile computing and serious Unix environments.
+
+By examining these systems, the goal isn't just to marvel at technical trivia, but to discover the genuine boundaries of where Emacs succeeds, where it struggles, and what these edge cases reveal about portability and modern software design.The Redox OS Frontier and the WASM StopgapNo exploration of modern alternative operating systems would be complete without looking at Redox OS, an innovative, microkernel-based operating system written entirely in Rust. Currently, Redox OS cannot run a native version of Emacs out of the box.
+
+However, necessity is the mother of invention. To ensure nobody leaves without their text editor fix, we will demonstrate running Emacs compiled to WebAssembly (WASM) directly inside a browser on Redox OS. While we anticipate native Redox OS support arriving in the next 18 to 24 months, WASM serves as a brilliant, functional stopgap in the meantime.
+
+Conclusion
+
+Emacs in the 2020s is entirely a choice, just as choosing to daily-drive or tinker with an esoteric operating system is a choice. Together, they form an unexpectedly delightful combination for hackers, hobbyists, and digital archaeologists alike.Attendees will leave this talk with a fresh appreciation for software portability, a smile on their faces, and perhaps a new spark of inspiration to find a weird operating system for their own weekend tinkering.
+
+About the speaker:
+
+Welcome, brave souls, to an eccentric journey into digital omnipresence! While others debate modern IDEs, true enlightenment lies in the extensible glory of Emacs. But why stop at mainstream systems? Today, we boldly venture where few dare to tread: running Emacs on obscure, esoteric operating systems Haiku, ReactOS and others.  Prepare for a delightfully chaotic exploration of stubborn survival and our ultimate, unstoppable blueprint for total world domination—one bizarre kernel at a time. Resistance is futile!  Aaron Grothe has been a developer for years and has been an Emacs users for a very long time.  It was his first full screen editor and it will probably be his last :-)
+
+
+
+[[!inline pages="internal(2026/info/os-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/os-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/planning.md b/2026/talks/planning.md
new file mode 100644
index 00000000..896bd4d6
--- /dev/null
+++ b/2026/talks/planning.md
@@ -0,0 +1,37 @@
+[[!meta title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc."]]
+[[!meta copyright="Copyright &copy; 2026 George Jones"]]
+[[!inline pages="internal(2026/info/planning-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. --->
+
+
+# The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.
+George Jones - <mailto:gmj@pobox.com>
+
+[[!inline pages="internal(2026/info/planning-before)" raw="yes"]]
+
+This is the story of my 40+ year journey using planning tools, many of them inside Emacs since the advent of Org Mode. This is not a "now I know how to plan things perfectly" talk. I will demo Emacs planning workflows and tools I use, that I have used, and that I'm experimenting with now. You are probably a better planner than I am. You probably get more things done than I do. Sometimes getting things done is the point. Sometimes shiny objects are the point. Sometimes avoiding shiny objects is the point. I'll touch on all that.
+
+Here are some of the "Try this at home, kids" things I will touch on:
+
+- Org and Denote capture templates
+- My custom `org-todo-keywords`
+- The Org Agenda: Per-project files vs. a single `diary.org`
+- Habits, schedules, and weekly "DONE" and "Worked On" summaries
+- Migrating to Denote
+- "Strange new worlds" with AI/gptel creeping into my workflows
+
+Sometimes life happens outside Emacs. I admit it. I will touch on how my daily paper journaling and other inputs interact with my Emacs workflows.
+
+About the speaker:
+
+George Jones has been noodling around Emacsen since the TECO days (pre GNU) and had a bit to do with MicroEmacs finding its way onto the Amiga and USENET. Since the advent of Org mode much of his planning happens there. In this talk George will run through demos of current workflows with capture templates, custom TODO keywords, Org Agenda, habits, schedules and the use of newcomers including denote and gptel.
+
+
+
+[[!inline pages="internal(2026/info/planning-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/planning-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/portable.md b/2026/talks/portable.md
new file mode 100644
index 00000000..7f502be2
--- /dev/null
+++ b/2026/talks/portable.md
@@ -0,0 +1,37 @@
+[[!meta title="Emacs as my portable user space across operating platforms"]]
+[[!meta copyright="Copyright &copy; 2026 Mohammed Ismail Ansari"]]
+[[!inline pages="internal(2026/info/portable-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 my portable user space across operating platforms
+Mohammed Ismail Ansari - <https://myterminal.me>, <mailto:mail@myterminal.me>
+
+[[!inline pages="internal(2026/info/portable-before)" raw="yes"]]
+
+In the talk, I'll cover my brief experience using Emacs across three
+major operating systems, how it influenced the other tools within my
+toolset, my effort to share my configuration with the rest of us, and
+eventually super-emacs: my attempt at a minimal but feature-full
+starter pack for Emacs that I've been maintaining for over a decade
+now.
+
+About the speaker: I, Mohammed Ismail Ansari (aka myTerminal), come
+from an academic background in Electronics Engineering, and have been
+working professionally as a software engineer since seventeen years.
+I love to create and experiment with all kinds of machines, not just
+computers, enjoying the exploration and tinkering process. In the
+recent years I've also discovered my interest in personal
+productivity, and pairing them with some of the core elements within
+my toolset, including Linux, Emacs, and many other open-source
+software everything fits in place as if it was supposed to be.
+
+
+
+[[!inline pages="internal(2026/info/portable-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/portable-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/rau.md b/2026/talks/rau.md
new file mode 100644
index 00000000..554d1bcf
--- /dev/null
+++ b/2026/talks/rau.md
@@ -0,0 +1,39 @@
+[[!meta title="Emacs as a Window Manager and concurrency"]]
+[[!meta copyright="Copyright &copy; 2026 Thomas Koch"]]
+[[!inline pages="internal(2026/info/rau-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 Window Manager and concurrency
+Thomas Koch - <https://blog.koch.ro>, <mailto:thomas@koch.ro>
+
+[[!inline pages="internal(2026/info/rau-before)" raw="yes"]]
+
+Rau is one of three different Wayland Window Manager projects active right now
+and the only one written only in Elisp (at the moment).
+
+I'll present the current state of Rau, compare it with the other two projects
+(Reka, EWM) and discuss some difficulties encountered with a focus on
+concurrency and Emacs.
+
+Rau is already fully functional for daily use. The single threaded nature of
+Emacs however is a major issue that will require to move the major part of Rau
+from Elisp into an Emacs module and thus into another language.
+
+<https://github.com/thkoch2001/rau>
+
+About the speaker:
+
+Thomas Koch has a preference for logic, correctness and elegance.
+Therefore, he likes Haskell, Emacs, Nix, Postgres and tries to help the success of <https://github.com/axiosoph/axios>.
+He deeply values open, respectful discussions with people of diverse perspectives.
+
+
+
+[[!inline pages="internal(2026/info/rau-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/rau-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sat-close.md b/2026/talks/sat-close.md
new file mode 100644
index 00000000..12eeb9f2
--- /dev/null
+++ b/2026/talks/sat-close.md
@@ -0,0 +1,21 @@
+[[!meta title="Saturday closing remarks / open session"]]
+[[!meta copyright="Copyright &copy; 2026 ${speakers}"]]
+[[!inline pages="internal(2026/info/sat-close-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. --->
+
+
+# Saturday closing remarks / open session
+
+
+[[!inline pages="internal(2026/info/sat-close-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sat-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sat-close-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sat-open.md b/2026/talks/sat-open.md
new file mode 100644
index 00000000..d67255b4
--- /dev/null
+++ b/2026/talks/sat-open.md
@@ -0,0 +1,21 @@
+[[!meta title="Saturday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2026 Sacha Chua"]]
+[[!inline pages="internal(2026/info/sat-open-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. --->
+
+
+# Saturday opening remarks
+Sacha Chua
+
+[[!inline pages="internal(2026/info/sat-open-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sat-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sat-open-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sun-close.md b/2026/talks/sun-close.md
new file mode 100644
index 00000000..3568cf20
--- /dev/null
+++ b/2026/talks/sun-close.md
@@ -0,0 +1,21 @@
+[[!meta title="Sunday closing remarks"]]
+[[!meta copyright="Copyright &copy; 2026 ${speakers}"]]
+[[!inline pages="internal(2026/info/sun-close-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. --->
+
+
+# Sunday closing remarks
+
+
+[[!inline pages="internal(2026/info/sun-close-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sun-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sun-close-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sun-open.md b/2026/talks/sun-open.md
new file mode 100644
index 00000000..4a3dc64e
--- /dev/null
+++ b/2026/talks/sun-open.md
@@ -0,0 +1,21 @@
+[[!meta title="Sunday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2026 Sacha Chua"]]
+[[!inline pages="internal(2026/info/sun-open-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. --->
+
+
+# Sunday opening remarks
+Sacha Chua
+
+[[!inline pages="internal(2026/info/sun-open-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sun-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sun-open-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/writing.md b/2026/talks/writing.md
new file mode 100644
index 00000000..6b0400bd
--- /dev/null
+++ b/2026/talks/writing.md
@@ -0,0 +1,64 @@
+[[!meta title="Close the writing accountability gap with Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Blaine Mooers"]]
+[[!inline pages="internal(2026/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. --->
+
+
+# Close the writing accountability gap with Emacs
+Blaine Mooers (he, him) - Pronunciation: Mooers is spoken as "Mores", <mailto:blaine-mooers@ou.edu>
+
+[[!inline pages="internal(2026/info/writing-before)" raw="yes"]]
+
+This 20-minute talk introduces writing-schedule.el and writing-habit.el available on GitHub at MooersLab.
+These tools address the challenge of managing multiple writing projects in parallel and measuring adherence to the writing schedule.
+These measurements provide valuable feedback that you can use to close the gap between your planned and actual writing activity.
+You can use this to make your writing habit antifragile, growing stronger in response to disruptions.
+
+These tools address also address the seemingly unsolvable problem of managing multiple parallel writing projects in academia.
+This issue is also widespread in other walks of life.
+Emacs can address this issue.
+
+Writing projects can span multiple days, weeks, months, and even years before they are finished.
+Long-running projects need to move forward steadily, while shorter writing projects have many deadlines.
+You can focus on only one project at a time, but you can make progress on two to four projects in a day by adhering to a schedule.
+Scheduling recurring events with time blocks is a popular approach to handling parallel projects.
+However, setting time blocks on paper or in an electronic application (e.g., iCal, gCal, or Outlook Express) quickly becomes tedious.
+We harness Emacs to cut the time spent scheduling the upcoming week in half.
+
+The package writing-schedule.el uses an org-mode table to plan the week's writing.
+Single letters are mapped to specific projects and added to cells of the table to assign time blocks to specific writing projects.
+You can quickly reassign the letters to a different project if you will use similar time slots in the upcoming week.
+
+You can use a table from the prior year as a template because the pattern of discretionary time available for writing is likely similar from year to year.
+You can create template files to reflect seasonal fluctuations in discretionary time available for writing.
+Writing schedule tables can accommodate 1-7 day work weeks.
+The information in the org-table can be exported as a list of scheduled TODOs for org-agenda, to a PDF file in the time-blocking format advocated by Calvin Newport, and to an .ics file for importing into iCal, gCal, or Outlook calendar.
+You can shift the time blocks as the day progresses to reflect what really happened.
+
+The time blocks are assigned to different writing activities: generative writing, editing, and support activities.
+You can schedule these activities to match your daily pattern of alertness and energy.
+Morning larks can assign generative writing to the early hours of the day; night owls can assign generative writing to the late hours.
+Both groups do editing best at peak alertness, usually between 9:30 and 11:30 A.M.
+They can assign support writing activities to the afternoons.
+
+This is the ideal pattern, but real-life obligations disrupt it.
+The record for the past week is compared with the planned events to measure adherence to the writing schedule using the dashboard produced by the package writing-habit.el.
+The package provides several bar plots comparing time scheduled and time spent by project and by writing activity.
+
+About the speaker:
+
+Blaine Mooers is an associate professor 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.
+An avid Emacs, LaTeX, Clojure, and Python user for many years, he builds tools that optimize scientific workflows, including writing workflows.
+In this talk, he shares writing-schedule.el, which brings time blocking to org-agenda, and the template system he uses to schedule a week in minutes.
+His aim is an antifragile writing habit that grows stronger through the disruptions of academic life.
+
+
+
+[[!inline pages="internal(2026/info/writing-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/writing-nav)" raw="yes"]]
+
+