summaryrefslogtreecommitdiffstats
path: root/2023/talks
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2023/talks.md22
-rw-r--r--2023/talks/doc.md26
-rw-r--r--2023/talks/emacsconf.md6
-rw-r--r--2023/talks/gc.md2
-rw-r--r--2023/talks/hyperdrive.md10
-rw-r--r--2023/talks/parallel.md8
-rw-r--r--2023/talks/scheme.md5
-rw-r--r--2023/talks/solo.md5
-rw-r--r--2023/talks/steno.md10
-rw-r--r--2023/talks/taming.md2
-rw-r--r--2023/talks/voice.md103
-rw-r--r--2023/talks/web.md23
12 files changed, 141 insertions, 81 deletions
diff --git a/2023/talks.md b/2023/talks.md
index abb5964c..c1e97148 100644
--- a/2023/talks.md
+++ b/2023/talks.md
@@ -2,7 +2,27 @@
[[!meta copyright="Copyright © 2023 Sacha Chua"]]
[[!sidebar content=""]]
-We're getting ready for EmacsConf 2023, which will once again be an **online conference**. Here's the line-up of talks:
+We're getting ready for EmacsConf 2023, which will once again be an **online conference**.
+
+There is also a satellite event in
+[Lucerne, Switzerland](https://200ok.ch/posts/2023-11-01_announcing_emacsconf__swiss_satellite.html).
+Let us know if you're organizing one in your area!
+
+Please note that the following talks are intended for a general
+audience even though they've been scheduled in the development track
+for time reasons:
+
+- [Literate documentation with Emacs and Org Mode](https://emacsconf.org/2023/talks/doc)
+- [hyperdrive.el: Peer-to-peer filesystem in Emacs](https://emacsconf.org/2023/talks/hyperdrive)
+
+Last-minute schedule updates:
+
+- <span class="timestamp-wrapper"><span class="timestamp">[2023-12-01 Fri] </span></span> [gc](https://emacsconf.org/2023/talks/gc "emacs-gc-stats: Does garbage collection actually slow down Emacs?") needs 35 minutes, adjusting later talks ([hyperdrive](https://emacsconf.org/2023/talks/hyperdrive "hyperdrive.el: Peer-to-peer filesystem in Emacs"), [lspocaml](https://emacsconf.org/2023/talks/lspocaml "Writing a language server in OCaml for Emacs, fun, and profit"), [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole"), [emacsconf](https://emacsconf.org/2023/talks/emacsconf "EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference"))
+- <span class="timestamp-wrapper"><span class="timestamp">[2023-12-01 Fri] </span></span> [windows](https://emacsconf.org/2023/talks/windows "Windows into Freedom") now on Sat afternoon devel track and [emacsconf](https://emacsconf.org/2023/talks/emacsconf "EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference") now on Sunday afternoon devel track
+- <span class="timestamp-wrapper"><span class="timestamp">[2023-12-01 Fri] </span></span> Cancelled [taming](https://emacsconf.org/2023/talks/taming "Taming things with Org Mode")
+- <span class="timestamp-wrapper"><span class="timestamp">[2023-11-29 Wed] </span></span> Changed title for [voice](https://emacsconf.org/2023/talks/voice "Enhancing productivity with voice computing"), changed [table](https://emacsconf.org/2023/talks/table "Who needs Excel? Managing your students qualifications with org-table") Q&A to after the conference
+
+
[[!inline pages="internal(2023/schedule-details)" raw="yes"]]
diff --git a/2023/talks/doc.md b/2023/talks/doc.md
new file mode 100644
index 00000000..0f7edf2c
--- /dev/null
+++ b/2023/talks/doc.md
@@ -0,0 +1,26 @@
+[[!meta title="Literate Documentation with Emacs and Org Mode"]]
+[[!meta copyright="Copyright &copy; 2023 Mike Hamrick"]]
+[[!inline pages="internal(2023/info/doc-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 Documentation with Emacs and Org Mode
+Mike Hamrick
+
+[[!inline pages="internal(2023/info/doc-before)" raw="yes"]]
+
+When writing about programming or other technical subjects, you’re often weaving blocks of source code, program output, and raw data in with your prose. These supplementary materials are usually copied and pasted into your document from other sources, which can be difficult and tedious to keep up-to-date as things change. Inconsistencies and errors can easily creep in when you “hard-code” dynamic information like program output into your writing.
+
+Wouldn’t it be great if the tool you used for writing knew how to run code in a variety of programming languages, collect and format output, and let you refer symbolically to all this dynamically generated content in your prose? In this talk I’ll demonstrate how to use GNU Emacs’ Org mode to create technical documents that do just that. We’ll explore the features of Babel, Org mode’s literate programming add-on, that makes it convenient to edit, evaluate, and manage embedded code, output, and data all from inside GNU Emacs.
+
+We'll also show how these literate documents can be exported to LaTeX and ultimately PDF format to create professional looking output that looks stunning when printed or viewed.
+
+Also shared at SeaGL 2023
+
+[[!inline pages="internal(2023/info/doc-after)" raw="yes"]]
+
+[[!inline pages="internal(2023/info/doc-nav)" raw="yes"]]
+
+
diff --git a/2023/talks/emacsconf.md b/2023/talks/emacsconf.md
index c08bbe01..e31539e5 100644
--- a/2023/talks/emacsconf.md
+++ b/2023/talks/emacsconf.md
@@ -18,6 +18,12 @@ Mode navigation, image and video manipulation, captioning, publishing,
and remote command execution, and then check out the notes to find out
more.
+Resources:
+
+- [RevealJS presentation with clickable links, etc.](https://sachachua.com/proj/emacsconf-2023-emacsconf/)
+- [As one long webpage](https://sachachua.com/proj/emacsconf-2023-emacsconf/exported.html)
+- [Presentation org file](https://sachachua.com/proj/emacsconf-2023-emacsconf/index.org)
+
[[!inline pages="internal(2023/info/emacsconf-after)" raw="yes"]]
[[!inline pages="internal(2023/info/emacsconf-nav)" raw="yes"]]
diff --git a/2023/talks/gc.md b/2023/talks/gc.md
index 1c9f07e5..b0c54532 100644
--- a/2023/talks/gc.md
+++ b/2023/talks/gc.md
@@ -11,6 +11,8 @@ Ihor Radchenko (he) - Mastodon: <https://emacs.ch/@yantar92>, <mailto:yantar92@p
[[!inline pages="internal(2023/info/gc-before)" raw="yes"]]
+Talk sources, PDF, raw data, and analysis are published at <https://dx.doi.org/10.5281/zenodo.10213384> .
+
Is Emacs responsiveness really affected by slow garbage collector?
Should \`gc-cons-threshold' be increased during startup?
Or maybe during the whole Emacs session?
diff --git a/2023/talks/hyperdrive.md b/2023/talks/hyperdrive.md
index 4aee6509..d84889d5 100644
--- a/2023/talks/hyperdrive.md
+++ b/2023/talks/hyperdrive.md
@@ -1,5 +1,5 @@
[[!meta title="hyperdrive.el: Peer-to-peer filesystem in Emacs"]]
-[[!meta copyright="Copyright &copy; 2023 ${speakers}"]]
+[[!meta copyright="Copyright &copy; 2023 Joseph Turner and Protesilaos Stavrou"]]
[[!inline pages="internal(2023/info/hyperdrive-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
@@ -7,7 +7,7 @@
# hyperdrive.el: Peer-to-peer filesystem in Emacs
-Joseph Turner, <https://ushin.org> xmpp:discuss@conference.ushin.org (XMPP MUC for USHIN discussion), <mailto:joseph@ushin.org>
+Joseph Turner and Protesilaos Stavrou, <https://ushin.org> xmpp:discuss@conference.ushin.org (XMPP MUC for USHIN discussion), <mailto:joseph@ushin.org>
[[!inline pages="internal(2023/info/hyperdrive-before)" raw="yes"]]
@@ -73,6 +73,12 @@ information for everybody. This year, we're focusing on the
hyperdrive.el project, with the goal of bringing Emacs and
peer-to-peer together.
+I am Protesilaos. Friends call me "Prot" and you are welcome to do the
+same. I have been an Emacs user for ~4 years. I use Emacs full-time for
+practically every aspect of my computing. I am the author and maintainer
+of several packages for Emacs and am enthusiastic about its potential
+for user freedom.
+
[[!inline pages="internal(2023/info/hyperdrive-after)" raw="yes"]]
diff --git a/2023/talks/parallel.md b/2023/talks/parallel.md
index ea966383..5464192c 100644
--- a/2023/talks/parallel.md
+++ b/2023/talks/parallel.md
@@ -1,13 +1,13 @@
-[[!meta title="Parallel Text Replacement: Does P = NP?"]]
-[[!meta copyright="Copyright &copy; 2023 Lovro"]]
+[[!meta title="Parallel Text Replacement"]]
+[[!meta copyright="Copyright &copy; 2023 Lovro, Valentino Picotti"]]
[[!inline pages="internal(2023/info/parallel-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. --->
-# Parallel Text Replacement: Does P = NP?
-Lovro - IRC: hokomo, <mailto:hokomo@airmail.cc>
+# Parallel Text Replacement
+Lovro, Valentino Picotti - IRC: hokomo, <mailto:hokomo@disroot.org>
[[!inline pages="internal(2023/info/parallel-before)" raw="yes"]]
diff --git a/2023/talks/scheme.md b/2023/talks/scheme.md
index 3842ce1d..017796f0 100644
--- a/2023/talks/scheme.md
+++ b/2023/talks/scheme.md
@@ -25,6 +25,11 @@ My talk covers the following:
- Interactive development and its benefits.
- Emacs setup for Scheme development.
+Links:
+
+- <https://git.sr.ht/~abcdw/emacs-arei>
+- <https://git.sr.ht/~abcdw/guile-ares-rs>
+
About the speaker:
Talk about Lisp development workflows, REPLs, and modern Scheme tooling for Emacs.
diff --git a/2023/talks/solo.md b/2023/talks/solo.md
index c7df3d9a..5410352f 100644
--- a/2023/talks/solo.md
+++ b/2023/talks/solo.md
@@ -11,6 +11,11 @@ Howard Abrams - Website: <https://www.howardism.org> - Mastodon: @howard@emacs.c
[[!inline pages="internal(2023/info/solo-before)" raw="yes"]]
+
+- Ironsworn Emacs project code: <https://gitlab.com/howardabrams/emacs-ironsworn>
+- Note that this code depends on my earlier project: <https://gitlab.com/howardabrams/emacs-rpgdm>
+- The alpha version of a RPG Toolkit code: <https://codeberg.org/howardabrams/emacs-rpgtk>
+
As an eternal Dungeon Master, I have a long history of collecting my notes
in Emacs. When my son was very young, I would export my Org files to
an HTML page that would include some magic JavaScript, so that when
diff --git a/2023/talks/steno.md b/2023/talks/steno.md
index a3fb115b..6b2dae45 100644
--- a/2023/talks/steno.md
+++ b/2023/talks/steno.md
@@ -1,4 +1,4 @@
-[[!meta title="Programming at 200 wpm"]]
+[[!meta title="Programming with steno]]
[[!meta copyright="Copyright &copy; 2023 Daniel Alejandro Tapia"]]
[[!inline pages="internal(2023/info/steno-nav)" raw="yes"]]
@@ -6,7 +6,8 @@
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# Programming at 200 wpm
+# Programming with steno
+
Daniel Alejandro Tapia (I like "thou" for the second person and "ou" for the third) - I'm also on emacs.ch @SequentialDesign, <mailto:z111.513.321@gmail.com>
[[!inline pages="internal(2023/info/steno-before)" raw="yes"]]
@@ -17,6 +18,11 @@ and how I overcame them.
Also talk about the advantages of using stenotypy in Emacs
and in general.
+This talk uses two pieces of media under a Creative Commons license:
+
+- <https://en.wikipedia.org/wiki/File:Demonstratie_met_een_stenotypemachine_Weeknummer_28-28_-_Open_Beelden_-_22262.ogv?useskin=vector> - (a short video) Nederlands Instituut voor Beeld en Geluid, Creative Commons Attribution-Share Alike 3.0
+- <https://www.youtube.com/watch?v=EoAcHCTDXio> (a pic from this) -
+Nathan Olivares, Creative Commons Attribution
[[!inline pages="internal(2023/info/steno-after)" raw="yes"]]
diff --git a/2023/talks/taming.md b/2023/talks/taming.md
index 04246b62..769242eb 100644
--- a/2023/talks/taming.md
+++ b/2023/talks/taming.md
@@ -11,6 +11,8 @@ Gergely Nagy (algernon) (he/him) - Pronunciation: "algernon" (all small letters,
[[!inline pages="internal(2023/info/taming-before)" raw="yes"]]
+**This talk has been cancelled. Sorry!**
+
I'd like to present my solution of taming a NixOS configuration **and** a
Doom Emacs configuration with Org Mode. Taming, as in highlighting the
pain points I had with them, why I found them to be a pain point, and
diff --git a/2023/talks/voice.md b/2023/talks/voice.md
index 337674e9..eeac32d0 100644
--- a/2023/talks/voice.md
+++ b/2023/talks/voice.md
@@ -1,77 +1,64 @@
-[[!meta title="Improving access to AI-assisted literate programming with voice control"]]
+[[!meta title="Enhancing productivity with voice computing"]]
[[!meta copyright="Copyright &copy; 2023 Blaine Mooers"]]
[[!inline pages="internal(2023/info/voice-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. --->
-
-# Improving access to AI-assisted literate programming with voice control
+# Enhancing productivity with voice computing
Blaine Mooers (he/him/his) - Pronunciation: pronounced like "moors", blaine-mooers(at)ouhsc.edu, <https://basicsciences.ouhsc.edu/bmb/Faculty/bio_details/mooers-blaine-hm-phd>, <https://twitter.com/BlaineMooers>, <https://github.com/MooersLab>, <https://codeberg.org/MooersLab>, mastodon(at)bhmooers
[[!inline pages="internal(2023/info/voice-before)" raw="yes"]]
-The audience will learn how to use voice control to create literate
-programming documents in Emacs. After reviewing the benefits of
-literate programming, I will review the prior work done with the voice
-control in Emacs. I will present the reasons why you'd want to use
-voice control; they go beyond the obvious benefit of avoiding or
-working around repetitive stress injuries and include the benefits of
-using voice control while standing to break up long periods of
-sitting, which are detrimental to one's health. There are many options
-for voice control in and out of the Emacs. I will review a list of
-several and then drill in on two: one that is easy but of limited
-extensibility (Voice In Plus (<https://dictanote.co/voicein/plus/>) and
-one that is harder to learn but more extensible (Talon Voice
-(<https://talon.wiki/>)). The latter has a welcoming community of users
-and developers in the Talon Slack channel.
-
-The Voice In Plus is a plugin for the Google Chrome browser that
-allows you to dictate in the text areas on web pages. The dictated
-text can be sent as soon as it appears in the browser to Emacs via
-GhostText and the Atomic-Chrome package. You can insert custom code
-snippets by voice control in the text area using Voice In Plus's
-support for custom snippets. Or, you can insert yasnippet snippets by
-voice control in the corresponding buffer in Emacs. I will demonstrate
-how to set up this workflow and how to use it to create an org mode
-file. This workflow is very effective for the creation of lots of
-prose, but not code.
-
-The second approach uses the open-source software called Talon
-(<http://talon.wiki>), which is good for both prose and code. This
-package enables precise voice control in a wide variety of
-applications including Emacs. This package is also highly configurable
-using Python script and an accompanying Talonscript file, which has a
-simple YAML file format. The general users of Talon who know nothing
-about Python can easily configure their setup using Talonscript files.
-Advanced users can use Python to add modules to the Talon package to
-extend its functionality. I will demonstrate how to write an org mode
-file with executable code blocks with Talon running in Emacs. I will
-edit and run the code blocks by voice control with and without the
-help of generative AI in the form of Copilot.
-
-I also demonstrate an interactive quiz in Python and Elisp that I
-developed to the support the mastery of the voice control commands. By
-running the quiz with voice control, you can accelerate mastery of the
-commands. I learned the Talon alphabet in one day by taking the quiz
-at spaced intervals. The quiz only took 60 seconds to complete when I
-was proficient.
-
-I will conclude with a discussion of lessons learned and opportunities
-for using voice control in Emacs for AI-assisted literate programming.
+Voice computing uses speech recognition software to convert speech into text, commands, or code.
+While there is a venerated program called EmacSpeaks for converting text into speech, a
+"EmacsListens" for converting speech into text is not available yet.
+The Emacs Wiki describes the underdeveloped situation for speech-to-text in Emacs.
+I will explain how two external software packages convert my speech into text and computer
+commands that can be used with Emacs.
+
+First, I present some motivations for using voice computing.
+These can be divided into two categories: productivity improvement and health-related issues.
+In this second category, there is the under-appreciated cure for ``standing desk envy'';
+the cure is achievable with a large dose of voice computing while standing.
+
+I found one software package (Voice In) to be quite accurate for speech-to-text or dictation
+(Voice In Plus, <https://dictanote.co/voicein/plus/>), but less versatile for speech-to-commands.
+I have used this package daily and I found a three-fold increase in my daily word count almost
+immediately.
+Of course, there are limits here; you can talk for only so many hours per day.
+
+Second, I found another software package that has a less accurate language model (Talon Voice,
+<http://talon.wiki/>)) but that supports custom commands that can be executed anywhere you can
+place the cursor, including in virtual machines and on remote servers.
+Talon Voice will appeal to those who like to tinker with configuration files, yet it is easy to
+use.
+
+I will explain how I have integrated these two packages into my workflow.
+I have developed a library of commands that expand 94 English contractions when spoken.
+This library eliminates tedious downstream editing of formal prose where I do not use
+contractions.
+The library is available on GitHub for both Voice In Plus
+(<https://github.com/mooersLab/voice-in-plus-contractions>) and Talon Voice
+(<https://github.com/MooersLab/talon-contractions>).
+
+I also supply the interactive quizzes for mastering the basic Voice In commands
+(<https://github.com/MooersLab/voice-in-basics-quiz>) and the Talon Voice phonetic alphabet
+(<https://github.com/MooersLab/talon-voice-quizzes/qTalonAlphabet.py>)
+I learned the Talon alphabet in one day by taking the quiz at spaced intervals.
+The quiz took only 60 seconds to complete when I was proficient.
About the speaker:
-I am an associate professor of biochemistry at the University of
+I am an Associate Professor of Biochemistry at the University of
Oklahoma Health Sciences Center. I use X-ray crystallography to study
the structures of RNA, proteins, and protein-drug complexes. I have
-been using Python and LaTeX for a dozen years and Jupyter Notebooks
+been using Python and LaTeX for a dozen years, and Jupyter Notebooks
since 2013. I have been using Emacs every day for 2.5 years. I
-discovered voice control this summer when my chronic repetitive stress
-injury flared up while entering data in a spreadsheet. I found that
-voice control is a great way to create prose and write literate
-programming documents while maintaining one's health.
-
+discovered voice computing this summer when my chronic repetitive
+stress injury flared up while entering data in a spreadsheet. I
+tripled my daily word count by using the speech-to-text, and I get a
+kick out of running remote computers by speech-to-command.
[[!inline pages="internal(2023/info/voice-after)" raw="yes"]]
diff --git a/2023/talks/web.md b/2023/talks/web.md
index 0d6e3d75..1d75fdf5 100644
--- a/2023/talks/web.md
+++ b/2023/talks/web.md
@@ -1,4 +1,4 @@
-[[!meta title="Emacs saves the Web"]]
+[[!meta title="Emacs saves the Web (maybe)"]]
[[!meta copyright="Copyright &copy; 2023 Yuchen Pei"]]
[[!inline pages="internal(2023/info/web-nav)" raw="yes"]]
@@ -6,7 +6,7 @@
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# Emacs saves the Web
+# Emacs saves the Web (maybe)
Yuchen Pei (he/him, pronounced: "eww-churn pay"), IRC: dragestil, <mailto:id@ypei.org>, <https://ypei.org>, mastodon: dragestil@hostux.social
[[!inline pages="internal(2023/info/web-before)" raw="yes"]]
@@ -16,17 +16,12 @@ customisability and the ability to effortlessly convert users to
hackers. On the other hand, today many of the sticky issues with
proprietary software proliferation stems from the web, including the
Javascript trap[1] on the client side and the SaaSS trap[2] on the
-server side. So enters the topic of this talk. I will briefly talk
-about these issues and existing solutions, followed by ideas and
-demonstrations on how Emacs can fix user freedom on the web, including
-(from realistic to dreamy): emacs clients for specific websites and
-services i.e. replacing read-only javascript forced on your browser
-with hackable free elisp packages, emacs-based browsers aka universal
-frontends and elisp version of users-cripts / greasemonkey / haketilo,
-write-once-run-everywhere elisp programs (e.g. the emacs web server
-and (nonexistent?) emacs mobile app UI framework), and remote emacs
-servers that can be shared by a group of hackers running server
-programs written in elisp, thus eliminating the SaaSS trap.
+server side. So enters the topic of this talk. I will briefly talk about
+these issues and existing non-emacs solutions, followed by ideas and
+demonstrations on how Emacs can fix user freedom on the web, including:
+emacs clients for specific websites and services, emacs-based browsers
+aka universal frontends, transformer of emacs packages to web apps and
+firefox browser extensions, and more.
- [1] <https://www.gnu.org/philosophy/javascript-trap.html>
- [2] <https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html>
@@ -40,7 +35,7 @@ claim to be the only free software advocate in Australia, in the hope
that someone will correct him and point him to fellow comrades
fighting for user freedom in Oz.
-- [3] https://g.ypei.me
+- [3] <https://g.ypei.me>
[[!inline pages="internal(2023/info/web-after)" raw="yes"]]