summaryrefslogtreecommitdiffstats
path: root/2021/talks
diff options
context:
space:
mode:
authorJean-Christophe Helary <jean.christophe.helary@traduction-libre.org>2021-11-07 09:47:41 +0900
committerJean-Christophe Helary <jean.christophe.helary@traduction-libre.org>2021-11-07 09:47:41 +0900
commitb92718d2ad1446b6c006118fce7e0eba1a75dffe (patch)
tree3d3229190211952da8b9d9ade9c403de1d5d1ba5 /2021/talks
parentd278842e8ed734c07da4aa9287a298142c47105a (diff)
parentf17ad33c8a06ce1e353c36fe5024e921c29c930e (diff)
downloademacsconf-wiki-b92718d2ad1446b6c006118fce7e0eba1a75dffe.tar.xz
emacsconf-wiki-b92718d2ad1446b6c006118fce7e0eba1a75dffe.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to '')
-rw-r--r--2021/talks/adventure.md115
-rw-r--r--2021/talks/bidi.md100
-rw-r--r--2021/talks/devel.md98
-rw-r--r--2021/talks/mold.md9
-rw-r--r--2021/talks/molecular.md55
-rw-r--r--2021/talks/news.md172
-rw-r--r--2021/talks/nongnu.md4
-rw-r--r--2021/talks/structural.md68
-rw-r--r--2021/talks/tech.md25
-rw-r--r--2021/talks/test.md6
-rw-r--r--2021/talks/unix.md11
11 files changed, 368 insertions, 295 deletions
diff --git a/2021/talks/adventure.md b/2021/talks/adventure.md
index 7b06e9b0..a17e331c 100644
--- a/2021/talks/adventure.md
+++ b/2021/talks/adventure.md
@@ -8,90 +8,45 @@
# Choose Your Own (Technology-Enhanced Learning) Adventure
Greta Goetz
-This presentation will move through Emacs artifacts illustrating
-possible paths for beginners and then map out some supportive roles
-for the enhanced learning potential (cf. Caillet in Andler & Guerry,
-Engelbart) of Emacs. Emacs affords diverse possibilities for
-individuals to interact creatively and autonomously with their digital
-environment and others to satisfy their own needs (Illich) and
-fulfills the promise of digital tools to help enhance our learning
-(e.g. Engelbart), balancing creativity with guidance (Goodyear &
-Retalis).
-
-
-# Intro
-
-Emacs allows for play with formality and does not limit imaginable
-types of interactivity, supporting both formal and informal learning
-(cf. Caillet in Andler & Guerry 2008), therefore it can function as a
-scaffold for development (cf. Vygotsky 1979: 86) and the creative and
-autonomous ability of individuals to interact with their digital
-environment and others who equally share the ability to use this tool
-(Illich 1973). Individuals can use Emacs as often or seldom as they
-want to express their needs and meaning in action, with no obligation
-to use it (cf. Illich 1973: 22).
-
-The formal learning involved pertains to Emacs documentation (the
-'temple') while related discussion and copying of or composing parts
-of inits or smaller task-based problem solving represents the
-'forum'. The latter, demonstrative of technology-enhanced learning,
-allows for engagement in diverse and individual levels of learning,
-balancing creativity with guidance (Goodyear & Retalis 2010: 4).
-
-1. What if we are beginners overwhelmed by formal Emacs documentation? Two possible learning paths:
-
- - a. Build on a needs-basis. Brief explanation and rationale [1 para].
- - b. Study others' inits and use-cases; Read Planet EmacsLife; Consult what programmers or power users say [1 link example for each].
-
-2. Emacs as technological networks for enhanced learning with boundaries through [section supplemented by some examples, and illustrated by a mind-map to bring coherence]:
-
-- The 'wise' use of computers (Crichton) to manage and organize workflow
-- Fun use of computers - 'there are people who want to put a stop to that' (Crichton)
-- Disciplinary use-cases can give insight into how various Emacs capabilities fit into the mental models particular to disciplinary context. This can improve design performance while educating the designer (Goodyear & Retalis 2010).
-
-- Allows for multiple and organically changing organization of knowledge. This is opposed to relegating it to pre-fabricated fields, which is the case when using apps (as if all learners have the same spatial/visual needs?!
-
-- Emacs is developed and maintained by a community dedicated to keeping this freedom of use in these multiple contexts (cf. Illich 1973).
-- Emacs thus allows us to control our tools and tasks (Illich 1973:
-- in order to release ourselves from the tasks of *automatic* maintenance (cf. Latour's 1987 simple customers'). By contrast, the care-less use of automatizing pre-fabricated apps leads to knowledge loss and loss of know-how in life (Stiegler 2018).
-
-- Emacs fulfills the promise of the value of technology-enhanced learning (Goodyear & Retalis 2010) e.g. by augmenting OUR intellect (cf. Engelbart 1962), not automatizing our knowledge to smaller repetitive tasks that contribute to a larger picture we cannot see.
-
-# Conclusion
-
-Emacs does not limit any imaginable type of interactivity and promotes
-a diversity of related content, further supporting pursuit of more
-advanced technology-enhanced learning (TEL). TEL, with its current
-*general* reliance on pre-fabricated one-size-fits-all software, does
-not reach its potential where it uses apps or tools that automatize
-knowledge. By contrast, Emacs enables us to learn this knowledge work,
-and supports informal learning at all levels. This includes the most
-basic needs-use level while also inviting us through its myriad
-use-case examples to learn how work is managed, organized, and
-coordinated for the benefit of the diverse community made possible by
-maintainers and developers. Using Emacs not only means being able to
-use this digital tool, but to learn about the structure of digital
-learning and learning in general.
+This presentation will first illustrate possible paths for beginners and then mapping out the significance of the enhanced learning potential of Emacs (Caillet in Andler & Guerry, Markauskaite & Goodyear). The technology-enhanced learning (TEL) that Emacs affords departs from the 'many, many features' (Stallman) which surpass the confines of a pre-fabricated environment (Stiegler). This affords diverse possibilities for individuals to interact creatively and autonomously to satisfy their own needs alongside others who share use of the tool (Illich). Its adaptability will be shown to be an asset in support of the learning trends identified by the latest pedagogical research (Guo).
+
+1. Setting out as beginners who may be overwhelmed by formal Emacs documentation. Some inroads. No trace is too small.
+2. Emacs as common ground between people and technology.
+3. Emacs modularity and TEL design.
+4. Emacs as personal, creative, autonomous.
+5. Emacs and cognitive democracy.
# References
-- <https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-en.org#on-the-shoulders-of-giants>
-- <https://planet.emacslife.com/>
-- <https://bzg.fr/en/some-emacs-org-mode-features-you-may-not-know/>
-- <https://www.kpkaiser.com/programming/writing-a-technical-book-in-emacs-and-org-mode/>
-- <https://github.com/zzkt/oblique-strategies>
-- <https://kitchingroup.cheme.cmu.edu/blog/2014/08/08/What-we-are-using-org-mode-for/>
-- Bruce, B. & Levin, J. (1997). Educational technology: media for inquiry, communication, construction, and expression. J. Educ. Comput. Res. 17(1), pp. 79–102.
-- Caillet, E. (2008). L’exposition, le musée: L’éducation informelle comme école de l’éducation formelle, pp. 137-154. In Andler, D. & Guerry, B., Eds., Apprendre Demain: Sciences cognitives et éducation à l’ère numérique. Paris: Hatier.
-- Crichton, M. (1983). Electronic Life. New York: Knopf.
-- Engelbart, D. (1962). Augmenting human intellect: A conceptual framework. Menlo Park: Stanford Research Institute.
-- Goodyear, P. & Retalis, S. (2010). Learning, Technology and Design, pp. 1-27. In Goodyear, P. & Retalis, S. (Eds.) Technology-Enhanced Learning: Design Patterns and Pattern Languages. Rotterdam, Boston: Sense Publishers.
-- Illich, I. (1973). Tools of conviviality. New York: Harper & Row.
-- Latour, B. (1987). Science in Action. Cambridge and London: Harvard University Press.
-- Stiegler, B. (2018). The neganthropocene. Open Humanities Press.
-- Vygotsky, L. (1979). Mind in Society: The Development of Higher Psychological
-- Processes. Cambridge and London: Harvard University Press.
+## General workflow, inspiration, fun:
+- Bin, C. (2020). Mastering Emacs in one year. <https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-en.org#on-the-shoulders-of-giants>. Accessed 25 October 2021.
+- Chua, S. https://sachachua.com/blog/
+- Goetz, G. (2021). Additional references: A back-to-school/GTD Emacs journey. <https://gretzuni.com/articles/a-back-to-school-gtd-emacs-journey>. Accessed 25 October 2021.
+- Guerry, B. (2020). Org-mode features you may not know. <https://bzg.fr/en/some-emacs-org-mode-features-you-may-not-know/>. Accessed 25 October 2021.
+- Kaiser, K. (2017). Writing a technical book in Emacs and Org-mode. <https://www.kpkaiser.com/programming/writing-a-technical-book-in-emacs-and-org-mode/>. Accessed 25 October 2021.
+- Planet Emacs Life. <https://planet.emacslife.com/>. Accessed 25 October 2021.
+- Stavrou, P. My packages for GNU Emacs. <https://protesilaos.com/emacs/>. Accessed 25 October 2021.
+- Wellons, C. Emacs articles. <https://nullprogram.com/tags/emacs/>. Accessed 25 October 2021.
+
+## On TEL design and learning:
+- Andler, D. & Guerry, B. (Eds.). *Apprendre demain: Sciences cognitives et éducation à l’ère numérique*, 137-154. Paris: Hatier.
+- Crichton, M. (1983). *Electronic life*. New York: Knopf.
+- De Bono, E. (2009). *Think! Before it's too late*. London: Random House.
+- Drosos, I. & Guo, P. (2021). Streamers teaching programming, art, and gaming: Cognitive apprenticeship, serendipitous teachable moments, and tacit expert knowledge. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), short paper, 2021. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
+- Gabriel, R. (1996). *Patterns of software*. New York, Oxford: Oxford University Press.
+- Goodyear, P. & Retalis, S. (2010). Learning, technology and design. In Goodyear, P. & Retalis, S. (Eds.). *Technology-enhanced learning: Design patterns and pattern languages*, 1-27. Rotterdam, Boston: Sense Publishers.
+- Guo, P. (2018). Students, systems, and interactions: Synthesizing the first
+four years of Learning@Scale and charting the future. L@S 2018, June 26–28, 2018, London, United Kingdom. DOI: https://doi.org/10.1145/3231644.3231662. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
+- Guo, P., Kim, J. & Rubin, R. (2014). How video production affects student engagement: An empirical study of MOOC videos. ACM Conference on Learning at Scale. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
+- Illich, I. (1973). *Tools of conviviality*. New York: Harper & Row.
+- Kim, J., Guo, P., Seaton, D., Mitros, P., Gajos, K. & Miller, R. (2014). Understanding in-video dropouts and interaction peaks in online lecture videos. ACM Conference on Learning at Scale. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
+- Markauskaite, L. & Goodyear, P. (2017). *Epistemic fluency and professional education: innovation, knowledgeable action and actionable knowledge*. Dordrecht: Springer.
+- Markel, J. & Guo, P. (2020). Designing the future of experiential learning environments for a post-COVID world: A preliminary case study. NFW ’20 (Symposium on the New Future of Work), August 3–5, 2020, Virtual Event. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.
+- Morin, E. ([2004] 2008). *La Méthode - tome 6: Éthique*. Éditions du Seuil: Paris.
+- Stallman, R. (2002). *Free software, free society*. GNU Press, Free Software Foundation.
+- Stiegler, B. (2018). *The neganthropocene*. Open Humanities Press.
+- Trocmé-Fabre, H. (1999). *Réinventer le métier d’apprendre*. Paris: Éditions d’organisation.
# Availability and preferred Q&A approach
diff --git a/2021/talks/bidi.md b/2021/talks/bidi.md
index 2bfd13d7..7bff4e8f 100644
--- a/2021/talks/bidi.md
+++ b/2021/talks/bidi.md
@@ -1,17 +1,16 @@
-[[!meta title="Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware"]]
+[[!meta title="Perso-Arabic Input Methods And BIDI Aware Apps"]]
[[!meta copyright="Copyright &copy; 2021 Mohsen BANAN"]]
[[!inline pages="internal(2021/info/bidi-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware
-Mohsen BANAN
-
-
-# Table of Contents
-
+# Perso-Arabic Input Methods And BIDI Aware Apps
+Mohsen BANAN -- محسن بنان
+Emacs is a multilingual user environment. A true multilingual editor must
+support bidirectionality and shaping of characters. Perso-Arabic scripts require
+both of these features.
Starting with Emacs 24, full native bidi
(bidirectional) support became available. For
@@ -21,57 +20,86 @@ open-source shaping libraries were also available.
With these in place at around 2012, I developed
two Persian input methods for emacs. These input
-methods or variations of them can also be used
-Arabic and other persoarabic scripts.
+methods or variations of them can also be used for
+Arabic and other Perso-Arabic scripts.
With all of these in place, Emacs has now become
-the ne plus ultra Halaal/Convivial usage
-environment for persoarabic users.
+the ne plus ultra Libre-Halaal and Convivial usage
+environment for Perso-Arabic users.
Since emacs comes loaded with everything (Gnus
for email, Bbdb for address books, XeLaTeX modes
for typesetting, org-mode for organization, spell
-checkers, completions, calendar, etc.), all basic
-computing and communication needs of persoarabic
+checkers, completion systems, calendar, etc.), all basic
+computing and communication needs of Perso-Arabic
users can be addressed in one place and
cohesively.
In this talk I will demonstrate what a wonderful
environment that can be.
-
-- 40 minutes: (brief description/outline)
- My talk will be in two parts.
+My talk will be in two parts.
+
+In Part 1, I cover Persian input methods. With an emphasis on "Banan
+Multi-Character (Reverse) Transliteration Persian Input Method". The
+software is part of base emacs distribution. Full documentation is available
+at:
- In Part 1, I cover persian input methods. With an
- emphasis on &lsquo ;Banan Multi-Character (Reverse)
- Transliteration Persian Input Method&rsquo;. The
- software is part of base emacs distribution.
- Full documentation is available at:
Persian Input Methods
For Emacs And More Broadly Speaking
شیوه‌هایِ درج به فارسی‌
<http://mohsen.1.banan.byname.net/PLPC/120036>
- In Part 2, I will cover the ramifications of bidi
- on existing emacs applications, including:
+In Part 2, I'll demonstrate that Emacs is far more than an editor. Emacs can be
+a complete Perso-Arabic usage environment. I will also cover the ramifications
+of bidi on existing emacs applications, including:
- - Gnus:
- - Persoarabic rich email sending in HTML.
- - Ramifications of bidi on from, to and
- subject lines.
+- Spell Checking, Dictionaries And Completion Frameworks:
+ - Existing emacs facilities can be extended to cover Perso-Arabic.
- - Bbdb: Ramifications of bidi on display and
- completion.
+- Gnus:
+ - Perso-Arabic rich email sending in HTML.
+ - Ramifications of bidi on from:, to: and subject: lines.
- - Calendar:
- - Ramifications of bidi on display.
- - Use of persian text for Persian (solar) calendar.
- - Use of arabic text for Muslem (lunar) calendar.
+- Bbdb: Ramifications of bidi on display and completion.
- - AUCTeX: Persian typesetting with XeLaTeX
-
-
+- Calendar:
+ - Ramifications of bidi on display.
+ - Use of Persian text for Persian (solar) calendar.
+ - Use of Arabic text for Muslem (lunar) calendar.
+
+- AUCTeX: Persian typesetting with XeLaTeX
+ - Option of having right-to-left Perso-Arabic aliases for all latex commands.
+
+References:
+
+ - Persian Input Methods:
+ <http://mohsen.1.banan.byname.net/PLPC/120036>
+ <http://www.persoarabic.org/PLPC/120036> -- Persian Input Methods Access Page
+ <http://www.persoarabic.org> -- Various Perso-Arabic resources
+ <http://www.freeprotocols.org/Repub/fpf-isiri-6219> -- Re-Publication Of
+ Persian Information Interchange and Display Mechanism, using Unicode
+ <https://github.com/bx-blee/persian-input-method> -- Git repo for
+ persian.el -- Quail package for inputting Persian/Farsi keyboards
+
+ - BIDI:
+ <http://www.unicode.org/reports/tr9/> -- Annex #9 of the Unicode standard
+ <https://www.gnu.org/software/emacs/manual/html_node/elisp/Bidirectional-Display.html>
+ Emacs Bidirectional Display
+
+ - Blee and Persian-Blee:
+ <https://github.com/bx-blee/env2> -- Very messy work-in-progress git repo for:
+ Blee: By* Libre-Halaal Emacs Environment
+ <http://www.by-star.net> -- A Moral Alternative To The Proprietary American Digital Ecosystem
+ <http://mohsen.1.banan.byname.net/PLPC/120033> --
+ Nature of Polyexistentials:
+ Basis for Abolishment of The Western Intellectual Property Rights Regime
+ <http://mohsen.1.banan.byname.net/PLPC/120039> -- Defining The Libre-Halaal Label
+
+ - Mohsen BANAN -- محسن بنان:
+ <http://mohsen.1.banan.byname.net/> -- Globish
+ <http://mohsen.1.banan.byname.net/persian> -- Farsi
+ <http://mohsen.1.banan.byname.net/french> -- French
[[!inline pages="internal(2021/info/bidi-schedule)" raw="yes"]]
diff --git a/2021/talks/devel.md b/2021/talks/devel.md
index b3c197f4..461f64f3 100644
--- a/2021/talks/devel.md
+++ b/2021/talks/devel.md
@@ -8,80 +8,30 @@
# Don't write that package! or: How I learned to stop worrying and love emacs-devel
Stefan Kangas
-Emacs' greatest strength is also its greatest weakness: it is **too** hackable.
-
-We have a great community that experiment with new features that are still
-lacking in Emacs core. They write up a package and develop the living daylights
-out of it, until it is basically amazing. (I'm looking at you Magit.)
-
-There are other examples such as helpful.el - great package, but why are those
-features not in core? What about projectile? And so on.
-
-Core demands copyright assignments (CLA). This is a fact of life. While I
-mostly agree with the people saying it is not helful, they are there to protect
-Emacs from copyright issues in the future. So my suggestion here is simple:
-just **sign the papers**. It is just a formality, and you should only need to do
-it once.
-
-I suggest that any ambitious feature that we **might** want to see shipped in the
-default Emacs distribution should by default go to GNU ELPA. You don't need to
-do this, of course, and I respect your decision, but I urge you to do it.
-
-GNU ELPA does not have an exceptionally high standard, but we do try to give any
-new package a proper code review.
-
-MELPA is excellent. We love MELPA. They don't have a criterion for their
-packages that is important to the FSF, which is to not recommend non-free
-software. Therefore, we could not recommend it by default, and had to build
-NonGNU ELPA.
-
-NonGNU ELPA will be used for packages that we don't have an assignment for but
-would still like to distribute. It should ideally only be for old packages
-where getting a CLA is impractical.
-
-It is sometimes perceived as hard to contribute to Emacs core. This impression
-is largely wrong. If I can do it, you can too.
-
-We do have a problem in that our tools and methods (mailing lists, the bug
-tracker) are out-dated. This is largely correct. We want to migrate to
-something else, and the best candidate is probably Sourcehut. Please volunteer
-to help!
-
-We sometimes see people adding stuff to their Init file to fix this or that
-annoyance, or even bug. The more ambitious would go on to package up such fixes
-in what I call "patch packages". "Hey, foo-mode doesn't have support for
-'bookmark-set', let's write a package!" I am here to suggest that you submit a
-patch to Emacs instead.
-
-Fixing an issue for one person is good, and fixing it for more people is even
-better. Fixing it for everyone? Priceless.
-
-emacs-devel is not that scary, nor is email. We are really quite friendly and
-easy going, but the communication we prefer (for reasons of efficiency - the
-volume is very high) is often very brief and to the point. We are trying our
-best at communicating, but sometimes fail.
-
-And we need more contributors. We need a successful Emacs on this planet.
-
-So should you really write a package, or should YOU become a core contributor?
-
-
-
-# Outline
-
-- I will urge people to consider contributing to Emacs instead of
- writing small packages, and explain GNU ELPA, MELPA, CLA.
-- I will go into greater detail about emacs-devel, how it "works"
- (e.g. is Emacs conservative without reason?), how to get things
- done and the necessary mindset.
-
-<!--
-- 40 minutes: (brief description/outline): All of the above, and I will show a
- demonstration and give instructions for how to use M-x debbugs to read the bug
- tracker, how to send emails, patches, and our workflows. More on what to
- expect.
--->
-
+We need a successful Emacs on this planet. This means that we need an
+excellent out-of-the-box experience -- one that just works, but that you
+can still hack and customize. There is so much great experimentation
+and work going on out there in the wider Emacs community, but we would
+be even better off if more of that could go into Emacs itself.
+
+Emacs' greatest strength is unfortunately sometimes also its greatest
+weakness: it is *too* hackable.
+
+On occasion, people out there add stuff to their Init file to fix this
+or that annoyance, or even bug. The more ambitious might go on to
+package up such fixes: "Hey, 'foo-mode' doesn't have support for
+'bookmark-set', let's write a package!" I am here to suggest that you
+should not do that.
+
+You should submit a patch to Emacs! Maybe more people have that same
+problem or annoyance, and would benefit from your solution?
+
+It is sometimes perceived as hard to contribute to Emacs core. I want
+to encourage more people to get involved, and show that the barrier to
+entry is really not that high. If I can do it, you can do it too!
+
+So should you really write that package, or should you stop worrying and
+learn to love emacs-devel? Listen to my talk to find out more!
[[!inline pages="internal(2021/info/devel-schedule)" raw="yes"]]
diff --git a/2021/talks/mold.md b/2021/talks/mold.md
index a2cc99be..26188625 100644
--- a/2021/talks/mold.md
+++ b/2021/talks/mold.md
@@ -13,14 +13,13 @@ places we cannot access or use. The more we write down, the more it
takes to find and understand things we find useful.
Knowledge (web, software, books) keeps growing faster and faster! This
-is not sustainable: we cannot keep up! What if we repeat a terrible
-error that somebody else has written about, only because we could not
-find that? What if that knowledge is in some code we work with
-everyday?
+is not sustainable: we cannot keep up with it! What if we repeat the
+error of somebody else, only because it would take too much reading to
+know? What if that knowledge is in some code we work with everyday?
Moldable development is a paradigm shift that attempts to solve this
problem. In a gist, the tool you use should let you create special tools
-to learn smartly from the what you have.
+to learn smartly from what you have already.
Since we use Emacs, let's make our great editor moldable!
diff --git a/2021/talks/molecular.md b/2021/talks/molecular.md
index ecfaec10..c319114a 100644
--- a/2021/talks/molecular.md
+++ b/2021/talks/molecular.md
@@ -8,40 +8,39 @@
# Reproducible molecular graphics with Org-mode
Blaine Mooers
-Research papers in structural biology should include the code used
-to make the images of molecules in the article in the supplemental
-materials. Some structural bioinformaticists have started to include
+Research papers in structural biology should include the code used to make
+the images of molecules in the article in the supplemental materials.
+Some structural bioinformaticists have started to include
their computer code in the supplemental materials to allow readers
to reproduce their analyses. However, authors of papers reporting new
-structures have overlooked the inclusion of the code that makes the
-images of the molecules in their articles. Nonetheless, this aspect of
-reproducible research needs to become the standard practice to improve
-the rigor of the science.
+molecular structures often overlook the inclusion of the code that makes
+the images of the molecules reported in their articles. Nonetheless,
+this aspect of reproducible research needs to become the standard practice
+to improve the rigor of the science.
-In a literate programming document, the author interleaves the code
-that makes the images of molecules in the explanatory text. Such a
-document allows the reader to reproduce the images in the manuscript.
-The reader can also explore the effect of altering the parameters in
-the code. Org files are one alternative for making such literate
-programming documents.
+In a literate programming document, the author interleaves blocks
+of explanatory prose between code blocks that make the images of molecules.
+The document allows the reader to reproduce the images in the manuscript by running the code.
+The reader can also explore the effect of altering the parameters in the
+code. Org files are one alternative for making such literate programming
+documents.
-We developed a yasnippet library called orgpymolpysnips for structural
-biologists (<https://github.com/MooersLab/orgpymolpysnips>). This
-library facilitates the assembly of literate programming documents
+We developed a **yasnippet** snippet library called **orgpymolpysnips** for
+structural biologists (<https://github.com/MooersLab/orgpymolpysnips>).
+This library facilitates the assembly of literate programming documents
with molecular images made by PyMOL. PyMOL is the most popular
-molecular graphics program for making images for publication; it has
-over 100,000 users, which is a lot of users in the sciences. PyMOL was
-used to make many of the striking images of biological molecules on
-the cover of Nature and Science. We use the emacs-jupyter package to
-send commands from a code block in Org files to PyMOL's Python API.
-PyMOL returns the molecular image to the output block below the
-code block. Of course, an Emacs user can convert the Org file into a
-PDF, convert the code blocks to script files, and submit these for
-non-Emacs users. We describe the content of the library and provide
-examples of the running PyMOL from Org-mode. We compare using Org,
-Jupyter Notebook, Jupyter Lab, and RStudio with PyMOL to do
-literate programming in structural biology.
+molecular graphics program for creating images for publication; it has
+over 100,000 users, which is a lot of users in molecular biology. PyMOL
+has been used to make many of the images of biological molecules found
+on the covers of many Cell, Nature, and Science issues.
+We used the **jupyter** language in **org-babel** to send commands from
+code blocks in Org files to PyMOL's Python API. PyMOL returns the
+molecular image to the output block below the code block. An Emacs
+user can convert the Org file into a PDF, `tangle' the code blocks
+into a script file, and submit these for non-Emacs users. We describe
+the content of the library and provide examples of the running PyMOL
+from Org-mode documents.
# Outline
diff --git a/2021/talks/news.md b/2021/talks/news.md
index 7d3dd095..d2e4f103 100644
--- a/2021/talks/news.md
+++ b/2021/talks/news.md
@@ -4,14 +4,184 @@
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-
# Emacs News Highlights
Sacha Chua <mailto:sacha@sachachua.com> - pronouns: she/her
Quick overview of Emacs community highlights since the last conference
+You can find the links and images at
<https://github.com/sachac/emacsconf-2021-emacs-news-highlights>
+Posting the video early to help test formatting.
+
+[[!template vidid="mainVideo" id=vid src="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--captioned.webm" size="16MB" subtitles="../../captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua.vtt" duration="04:27"]]
+
+# Questions, answers, and community-provided links
+
+<a name="transcript"></a>
+# Transcript
+
+[[!template text="I'm Sacha Chua, and here are" start="00:00:00.003" video="mainVideo" id=subtitle]]
+[[!template text="ten Emacs News highlights for 2021." start="00:00:01.519" video="mainVideo" id=subtitle]]
+[[!template text="If you want to follow the links," start="00:00:03.754" video="mainVideo" id=subtitle]]
+[[!template text="check out the wiki page at" start="00:00:05.305" video="mainVideo" id=subtitle]]
+[[!template text="https://emacsconf.org/2021/talks/news/ ." start="00:00:06.846" video="mainVideo" id=subtitle]]
+[[!template new="1" text="1\. The Emacs developers are currently" start="00:00:11.024" video="mainVideo" id=subtitle]]
+[[!template text="working on Emacs 28.1," start="00:00:13.442" video="mainVideo" id=subtitle]]
+[[!template text="which will be the next major release." start="00:00:15.346" video="mainVideo" id=subtitle]]
+[[!template text="Native compilation should" start="00:00:17.119" video="mainVideo" id=subtitle]]
+[[!template text="make everything way faster," start="00:00:18.442" video="mainVideo" id=subtitle]]
+[[!template text="and emoji support will probably" start="00:00:19.959" video="mainVideo" id=subtitle]]
+[[!template text="make things more fun. 😎👍" start="00:00:21.476" video="mainVideo" id=subtitle]]
+[[!template text="John Wiegley will share more Emacs 28 details" start="00:00:22.549" video="mainVideo" id=subtitle]]
+[[!template text="in his update, so check out his talk." start="00:00:25.133" video="mainVideo" id=subtitle]]
+[[!template text="Andrea Corallo's giving a talk" start="00:00:26.913" video="mainVideo" id=subtitle]]
+[[!template text="on native compilation too." start="00:00:28.783" video="mainVideo" id=subtitle]]
+[[!template new="1" text="2\." start="00:00:30.418" video="mainVideo" id=subtitle]]
+[[!template text="Org Mode is now at version 9.5." start="00:00:31.206" video="mainVideo" id=subtitle]]
+[[!template text="New features include" start="00:00:33.732" video="mainVideo" id=subtitle]]
+[[!template text="a library for managing citations," start="00:00:35.086" video="mainVideo" id=subtitle]]
+[[!template text="asynchronous session support" start="00:00:36.935" video="mainVideo" id=subtitle]]
+[[!template text="for code blocks," start="00:00:38.414" video="mainVideo" id=subtitle]]
+[[!template text="and better control" start="00:00:39.375" video="mainVideo" id=subtitle]]
+[[!template text="of your agenda's appearance." start="00:00:40.342" video="mainVideo" id=subtitle]]
+[[!template text="If you've been getting your Org packages" start="00:00:41.595" video="mainVideo" id=subtitle]]
+[[!template text="from Org ELPA," start="00:00:43.372" video="mainVideo" id=subtitle]]
+[[!template text="you can update your configuration" start="00:00:44.506" video="mainVideo" id=subtitle]]
+[[!template text="to get Org from GNU ELPA" start="00:00:46.128" video="mainVideo" id=subtitle]]
+[[!template text="and org-contrib from NonGNU ELPA." start="00:00:47.896" video="mainVideo" id=subtitle]]
+[[!template text="The new release of the Org Roam package" start="00:00:50.155" video="mainVideo" id=subtitle]]
+[[!template text="should be a faster and more consistent way" start="00:00:52.278" video="mainVideo" id=subtitle]]
+[[!template text="to use Org to manage a knowledgebase," start="00:00:54.185" video="mainVideo" id=subtitle]]
+[[!template text="and org-roam-ui looks pretty snazzy." start="00:00:56.060" video="mainVideo" id=subtitle]]
+[[!template text="The best way to keep up with Org changes" start="00:00:58.423" video="mainVideo" id=subtitle]]
+[[!template text="is to check out the blog This Month in Org." start="00:01:00.531" video="mainVideo" id=subtitle]]
+[[!template new="1" text="3\." start="00:01:02.556" video="mainVideo" id=subtitle]]
+[[!template text="New Magit major release!" start="00:01:03.439" video="mainVideo" id=subtitle]]
+[[!template text="Jonas Bernoulli has split some functionality" start="00:01:05.469" video="mainVideo" id=subtitle]]
+[[!template text="into other packages so that" start="00:01:07.781" video="mainVideo" id=subtitle]]
+[[!template text="Emacs Lisp developers can use them, such as" start="00:01:09.557" video="mainVideo" id=subtitle]]
+[[!template text="magit-section, transient, and forge." start="00:01:11.719" video="mainVideo" id=subtitle]]
+[[!template text="Here's an example of using magit-section" start="00:01:14.049" video="mainVideo" id=subtitle]]
+[[!template text="to manage groups of buffers." start="00:01:16.502" video="mainVideo" id=subtitle]]
+[[!template text="You can learn more about Transient" start="00:01:17.773" video="mainVideo" id=subtitle]]
+[[!template text="in the talk on self-describing" start="00:01:19.333" video="mainVideo" id=subtitle]]
+[[!template text="smart domain-specific languages or DSLs." start="00:01:20.842" video="mainVideo" id=subtitle]]
+[[!template new="1" text="4\." start="00:01:23.538" video="mainVideo" id=subtitle]]
+[[!template text="In terms of smaller packages, there's been" start="00:01:24.320" video="mainVideo" id=subtitle]]
+[[!template text="a lot of activity around completion." start="00:01:26.545" video="mainVideo" id=subtitle]]
+[[!template text="Karthik has a great diagram," start="00:01:28.625" video="mainVideo" id=subtitle]]
+[[!template text="and Prot explains how things work together." start="00:01:30.292" video="mainVideo" id=subtitle]]
+[[!template text="I think the idea is that instead of having" start="00:01:32.459" video="mainVideo" id=subtitle]]
+[[!template text="one large completion system" start="00:01:34.414" video="mainVideo" id=subtitle]]
+[[!template text="like Helm or Icicles, you can choose" start="00:01:36.066" video="mainVideo" id=subtitle]]
+[[!template text="a few different, smaller packages" start="00:01:38.344" video="mainVideo" id=subtitle]]
+[[!template text="and configure them to work together." start="00:01:40.110" video="mainVideo" id=subtitle]]
+[[!template text="If you're curious about this," start="00:01:41.869" video="mainVideo" id=subtitle]]
+[[!template text="you might start with either selectrum" start="00:01:43.129" video="mainVideo" id=subtitle]]
+[[!template text="or vertico, which are both completion interfaces," start="00:01:45.159" video="mainVideo" id=subtitle]]
+[[!template text="add marginalia for more information," start="00:01:47.871" video="mainVideo" id=subtitle]]
+[[!template text="and try consult for many useful" start="00:01:50.443" video="mainVideo" id=subtitle]]
+[[!template text="completing commands." start="00:01:52.222" video="mainVideo" id=subtitle]]
+[[!template text="There are so many options," start="00:01:53.233" video="mainVideo" id=subtitle]]
+[[!template text="so it might be useful to check out" start="00:01:54.279" video="mainVideo" id=subtitle]]
+[[!template text="some discussions." start="00:01:55.867" video="mainVideo" id=subtitle]]
+[[!template new="1" text="5\." start="00:01:56.714" video="mainVideo" id=subtitle]]
+[[!template text="Embark is usually mentioned as part of" start="00:01:57.477" video="mainVideo" id=subtitle]]
+[[!template text="that group of packages," start="00:01:59.531" video="mainVideo" id=subtitle]]
+[[!template text="but it's well worth looking into" start="00:02:00.607" video="mainVideo" id=subtitle]]
+[[!template text="even if you use a different system." start="00:02:02.196" video="mainVideo" id=subtitle]]
+[[!template text="Embark lets you have context-sensitive shortcuts" start="00:02:03.895" video="mainVideo" id=subtitle]]
+[[!template text="that work on things in buffers, minibuffers," start="00:02:06.417" video="mainVideo" id=subtitle]]
+[[!template text="and even collections of things." start="00:02:08.796" video="mainVideo" id=subtitle]]
+[[!template text="You can also use it" start="00:02:10.768" video="mainVideo" id=subtitle]]
+[[!template text="when you start doing one command" start="00:02:11.737" video="mainVideo" id=subtitle]]
+[[!template text="and then decide to do a different one instead." start="00:02:12.912" video="mainVideo" id=subtitle]]
+[[!template text="For more ideas, check out" start="00:02:15.012" video="mainVideo" id=subtitle]]
+[[!template text="Fifteen Ways to Use Embark." start="00:02:16.271" video="mainVideo" id=subtitle]]
+[[!template new="1" text="6\." start="00:02:17.495" video="mainVideo" id=subtitle]]
+[[!template text="Now that there are Emacs Lisp bindings" start="00:02:18.285" video="mainVideo" id=subtitle]]
+[[!template text="for tree-sitter, we can work more easily" start="00:02:20.163" video="mainVideo" id=subtitle]]
+[[!template text="with the structure of code instead of" start="00:02:22.139" video="mainVideo" id=subtitle]]
+[[!template text="just using regular expressions." start="00:02:23.799" video="mainVideo" id=subtitle]]
+[[!template text="Check out the talk" start="00:02:25.461" video="mainVideo" id=subtitle]]
+[[!template text="on Tree-edit and structural editing" start="00:02:26.209" video="mainVideo" id=subtitle]]
+[[!template text="to learn more." start="00:02:27.804" video="mainVideo" id=subtitle]]
+[[!template text="You can use tree-sitter for" start="00:02:28.593" video="mainVideo" id=subtitle]]
+[[!template text="intelligent snippets that get information" start="00:02:30.056" video="mainVideo" id=subtitle]]
+[[!template text="from the code around them," start="00:02:31.951" video="mainVideo" id=subtitle]]
+[[!template text="editing Lisp expressions," start="00:02:33.169" video="mainVideo" id=subtitle]]
+[[!template text="and navigating text objects in Evil mode." start="00:02:35.064" video="mainVideo" id=subtitle]]
+[[!template text="(That's when Emacs is pretending to be Vi.)" start="00:02:37.401" video="mainVideo" id=subtitle]]
+[[!template text="Dynamic modules help us add more to Emacs" start="00:02:39.670" video="mainVideo" id=subtitle]]
+[[!template text="than Emacs Lisp easily offers," start="00:02:42.563" video="mainVideo" id=subtitle]]
+[[!template text="such as structural editing in OCaml" start="00:02:44.388" video="mainVideo" id=subtitle]]
+[[!template text="and using Rust to figure out parentheses" start="00:02:46.804" video="mainVideo" id=subtitle]]
+[[!template text="and indentation for Lisp." start="00:02:48.729" video="mainVideo" id=subtitle]]
+[[!template text="If you're curious," start="00:02:50.086" video="mainVideo" id=subtitle]]
+[[!template text="check out the talk on" start="00:02:50.999" video="mainVideo" id=subtitle]]
+[[!template text="Extending Emacs in Rust with Dynamic Modules." start="00:02:51.923" video="mainVideo" id=subtitle]]
+[[!template new="1" text="7\." start="00:02:54.336" video="mainVideo" id=subtitle]]
+[[!template text="Collaborative editing is now much easier" start="00:02:55.239" video="mainVideo" id=subtitle]]
+[[!template text="since the CRDT package is in GNU ELPA." start="00:02:57.294" video="mainVideo" id=subtitle]]
+[[!template text="It allows multiple people to edit" start="00:02:59.890" video="mainVideo" id=subtitle]]
+[[!template text="the same file over the network," start="00:03:01.632" video="mainVideo" id=subtitle]]
+[[!template text="using their own Emacs." start="00:03:03.285" video="mainVideo" id=subtitle]]
+[[!template text="This means you can keep your own config" start="00:03:05.025" video="mainVideo" id=subtitle]]
+[[!template text="and keybindings, yay!" start="00:03:06.850" video="mainVideo" id=subtitle]]
+[[!template text="Watch the Emacs Research Group talk" start="00:03:08.674" video="mainVideo" id=subtitle]]
+[[!template text="for an example of how several people" start="00:03:10.400" video="mainVideo" id=subtitle]]
+[[!template text="used it to work together." start="00:03:12.185" video="mainVideo" id=subtitle]]
+[[!template new="1" text="8\." start="00:03:13.337" video="mainVideo" id=subtitle]]
+[[!template text="In case you're still under the impression" start="00:03:13.838" video="mainVideo" id=subtitle]]
+[[!template text="that Emacs is just a text editor," start="00:03:15.401" video="mainVideo" id=subtitle]]
+[[!template text="some folks have been working on" start="00:03:17.049" video="mainVideo" id=subtitle]]
+[[!template text="pretty neat graphical experiments." start="00:03:18.560" video="mainVideo" id=subtitle]]
+[[!template text="These OpenGL bindings for Emacs Lisp" start="00:03:20.254" video="mainVideo" id=subtitle]]
+[[!template text="use an embedded xwidget," start="00:03:22.432" video="mainVideo" id=subtitle]]
+[[!template text="while other prototypes use the SVG support" start="00:03:24.195" video="mainVideo" id=subtitle]]
+[[!template text="that's built into Emacs" start="00:03:26.607" video="mainVideo" id=subtitle]]
+[[!template text="for Gantt charts," start="00:03:27.700" video="mainVideo" id=subtitle]]
+[[!template text="scribbles," start="00:03:29.047" video="mainVideo" id=subtitle]]
+[[!template text="and even diagrams." start="00:03:29.819" video="mainVideo" id=subtitle]]
+[[!template text="The color-picker from that one" start="00:03:31.320" video="mainVideo" id=subtitle]]
+[[!template text="looks particularly useful for CSS." start="00:03:32.790" video="mainVideo" id=subtitle]]
+[[!template text="If you want to play around with adding SVGs" start="00:03:34.841" video="mainVideo" id=subtitle]]
+[[!template text="to your files and interfaces," start="00:03:37.043" video="mainVideo" id=subtitle]]
+[[!template text="svg-icon" start="00:03:38.722" video="mainVideo" id=subtitle]]
+[[!template text="and svg-lib" start="00:03:39.762" video="mainVideo" id=subtitle]]
+[[!template text="might be good places to start. (Reddit)" start="00:03:40.679" video="mainVideo" id=subtitle]]
+[[!template text="Of course, there's always a place" start="00:03:42.733" video="mainVideo" id=subtitle]]
+[[!template text="for ASCII art," start="00:03:44.207" video="mainVideo" id=subtitle]]
+[[!template text="especially with the new boxy package" start="00:03:45.209" video="mainVideo" id=subtitle]]
+[[!template text="that you can use for org files," start="00:03:46.933" video="mainVideo" id=subtitle]]
+[[!template text="imenu navigation," start="00:03:48.433" video="mainVideo" id=subtitle]]
+[[!template text="and even things in real life." start="00:03:49.753" video="mainVideo" id=subtitle]]
+[[!template new="1" text="9\." start="00:03:51.418" video="mainVideo" id=subtitle]]
+[[!template text="There have been a lot of great posts, videos," start="00:03:52.208" video="mainVideo" id=subtitle]]
+[[!template text="and livestreams about Emacs this year." start="00:03:54.411" video="mainVideo" id=subtitle]]
+[[!template text="In addition to the ones" start="00:03:56.312" video="mainVideo" id=subtitle]]
+[[!template text="from System Crafters," start="00:03:57.574" video="mainVideo" id=subtitle]]
+[[!template text="Emacs Elements," start="00:03:58.973" video="mainVideo" id=subtitle]]
+[[!template text="and Protesilaos," start="00:04:00.153" video="mainVideo" id=subtitle]]
+[[!template text="John Kitchin" start="00:04:01.664" video="mainVideo" id=subtitle]]
+[[!template text="and Mike Zamansky" start="00:04:02.474" video="mainVideo" id=subtitle]]
+[[!template text="are back, hooray!" start="00:04:03.220" video="mainVideo" id=subtitle]]
+[[!template new="1" text="10\." start="00:04:04.255" video="mainVideo" id=subtitle]]
+[[!template text="Lastly, if you want to chat" start="00:04:04.926" video="mainVideo" id=subtitle]]
+[[!template text="with other Emacs folks" start="00:04:06.433" video="mainVideo" id=subtitle]]
+[[!template text="and get help on Emacs, Org Mode," start="00:04:07.587" video="mainVideo" id=subtitle]]
+[[!template text="or other topics," start="00:04:09.788" video="mainVideo" id=subtitle]]
+[[!template text="the #emacs and #org-mode" start="00:04:10.715" video="mainVideo" id=subtitle]]
+[[!template text="Internet Relay Chat or IRC channels" start="00:04:11.940" video="mainVideo" id=subtitle]]
+[[!template text="are now on the libera.chat network" start="00:04:14.365" video="mainVideo" id=subtitle]]
+[[!template text="instead of Freenode." start="00:04:16.251" video="mainVideo" id=subtitle]]
+[[!template text="If you'd like to add something I've missed," start="00:04:17.517" video="mainVideo" id=subtitle]]
+[[!template text="please add them to the wiki page," start="00:04:19.392" video="mainVideo" id=subtitle]]
+[[!template text="or e-mail me at sacha@sachachua.com ." start="00:04:21.087" video="mainVideo" id=subtitle]]
+[[!template text="That's all for this quick review." start="00:04:23.538" video="mainVideo" id=subtitle]]
+[[!template text="Enjoy the rest of EmacsConf 2021!" start="00:04:25.058" video="mainVideo" id=subtitle]]
+
[[!inline pages="internal(2021/info/news-schedule)" raw="yes"]]
[[!inline pages="internal(2021/info/news-nav)" raw="yes"]]
diff --git a/2021/talks/nongnu.md b/2021/talks/nongnu.md
index 1f88f610..00eb1a15 100644
--- a/2021/talks/nongnu.md
+++ b/2021/talks/nongnu.md
@@ -1,12 +1,12 @@
[[!meta title="NonGNU ELPA Update"]]
-[[!meta copyright="Copyright &copy; 2021 Kaluđerčić, Philip"]]
+[[!meta copyright="Copyright &copy; 2021 Philip Kaludercic"]]
[[!inline pages="internal(2021/info/nongnu-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# NonGNU ELPA Update
-Kaluđerčić, Philip
+Philip Kaludercic
NonGNU ELPA was announced last year, as a package repository
that will be enabled by default in Emacs, but doesn't require
diff --git a/2021/talks/structural.md b/2021/talks/structural.md
index 1c9618f8..d1fca711 100644
--- a/2021/talks/structural.md
+++ b/2021/talks/structural.md
@@ -1,57 +1,43 @@
-[[!meta title="Why structural editing is the future of code editing, and a novel approach for editing everyday languages"]]
+[[!meta title="Tree-edit: Structural editing for Java, Python, C, and beyond"]]
[[!meta copyright="Copyright &copy; 2021 Ethan Leba"]]
[[!inline pages="internal(2021/info/structural-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# Why structural editing is the future of code editing, and a novel approach for editing everyday languages
+# Tree-edit: Structural editing for Java, Python, C, and beyond!
Ethan Leba
-I liken the state of code editing today to the early days of computer
-science,
-when assembly was the only language available. When writing assembly, first
-we
-think of how they want the logic of the program to behave, and then secondly
-translate this logic into Assembly. A tedious and error-prone process &#x2013;
-like
-shoving a square peg into a round hole. But how could it be otherwise?
-That's
-simply what 'programming' was&#x2026; until we realized there were far better
-ways to
-suit our languages to fit the way that we humans think.
-
-The problem with assembly is that fundamental building blocks of the
-language don't match the way we think of programs: we don't think in
-terms of pushing and popping registers, we think in terms of
-variables, functions, etc. So when we write and edit code, why do we
-edit in terms of deleting, inserting, replacing characters &#x2013;
-not wrapping, inserting, raising and deleting expressions and
-statements? Because of the mismatch between the way we reason about
-code and the way that we edit it, we must translate our intents into
-the sequence of character manipulations that achieve it.
-
-In this talk, I'd like to discuss a vision for how writing code could be &#x2013;
-A
-paradigm where the editing operations match the way that we think. I'll also
-demonstrate a work-in-progress package 'tree-edit', which seeks to achieve
-this
-vision, providing a framework for structural editing in any language that
-the
-tree-sitter package supports.
-
-I'd also like to discuss the implementation of 'tree-edit', which uses an
-embedded logic programming DSL in a novel way to power it's syntax tree
-generation.
+In this talk, I'll discuss a vision for how writing code could be, where the
+editing operations map directly to the primitives of the language itself -- and
+my humble attempt of implementing this vision. _tree-edit_ seeks to provides a
+structural editing plugin supporting conceivably any language with a tree-sitter
+parser.
+**Structural editing does not have to be relegated to lisps or niche DSLs.**
+I liken the state of code editing today to writing assembly. The reason why
+people like Python more than assembly is that for most purposes, the building
+blocks of the language are mismatched with our thought process. We don't think
+in terms of registers and addresses, we think in terms of variables, functions,
+etc. So when we write and edit code, why do we edit in terms of deleting,
+inserting, replacing characters &#x2013; not wrapping, inserting, raising,
+deleting expressions and statements?
+
+I'll also discuss the implementation of tree-edit, which uses a novel
+combination of the fantastic
+[tree-sitter](https://github.com/emacs-tree-sitter/elisp-tree-sitter) parser
+with an embedded logic programming DSL ([miniKanren](http://minikanren.org/),
+using elisp port [reazon](https://github.com/nickdrozd/reazon)) to power it's
+syntax tree generation.
+
+Check out the GitHub repo [here](https://github.com/ethan-leba/tree-edit)!
# Outline
-- 5-10 minutes: (brief description/outline)
- - discuss motivation
- - demonstrate tree-edit
- - demonstrate tree-edit syntax tree generation engine
+- Discuss motivation (Why should I care?)
+- Demonstrate tree-edit (Live-coding with tree-edit)
+- Demonstrate tree-edit syntax tree generator (Elevator pitch on miniKanren)
<!--
- 20 minutes: (brief description/outline)
diff --git a/2021/talks/tech.md b/2021/talks/tech.md
index 4a46c629..d091d132 100644
--- a/2021/talks/tech.md
+++ b/2021/talks/tech.md
@@ -19,28 +19,17 @@ technical language course. By using org-babel to pull in "live" code
for REST requests, language examples, and shell scripts, one can be
sure that the documentation and slides are never out of date.
-Two cases are presented:
-
-- API documentation for a REST service (exported from org to html
- and PDF)
-- Slides for a Java Microservice course (presented within emacs,
- handouts in 2 styles as PDF)
-
-The session will show how leverage org-babel, restclient,
-org-treeslide, as well as show how to create your own language backend
-for org-babel to make sure your own preferred workflow is used.
-
+The session will show how leverage org-babel, restclient and
+org-treeslide to write and present technical documentation with style.
# Outline
-- 5-10 minutes: We'll pick one of the two use cases and briefly show
- it and its result.
-<!--- 20 minutes: We'll briefly show both use cases.
-- 40 minutes: We'll show the details how to combine the mentioned
- packages, as well as showing the custom org-babel backend.
--->
-
+- Introduction
+- Demo: Developer guide
+- Demo: REST API guide
+- Demo: Presentations
+- Used packages and configuration
[[!inline pages="internal(2021/info/tech-schedule)" raw="yes"]]
diff --git a/2021/talks/test.md b/2021/talks/test.md
index 9766b3b6..06286b7c 100644
--- a/2021/talks/test.md
+++ b/2021/talks/test.md
@@ -23,7 +23,7 @@ running 'dofile "foo.lua"'), and then has several tests for that class
and its methods; and we can put another block with tests like that
after the class Bletch, and other blocks after some functions. Eepitch
allows sending these tests line by line to the Lua interpreter by
-typing <f8> on each line that we want to send, and this lets us create
+typing <f8\> on each line that we want to send, and this lets us create
tests that are very easy to understand even without writing comments;
this gives us a very quick way to document code by executable tests,
that is super-great for experimental code that is still going to
@@ -38,9 +38,7 @@ current major mode by running \`M-x find-eeit-links'; this can also be
used to add support for test blocks to more languages (or, more
precisely: to more major modes).
-Cheers =),
- Eduardo Ochs
- <http://angg.twu.net/#eev>
+Eduardo Ochs <http://angg.twu.net/emacsconf2021.html>
diff --git a/2021/talks/unix.md b/2021/talks/unix.md
index 2516aaec..947730b1 100644
--- a/2021/talks/unix.md
+++ b/2021/talks/unix.md
@@ -23,14 +23,13 @@ to be more performant than without.
# Outline
-- 5-10 minutes:
- Cut out the portions of explaining the whole UNIX and GNU philosophies
- and instead talk about concrete examples:
- - How can one limit their usage of CLI tools while still maintaining
+- How can one limit their usage of CLI tools while still maintaining
the ideals of both.
- - How using CLI tools can still perfectly flow into Emacs.
- - How having all programs in Emacs and unified keybindings is akin
+- How using CLI tools can still perfectly flow into Emacs.
+- How having all programs in Emacs and unified keybindings is akin
to a terminal user.
+- Why thinking about computational philosophies might itself be an
+ impediment.
<!--
- 20 minutes: