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/cadet.md51
-rw-r--r--2026/talks/emacspeak.md30
-rw-r--r--2026/talks/local.md33
-rw-r--r--2026/talks/open-mic.md21
-rw-r--r--2026/talks/portable.md45
-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
10 files changed, 323 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/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/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/portable.md b/2026/talks/portable.md
new file mode 100644
index 00000000..762b17be
--- /dev/null
+++ b/2026/talks/portable.md
@@ -0,0 +1,45 @@
+[[!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 plan to cover my entry
+into the world of Emacs, a high-level series of events that shaped my
+experience and learning, and a few takeaways from someone coming from an
+entire different toolset and mentality, eventually having a moment of
+enlightenment to never go back again. The talk will revolve around how
+it has been my companion across multiple operating platforms and will
+remain to be one of the core elements of my computing toolset no matter
+the environment or platform. I'll talk about a few highs and lows of my
+attempts of inviting friends to Emacs, a few mentions of my
+contributions to the community and hopefully some tips for inspiration
+to newcomers and fellow Emacs-ers alike. Along with these, I'll also
+walk through how and why I created super-emacs and why I think it can be
+a reasonably easy starting point for someone getting into Emacs as their
+daily driver.
+
+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 experimenting 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/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"]]
+
+