diff options
Diffstat (limited to '2026/talks')
| -rw-r--r-- | 2026/talks/align.md | 59 | ||||
| -rw-r--r-- | 2026/talks/cadet.md | 51 | ||||
| -rw-r--r-- | 2026/talks/emacspeak.md | 30 | ||||
| -rw-r--r-- | 2026/talks/local.md | 33 | ||||
| -rw-r--r-- | 2026/talks/open-mic.md | 21 | ||||
| -rw-r--r-- | 2026/talks/portable.md | 45 | ||||
| -rw-r--r-- | 2026/talks/sat-close.md | 21 | ||||
| -rw-r--r-- | 2026/talks/sat-open.md | 21 | ||||
| -rw-r--r-- | 2026/talks/sun-close.md | 21 | ||||
| -rw-r--r-- | 2026/talks/sun-open.md | 21 |
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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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"]] + + |
