summaryrefslogtreecommitdiffstats
path: root/2024/talks
diff options
context:
space:
mode:
Diffstat (limited to '2024/talks')
-rw-r--r--2024/talks/blee.md137
-rw-r--r--2024/talks/casual.md32
-rw-r--r--2024/talks/color.md50
-rw-r--r--2024/talks/emacs30.md21
-rw-r--r--2024/talks/flp.md68
-rw-r--r--2024/talks/graph.md40
-rw-r--r--2024/talks/guile.md63
-rw-r--r--2024/talks/gypsum.md368
-rw-r--r--2024/talks/hyperbole.md37
-rw-r--r--2024/talks/hyperdrive.md53
-rw-r--r--2024/talks/hywiki.md49
-rw-r--r--2024/talks/julia.md33
-rw-r--r--2024/talks/language.md44
-rw-r--r--2024/talks/learning.md68
-rw-r--r--2024/talks/links.md54
-rw-r--r--2024/talks/literate.md50
-rw-r--r--2024/talks/mcclim.md121
-rw-r--r--2024/talks/org-teach.md46
-rw-r--r--2024/talks/org-update.md21
-rw-r--r--2024/talks/p-search.md61
-rw-r--r--2024/talks/papers.md53
-rw-r--r--2024/talks/pgmacs.md49
-rw-r--r--2024/talks/project.md64
-rw-r--r--2024/talks/regex.md37
-rw-r--r--2024/talks/repro.md36
-rw-r--r--2024/talks/rust.md34
-rw-r--r--2024/talks/secrets.md28
-rw-r--r--2024/talks/sharing.md39
-rw-r--r--2024/talks/shell.md35
-rw-r--r--2024/talks/students.md47
-rw-r--r--2024/talks/theme.md33
-rw-r--r--2024/talks/transducers.md47
-rw-r--r--2024/talks/water.md29
-rw-r--r--2024/talks/writing.md34
34 files changed, 1981 insertions, 0 deletions
diff --git a/2024/talks/blee.md b/2024/talks/blee.md
new file mode 100644
index 00000000..786de43f
--- /dev/null
+++ b/2024/talks/blee.md
@@ -0,0 +1,137 @@
+[[!meta title="About Blee: enveloping our own autonomy directed digital ecosystem"]]
+[[!meta copyright="Copyright © 2024 Mohsen BANAN"]]
+[[!inline pages="internal(2024/info/blee-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. --->
+
+
+# About Blee: enveloping our own autonomy directed digital ecosystem
+Mohsen BANAN (he/him) - Pronunciation: MO-HH-SS-EN
+
+[[!inline pages="internal(2024/info/blee-before)" raw="yes"]]
+
+Emacs has long been recognized as the ultimate integration platform, enabling
+the creation of an unparalleled user environment. In 2010, Tomohiro Matsuyama,
+captured this concept crisply:
+
+"The reason why Emacs platform is good is that it cooperates with OS,
+not because it is good by itself."
+
+Building on this idea, Blee (ByStar Libre-Halaal Emacs Environment) can be seen
+as yet another Emacs re-distribution, akin to Doom Emacs or Spacemacs. However,
+Blee is distinct. While Doom Emacs is multi-platform oriented, Blee is paired
+exclusively with Debian &#x2014; and on mobile, with Termux-Android. While Doom Emacs
+is Emacs-centric, Blee is digital ecosystem-centric.
+
+To further elucidate Blee, let’s break down the subtitle of this presentation:
+
+"Enveloping Our Own Autonomy Directed Digital Ecosystem With Emacs."
+
+- **"Enveloping":** Blee is designed to fully integrate and encapsulate usage of
+ an entire digital ecosystem.
+
+- **"Our Own Autonomy-Directed Digital Ecosystem":** In contrast to the
+ proprietary American ecosystems of Google, Microsoft, Meta, Apple, and Amazon,
+ Blee is part of *the Libre-Halaal ByStar Digital Ecosystem*. ByStar is ours.
+
+By\* challenges the existing proprietary American digital ecosystem while
+operating concurrently alongside it. ByStar's primary offerings are tangible
+autonomy and genuine privacy on a very large scale. ByStar represents a moral
+inversion of the proprietary American internet services model. By\* is about
+redecentralization of internet application services.
+
+Some might dismiss ByStar as an ambitious, utopian vision. In response, I’ve
+authored a book titled:
+
+------------------------------------------------------------------------
+
+<!-- <img align="right" height="230" src="https://github.com/mohsenBanan/mohsenBanan/blob/main/images/frontCover-1.jpg"> -->
+
+<p align="center"><font size="+3"><b>Nature of Polyexistentials:</font></b></p>
+
+<p align="center"><b>Basis for Abolishment of the Western Intellectual Property Rights Regime</b></p>
+
+<p align="center"><b>And Introduction of the Libre-Halaal ByStar Digital Ecosystem</b></p>
+
+
+<p align="left">On Line: &emsp; <a href="https://github.com/bxplpc/120033">PLPC-120033 at Github</a> -- <a href="https://doi.org/10.5281/zenodo.8003846">DOI </a>
+ --- PDF: <a href="https://github.com/bxplpc/120033/blob/main/pdf/c-120033-1_05-book-8.5x11-col-emb-pub.pdf">8.5x11</a> --
+ <a href="https://github.com/bxplpc/120033/blob/main/pdf/c-120033-1_05-book-a4-col-emb-pub.pdf">A4</a>
+<br>
+US Edition Book Prints At Amazon: &emsp; <a href="https://www.amazon.com/dp/1960957015"> US </a> -- <a href="https://www.amazon.fr/dp/1960957015"> France </a> -- <a href="https://www.amazon.co.uk/dp/1960957015"> UK </a> -- <a href="https://www.amazon.co.jp/dp/1960957015"> Japan </a>
+&emsp; (424 pages --- 6 x 0.96 x 9 inches)
+<br>
+International Edition Book Prints: &emsp; <a href="https://jangal.com/fa/product/252689/nature-of-polyexistentials"> Iran (Jangal Publishers) </a>
+&emsp; (406 pages --- 23.5 x 16.5 cm)
+</p>
+<p align="left">Comments, Feedback: &emsp;
+<a href="mailto:plpc-120033@mohsen.1.banan.byname.net">plpc-120033@mohsen.1.banan.byname.net</a>
+</p>
+
+------------------------------------------------------------------------
+
+Blee and Emacs are integral parts of ByStar.
+
+Analysis of digital ecosystems is inherently interdisciplinary, and so is my
+book. But, in this presenation, I won't be delving much into the philosophical,
+ethical, moral, societal, and social dimensions of the book. This presentation,
+focuses on the technical aspects of ByStar and Blee, specifically through the
+lens of Emacs users and developers.
+
+Blee’s approach to integration differs from traditional Emacs culture in three
+key ways:
+
+1. Avoiding the "Curse of Lisp": While Emacs culture emphasizes doing
+ everything in Lisp, Blee consciously avoids this pitfall.
+
+2. Cultivation of Best-of-Breeds: Emacs folklore tends to follow a laissez
+ faire approach, but Blee is disciplined around cultivation of selected best
+ of breeds.
+
+3. Digital Ecosystem Orientation: Unlike traditional Emacs, which is
+ component-focused, Blee is designed in the context of the entirety of our
+ own digital ecosystem.
+
+In ByStar, much of the integration occurs outside of Emacs, through a framework
+called BISOS (By\* Internet Services OS). BISOS builds on Debian to provide a
+unified platform for developing both internet services and software-service
+continuums. BISOS and Blee are intertwined.
+
+Now, in 2024, I am advancing Matsuyama concept with specificity:
+
+"The reason why Emacs platform is good is that it facilitates creation of
+ integrated usage environments like Blee, which cooperate with Debian, BISOS
+ and ByStar."
+
+An early version of BISOS and Blee is available for public use and
+experimentation. To get started with BISOS, Blee, and ByStar, visit
+<https://github.com/bxgenesis/start>. From a virgin Debian 12 installation
+("Fresh-Debian"), you can bootstrap BISOS and Blee in one step by running the
+raw-bisos.sh script. It produces "Raw-BISOS" which includes "Raw-Blee". You
+can then customize Raw-Blee to create different parts and aspects of your own
+ByStar DE.
+
+I welcome your thoughts and feedback, especially if you experiment with Blee,
+BISOS, ByStar, and the model and the concept of Libre-Halaal Polyexistentials.
+
+About the speaker:
+
+Mohsen Banan is a software and internet engineer. He was one of the principal
+architects of the Cellular Digital Packet Data (CDPD) network specifications. He
+is the primary author of two Internet RFCs. He is the principal architect of the
+ByStar Digital Ecosystem and BISOS and Blee. The software and internet services
+that he publicly offers all conform to the definition of Libre-Halaal Software
+and Libre-Halaal Internet Services. All of his public writings are web published
+and unrestricted. He has never applied for a patent. As an expert witness he has
+assisted in legal efforts involving invalidation of a number of patents. He has
+been using Emacs since 1986.
+
+Previous Talks: <https://emacsconf.org/2021/talks/bidi> and
+ <https://emacsconf.org/2022/talks/mail>
+
+[[!inline pages="internal(2024/info/blee-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/blee-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/casual.md b/2024/talks/casual.md
new file mode 100644
index 00000000..c64aec29
--- /dev/null
+++ b/2024/talks/casual.md
@@ -0,0 +1,32 @@
+[[!meta title="Re-imagining the Emacs User Experience with Casual Suite"]]
+[[!meta copyright="Copyright &copy; 2024 Charles Choi"]]
+[[!inline pages="internal(2024/info/casual-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. --->
+
+
+# Re-imagining the Emacs User Experience with Casual Suite
+Charles Choi (he/him) - Pronunciation: Che, IRC: kickingvegas, <http://yummymelon.com/devnull/> , Mastodon: <https://sfba.social/@kickingvegas>
+
+[[!inline pages="internal(2024/info/casual-before)" raw="yes"]]
+
+To date, the predominant interaction model for Emacs has been to use keybindings or the mini-buffer prompt to issue commands. These commands are drawn from a vast ecosystem of packages (both core and third party) designed to extend Emacs. When these commands are used in aggregate, the aforementioned interaction model places a high cognitive load on the user. It also sets a very steep learning curve for Emacs.
+
+The inclusion of the Transient model package in Emacs facilitates a different interaction model using keyboard-driven menu interfaces. Menu interfaces excel at discovery and recognition, neither of which are well supported with keybindings and a prompt. Menu interfaces also can be made contextual to allow the user to focus on a task at hand.
+
+Casual Suite is a personal effort to re-imagine the Emacs user experience by using keyboard-driven Transient menus as its primary interaction model.
+
+This talk describes Casual Suite, detailing its implementation and operation.
+
+About the speaker:
+
+Charles Choi has been an Emacs user since 1989 but did not get around to learning Elisp until 2022. He possesses formal knowledge of computers with a Ph.D. in Computer Engineering received from the University of Virginia in 1997. He is from and continues to live in San Francisco.
+
+
+
+[[!inline pages="internal(2024/info/casual-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/casual-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/color.md b/2024/talks/color.md
new file mode 100644
index 00000000..e302c691
--- /dev/null
+++ b/2024/talks/color.md
@@ -0,0 +1,50 @@
+[[!meta title="Colour your Emacs with ease"]]
+[[!meta copyright="Copyright &copy; 2024 Ryota"]]
+[[!inline pages="internal(2024/info/color-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. --->
+
+
+# Colour your Emacs with ease
+Ryota (he/him) - Pronunciation: Ree-yo-tah, https://hachyderm.io/@rytswd https://x.com/rytswd
+
+[[!inline pages="internal(2024/info/color-before)" raw="yes"]]
+
+Emacs comes with various themes to pick from, and there are myriad
+different themes out on the internet. Even when you choose a theme, from
+there, you can make your exact adjustments to add or remove certain
+colours. Emacs provides you so much control over how you work, write, code,
+and everything in between. You are certainly left equipped with all the
+controls for your theme as well.
+
+However, when it comes to colour, there is a bit of difficulty: RGB.
+Hexadecimal colour codes are ubiquitous and relatively easy to understand.
+Yet, they are difficult to work with, especially when you need to make
+different shades and variants. In recent years, CSS started to support not
+just sRGB (standard RGB), but other colour spaces such as HSL, Oklab, etc.
+With Emacs, we also have a great set of tools from color.el, as well as
+this amazing package called ct.el (<https://github.com/neeasade/ct.el>),
+
+In this talk, we will have a quick look at different colour spaces than
+sRGB, namely HSL and LCH. We will check out how ct.el can make a set of
+colour shades and variants at ease, and how they can help defining themes.
+Finally, Ryota will share his own theme called Hasliberg Theme, which is
+using the full power of LCH.
+
+About the speaker:
+
+Ryota started his Emacs journey more than a decade ago, but was forced to
+put it aside for work requirements soon after. A few years ago, he made a
+return to Emacs, and now is using Emacs almost exclusively for any sort of
+coding tasks. This talk focuses on the modern Emacs setup where he thinks
+his Emacs looks and works better than many other editors. He works for Civo
+as a Principal Engineer.
+
+
+
+[[!inline pages="internal(2024/info/color-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/color-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/emacs30.md b/2024/talks/emacs30.md
new file mode 100644
index 00000000..20a163e1
--- /dev/null
+++ b/2024/talks/emacs30.md
@@ -0,0 +1,21 @@
+[[!meta title="Emacs 30 Highlights"]]
+[[!meta copyright="Copyright &copy; 2024 Philip Kaludercic"]]
+[[!inline pages="internal(2024/info/emacs30-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 30 Highlights
+Philip Kaludercic
+
+[[!inline pages="internal(2024/info/emacs30-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2024/info/emacs30-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/emacs30-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/flp.md b/2024/talks/flp.md
new file mode 100644
index 00000000..037f12e7
--- /dev/null
+++ b/2024/talks/flp.md
@@ -0,0 +1,68 @@
+[[!meta title="The Free Life Planner: Empowering Lives with Emacs-Based AI"]]
+[[!meta copyright="Copyright &copy; 2024 Andrew Dougherty"]]
+[[!inline pages="internal(2024/info/flp-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 Free Life Planner: Empowering Lives with Emacs-Based AI
+Andrew Dougherty (he/him) - Pronunciation: DOH-er-tee, IRC: aindilis, <https://frdcsa.org/> Facebook: <https://facebook.com/frdcsa>, <mailto:adougher9@gmail.com>
+
+[[!inline pages="internal(2024/info/flp-before)" raw="yes"]]
+
+The Free Life Planner (FLP) is an ambitious, Emacs-based artificial
+intelligence project aimed at creating a comprehensive life management
+system to address global challenges like poverty, hunger, and
+disease. This talk will provide a 5-year progress report on FLP,
+highlighting its integration with Emacs and its potential to serve as
+a virtual secondary social safety net.
+
+FLP leverages the power of free/libre software and AI to offer
+intelligent planning and decision support across various life
+domains. Key features include modules for finance, health, nutrition,
+and transportation, all accessible through an Emacs interface. The
+system employs advanced planning algorithms, machine learning, and
+natural language processing to provide personalized assistance
+tailored to individual needs.
+
+We'll explore how FLP uses Emacs as its central developer console,
+demonstrating how it can control Emacs through agentic software. The
+presentation will showcase practical applications of FLP, such as the
+Gourmet meal planner and the financial planning module, illustrating
+how these tools can improve quality of life and promote self-reliance.
+
+The talk will also address the challenges faced in developing FLP,
+including privacy concerns and the complexities of releasing such a
+comprehensive system. We'll discuss our commitment to free/libre
+software principles and our vision for FLP's future as a tool for
+social good.
+
+By attending this talk, you'll gain insights into:
+- How Emacs can serve as a platform for advanced AI applications
+- The potential of free/libre software to address global challenges
+- Practical applications of AI in daily life management
+- The intersection of technology and social responsibility
+
+Join us to explore how the Free Life Planner, powered by Emacs and AI,
+aims to transform lives and create a more equitable future for all.
+
+About the speaker:
+
+Andrew Dougherty is the creator of the Free Life Planner and the
+driving force behind the FRDCSA project. With over two decades of
+experience in AI and free software development, Andrew is passionate
+about leveraging technology to address social challenges. His work on
+FLP combines cutting-edge AI techniques with the extensibility of
+Emacs to create a comprehensive life management system. Today, Andrew
+will share insights from FLP's development over the past fifteen
+years, demonstrating how Emacs-based AI can be harnessed to empower
+individuals and communities worldwide.
+
+See also: [EmacsConf - 2019 - talks - A.I. that Helps Play the Game of Your Life - Andrew J. Dougherty](https://emacsconf.org/2019/talks/07/)
+
+[[!inline pages="internal(2024/info/flp-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/flp-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/graph.md b/2024/talks/graph.md
new file mode 100644
index 00000000..990372f8
--- /dev/null
+++ b/2024/talks/graph.md
@@ -0,0 +1,40 @@
+[[!meta title="Graph mode - A major mode to create, edit and display discrete element graphs."]]
+[[!meta copyright="Copyright &copy; 2024 John Darrington"]]
+[[!inline pages="internal(2024/info/graph-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. --->
+
+
+# Graph mode - A major mode to create, edit and display discrete element graphs.
+John Darrington (he/him) - IRC: jmd, <mailto:john@cellform.com>
+
+[[!inline pages="internal(2024/info/graph-before)" raw="yes"]]
+
+This project is a major mode to assist creation and editing of SVG
+images depicting discrete element graphs, optionally with presentational
+properties. The creation of such images may be of interest to
+engineers, pure mathematicians with an interest in graph theory,
+computer scientists, data administrators and others.
+
+The user specifies the topology and simple presentational attributes of the
+system and emacs takes care of the rest. Interaction is via conventional M-x
+interactive commands, or by keybindings/mouse movement.
+
+If desired, the SVG output may be edited using an external tool or by
+hand. Keeping the generated SVG readable and easy to edit is a design
+goal of the project.
+
+Example uses may include the creation of flow charts, entity-relationship
+diagrams, UML, block diagrams, and abstract graphs.
+
+This talk will demonstrate use of the mode, describe how it works, and
+discuss possible future direction.
+
+
+
+[[!inline pages="internal(2024/info/graph-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/graph-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/guile.md b/2024/talks/guile.md
new file mode 100644
index 00000000..e00b075a
--- /dev/null
+++ b/2024/talks/guile.md
@@ -0,0 +1,63 @@
+[[!meta title="Beguiling Emacs: Guile-Emacs relaunched!"]]
+[[!meta copyright="Copyright &copy; 2024 Robin Templeton"]]
+[[!inline pages="internal(2024/info/guile-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. --->
+
+
+# Beguiling Emacs: Guile-Emacs relaunched!
+Robin Templeton (they/them) - IRC: robin, - robin on libera.chat - Matrix: @terpri:matrix.org - Mastodon: @lispwitch@octodon.social - Website: <http://terpri.org/>, <mailto:robin@terpri.org>
+
+[[!inline pages="internal(2024/info/guile-before)" raw="yes"]]
+
+The Guile-Emacs project seeks to develop new foundations for Emacs to
+serve as the basis for the next forty years of development. It
+integrates Emacs and Guile by providing a new Elisp implementation based
+on Guile's Lisp-oriented compiler tower and runtime environment.
+Guile-Emacs is being developed by a new, publicly-funded democratic
+workers cooperative, founded to support development of Guile-Emacs
+itself and Free Software in general. We envision Guile and Emacs being
+co-developed in a sort of mutualism, along with other components of the
+GNU system, and for Emacs to become a central part of what we describe
+as "a Lisp machine for the 21st century", and to help fulfill the
+promised role of Lisp outlined in the original GNU Manifesto.
+
+In this talk, I'll cover:
+
+- What exactly is Guile-Emacs, in terms of its goals and general
+ architecture? What is it, and what is it not? Why is Guile in
+ particular well-suited to the goals of the project?
+- What is its history and current status? What can one already do with
+ Guile-Emacs?
+- What are the immediate tasks for Guile-Emacs development, and how will
+ they improve Guile-Emacs itself and Emacs in general?
+- How are our long-term goals for Guile-Emacs connected to the spirit of
+ Emacs and the GNU Project in general? What do we envision for the
+ future of GNU Emacs?
+- How can I get involved with and support this effort?
+
+Along the way, we'll show brief code samples and live demos of Guile's
+Elisp implementation and Guile-Emacs itself.
+
+About the speaker:
+
+Robin Templeton is a free software advocate who enjoys programming
+language design and exploring system architecture. Their fascination
+with Emacs and Lisp lead them to begin work on the then-hypothetical
+Guile-Emacs project during their university studies. If given the
+opportunity and interest, they will bless an interested listener with a
+treasure trove of obscure Lisp history.
+
+Guile-Emacs seeks to provide new foundations for Emacs, integrating
+Emacs and Guile via a new Elisp implementation. We envision a
+significant role for Emacs within the GNU Project, becoming a central
+part of a "Lisp machine for the 21st century".
+
+
+
+[[!inline pages="internal(2024/info/guile-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/guile-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/gypsum.md b/2024/talks/gypsum.md
new file mode 100644
index 00000000..3ee5a75a
--- /dev/null
+++ b/2024/talks/gypsum.md
@@ -0,0 +1,368 @@
+[[!meta title="Gypsum: my clone of Emacs and ELisp written in Scheme"]]
+[[!meta copyright="Copyright &copy; 2024 Ramin Honary"]]
+[[!inline pages="internal(2024/info/gypsum-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. --->
+
+
+# Gypsum: my clone of Emacs and ELisp written in Scheme
+Ramin Honary (he/him)
+
+ - E-mail: <mailto:ramin.honary@gmail.com>
+ - ActivityPub: @ramin_hal9001@fe.disroot.org
+ - Website: <https://tilde.town/~ramin_hal9001>
+
+[[!inline pages="internal(2024/info/gypsum-before)" raw="yes"]]
+
+## Slides
+
+### Introduction
+
+1. Ramin Honary
+
+ - Emacs enthusiast since 2017
+
+ - Software developer (full stack)
+
+ - I love Haskell, Scheme, functional programming
+
+ - Started learning Scheme about 2 years ago
+
+2. My project: an Emacs Clone
+
+ - Tentative name: "Gypsum"
+ - Its not a great name, open to suggestions.
+
+### Goal: to Clone **Emacs Lisp**
+
+- Many clones already:
+
+ - Edwin, Jed, jEdit, Jove, Lem, MG, Yi, Zile
+
+- These only clone the key bindings, not Elisp
+
+- Only XEmacs (a fork of GNU Emacs) provided an alternative Emacs Lisp
+
+### Most people don't use Emacs for the keybindings
+
+- Anecodtal, but yes really.
+
+- Use Emacs because of the power of Emacs Lisp
+
+- Emacs is as powerful as a system shell
+
+- A good language is what makes it powerful
+
+### Goal: use R7RS Standard Scheme
+
+- I want it to work on a many Scheme implementations
+
+- Guile is the reference implementation
+
+- (more about this later)
+
+### Goal: able to run any `init.el`
+
+- Should be able to use `init.el` without significant changes
+
+- Many invest significant time in their configs
+
+- Suddenly not having your config is disruptive
+
+- Such an Emacs clone would be more useful
+
+### Why do this?
+
+- I personally like Scheme's minimalism.
+
+- Use Scheme as more than just an academic language.
+
+- Seems to be a lot of interest in a project like this.
+
+- Talk of "Guile Emacs" for about 30 years
+
+### A long history of Guile Emacs (1/3)
+
+- **Early 90s**: Initial discussion between RMS, Tom Lord,
+ Aubrey Jaffer, begin work on replacing Emacs Lisp with Scheme.
+
+- **1999--2009**: Ken Raeburn's [Guile-Based Emacs](https://www.mit.edu/~raeburn/guilemacs/).
+ (My project is similar.)
+
+ > "*This project that I (Ken Raeburn) have started is for converting*
+ > *GNU Emacs to use Guile as its programming language. Support for*
+ > *Emacs Lisp will continue to exist, of course, but it may be*
+ > *through translation and/or interpretation; the Lisp engine itself*
+ > *may no longer be the core of the program.*"
+
+### A long history of Guile Emacs (2/3)
+
+- **2010**: Andy Wingo and Ludovic Courtes
+ take maintainership of Guile project.
+
+- **2009--2011**: Emacs Lisp interpreter implemented in Guile.
+ Still ships with Guile.
+
+- **2011**: Guile 2.0 is released
+
+- **2011--2015**: Robin Templeton's GSoC project.
+ (Is presenting later today!)
+
+### A long history of Guile Emacs (3/3)
+
+- **2020**: Vasilij Schneidermann published an overview called
+ "[The State of Emacs Lisp on Guile](https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.html)".
+
+- **2020 to present**: Guile Emacs is dead? Andrea Corallo, GCC Emacs,
+ JIT-compiler for Emacs Lisp based on "libgccjit", brings into
+ question any need for combining Guile with Emacs.
+
+### Demo
+
+### GUI is barely working
+
+- I have almost no experience with Gtk or GObject Introspection
+
+- Hard to debug, crashes at C-level produce no stack traces
+
+- Using GDB requires rebuilding all of Gtk, GIO, GLib, etc.
+
+### Emacs Lisp parser based on Guile Emacs Lisp
+
+- Foked the Guile Emacs Lisp implementation for easier development
+
+- Have already submitted a patch to the parser upstream
+
+### Emacs Lisp interpter is barely working
+
+- Implementing my own interpreter in portable Scheme
+
+- Monadic pattern matcher
+
+### Can parse but not interpret "`subr.el`"
+
+- "`subr.el`" is the first ELisp file run by Emacs
+
+- A good way to determine what to work on first
+
+### A call for help
+
+### Latest Emacs has **1,393** built-in functions
+
+- I could never implement that many functions alone
+
+- Probably not all are required to create a useful editor
+
+### My job is to make contributing easy
+
+- Document the build and test process
+
+- Document the system architecture
+
+- Prioritize which built-in functions are most essential
+
+- Find low-hanging fruit, use as means to teach others
+
+### The work for which I will take responsibility
+
+- Clone enough Elisp to be able to run ERT tests
+
+- Then use GNU Emacs's own regression tests to test patches
+
+- Make sure there is a usable GUI
+
+- (Someday?) be able to contribute a patch from within
+
+### Quick architectural overview
+
+### The editor is based in Scheme, not Emacs Lisp
+
+- Config, scripting, packages all done in Scheme
+
+- Use of Emacs Lisp for scripting not encouraged
+
+- Should still be able to run your `init.el`
+
+- Ideally should be able to run ELPA packages
+
+### Difference with Robin Templeton's project
+
+- Guile-Emacs links Guile runtime into Emacs
+
+- Not a Scheme application
+
+- An IDE for Schemers
+
+### Emacs Lisp is an "environment"
+
+- "Environments" are a feature of Scheme
+
+- Scheme procedures can be called from Emacs Lisp
+
+- Scheme state can be mutated by Emacs Lisp
+
+- (See "`./gypsum/elisp-eval.scm`", "`new-env`")
+
+### "Functional Lenses"
+
+- Because R7RS does not standardize MOP (not even in "large")
+
+- Inspired by Haskell
+
+- Composes getters and setters
+
+- Single source file, easy to port
+
+- Ported to 3 other Schemes
+
+### A lot of work went into keymaps data structure
+
+- Keybindings are an important part of Emacs
+
+- Had to do this well from very beginning
+
+- Keybindings work correctly in demo
+
+### A lot of work went into separating GUI from Editor logic
+
+- "Parameters" are a feature of Scheme
+
+- Platform-specific APIs are always parameterized
+
+ - Windowing and widgets
+
+ - Translate key events to bindings
+
+ - Evaluating Scheme expressions
+
+ - Text buffering and rendering
+
+- (See "`./gypsum/editor-impl.scm`")
+
+### Monadic pattern matching
+
+- Simpler, more portable
+
+- (Not as feature-rich)
+
+- Easier than porting SRFI-241 ("Match") to Guile
+
+- No relation to SRFI-247 ("Syntatic Monads")
+
+- You can still use pattern matching
+
+### Monad pattern matching
+
+Example program
+
+
+ (define push-stack (put-with cons))
+ (define collatz
+ (many
+ push-stack
+ (either
+ (try (check (λ (n) (<= n 1)))
+ (success))
+ (try (check odd?)
+ (next (λ (n) (+ 1 (* 3 n)))))
+ (try (check even?)
+ (next (λ (n) (quotient n 2))))
+ (fail "not an integer")
+ )))
+
+### Conclusion
+
+- I am just getting the ball rolling
+
+- Helping others contribute is my top priority
+
+- ActivityPub :: `ramin_hal9001@fe.disroot.org`
+
+- E-mail :: <span class="spurious-link"
+ target="ramin.honary@gmail.com">*ramin.honary@gmail.com*</span>
+
+- Homepage :: <https://tilde.town/~ramin_hal9001>
+
+- Codeberg :: <https://codeberg.org/ramin_hal9001>
+
+- This presentation :: <https://emacsconf.org/2024/talks/gypsum/>
+
+
+## Original presentation proposal
+I would like to demonstrate an Emacs clone I have been
+writing in Guile Scheme for the past year, which I am
+tentatively calling "Gypsum". 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 "Gypsum" without any modification. I
+would also like to talk a little bit about the 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.
+
+So by using Guile, we can make use of a lot of the prior
+art, in fact I am currently using the tokenizer and reader
+used in Guile's built-in Elisp interpreter to implement
+"Gypsum's" Elisp interpreter. That said, I have gone out of
+my way to make my code fully R7RS compliant, so I hope I can
+port it to other Scheme implementations like MIT Scheme,
+Gambit, Stklos, and perhaps Chez Scheme with Gwen Weinholt's
+R7-to-R6RS translator. I consider the Guile version of
+Gypsum to be the reference implementation of what I hope
+will become a fully cross-platform programming language and
+text editor written in portable R7RS Scheme.
+
+The reference implementation of "Gypsum" is a GUI
+application based on Gtk using a library called
+"Guile-GI". Guile-GI uses the GObject Introspection
+framework to automatically generate Scheme language bindings
+to libraries like Gtk and Glib which are written in the C
+programming language. There is not yet any terminal-emulator
+version of "Gypsum."
+
+The next step of the project will be to implement enough of
+Elisp that we can run tests written in the Emacs Regression
+Testing (ERT) framework. We can then incorporate the
+original GNU Emacs regression test suite into Gypsum. Any
+new API added to Gypsum Elisp will most likely already have
+regression tests we can use to make sure it is working in a
+way that is compatible with GNU Emacs Lisp. I would like to
+make it as easy as possible for people to contribute to this
+project, and having a list of APIs to be implemented each
+with a set of regression tests the APIs are expected to
+pass, is a very good way to do that.
+
+About the speaker:
+
+My name is Ramin Honary, I have been a professional software
+engineer of 16 years, lately mostly doing full-stack
+software development. I have always been fascinated with
+programming languages, and especially functional languages
+like Lisp and Haskell. I have been using Emacs
+since 2017. But lately it is with Scheme that I have been
+spending most of my free time. I am only a Scheme
+programming enthusiast, I am not involved with Scheme
+professionally.
+
+You may also like another talk by this speaker:
+[EmacsConf - 2022 - talks - Build a Zettelkasten with the Hyperbole Rolodex](https://emacsconf.org/2022/talks/rolodex/)
+
+[[!inline pages="internal(2024/info/gypsum-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/gypsum-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/hyperbole.md b/2024/talks/hyperbole.md
new file mode 100644
index 00000000..198ad712
--- /dev/null
+++ b/2024/talks/hyperbole.md
@@ -0,0 +1,37 @@
+[[!meta title="Fun things With GNU Hyperbole"]]
+[[!meta copyright="Copyright &copy; 2024 Mats Lidell"]]
+[[!inline pages="internal(2024/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. --->
+
+
+# Fun things With GNU Hyperbole
+@matsl@mastodon.acc.sunet.se, <mailto:matsl@gnu.org>
+
+[[!inline pages="internal(2024/info/hyperbole-before)" raw="yes"]]
+
+This talk will focus on a few small fun things you can do with Hyperbole
+with less focus on going into details.
+
+GNU Hyperbole is described as the Everyday Hypertextual
+Information Manager which point in the direction of hypertext with
+some inter linkage. It has all that but it also contains other
+small and useful things. This talk will focus on the other
+supported features and demo a sample of them.
+
+About the speaker:
+
+I'm Mats Lidell. Co-maintainer of GNU Hyperbole together with the
+author Bob Weiner.
+
+See also:
+
+- [EmacsConf - 2023 - talks - What I learned by writing test cases for GNU Hyperbole](https://emacsconf.org/2023/talks/test)
+- [[!taglink CategoryHyperbole]]
+
+[[!inline pages="internal(2024/info/hyperbole-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/hyperbole-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/hyperdrive.md b/2024/talks/hyperdrive.md
new file mode 100644
index 00000000..4c900c3c
--- /dev/null
+++ b/2024/talks/hyperdrive.md
@@ -0,0 +1,53 @@
+[[!meta title="New in hyperdrive.el: org-transclusion, easy installation, and more!"]]
+[[!meta copyright="Copyright &copy; 2024 Joseph Turner"]]
+[[!inline pages="internal(2024/info/hyperdrive-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. --->
+
+
+# New in hyperdrive.el: org-transclusion, easy installation, and more!
+Joseph Turner - <https://ushin.org> xmpp:discuss@conference.ushin.org (XMPP MUC for USHIN discussion), <mailto:contact@ushin.org>
+
+[[!inline pages="internal(2024/info/hyperdrive-before)" raw="yes"]]
+
+In case it's been a while since you checked out `hyperdrive.el`,
+here's a refresher: [hyperdrive.el](https://ushin.org/hyperdrive/hyperdrive-manual.html) is an Emacs interface to [hyperdrive](https://docs.holepunch.to/building-blocks/hyperdrive),
+a mutable, versioned, peer-to-peer shared filesystem. Among other
+things, hyperdrive.el has these features: Share unlimited files of
+unlimited size; Explore file history with built-in versioning; Stream
+video and audio; No signup or account creation; Free as in Freedom!
+
+Since [last year's EmacsConf talk](https://emacsconf.org/2023/talks/hyperdrive), `hyperdrive.el` grew some new
+features, most notably the ability to [transclude hyperdrive content](https://ushin.org/hyperdrive/hyperdrive-manual.html#Org_002dtransclusion-integration)
+with `org-transclusion`! Getting started with `hyperdrive.el` is much
+easier now with `M-x hyperdrive-install`.
+
+This talk will show off these new `hyperdrive.el` features in action!
+
+Feel free to join our public XMPP chat room!
+
+- xmpp:discuss@conference.ushin.org
+
+([Join anonymously from your browser](https://anonymous.cheogram.com/discuss@conference.ushin.org))
+
+- \#\_bifrost\_discuss\_conference.ushin.org:aria-net.org (Matrix bridge)
+
+Bugs can be submitted to the [ushin issue tracker](https://todo.sr.ht/~ushin/ushin). Patches, comments or
+questions can be submitted to the [ushin public inbox](https://lists.sr.ht/~ushin/ushin).
+
+About the speaker:
+
+I'm Joseph Turner. I enjoy fiddle, Aikido, peer-to-peer networks,
+Emacs, and swimming in cold water. I work with
+[USHIN](https://ushin.org/), a tiny educational US nonprofit whose
+mission is to promote personal, community, and global health through
+free and open universal shared information for everybody.
+
+See also: [EmacsConf - 2023 - talks - hyperdrive.el: Peer-to-peer filesystem in Emacs](https://emacsconf.org/2023/talks/hyperdrive/)
+
+[[!inline pages="internal(2024/info/hyperdrive-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/hyperdrive-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/hywiki.md b/2024/talks/hywiki.md
new file mode 100644
index 00000000..bfe11461
--- /dev/null
+++ b/2024/talks/hywiki.md
@@ -0,0 +1,49 @@
+[[!meta title="HyWiki: Fast, hyperlinked note-taking with no markup required"]]
+[[!meta copyright="Copyright &copy; 2024 Bob Weiner"]]
+[[!inline pages="internal(2024/info/hywiki-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. --->
+
+
+# HyWiki: Fast, Hyperlinked Note-taking with No Markup Required
+Bob Weiner - Pronunciation: wine-er, <mailto:rsw@gnu.com>
+
+[[!inline pages="internal(2024/info/hywiki-before)" raw="yes"]]
+
+This talk will demonstrate HyWiki, Hyperbole's new markup-free, personal
+Wiki system for note-taking. HyWiki utilizes Org format and its publishing
+framework.
+
+With the press of a key, HyWiki lets you:
+
+- create a new HyWiki page when on a WikiWord
+- create a highlighted hyperlink to a Wiki page
+- jump to an existing page or section therein
+- publish an entire HyWiki to the web with numbered sections
+
+We'll demonstrate how you can efficiently take notes and have them
+automatically interlinked without having to master Org link syntax or any
+syntax at all.
+
+HyWiki is quick, simple and efficient. It has been tested to perform well
+with 10,000 WikiWords and requires no database nor configuration. Install
+the Hyperbole package and you are ready to go.
+
+About the speaker:
+
+Bob Weiner has been molding Emacs to his will for most of his life. His
+mega-Hyperbole package aims to simplify all kinds of information management
+across Emacs modes. HyWiki is his take on fast hyperlinked note-taking.
+Let's see if he has something interesting to show us.
+
+See also:
+
+- [EmacsConf - 2023 - talks - Top 10 ways Hyperbole amps up Emacs](https://emacsconf.org/2023/talks/hyperamp)
+- [[!taglink CategoryHyperbole]]
+
+[[!inline pages="internal(2024/info/hywiki-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/hywiki-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/julia.md b/2024/talks/julia.md
new file mode 100644
index 00000000..f2914ad9
--- /dev/null
+++ b/2024/talks/julia.md
@@ -0,0 +1,33 @@
+[[!meta title="Exploring shared philosophies in Julia and Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 Gabriele Bozzola"]]
+[[!inline pages="internal(2024/info/julia-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. --->
+
+
+# Exploring shared philosophies in Julia and Emacs
+Gabriele Bozzola (he/him/his) - GitHub: @sbozzolo Website: <https://sbozzolo.github.io> LinkedIn: gabrielebozzola
+
+[[!inline pages="internal(2024/info/julia-before)" raw="yes"]]
+
+While seemingly disparate, the Julia programming language and Emacs share a
+surprising kinship. This talk delves into the common design principles and
+philosophies that unite these powerful tools, focusing on their shared
+emphasis
+on extensibility, customization, and interactive development. I'll explore
+how
+both Julia and Emacs empower users to tailor their experience through
+powerful
+metaprogramming and a rich ecosystem of extensions. I'll discuss the
+REPL-driven workflows that foster exploration and experimentation in both
+environments. Furthermore, I'll examine how their active and passionate
+communities drive innovation.
+
+
+
+[[!inline pages="internal(2024/info/julia-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/julia-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/language.md b/2024/talks/language.md
new file mode 100644
index 00000000..fb8cb935
--- /dev/null
+++ b/2024/talks/language.md
@@ -0,0 +1,44 @@
+[[!meta title="Immersive language learning with Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 Sebastian Dümcke"]]
+[[!inline pages="internal(2024/info/language-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. --->
+
+
+# Immersive language learning with Emacs
+Sebastian Dümcke (he/him) - <https://sam-d.com>, <mailto:code@sam-d.com>
+
+[[!inline pages="internal(2024/info/language-before)" raw="yes"]]
+
+Immersive language learning helps acquiring a new language by
+surrounding oneself in environments where the target language is used
+naturally, rather than learning through traditional instruction or
+translation methods. Short of travelling to places where the language is
+native, one can also emulate this digitally: Watching movies, listening
+to music, podcasts, or radio shows, and reading books, newspapers, or
+websites in the target language.
+
+I will present a framework in Emacs to achieve the typical tasks in
+language learning: increase vocabulary and comprehension (both written
+and aural) to achieve faster fluency, better retention and ideally
+cultural competence. We will investigate how to read written documents
+and websites, watch movies and listen to music/learn lyrics all while
+collecting new vocabulary and concepts. Then we will present a spaced
+repetition framework for improving retention of these concepts.
+
+About the speaker:
+
+I am a curious person, interested to learn. I started using Emacs as a
+project management tool through org-mode 8 years ago. I has really
+helped my stay on top of things while starting my own company. Now my
+use of Emacs is slowly expanding. I was always interested in learning
+new languages: I believe they are the key to other cultures.
+
+
+
+[[!inline pages="internal(2024/info/language-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/language-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/learning.md b/2024/talks/learning.md
new file mode 100644
index 00000000..f0259706
--- /dev/null
+++ b/2024/talks/learning.md
@@ -0,0 +1,68 @@
+[[!meta title="Survival of the Skillest: Thriving in the Learning Jungle"]]
+[[!meta copyright="Copyright &copy; 2024 Bala Ramadurai"]]
+[[!inline pages="internal(2024/info/learning-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. --->
+
+
+# Survival of the Skillest: Thriving in the Learning Jungle
+Bala Ramadurai (his/him) - https://balaramadurai.net
+
+[[!inline pages="internal(2024/info/learning-before)" raw="yes"]]
+
+In today's fast-paced world, the need to learn new skills is more crucial
+than ever. The ability to adapt and evolve not only enhances your
+employability but also empowers you to navigate life's challenges more
+effectively. By acquiring new skills, you stay relevant, innovative, and
+capable of seizing opportunities that come your way.
+
+The session will begin with an engaging discussion on the necessity of
+learning new skills, emphasizing that the ability to adapt and evolve is
+crucial. Using the metaphor of "emptying your teacup," you will explore the
+concept of approaching learning with an open mind, ready to absorb new
+knowledge and skills.
+
+Next, you'll dive into actionable techniques for managing your tasks and
+projects efficiently. Bala will introduce the PARA method—Projects, Areas,
+Resources, and Archives—a structured approach to organizing your work and
+life. You will learn how to categorize your tasks, set clear goals, and
+maintain a balanced workflow.
+
+Furthermore, the talk will highlight the importance of regular reviews.
+Weekly, quarterly, and yearly reviews will help you stay on track, reflect
+on your progress, and plan for the future. Through these reviews, you'll be
+encouraged to ask big life questions, such as your financial goals, the
+impact you've had on others, and your work-life balance.
+
+Finally, you'll be introduced to the 9-windows framework, a powerful tool
+for future career planning. Join us and take the first step towards
+mastering the art and developing the mindset of skillful survival in the
+fast-paced ever changing learning jungle.
+
+About the speaker:
+
+Dr. Bala Ramadurai is an author, coach, consultant, podcaster and
+professor. He has authored a book on Design Thinking called Karmic Design
+Thinking (<https://dt.balaramadurai.net>). He has 3 patents to his credit and
+10+ publications in international research journals. He co-founded TRIZ
+Innovation India (<https://trizindia.org>) and is an Adjunct Professor at
+Symbiosis Institute of Business Management (India), Universidad
+Panamericana (Mexico), Symbiosis Institute of Management Studies and
+National Programme on Technology Enhanced Learning (NPTEL). He is also a
+board member in the Board of Studies for Symbiosis International University.
+
+In this talk, you'll discover the importance of continuous skill
+development and learn practical strategies to manage your personal and
+professional growth effectively using Emacs org-mode, Getting Things Done
+(David Allen's GTD), PARA (Tiego Forte's Projects-Areas-Resources-Archives)
+and system operator (or 9-windows). Bala will guide you through a
+transformative journey of self-improvement and productivity.
+
+See also:
+
+[[!inline pages="internal(2024/info/learning-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/learning-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/links.md b/2024/talks/links.md
new file mode 100644
index 00000000..37ce2df1
--- /dev/null
+++ b/2024/talks/links.md
@@ -0,0 +1,54 @@
+[[!meta title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki"]]
+[[!meta copyright="Copyright &copy; 2024 Abhinav Tushar"]]
+[[!inline pages="internal(2024/info/links-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. --->
+
+
+# Unlocking linked data: replacing specialized apps with an Org-based semantic wiki
+Abhinav Tushar (he/him) - abhinav@lepisma.xyz, https://lepisma.xyz, @lepisma@mathstodon.xyz
+
+[[!inline pages="internal(2024/info/links-before)" raw="yes"]]
+
+I try to maintain a lot of personal information, annotations, etc. in Org files
+but have historically switched back to purpose built apps for different kinds of
+data. There are recipe managers for recipes, personal CRM tools for people
+related notes, bookmark managers for managing web links, etc. While these apps
+do good with the kind of data they work on, they don't operate well together in
+the sense that they don't treat *links* between entities as first class citizen. I
+believe this gap is where a lot of *personal information* live. As an example,
+consider the chain of links that tells 'person a' gave me 'this recipe' on 'my
+anniversary'.
+
+After using zettlekasten via Org-roam for some time, I came to realize the power
+of links that we (can) form between data of different kinds. For me, these links
+offset the loss that comes with leaving specialized apps. With this, I have
+again gone back to Org files, but this time deriving good value from links
+between notes. Of course there are tons of other benefits of using Org files
+like better longevity, portability, versioning, and developer accessibility.
+
+In this talk, I will cover my workflow of creating and managing different kinds
+of notes in Org mode based Semantic Wiki and the link types they tend to have. I
+will also show my workflow outside of Emacs, where I use small tools that sit on
+top of Org files to deliver missing features of niche apps (like availability on
+mobile devices, smart cross data-type queries, etc.).
+
+About the speaker:
+
+I am a Programmer and Machine Learning Engineer, and I love working with
+computers primary because of the early experiences of infinite extensibility
+that Emacs gave me. For this talk I will cover my journey of using Org files
+for notes, then leaving for specialized applications, and finally coming back to
+Org to unlock the benefits of linked data.
+
+---
+Another talk by this speaker:
+
+- [EmacsConf - 2023 - talks - MatplotLLM, iterative natural language data visualization in org-babel](https://emacsconf.org/2023/talks/matplotllm/)
+
+[[!inline pages="internal(2024/info/links-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/links-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/literate.md b/2024/talks/literate.md
new file mode 100644
index 00000000..0fb0a0de
--- /dev/null
+++ b/2024/talks/literate.md
@@ -0,0 +1,50 @@
+[[!meta title="Literate Programming for the 21st Century"]]
+[[!meta copyright="Copyright &copy; 2024 Howard Abrams"]]
+[[!inline pages="internal(2024/info/literate-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. --->
+
+
+# Literate Programming for the 21st Century
+Howard Abrams (he/him) - @howard@emacs.ch , <https://www.howardism.org>
+
+[[!inline pages="internal(2024/info/literate-before)" raw="yes"]]
+
+Donald Knuth’s idea of *literate programming* in the 80’s and 90’s was
+interesting, but he didn’t realize what Emacs and Org can do in this
+century. In this talk, I would like to go back your initial *dabblings*
+with Org `src` blocks to show how you can program *literately* as quickly
+as you can in any other mode.
+
+Some of the tips and tricks include:
+
+- Automatically keeping your lit code sync’d
+- Easier code generation
+- Jumping to Org headers to help organize code
+- Jumping to code definitions with the xref interface
+
+At the end of this talk, I hope to inspire you to try it again, as my
+personal “go to” is *programming literately*.
+
+I will be following the format and outline in my essay:
+<https://howardism.org/Technical/Emacs/literate-writ-large.html>
+
+About the speaker:
+
+About ten years ago, I gave a talk I called *literate devops* and people
+still ask me if I still use those techniques. For all my personal
+projects, I do. Even projects that I share with others, I often *start*
+programming with an Org file.
+
+I will admit, programming within Org blocks has some burrs, but over
+the years, I’ve filed them off with helper functions, snippets and
+other features. Thought I would share these.
+
+
+
+[[!inline pages="internal(2024/info/literate-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/literate-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/mcclim.md b/2024/talks/mcclim.md
new file mode 100644
index 00000000..432a0180
--- /dev/null
+++ b/2024/talks/mcclim.md
@@ -0,0 +1,121 @@
+[[!meta title="Elisp and McCLIM"]]
+[[!meta copyright="Copyright &copy; 2024 screwlisp"]]
+[[!inline pages="internal(2024/info/mcclim-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. --->
+
+
+# Elisp and McCLIM
+he or e/em/eir (Spivak, male and neuter pronouns are fine) - IRC: screwlisp, Mastodon: @screwtape@mastodon.sdf.org liberachat: screwlisp MOO: lambda.moo.mud.org Name: screwtape Moo mail preferred
+
+[[!inline pages="internal(2024/info/mcclim-before)" raw="yes"]]
+
+The gist is demoing using McCLIM common lisp interface manager
+implementation to make Sandewall 1978's lisp iconic example
+scheduler app, but to drive it to and from emacs lisp via slime
+and swank.
+
+To start with, a beginner walkthrough on getting slime and
+common lisp and mcclim, and configuring and using them with
+emacs org-mode.
+
+The default clim application-frame is made and its interactor
+used.
+
+A CLIM command is then defined to refer the default describe to
+emacs lisp rather than the inferior lisp.
+
+CLIM useage with no gui via slime / org-mode is demoed.
+
+This is then used via emacs lisp.
+
+CLIM's accepting-values is used to generate an anonymous gui
+that accepts a value **into elisp**.
+
+A small final discussion on integrating the clim scheduler back
+and forth into org-agenda.
+
+Bib:
+
+```
+ @article{sandewall1978programming,
+ title={Programming in an Interactive Environment:
+ the``Lisp''Experience},
+ author={Sandewall, Erik},
+ journal={ACM Computing Surveys (CSUR)},
+ volume={10},
+ number={1},
+ pages={35--71},
+ year={1978},
+ publisher={ACM New York, NY, USA}
+ }
+
+ @inproceedings{strandh2002free,
+ title={A free implementation of clim},
+ author={Strandh, Robert and Moore, Timothy},
+ booktitle={International Lisp Conference Proceedings},
+ year={2002}
+ }
+
+ @article{fruhwirth2006guided,
+ title={A Guided Tour of CLIM, Common Lisp Interface Manager},
+ author={Fruhwirth, Clemens},
+ journal={Lisp Pointers},
+ year={2006}
+ }
+
+ @article{kochmanskimcclim,
+ title={McCLIM Demonstration},
+ author={Kochmanski, Daniel}
+ }
+
+ @inproceedings{kochmanski2020ecl,
+ title={On ECL, the Embeddable Common Lisp (ELS keynote).},
+ author={Kochmanski, Daniel},
+ booktitle={ELS},
+ year={2020}
+ }
+
+ @misc{beane2012quicklisp,
+ title={Quicklisp},
+ author={Beane, Zach},
+ year={2012}
+ }
+
+ @misc{marsden2003slime,
+ title={SLIME: The superior lisp interaction mode for emacs},
+ author={Marsden, Eric and Gorrie, Luke and Eller, Helmut and others},
+ year={2003},
+ publisher={URL: https://common-lisp. net/project/slime/(visited on
+ 05/19/2017)}
+ }
+
+ @article{dominik2004org,
+ title={Org mode manual},
+ author={Dominik, Carsten},
+ year={2004}
+ }
+```
+
+About the speaker:
+
+I'm screwlisp from the lispy gopher climate, a weekly Wednesday
+000UTC podcast (non-radio show) on aNONradio.net powered by sdf.org;
+(also the lesser-known Friday 1400UTC show, Zhen House Zhen Bonkwave.
+
+We are fortunate to have many great people in our live chat that
+happens in LambdaMOO during the shows. Last week, we shared Rog's
+new writing on his current personal emacs modes with his decades
+of emacs useage. (Roger Crew). That's not what this talk is about
+though, though we often deal with emacs and McCLIM, which **are** what
+this talk is about. I have many friends who picked those up in some
+small part thanks to the show.
+
+
+
+[[!inline pages="internal(2024/info/mcclim-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/mcclim-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/org-teach.md b/2024/talks/org-teach.md
new file mode 100644
index 00000000..5cb22c24
--- /dev/null
+++ b/2024/talks/org-teach.md
@@ -0,0 +1,46 @@
+[[!meta title="org-teach: a minor mode for writing course materials in Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 James Endres Howell"]]
+[[!inline pages="internal(2024/info/org-teach-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-teach: a minor mode for writing course materials in Emacs
+James Endres Howell (he/him) - <mailto:james@endres-howell.org>
+
+[[!inline pages="internal(2024/info/org-teach-before)" raw="yes"]]
+
+I will demonstrate how I used Emacs to produce all the materials for teaching an undergraduate
+molecular and cell biology course at a very large university. My org-teach package
+(<https://git.sr.ht/~jamesendreshowell/org-teach/>) is a collection of Org macros that customize export
+to LaTeX and Beamer in order to produce (1) textbook-style handouts, (2) slides for classroom
+presentation, and (3) quiz and exam questions, all from a single Org source document. It also
+provides a simple minor mode that facilitates authoring such source documents. We will discuss the
+benefits of producing course materials as plain-text outlines, and of exploiting the power of Emacs
+and Org mode for writing and managing book-length teaching materials.
+
+Last year at EmacsConf 2023, I presented some aspects of an earlier version of org-teach
+(<https://git.sr.ht/~jamesendreshowell/org-teach-EmacsConf2023>). This talk will provide more
+background, more details, and some exciting new features.
+
+About the speaker:
+
+James Endres Howell has taught Molecular and Cell
+Biology, Biochemistry, Microbiology, Immunology,
+Toxicology, and Molecular Medicine at Penn State
+since 2006. Recently Dr. Howell has developed
+popular courses for non-science majors in
+Genetics, Ecology and Evolution; Science in
+Literature; and Science in Media. He has used
+Emacs daily since 1988.
+
+Another talk by this speaker:
+
+- [EmacsConf - 2023 - talks - Authoring and presenting university courses with Emacs and a full libre software stack](https://emacsconf.org/2023/talks/uni/)
+
+[[!inline pages="internal(2024/info/org-teach-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/org-teach-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/org-update.md b/2024/talks/org-update.md
new file mode 100644
index 00000000..6141f4f0
--- /dev/null
+++ b/2024/talks/org-update.md
@@ -0,0 +1,21 @@
+[[!meta title="Updates on Org Mode maintenance"]]
+[[!meta copyright="Copyright &copy; 2024 Ihor Radchenko and Bastien Guerry"]]
+[[!inline pages="internal(2024/info/org-update-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 Future of Org
+Ihor Radchenko and Bastien Guerry
+
+[[!inline pages="internal(2024/info/org-update-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2024/info/org-update-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/org-update-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/p-search.md b/2024/talks/p-search.md
new file mode 100644
index 00000000..01e8aed7
--- /dev/null
+++ b/2024/talks/p-search.md
@@ -0,0 +1,61 @@
+[[!meta title="p-search: a local search engine in Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 Zac Romero"]]
+[[!inline pages="internal(2024/info/p-search-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. --->
+
+
+# p-search: a local search engine in Emacs
+Zac Romero - <mailto:zacromero@posteo.com>
+
+[[!inline pages="internal(2024/info/p-search-before)" raw="yes"]]
+
+Search is an essential part of any digital work. Despite this
+importance, most tools don't go beyond simple string/regex matching.
+Oftentimes, a user knows more about what they're looking for: who
+authored the file, how often it's modified, as well as search terms that
+the user is only slightly confident exist.
+
+p-search is a search-engine designed to combine the various prior
+knowledge about the search target, presenting it to the user in a
+systematic way. In this talk, I will present this package as well as go
+over the fundamentals of inforation retrieval.
+
+Details:
+
+In this talk, I will go over the p-search. p-search is a search-engine
+to assist users in finding things, with a focus on flexibility and
+customizablity.
+
+The talk will begin by going over concepts from the field of information
+retrieval such as indexing, querying, ranking, and evaluating. This
+will provide the necessary background to describe the workings of
+p-search.
+
+Next, an overview of the p-search package and its features will be
+given. p-search utilizes a probabilistic framework to rank documents
+according to prior beliefs as to what the file is. So for example, a
+user might know for sure that the file contains a particular string,
+might have a strong feeling that it should contain another word, and
+things that some other words it may contain. The user knows the file
+extension, the subdirectory, and has known that a particular person
+works on this file a lot. p-search allows the user to express all of
+these predicates at once, and ranks documents accordingly.
+
+The talk will then progress to discuss assorted topics concerting the
+project, such as design considerations and future directions.
+
+The aim of the talk is to expand the listeners' understanding of search
+as well as inspire creativity concerning the possibilities of search
+tools.
+
+Code: <https://github.com/zkry/p-search>
+
+
+
+[[!inline pages="internal(2024/info/p-search-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/p-search-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/papers.md b/2024/talks/papers.md
new file mode 100644
index 00000000..c4c457c7
--- /dev/null
+++ b/2024/talks/papers.md
@@ -0,0 +1,53 @@
+[[!meta title="Writing academic papers in Org-Roam"]]
+[[!meta copyright="Copyright &copy; 2024 Vincent Conus"]]
+[[!inline pages="internal(2024/info/papers-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. --->
+
+
+# Writing academic papers in Org-Roam
+Vincent Conus (he/him) - Pronunciation: vɪnsᵊnt koʊnᵊs, IRC: sunoc, Mastodon: @sunoc@social.linux.pizza, <mailto:vincent.conus@pm.me>
+
+[[!inline pages="internal(2024/info/papers-before)" raw="yes"]]
+
+Org-mode and more so org-roam are making for a fantastic note-taking system
+inside Emacs. Combining the note-taking of org-mode, the capability to export
+a note to LaTeX and PDF directly, the spectacular org-roam-bibtex package
+and the flexibility of the elisp configuration of Emacs, it become possible
+to use a org-roam note as the main document for write academic papers, even
+when exotic templates are provided.
+
+In this presentation, I want to talk about the way I am using org-roam to write
+LaTeX documents, the benefits of it but also the various pitfalls and
+difficulties encountered in this journey.
+
+The key benefits being:
+
+- The integration with other org-roam notes.
+- Bibliography integration and links directly to PDF.
+- Org-mode literate programming capabilities.
+- Direct export to PDF.
+
+The main challenges are:
+
+- Dealing with strangely formatted LaTeX templates.
+- Related, having to use other LaTeX compilers.
+- These two points can make citation of references, in particular, challenging.
+
+About the speaker:
+
+A PhD student in robotics at
+Nanzan University, Japan. I have been using Linux for around 10 years at that
+point, eventually moving many of my work and personal stuff to Emacs over the
+years, including academic writing.
+
+See also:
+
+[[!taglink CategoryOrgMode]]
+[[!taglink CategoryRoam]]
+
+[[!inline pages="internal(2024/info/papers-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/papers-nav)" raw="yes"]]
+
diff --git a/2024/talks/pgmacs.md b/2024/talks/pgmacs.md
new file mode 100644
index 00000000..232294ac
--- /dev/null
+++ b/2024/talks/pgmacs.md
@@ -0,0 +1,49 @@
+[[!meta title="PGmacs: browsing and editing PostgreSQL databases from Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 Eric Marsden"]]
+[[!inline pages="internal(2024/info/pgmacs-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. --->
+
+
+# PGmacs: browsing and editing PostgreSQL databases from Emacs
+Eric Marsden (he/him) - <mailto:eric.marsden@risk-engineering.org>
+
+[[!inline pages="internal(2024/info/pgmacs-before)" raw="yes"]]
+
+PGmacs provides an Emacs-based browsing and
+editing interface for the PostgreSQL DBMS. It
+allows you to browse the contents of database
+tables, in paginated mode for large tables, to
+edit column values in the minibuffer or using a
+widget-based interface, to delete, copy and insert
+new rows, and to save the contents of a table in
+CSV or JSON format. You can run shell commands on
+column values. You can also rename tables and
+columns, add SQL comments, and generate SchemaSpy
+diagrams.
+
+PGmacs works both in the terminal and in GUI mode.
+It uses the pg-el library, which implements the
+PostgreSQL wire protocol, to connect to PostgreSQL
+over the network or over a Unix socket.
+
+The talk will provide an overview of the functionality of PGmacs, then show how it can be easily
+extended to display images stored as database BLOBs inlined in a row-list buffer.
+
+About the speaker:
+
+Eric Marsden developed his first Emacs packages
+pg-el, coffee.el (an implementation of the
+essential Hyper Text Coffee Pot Control Protocol)
+and ipp.el as a procrastination exercise to avoid
+working on his PhD. He continues to use Emacs Lisp
+in his spare time.
+
+
+
+[[!inline pages="internal(2024/info/pgmacs-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/pgmacs-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/project.md b/2024/talks/project.md
new file mode 100644
index 00000000..65c33ac1
--- /dev/null
+++ b/2024/talks/project.md
@@ -0,0 +1,64 @@
+[[!meta title="Managing writing project metadata with org-mode"]]
+[[!meta copyright="Copyright &copy; 2024 Blaine Mooers"]]
+[[!inline pages="internal(2024/info/project-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. --->
+
+
+# Managing writing project metadata with org-mode
+Blaine Mooers (he/him) - Pronunciation: Blane Moors, <mailto:blaine-mooers@ouhsc.edu>
+
+[[!inline pages="internal(2024/info/project-before)" raw="yes"]]
+
+The planning and writing of a scientific manuscript is an intricate process that requires focused effort.
+Scientists must make many decisions about what to include and exclude from the paper, often capturing these decisions in notes in the margins, appended notes, or external files.
+This ad hoc approach becomes unmanageable when the notes exceed the length of the manuscript, which is often the case.
+Nonetheless, these notes can be vital when responding to reviewers' critiques.
+
+Great scientists like Linus Pauling effectively utilized laboratory notebooks to store metadata on his manuscripts.
+His cross-referencing system resembled that of Niklas Luhmann in his physical zettelkasten.
+These paper-based approaches have pros and cons, but they are no longer popular because of the hard work required to make them work well.
+In comparison, the org-roam-ui view of my zettelkasten provides a garden of endlessly forking paths I can wander in all day.
+
+I sought a more focused approach to managing my attention and the metadata for one writing project.
+I developed a project-specific writing log for this purpose about a decade ago.
+The writing log helps me manage anxieties about forgetting where I left off on an interrupted project (Fear of Forgetting, FoF).
+In this talk, I will highlight the features of my writing log template in org-mode.
+
+The first section supports gathering the initial thoughts about the project needed to assemble a central hypothesis around which to build the paper.
+Subsections support listing the experiments required to address the central hypothesis and the key discussion points.
+These subsections include plans for graphical items like images, data plots, tables, equations, and code blocks.
+Of course, this section will evolve as the results accumulate.
+When largely completed, this section supports drafting a quarter to a third of a manuscript on day one of the project.
+
+The following two sections support project administration and assessment.
+The administration section includes plans to apply for funding and approvals for the work.
+The assessment section supports periodic checks of the project's current state, what holds the manuscript from submission today, and what is missing that makes a larger impact.
+This section includes a timeline and milestones to finish the project promptly.
+These can be displayed in tables that org-mode so strongly supports.
+
+The central section of the template contains daily accounts of accomplishments, decisions, and correspondence about the project.
+I read this section after a hiatus to resume work on the project quickly.
+An open-ended to-do list and a section for collecting ideas for future projects follow the daily log.
+The last section contains protocols and guidelines for the various tasks involved in completing the project.
+
+Here, context switching between the writing log and the manuscript is fine because it usually happens only at the beginning and the end of the writing session. My project-specific approach keeps my mind focused on the project at hand and my FoF under control.
+I share my writing log template in org-mode on GitHub.
+
+About the speaker:
+
+Blaine Mooers is an associate professor of Biochemistry and Physiology at the University of Oklahoma.
+He uses X-ray diffraction to study the molecular structure of proteins and RNAs important in disease.
+He writes grant applications, progress reports, manuscripts, lectures, seminars, and talks each year in Emacs.
+To control his fear of forgetting (FoF), he uses an external document, the **writing log**, to store metadata about each writing project.
+He switched from using LaTeX to Org-mode recently.
+He will discuss the features of the writing log and the joys of editing it in Org-mode.
+
+
+
+[[!inline pages="internal(2024/info/project-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/project-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/regex.md b/2024/talks/regex.md
new file mode 100644
index 00000000..32ea74f5
--- /dev/null
+++ b/2024/talks/regex.md
@@ -0,0 +1,37 @@
+[[!meta title="Emacs regex compilation and future directions for expressive pattern matching"]]
+[[!meta copyright="Copyright &copy; 2024 Danny McClanahan"]]
+[[!inline pages="internal(2024/info/regex-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 regex compilation and future directions for expressive pattern matching
+Danny McClanahan (they/them) - Pronunciation: məˈklænəˌhæn / mk-CLAN-uh-han, han like "hand", IRC: cosmicexplorer, @hipsterelectron@circumstances.run on mastodon - @hipsterelectron on twitter - @cosmicexplorer on github - @cosmicexplorer in #emacsconf on irc.libera.chat, <mailto:dmcC2@hypnicjerk.ai>
+
+[[!inline pages="internal(2024/info/regex-before)" raw="yes"]]
+
+Emacs is a delightful case study for the capabilities of regular expressions, because Emacs forms user interfaces via text, which retains the expressivity of a GUI with the user-level interactivity of written language. Because we use text for both input and output, regexps in Emacs form part of a user-level grammar for human thought. As a result, Emacs and Emacs users have a rich intuitive grasp of regular expressions, which provides a unique vantage point to consider how they may be improved in general.
+
+When I began my investigation, I assumed that Emacs would be able to use an existing off-the-shelf regex engine, that this would be more performant than regex-emacs.c, and that the greatest challenge would be providing a sufficiently robust build process (see emacs-devel: <https://lists.gnu.org/archive/html/emacs-devel/2024-04/msg00142.html>). However, I quickly found that Emacs (as usual) is far more configurable than alternatives (see rust regex discussion: <https://github.com/rust-lang/regex/discussions/1167#discussioncomment-8585027>). Now don't get this twisted: emacs-devel was open to deprecating functionality that hampered optimization! But the biggest challenge by far is that regex-emacs.c is categorically more powerful than alternatives: it can match against <span class="underline">non-contiguous input</span> (across both halves of the gap buffer), as well as non-UTF8 text with its fantastic multibyte encoding (see <https://www.gnu.org/software/emacs/manual/html_node/elisp/Text-Representations.html>).
+
+So a more complex picture begins to emerge: Emacs actually uses regexps far more widely and deeply than anywhere else, and its regex engine requirements aren't "legacy", but the result of caring more deeply about language than anywhere else. While regex engines have historically been known to introduce functionality not backed by formal theory that's later found to be hard to optimize, Emacs instead charts a path for other engines to follow. Formalizing backrefs is state-of-the-art, but possible (see <https://jamiejennings.com/posts/2021-09-23-dont-look-back-2/>), and I believe the same can be achieved for the other affordances Emacs users have come to expect. Subsequently, I have focused on identifying where we can constrain the problem space to improve performance without losing those affordances, such as explicit precompilation in lisp code (see <https://lists.gnu.org/archive/html/emacs-devel/2024-08/msg00108.html>).
+
+There are many branching paths here. With the libgccjit native compiler, we can now implement regex matching in lisp itself. While \`rx' can compose patterns to an extent, we could provide a more powerful primitive than regular expressions alone for complex parsing tasks. And while many regex engines employ complex optimization heuristics, we can instead introduce specific functionality for e.g. SIMD literal search into lisp code, allowing lisp users to intelligently select for themselves how and when to employ less-powerful but more-performant search routines.
+
+We don't need to backtrack! We can try all these paths at once.
+
+About the speaker:
+
+Me: Typing free software to break the shoulders of giants from golden handcuffs.
+Work: Composeable build tools, parsing frameworks, and cryptographic messaging. All of these are misused to subjugate and oppress, but I build infrastructure for positive liberties.
+
+This talk will cover my train of thought over the course of this year on how regex engines in general may be improved, and the discussions with emacs-devel that have helped me along. I hope this talk will convince people of the boundless future directions in text search. My PhD research will be inspired by the expressivity and power of Emacs.
+
+
+
+[[!inline pages="internal(2024/info/regex-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/regex-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/repro.md b/2024/talks/repro.md
new file mode 100644
index 00000000..41712957
--- /dev/null
+++ b/2024/talks/repro.md
@@ -0,0 +1,36 @@
+[[!meta title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”"]]
+[[!meta copyright="Copyright &copy; 2024 Aaron Grothe"]]
+[[!inline pages="internal(2024/info/repro-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. --->
+
+
+# Reproducibly building Emacs: “Hey your checksum is the same as mine!”
+Aaron Grothe (he/him) - Pronunciation: Err-In Growth-e, <https://www.grothe.us> LinkedIn: <https://www.linkedin.com/in/aaron-grothe/>, <mailto:ajgrothe@yahoo.com>
+
+[[!inline pages="internal(2024/info/repro-before)" raw="yes"]]
+
+The idea of a reproducible build is that you can build a package and I can build a package and we both produce the same executable.  There are security benefits to being able to create a reproducible build ensuring the integrity and reliability of the build.  There are also benefits in the world of debugging/testing as you can confirm that the end user has the same executable as the developer.
+
+The Debian project has been making huge strides with this.  With a goal to have the next Debian release “Trixie” only having 256 non-reproducible packages.  Unfortunately as of September 19, 2024 GNU Emacs is one of them.  GNU Emacs is currently in the dreaded FTBFS (Fails To Build From Source) section for reproducible builds.   Other Linux distributions including Arch and NixOS are working towards the same goal.
+
+This talk will be an overview of what is/was preventing us from producing a reproducible build for GNU Emacs and what it will take to get GNU Emacs to join this August club.   
+
+The talk will also contrast the difference between reproducible builds and the OpenBSD projects approach of randomized executables.
+
+We’ll be doing a high level overview of the Reproducible Builds - <https://reproducible-builds.org/> project and the tools, procedures, techniques they’ve put together for making the entire procedure reproducible 🙂
+
+About the speaker:
+
+Aaron Grothe has been a developer for many years. He is a two-time winner of the International Obfuscated C Code Contest <https://www.ioccc.org> and has a couple of small pieces of code in the Linux kernel. He has been published several times in 2600 magazine.  He is interested in code correctness and how we can write safer code as we head into the future. 
+
+Currently (September 19, 2024) GNU Emacs is not generating a reproducible build for GNU Debian.  This talk is a quick introduction to reproducible builds and what it will take to get GNU Emacs to generate a reproducible build.
+
+
+
+[[!inline pages="internal(2024/info/repro-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/repro-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/rust.md b/2024/talks/rust.md
new file mode 100644
index 00000000..e994d28f
--- /dev/null
+++ b/2024/talks/rust.md
@@ -0,0 +1,34 @@
+[[!meta title="An Experimental Emacs Core in Rust"]]
+[[!meta copyright="Copyright &copy; 2024 Troy Hinckley"]]
+[[!inline pages="internal(2024/info/rust-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 Experimental Emacs Core in Rust
+Troy Hinckley - <https://coredumped.dev>, <mailto:troy@troyhinckley.com>
+
+[[!inline pages="internal(2024/info/rust-before)" raw="yes"]]
+
+An overview and discussion and early prototype of a new Emacs core written in Rust. The talk covers some of the interesting design choices in the GNU Emacs C core, as well as some of the trade-offs made in the Rust core. <https://github.com/CeleritasCelery/rune>
+
+- What is the Emacs core?
+- How has the core evolved?
+- Design trade-offs
+ - multi-threading
+ - Precise GC
+- Being bug compatible with GNU Emacs
+- Comparison
+
+About the speaker:
+
+Hardware Engineer with interest in low-level programming and the hardware-software boundary.
+
+
+
+[[!inline pages="internal(2024/info/rust-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/rust-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/secrets.md b/2024/talks/secrets.md
new file mode 100644
index 00000000..ebe75187
--- /dev/null
+++ b/2024/talks/secrets.md
@@ -0,0 +1,28 @@
+[[!meta title="Committing secrets with git using sops-mode"]]
+[[!meta copyright="Copyright &copy; 2024 Jonathan Otsuka"]]
+[[!inline pages="internal(2024/info/secrets-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. --->
+
+
+# Committing secrets with git using sops-mode
+Jonathan Otsuka - Pronunciation: O-tsu-ka, <https://github.com/djgoku/sops>, <mailto:pitas.axioms0c@icloud.com>
+
+[[!inline pages="internal(2024/info/secrets-before)" raw="yes"]]
+
+This is my first Emacs mode, and it was primarily driven by necessity. The process was manual prior. I wanted to encrypt and decrypt all operations within my current Emacs instance. Currently, I have some notes on how to quickly decrypt and encrypt using AWS KMS. However, it works seamlessly with GPG. I need to add some notes on the age and GCP KMS.
+
+<https://github.com/djgoku/sops>
+
+About the speaker:
+
+My name is Jonathan Otsuka. I have a background in software development and SRE/DevOps. In my free time, I enjoy optimizing my workflow, contributing to open-source projects I use, and engaging in swimming and cycling.
+
+
+
+[[!inline pages="internal(2024/info/secrets-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/secrets-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/sharing.md b/2024/talks/sharing.md
new file mode 100644
index 00000000..4c71a925
--- /dev/null
+++ b/2024/talks/sharing.md
@@ -0,0 +1,39 @@
+[[!meta title="So You Want To Be An Emacs-Fluencer?"]]
+[[!meta copyright="Copyright &copy; 2024 Gopar"]]
+[[!inline pages="internal(2024/info/sharing-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. --->
+
+
+# So You Want To Be An Emacs-Fluencer?
+Gopar - IRC: gopar, <https://www.youtube.com/@goparism/> , <mailto:gopardaniel@gmail.com>
+
+[[!inline pages="internal(2024/info/sharing-before)" raw="yes"]]
+
+Ever thought about sharing your Emacs knowledge? Starting a YouTube
+channel, blog, podcast, or even smoke signals to share those tidbits? If
+you’ve answered "No", then I'd like to change your mind. And if you said
+"Yes", then you're already on the right path.
+
+In this talk, I will share what I've learned from my journey as an Emacs
+advocate, including tips, setups (both current and past), and various
+alternatives to get your works out there. Most importantly, I'll discuss
+why your story and perspective matter, even if you think otherwise. Your
+unique experience can inspire and help others in the Emacs community.
+
+About the speaker:
+
+Gopar, a fellow Emacs user and advocate, will be sharing insights on how
+everyone can become the Emacs Influencer they never knew they wanted to be.
+
+From starting a YouTube channel to writing blogs, Gopar will provide
+practical tips and share personal experiences to help you embark on your
+journey of sharing Emacs knowledge.
+
+
+[[!inline pages="internal(2024/info/sharing-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/sharing-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/shell.md b/2024/talks/shell.md
new file mode 100644
index 00000000..69e8575a
--- /dev/null
+++ b/2024/talks/shell.md
@@ -0,0 +1,35 @@
+[[!meta title="Emacs as a Shell"]]
+[[!meta copyright="Copyright &copy; 2024 Christopher Howard"]]
+[[!inline pages="internal(2024/info/shell-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 Shell
+Christopher Howard (he/him) - IRC: lispmacs, <mailto:christopher@librehacker.com>
+
+[[!inline pages="internal(2024/info/shell-before)" raw="yes"]]
+
+A shell, such as Bash, is fundamentally an
+interface to your operating system. It allows you
+to run programs, direct I/O, manage processes, and
+interact with the file system, as well as script
+such activities. Allowing for a few caveats, we
+can see that Emacs is capable of doing all these
+things, and therefore Emacs can be used a
+practical replacement for the traditional shell.
+This talk aims to explain this philosophy, to
+explore Emacs' basic shell functionality, and to
+address various caveats.
+
+See also these other talks by the same speaker:
+
+- [EmacsConf - 2024 - talks - Watering my (digital) plant with Emacs timers](https://emacsconf.org/2024/talks/water/)
+- [EmacsConf - 2023 - talks - Org-Mode Workflow: Informal Reference Tracking](https://emacsconf.org/2023/talks/ref/)
+
+[[!inline pages="internal(2024/info/shell-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/shell-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/students.md b/2024/talks/students.md
new file mode 100644
index 00000000..7a6168ba
--- /dev/null
+++ b/2024/talks/students.md
@@ -0,0 +1,47 @@
+[[!meta title="An example of a cohesive student workflow in Emacs"]]
+[[!meta copyright="Copyright &copy; 2024 Daniel Pinkston"]]
+[[!inline pages="internal(2024/info/students-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 example of a cohesive student workflow in Emacs
+Daniel Pinkston (he/him) - IRC: bardman, develop dot bard at-symbol gmail dot com
+
+[[!inline pages="internal(2024/info/students-before)" raw="yes"]]
+
+Most successful students have a go-to system for staying organized. It
+might be Notion, Obsidian, a bullet journal, or a simple paper planner.
+ The key is finding what fits your personal needs and style. Here's an
+interesting option some students might not have considered: Emacs.
+It's a tool that's popular with Linux people, but possibly overlooked by
+others. For the right person, it could be a game-changer in managing
+academic life.
+
+This talk is meant to showcase how different Emacs tools integrate with
+each other to create a cohesive work environment for students.
+
+Links:
+
+- Denote <https://github.com/protesilaos/denote> - the keystone package for my preferred note taking method
+- Logos <https://github.com/protesilaos/logos> - a focus-mode tool for writing
+- PDF-tools <https://github.com/vedang/pdf-tools> - pdf viewer
+- Anki-editor <https://github.com/louietan/anki-editor> - my favorite package for making flashcards in Emacs
+- Org-fragtog <https://github.com/io12/org-fragtog> - auto toggles LaTeX fragments in my org documents
+- Org-download <https://github.com/abo-abo/org-download> - facilitates quick image addition to org documents
+- My Emacs configuration <https://github.com/BardofSprites/.emacs.d> - includes not only writing, but programming
+
+About the speaker:
+
+I am Daniel Pinkston, a high school student (grade 12) interested in Emacs,
+Linux, programming, and customizable/libre software. I have been using
+Emacs since 2022, starting with DOOM Emacs.
+
+
+
+[[!inline pages="internal(2024/info/students-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/students-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/theme.md b/2024/talks/theme.md
new file mode 100644
index 00000000..9df68c8b
--- /dev/null
+++ b/2024/talks/theme.md
@@ -0,0 +1,33 @@
+[[!meta title="My journey of finding and creating the “perfect” Emacs theme"]]
+[[!meta copyright="Copyright &copy; 2024 MetroWind"]]
+[[!inline pages="internal(2024/info/theme-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 journey of finding and creating the “perfect” Emacs theme
+MetroWind (he/him) - IRC: MetroWind, Fediverse (pleroma): mw@pleroma.xeno.darksair.org - Matrix: @mw:darksair.org
+
+[[!inline pages="internal(2024/info/theme-before)" raw="yes"]]
+
+In this talk I will share my experience of finding and creating the
+“perfect” Emacs theme. I will go through the five themes I have
+created and discuss the motivations and ideas behind them, which will
+also introduce various color spaces. And I will look into the future
+to see if there is hope to find the "perfect" theme.
+
+About the speaker:
+
+I'm a long time Emacs user (since Emacs 21). I don't write a lot of
+elisp but I'm spend vast majority of my screen time with Emacs, and
+I'm picky about how it looks. This talk shows how may hoops I'm
+willing to jump through to make it look "right".
+
+
+
+[[!inline pages="internal(2024/info/theme-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/theme-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/transducers.md b/2024/talks/transducers.md
new file mode 100644
index 00000000..5abe4371
--- /dev/null
+++ b/2024/talks/transducers.md
@@ -0,0 +1,47 @@
+[[!meta title="Transducers: finally, ergonomic data processing for Emacs!"]]
+[[!meta copyright="Copyright &copy; 2024 Colin Woodbury"]]
+[[!inline pages="internal(2024/info/transducers-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. --->
+
+
+# Transducers: finally, ergonomic data processing for Emacs!
+Colin Woodbury (he) - <https://x.com/@fosskers> , @fosskers@m.fosskers.ca on Mastodon, <https://www.fosskers.ca>
+
+[[!inline pages="internal(2024/info/transducers-before)" raw="yes"]]
+
+Transducers are an ergonomic and extremely memory-efficient way to process a
+data source. Here "data source" means simple collections like Lists or
+Vectors,
+but also potentially large files or generators of infinite data.
+
+Transducers&#x2026;
+
+- allow the chaining of operations like map and filter without allocating memory between each step.
+- aren't tied to any specific data type; they need only be implemented once.
+- vastly simplify "data transformation code".
+- have nothing to do with "lazy evaluation".
+- are a joy to use!
+
+In this talk, Colin will introduce Transducers, show how to use them, and
+demonstrate some Emacs-specific workflows that make live processing of large
+data sets in JSON and CSV a breeze.
+
+About the speaker:
+
+Colin has been active in the FOSS world since 2011, publishing libraries and
+applications primarily in Haskell and Rust. Since 2023 he has been using
+Lisps
+more and more, and after falling in love with Transducers from Clojure has
+ported the pattern to three other Lisps.
+
+Colin is originally from Canada and lives in Japan.
+
+
+
+[[!inline pages="internal(2024/info/transducers-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/transducers-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/water.md b/2024/talks/water.md
new file mode 100644
index 00000000..10454db7
--- /dev/null
+++ b/2024/talks/water.md
@@ -0,0 +1,29 @@
+[[!meta title="Watering my (digital) plant with Emacs timers"]]
+[[!meta copyright="Copyright &copy; 2024 Christopher Howard"]]
+[[!inline pages="internal(2024/info/water-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. --->
+
+
+# Watering my (digital) plant with Emacs timers
+Christopher Howard (he/him) - IRC: lispmacs, http://gem.librehacker.com, <mailto:christopher@librehacker.com>
+
+[[!inline pages="internal(2024/info/water-before)" raw="yes"]]
+
+This talk gives a brief introduction to Emacs timer functionality. I explain how I used Emacs timers to water and harvest my flower on the gemini Astrobotany service.
+
+About the speaker:
+
+Christopher Howard is a simulator technican and free software ethusiast living in Fairbanks, Alaska. Christopher explains how he uses Emacs timers to automatically water and harvest his flower on the Astrobotany gemini service.
+
+See also these other talks by the same speaker:
+
+- [EmacsConf - 2024 - talks - Emacs as a Shell](https://emacsconf.org/2024/talks/shell/)
+- [EmacsConf - 2023 - talks - Org-Mode Workflow: Informal Reference Tracking](https://emacsconf.org/2023/talks/ref/)
+
+[[!inline pages="internal(2024/info/water-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/water-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/writing.md b/2024/talks/writing.md
new file mode 100644
index 00000000..d05af940
--- /dev/null
+++ b/2024/talks/writing.md
@@ -0,0 +1,34 @@
+[[!meta title="Emacs Writing Studio"]]
+[[!meta copyright="Copyright &copy; 2024 Peter Prevos"]]
+[[!inline pages="internal(2024/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. --->
+
+
+# Emacs Writing Studio
+Peter Prevos (he) - <mailto:peter@prevos.net> , <https://peterprevos.com> , @danderzei@aus.social
+
+[[!inline pages="internal(2024/info/writing-before)" raw="yes"]]
+
+Emacs Writing Studio is a comprehensive guide and configuration
+for authors using Emacs. The book covers everything from
+organising ideas and writing distraction-free to publishing in
+multiple formats. The book itself was fully written and published
+with the configuration it describes. This talk outlines the proces
+of developing this configuration and the book and some
+perspectives on using Emacs as a tool to write for humans.
+
+About the speaker:
+
+Peter Prevos is a water engineer and social scientist. In this
+talk Peter introduces Emacs Writing Studio, a starter kit and
+associated manual for authors with no Emacs experience.
+
+
+
+[[!inline pages="internal(2024/info/writing-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/writing-nav)" raw="yes"]]
+
+