BEGIN:VCALENDAR VERSION:2.0 PRODID:EmacsConf X-WR-CALNAME:EmacsConf 2021 X-WR-TIMEZONE:America/Toronto X-WR-CALNAME:EmacsConf CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VTIMEZONE TZID:America/Toronto BEGIN:DAYLIGHT TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT DTSTART:20210314T070000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST DTSTART:20211107T060000 END:STANDARD BEGIN:DAYLIGHT TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT DTSTART:20220313T070000 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST DTSTART:20221106T060000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT SUMMARY:Opening remarks LOCATION:https://emacsconf.org/ UID:dc07efcd-6d79-cfd4-fed3-59c885fe2922 URL:https://emacsconf.org/2021/talks/day1-open DTSTART;TZID=America/Toronto:20211127T090000 DTEND;TZID=America/Toronto:20211127T090500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/day1-open\n# Opening remarks END:VEVENT BEGIN:VEVENT SUMMARY:Emacs News Highlights LOCATION:https://emacsconf.org/ UID:393ba3c2-b2a6-6a84-44eb-872aa333d08d URL:https://emacsconf.org/2021/talks/news DTSTART;TZID=America/Toronto:20211127T090500 DTEND;TZID=America/Toronto:20211127T091000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/news\n# Emacs News Highlights\nSacha Chua - pronouns: she/her\n\nQuick overview of Emacs community highlights since the last conference\n\nYou can find the links and images at\n\n\nPo sting the video early to help test formatting.\n\n\n\n# Questions\, answer s\, and community-provided links\n\n\n# Transcrip t END:VEVENT BEGIN:VEVENT SUMMARY:The True Frownies are the Friends We Made Along the Way: An Anecdot e of Emacs's Malleability LOCATION:https://emacsconf.org/ UID:06df8309-bd04-eb24-d443-a780c56adc0a URL:https://emacsconf.org/2021/talks/frownies DTSTART;TZID=America/Toronto:20211127T091100 DTEND;TZID=America/Toronto:20211127T093100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/frownies\n# The True Frownies are the Friends We Made Along the Way: An Anecdote of Emacs's Malleability\nCase Duckworth\n\nEmac s is well-known for being extremely flexible\, programmable\, and\nextensi ble\; in fact\, that's probably the biggest reason it's still\nbeing used after 40+ years of existence\, and even has enough clout to\ngenerate an e ntire conference in its name. In this medium-length\npresentation\, I wil l add another point to the data set proving Emacs's\nabilities\, by narrat ing the latest package I made\, \\`frowny.el\\`\, from\nits conception to its current\, nearly-completed state.\n\nI wrote frowny.el to scratch some one else's itch as a joke on IRC\, but\nit has been called "pretty useful\ , for a joke package." I feel like\nthat encapsulates the spirit of Emacs and that's why I want to present\non this topic.\n\nAlong the way\, I'll discuss just a little of my own history of Emacs\,\nand why I feel it's a great tool for non-technical users to sink their\nteeth into. END:VEVENT BEGIN:VEVENT SUMMARY:Choose Your Own (Technology-Enhanced Learning) Adventure LOCATION:https://emacsconf.org/ UID:fe959e43-441b-ed34-854b-87f6f481f55a URL:https://emacsconf.org/2021/talks/adventure DTSTART;TZID=America/Toronto:20211127T093400 DTEND;TZID=America/Toronto:20211127T095400 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/adventure\n# Choose Your Own (Technology-Enhanced Lear ning) Adventure\nGreta Goetz\n\nThis presentation will first illustrate po ssible paths for beginners and then mapping out the significance of the en hanced learning potential of Emacs (Caillet in Andler & Guerry\, Markauska ite & Goodyear). The technology-enhanced learning (TEL) that Emacs affords departs from the 'many\, many features' (Stallman) which surpass the conf ines of a pre-fabricated environment (Stiegler). This affords diverse poss ibilities for individuals to interact creatively and autonomously to satis fy their own needs alongside others who share use of the tool (Illich). It s adaptability will be shown to be an asset in support of the learning tre nds identified by the latest pedagogical research (Guo).\n\n1. Setting ou t as beginners who may be overwhelmed by formal Emacs documentation. Some inroads. No trace is too small.\n2. Emacs as common ground between people and technology.\n3. Emacs modularity and TEL design.\n4. Emacs as perso nal\, creative\, autonomous.\n5. Emacs and cognitive democracy.\n\n\n# Re ferences\n\n## General workflow\, inspiration\, fun:\n- Bin\, C. (2020). Mastering Emacs in one year. . Accessed 25 October 2021.\n- Chua\, S. https://sachachua.com/blog/\n- Goetz\, G. (2021). Additional references: A back-to-school/GTD Emacs jou rney. . Accessed 25 October 2021.\n- Guerry\, B. (2020). Org-mode features you m ay not know. . Accessed 25 October 2021.\n- Kaiser\, K. (2017). Writing a techni cal book in Emacs and Org-mode. . Accessed 25 October 2021.\n- Planet Emacs Life. . Accessed 25 October 2021.\n- Stavrou\, P. My packages for GNU Emacs. . Accessed 25 October 2021.\n- Wellons\, C. Emacs articles. . Accessed 25 October 2021.\n\n## On T EL design and learning:\n- Andler\, D. & Guerry\, B. (Eds.). *Apprendre demain: Sciences cognitives et éducation à l’ère numérique*\, 137-154. Par is: Hatier.\n- Crichton\, M. (1983). *Electronic life*. New York: Knopf. \n- De Bono\, E. (2009). *Think! Before it's too late*. London: Random H ouse.\n- Drosos\, I. & Guo\, P. (2021). Streamers teaching programming\, art\, and gaming: Cognitive apprenticeship\, serendipitous teachable mome nts\, and tacit expert knowledge. IEEE Symposium on Visual Languages and H uman-Centric Computing (VL/HCC)\, short paper\, 2021. . Accessed 25 October 2021.\n- Gabriel\, R. (1996). *Patterns of software*. New York\, Oxford: Oxford University Press.\n- Goodyear\, P. & Retalis\, S. (2010). Learning\, technology and design. In Goodyear\, P. & Retalis\, S. (Eds.). *Technology-enhanced learning: Design patterns a nd pattern languages*\, 1-27. Rotterdam\, Boston: Sense Publishers.\n- G uo\, P. (2018). Students\, systems\, and interactions: Synthesizing the fi rst\nfour years of Learning@Scale and charting the future. L@S 2018\, June 26–28\, 2018\, London\, United Kingdom. DOI: https://doi.org/10.1145/3231 644.3231662. . Accessed 25 October 2021.\n- Guo\, P.\, Kim\, J. & Rubin\, R. (2014). How video production affects st udent engagement: An empirical study of MOOC videos. ACM Conference on Lea rning at Scale. . Accessed 25 October 2021.\ n- Illich\, I. (1973). *Tools of conviviality*. New York: Harper & Row.\ n- Kim\, J.\, Guo\, P.\, Seaton\, D.\, Mitros\, P.\, Gajos\, K. & Miller \, R. (2014). Understanding in-video dropouts and interaction peaks in onl ine lecture videos. ACM Conference on Learning at Scale. . Accessed 25 October 2021.\n- Markauskaite\, L. & Goodyear \, P. (2017). *Epistemic fluency and professional education: innovation\, knowledgeable action and actionable knowledge*. Dordrecht: Springer.\n- Markel\, J. & Guo\, P. (2020). Designing the future of experiential learni ng 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. . Accessed 25 October 2021.\n- Morin\, E. ([2004] 2008). *La Méthode - tome 6: Éthique*. Éditions du Seuil: Paris.\ n- Stallman\, R. (2002). *Free software\, free society*. GNU Press\, Fre e Software Foundation.\n- Stiegler\, B. (2018). *The neganthropocene*. O pen Humanities Press.\n- Trocmé-Fabre\, H. (1999). *Réinventer le métier d’apprendre*. Paris: Éditions d’organisation.\n\n\n# Availability and pre ferred Q&A approach\n\nDue to the pandemic situation\, my teaching schedul e fluctuates so I\nwill not know my availability until much closer to the\ ndate. Therefore\, I can only guarantee delayed answer response\n(whatever you request)\, but if available\, will join live.\nMay I please note that I will be pre-recording my video if this submission is accepted.\n\n\n# S peaker release\n\nBy submitting this proposal\, I agree that my presentati on at\nEmacsConf 2021 is subject to the following terms and conditions:\n\ nThe EmacsConf organizers may capture audio and video (a "Recording")\nof my presentation and any associated materials\, which may include\nslides\, notes\, transcripts\, and prerecording(s) of my presentation\nthat I prov ide to the EmacsConf organizers.\n\nI authorize the EmacsConf organizers t o distribute\, reproduce\,\npublicly display\, and prepare derivative work s of the Recording and\nany derivative works of the Recording (the "Licens ed Materials")\nunder the terms of the Creative Commons Attribution-ShareA like 4.0\nInternational (CC BY-SA 4.0) license.\n\nI grant to the EmacsCon f organizers permission to use my name\,\nlikeness\, and biographic inform ation in association with their use\nof the Licensed Materials under the a bove license.\n\nI represent that I have the authority to grant the above license to\nthe EmacsConf organizers. If my presentation incorporates any\ nmaterial owned by third parties\, I represent that the material is\nsubli censable to the EmacsConf organizers or that my use of them is\nfair use. END:VEVENT BEGIN:VEVENT SUMMARY:GNU's Not UNIX: Why Emacs Demonstrates The UNIX Philosophy Isn't Al ways The Only Answer LOCATION:https://emacsconf.org/ UID:ea5bab3c-f31e-68a4-fa23-81ca67fa1990 URL:https://emacsconf.org/2021/talks/unix DTSTART;TZID=America/Toronto:20211127T095600 DTEND;TZID=America/Toronto:20211127T100300 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/unix\n# GNU's Not UNIX: Why Emacs Demonstrates The UNI X Philosophy Isn't Always The Only Answer\nDaniel Rose\n\nThe talk targets users who are curious about computational philosophies\,\nor those who mi ght not know how to best utilise Emacs conceptually. The\ntalk will cover what the UNIX philosophy is\, the GNU Free Software\nprinciples\, a typica l (Neo)Vi(m) user's approach\, and then how one might\naccomplish this in Emacs combining the aformentioned ideals. The\nlisteners will learn how th ey can approach Emacs ideologically\, and how\nblocking themselves into on e philosophy or the other will limit their\nefficiency. Although you may b e a veteran GNU/Linux and Emacs user\,\nunderstanding how to use both phil osophies together will still allow you\nto be more performant than without .\n\n\n\n# Outline\n\n- How can one limit their usage of CLI tools while still maintaining\n the ideals of both.\n- How using CLI tools c an still perfectly flow into Emacs.\n- How having all programs in Emacs and unified keybindings is akin\n to a terminal user.\n- Why thin king about computational philosophies might itself be an\n impedime nt. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs manuals translation and OmegaT LOCATION:https://emacsconf.org/ UID:db4ccb28-867f-df24-c073-eaca6edad438 URL:https://emacsconf.org/2021/talks/omegat DTSTART;TZID=America/Toronto:20211127T100900 DTEND;TZID=America/Toronto:20211127T101900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/omegat\n# Emacs manuals translation and OmegaT\nJean-C hristophe Helary\n\nEven if it is generally agreed that software localizat ion is a good thing\, Emacs is lacking in that respect for a number of tec hnical reasons. Nonetheless\, the free software using public could greatly benefit from Emacs manuals translations\, even if the interface were to r emain in English.\n\nOmegaT is a multiplatform GPL3+ "computer aided trans lation" (CAT) tool running on OpenJDK 8. CATs are roughly equivalent for t ranslators to what IDEs are for code writers. Casual translators can benef it from their features but professionals or committed amateurs are the mos t likely to make the most use of such tools.\n\nWhen OmegaT\, free softwar e based forges and Emacs meet\, we have a free multi-user translation envi ronment that can easily sustain the (close to) 2 million words load that c omprise the manuals distributed with Emacs\, along with powerful features like arbitrary string protection for easy typing and QA (quality assurance )\, automatic legacy translation handling\, glossary management\, history based or predictive autocompletion\, etc.\n\nThe current trial project for French is hosted on 2 different forges:\n\n1. sr.ht hosts the source file s\n \n2. chapril hosts the OmegaT team project architecture\n \n\nThe sources are regularly updated with a po4 a based shell script.\n\n# Outline\n\n- Duration: 10 minutes\n- Software u sed during the presentation\n - [po4a](https://po4a.org) a tool to conver t documentation formats to and from the commonly used `gettext` **PO** for mat.\n po4a supports the `texinfo` format along with many others.\n - [OmegaT](https://omegat.org) a "computer aided translation" tool used by t ranslators to efficiently combine translation resources (legacy translatio ns\, glossaries\, etc.) so as to produce more consistent translations.\n\n During this short presentation\, I will address:\n\n- The specificities of the Emacs manuals and the difficulties they present to the translator\n- The reason why a professional tool is better than a collaborative web-base d system\n- How to convert the texi and org files to a format that transla tors can handle\n- How to adapt OmegaT to the Emacs manual specificities\n - How to use OmegaT features such as arbitrary string protection\, legacy translation handling\, glossaries\, autocompletion\, QA\, etc.\n- How to u se OmegaT with a team of 2 (or more) translators working at the same time\ n\n\nI will *not* show:\n\n- How to create an OmegaT project\n- How to set up an OmegaT team project\n- How to use OmegaT from the command line to w ork in localization pipelines\n- How to use machine translation and MT "po st-edit"\n- How to convert back the translated files to texi format\n- How to install translated texi files for use in Emacs\n\nPeople who are inter ested in knowing more about OmegaT are invited to check the [online user m anual](https://omegat.sourceforge.io/manual-latest/en/).\n\n# Personal inf ormation\n- Name pronunciation: [ʒɑ̃kRstɔf elaRi](https://doublet.jp/wp-co ntent/uploads/2021/11/jch.ogg)\n- Pronouns: he\n- Homepage: [https://mac4t ranslators.blogspot.com](https://mac4translators.blogspot.com)\n- Preferre d contact info: [jean.christophe.helary@traduction-libre.org](jean.christo phe.helary@traduction-libre.org)\n- Links for sponsoring/supporting (multi lingual translations): [https://doublet.jp](https://doublet.jp) END:VEVENT BEGIN:VEVENT SUMMARY:NonGNU ELPA Update LOCATION:https://emacsconf.org/ UID:525d972d-1e34-bcb4-e9c3-861942549357 URL:https://emacsconf.org/2021/talks/nongnu DTSTART;TZID=America/Toronto:20211127T102200 DTEND;TZID=America/Toronto:20211127T102900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/nongnu\n# NonGNU ELPA Update\nPhilip Kaludercic\n\nNon GNU ELPA was announced last year\, as a package repository\nthat will be e nabled by default in Emacs\, but doesn't require\nany copyright assignment . This means that a lot of popular\npackages can now be installed easier\, without any additional\nconfiguration.\n\nIn this talk I would like the g ive a reminder of what NonGNU\nELPA is and how it works\, update the parti cipants on what has\nhappened since last year and what maintainers have to do if they\nwant their packages to be added to the repository. END:VEVENT BEGIN:VEVENT SUMMARY:Manual Package Management in The Era of Repositories - Why and How LOCATION:https://emacsconf.org/ UID:245a575a-965a-caa4-8d3b-75f8519c2f3e URL:https://emacsconf.org/2021/talks/borg DTSTART;TZID=America/Toronto:20211127T103500 DTEND;TZID=America/Toronto:20211127T104300 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/borg\n# Manual Package Management in The Era of Reposi tories - Why and How\nDhavan (codingquark)\n\nEmacs now has many package r epositories - enought to have conflicts\nand arguments about. The packages are becoming big\, they depend on many\nother packages and it is not easy to keep track of what all is being\ninstalled in our Emacsen. An aggressi ve way out of this is to use Yet\nAnother Package and install all elisp co de manually - with borg[1].\n\n[1]: \n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n 1. What are we trying to solve?\n 2. What is borg?\n 3. How to u se it?\n 4. Assimilate a package for demo END:VEVENT BEGIN:VEVENT SUMMARY:telega.el and the Emacs community on Telegram LOCATION:https://emacsconf.org/ UID:86158391-53a2-7cb4-d7d3-020afbf6d8d9 URL:https://emacsconf.org/2021/talks/telega DTSTART;TZID=America/Toronto:20211127T104800 DTEND;TZID=America/Toronto:20211127T105600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/telega\n# telega.el and the Emacs community on Telegra m\nGabriele Bozzola and Evgeny Zajcev\n\nTelegram is a cross-platform inst ant messaging system. The large number of\nfeatures and the widespread ado ption make it a good choice for both private\nconversations with friends a nd for large online communities. In this talk\, I\nam going to present the Emacs community on Telegram and its initiatives. I\nam also going to disc uss telega.el\, the Emacs client for Telegram. telega.el\nis a high-qualit y package that perfectly integrates in Emacs. It supports\nthe vast majori ty of the features supported by the official clients\, while\nadding sever al unique ones. In the talk\, I will present the package and\nhighlight so me of the most important features. END:VEVENT BEGIN:VEVENT SUMMARY:Introducing N-Angulator LOCATION:https://emacsconf.org/ UID:e4bdc2c1-e4b6-67e4-aafb-87ec9aaf846b URL:https://emacsconf.org/2021/talks/nangulator DTSTART;TZID=America/Toronto:20211127T110100 DTEND;TZID=America/Toronto:20211127T111100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/nangulator\n# Introducing N-Angulator\nKevin Haddock\n \nThe Unix file system is essentially an N-dimentional sparse array that\n currently lacks a decent editor and browser which\ncan effectively leverag e the logical tri-angulation (or\, more properly\n"n-angulation") of atoms /blobs within it.\n\nN-Angulator is the genesis\, to wit\, the "Model-T\," of such a program.\n\n(see google drive link below for a very old uncircu lated prototype\nvideo demo. Be sure and turn the volume UP!)\n\nna.intr o.flv\n\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descripti on/outline)\n\nThe reconceptualization of the Unix file system as the N-Di mensional\nsparse array will be discussed.\n\nA simple pre-existing databa se will be queried.\n\nIf time\, questions will be entertained by video/au dio and/or IRC. END:VEVENT BEGIN:VEVENT SUMMARY:A day in the life of a janitor LOCATION:https://emacsconf.org/ UID:14ab7a54-d75d-45e4-85ab-8fd2e391ea41 URL:https://emacsconf.org/2021/talks/janitor DTSTART;TZID=America/Toronto:20211127T111400 DTEND;TZID=America/Toronto:20211127T113400 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/janitor\n# A day in the life of a janitor\nStefan Monn ier\n\nBecause of a reckless former Emacs maintainer that shall\n better stay unnamed\, ELisp has seen a fair bit of churn in the last 10\n years\ , making it necessary to clean up "old" code [in order to open up\n the r oad for yet more recklessness? ].\n In this documentary we will follow a famous janitor in his every day job\n dealing with the aftermath of the c l-lib / lexical-binding party.\n\n- ~20 minutes\n Here really\, I'm n ot sure how much time this will take. I put 20\n minutes because I thi nk I might be able to fill that and I think more\n than that could turn too boring. I intend to make it a "live coding"\n kind of thing\, wit hout anything like an outline: it's basically "make"\n followed by fixi ng the warnings. END:VEVENT BEGIN:VEVENT SUMMARY:How to help Emacs maintainers? LOCATION:https://emacsconf.org/ UID:51c360e6-188f-9a34-05bb-0a8d2eb09cdc URL:https://emacsconf.org/2021/talks/maintainers DTSTART;TZID=America/Toronto:20211127T113900 DTEND;TZID=America/Toronto:20211127T114900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/maintainers\n# How to help Emacs maintainers?\nBastien Guerry\n\nAfter 11 years of helping as the Org maintainer\, I would\nlike to share a few lessons learned. My goal is help everyone take\ncare of E macs maintainance by taking care of Emacs maintainers.\n\n\n\n# Outline\n\ n- 5-10 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Typesetting Gregorian Chant with Emacs LOCATION:https://emacsconf.org/ UID:716d913f-de8b-91a4-5f33-e04ba0905fa5 URL:https://emacsconf.org/2021/talks/gregorian DTSTART;TZID=America/Toronto:20211127T115200 DTEND;TZID=America/Toronto:20211127T120200 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/gregorian\n# Typesetting Gregorian Chant with Emacs\nS pencer King\n\nThere are a variety of methods for typesetting gregorian\nc hant scores and outputting high-quality sheet music. One of these is\na to ol called Gregorio\, which integrates with LaTeX allowing scores to\nbe cl eanly inserted into other documents. All Gregorio files are plain\ntext\, allowing them to easily be shared with other users and managed\nwith a ver sion control system. In this talk\, I will give a brief\noverview of the G regorio tool and then show how it can be used in\nEmacs by typesetting a s imple score. All code and examples will be\nmade available to help new use rs get started with typesetting their\nown scores.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n 1. Introduction to chant music\n 2. Introduction to Gregorio\n 3. Example of typesetting a score in Emacs\n 4. Code and example availability END:VEVENT BEGIN:VEVENT SUMMARY:Emacs and Montessori Philosophy LOCATION:https://emacsconf.org/ UID:6fccae45-04b5-5524-662b-fdba87754d06 URL:https://emacsconf.org/2021/talks/montessori DTSTART;TZID=America/Toronto:20211127T123000 DTEND;TZID=America/Toronto:20211127T124000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/montessori\n# Emacs and Montessori Philosophy\n\n\nAs a former Montessori guide and now parent\, I often think about the\nrelati onship of this particular educational philosophy and how it manifests\nin my work with software\, Emacs in particular. This talk introduces the\ncon cept of Emacs as an educational environment and how it expresses elements of\nMontessori psychology regarding "Human Tendencies". Human tendencies a re innate\ndrives present in everybody that allow us to explore and make s ense of our world.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descriptio n/outline)\n Quick overview of a Montessori classroom environment:\n\n - the adults or guides primarily observe and present material\n - the children are free to explore materials as they choose (within limits )\n - the environment itself is prepared specifically to foster engag ement\n\n Enumerate the "Human Tendencies":\n\n - Abstraction\n - Activity\n - Communication\n - Exactness\n - Explorati on\n - Manipulation (of the environment)\n - Order\n - Orie ntation\n - Repetition\n - Self-Perfection\n - Work (also d escribed as "purposeful activity")\n\n How does Emacs express these thi ngs?\n\n - in the short version\, pose the question\, and perhaps giv e one example.\n - Emacs is an environment that provides facilities f or individuals to\n find their way to proficiency through their Hum an Tendencies.\n - We are all both learners and guides\, Emacs is our classroom END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Research Group\, Season Zero: What we did together with Emacs in 2 hours a week for a year LOCATION:https://emacsconf.org/ UID:9cee7e43-bcb1-7f64-c40b-5f9ea938d11a URL:https://emacsconf.org/2021/talks/erg DTSTART;TZID=America/Toronto:20211127T124300 DTEND;TZID=America/Toronto:20211127T125800 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/erg\n# Emacs Research Group\, Season Zero: What we did together with Emacs in 2 hours a week for a year\nNoorah Alhasan\, Joe Co rneli\, Raymond Puzio\, Leo Vivier\n\nThe four of us met at EmacsConf 2020 \, and joined together around a\ncommon interest in Emacs and research. S ince then\, we have convened as\nthe Emacs Research Group for weekly meeti ngs. During these meetings\, we\ntook notes collaboratively\, using a ‘co nflict-free replicated data type’\npackage (crdt.el)\; at the end of each session\, we debriefed using a\ntemplate that we call a Project Action Rev iew (PAR). As as a\nmeta-review of our sessions\, every six weeks we prep ared a Causal\nLayered Analysis (CLA)\, which gave us a different perspect ive on what we\nhad done. We reflected further on our experiences and met hods\, linking\nour CLA to plans and design patterns. As a formal researc h output\, we\ncontributed a write-up of these matters to a joint paper wh ich we\npresented at the Pattern Languages of Programs Conference (PLoP 20 21).\nThe paper included an interactive workshop\, in which we explored ro les\nin real-time problem solving and collaboration.\n\nIn our short talk we share information about these methods\, making a\ncase for other people getting together and creating their own small\nresearch communities simil ar to ours. END:VEVENT BEGIN:VEVENT SUMMARY:One effective CS grad student workflow LOCATION:https://emacsconf.org/ UID:0f98a5bb-53ce-fb74-1003-0b1f320d414e URL:https://emacsconf.org/2021/talks/cs DTSTART;TZID=America/Toronto:20211127T130100 DTEND;TZID=America/Toronto:20211127T131100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/cs\n# One effective CS grad student workflow\nGreg Col adonato\n\nWhen I was an undergrad\, I learned many things\, most of\nwhic h I forgot. In the time since then\, I've discovered Org Mode\, Org\nRoam\ , Org Noter\, Org Ref. PDF Tools\, and Anki. I would like to share\nmy app roach for capturing all the information that comes my way as a\nMS CS stud ent at Georgia Tech\, in the hopes that I can both get\nfeedback on ways t o improve the system I use\, as well as hopefully\ninspire others to build workflows that make them more productive.\n\n\n\n# Outline\n\n- 5-10 mi nutes: Go through some typical workflows associated with being a grad stud ent\, using the packages mentioned in the abstract. END:VEVENT BEGIN:VEVENT SUMMARY:Using Org-Mode For Recording Continuous Professional Development LOCATION:https://emacsconf.org/ UID:43cc5db4-e26f-fb44-9aeb-b16c38d8cef3 URL:https://emacsconf.org/2021/talks/professional DTSTART;TZID=America/Toronto:20211127T131400 DTEND;TZID=America/Toronto:20211127T132500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/professional\n# Using Org-Mode For Recording Continuou s Professional Development\nPhilip Beadling\n\nI recently had the pleasure of being audited for my CPD record with one\nof the large engineering pro fessional bodies. I decided to harness\norg-mode's TODO lists to record C PD items and my progress against them\ncompletely within Emacs. I also wa nted the ability to export the data\nin a well presented\, compact format for auditing submission.\n\nThe project was a success (I passed the audit) and the resulting system\nintegrates really well into my wider daily Emac s workflow\, making future\nCPD recording seamless.\n\nThe talk will expla in how I tweaked and extended org-mode to get it to\nrecord the data I wan ted\, followed by a demo.\n\nA basic demo org file with embedded elisp can be seen here:\n\n\nA basic generated PDF from the basic demo is here:\n![img](ht tps://preview.redd.it/nvdpmityhuw51.png?width=1169&format=png&auto=webp&s= e0c5080560c877aa02933a40c224e52b8a1fed3b)\n\nI have a much more involved e xample I could also use for the demo.\n\nThe template contains a few examp les. Examples are Goals that are split\nup into Activities. All Activitie s must have a Goal\, and within a Goal\nall activities must be complete fo r the Goal to be automatically set to\ncomplete.\n\nIt's basically leverag ing Org Capture Templates to create custom Goals\nand Activities.\n\nOn sa ve or update these are then rendered into a table using Column View.\n\nAc tivities are sorted by date they were completed on.\n\nThe Column View is pre-configured to be exported to PDF in a condensed\nbut readable format f or submission. It stays fairly readable even when\nthe pages get busy.\n\n The elisp required is all under the "Config" bullet and Emacs will ask\nto execute it on opening the Org file. The elisp concerns itself with\nnice custom org capture functions and a few functions to ensure nice\nformattin g on export\, etc.\n\n\n\n# Outline\n\n- 5-10 minutes:\n\nA quick walkth rough of the setup and functions\, followed by a demo of how\nto add CPD i tems\, and update them. Finally show generation of a PDF\ncontaining all the items tabulated and ready for audit review. I\nestimate this at appro x 10 minutes. END:VEVENT BEGIN:VEVENT SUMMARY:Creating technical API documentation and presentations using org-ba bel\, restclient\, and org-treeslide LOCATION:https://emacsconf.org/ UID:a10ce62e-6454-d784-21bb-f6a0488e883c URL:https://emacsconf.org/2021/talks/tech DTSTART;TZID=America/Toronto:20211127T132700 DTEND;TZID=America/Toronto:20211127T133800 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/tech\n# Creating technical API documentation and prese ntations using org-babel\, restclient\, and org-treeslide\nJan Ypma\n\nThe emacs org-babel package is often mentioned in conjunction with\nliterate programming. The ability to mix code segments with prose\nindeed offers an intuitive way to augment semantic code pieces with\ntextual descriptions. \n\nIn recent projects\, I've started to turn to org-mode as the primary\n format to maintain technical documentation\, as well as slides for a\ntech nical language course. By using org-babel to pull in "live" code\nfor REST requests\, language examples\, and shell scripts\, one can be\nsure that the documentation and slides are never out of date.\n\nThe session will sh ow how leverage org-babel\, restclient and\norg-treeslide to write and pre sent technical documentation with style.\n\n\n# Outline\n\n- Introduction\ n- Demo: Developer guide\n- Demo: REST API guide\n- Demo: Presentations\n- Used packages and configuration END:VEVENT BEGIN:VEVENT SUMMARY:Org as an executable format LOCATION:https://emacsconf.org/ UID:b092bc88-e74c-a9c4-611b-d47c99ef578c URL:https://emacsconf.org/2021/talks/exec DTSTART;TZID=America/Toronto:20211127T134000 DTEND;TZID=America/Toronto:20211127T135000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/exec\n# Org as an executable format\nTom Gillespie\n\n Org mode is known for its flexibility\, power\, and staggeringly diverse\n number of workflows\, users\, and use cases.\n\nThis talk explores just ho w far we can push the boundaries of the sane\nand sensible with regard to Org workflows.\n\nIn particular it will discuss shebang blocks\, and elvs: two parts of a\ncomplete system for creating executable Org files.\n\nOrg syntax does not support shebang lines. However\, it turns out that\nOrg s yntax enables something even better —\; shebang blocks.\n\nOrg is al so (supposedly) not an executable file format. However\, by\ncombining a shebang block with a Org babel source block\, and eval\nlocal variables (e lvs) Org becomes a multi-language executable format.\n\nIn this talk we in troduce shebang blocks and elvs as a two part system\nthat transforms Org files into executable documents that can run on any\nrecent version of Ema cs.\n\nThese ideas are implemented in\n and\n\, and\norgstrap.el is available as a package on MELPA and can be installed\nvia M-x install-package orgstrap.\n\nThe talk will open with a demo of how to create an executable Org file\nusing the orgstrap m achinery.\n\nWe then discuss security considerations\, and show example us e cases.\n\nFinally the talk will cover the details and development of the \nportable shebang block for Org mode that works on a wide variety of\nsys tems and shells\, and on the development of a formal specification\nand a reference implementation for using Org source blocks to\ntransform Org fil es from plain text documents with a bit of markup\ninto self describing co mputational documents\, or interactive\napplications.\n\n\n\n# Outline\n\n - 5-10 minutes:\n\nA demo of adding the orgstrap block and elvs\,\naddin g a shebang block\, and then running an org file. END:VEVENT BEGIN:VEVENT SUMMARY:The use of Org mode syntax outside of GNU/Emacs LOCATION:https://emacsconf.org/ UID:69763d57-be4e-7e74-509b-92e48a0e7ba6 URL:https://emacsconf.org/2021/talks/org-outside DTSTART;TZID=America/Toronto:20211127T135300 DTEND;TZID=America/Toronto:20211127T140500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/org-outside\n# The use of Org mode syntax outside of G NU/Emacs\nKarl Voit\n\nWith the rising interest in Org mode\, the GNU/Emac s community gained\nmuch momentum in the last decade. Being a nicely desig ned lightweight\nmarkup language\, Org mode does not only benefit users of GNU/Emacs.\nThere are many tools and services supporting Org mode syntax documents\nthat do have no direct connection to GNU/Emacs. I would like to \nelaborate on the advantages on using Org mode syntax for arbitrary\ntext outside of GNU/Emacs for better typing usability and\ncollaboration tasks .\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nThi s can only be a short teaser for the use of Org mode syntax without\nmuch comparison to other lightweight markup languages. For this\naudience\, I d o think that this would be too short because most\nattendees might already have heard the rumors that Org mode is great\nor they have adapted Org mo de in their workflows already. END:VEVENT BEGIN:VEVENT SUMMARY:Using Org-mode to teach programming LOCATION:https://emacsconf.org/ UID:aed5e190-66a0-3dd4-e5eb-be09be94e6c3 URL:https://emacsconf.org/2021/talks/teach DTSTART;TZID=America/Toronto:20211127T140600 DTEND;TZID=America/Toronto:20211127T142600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/teach\n# Using Org-mode to teach programming\nDaniel G erman\n\nIn this presentation I will explain how to use org-mode effective ly to\nprepare teaching materials\, and how to present them.\n\nFor the la st 5 years I have been using org-mode to teach programming\nin different l anguages: C++\, SQL\, Ruby\, Python\, SML\nand Scheme. Org-mode has three key advantages:\n\n1. it supports most programming languages with a commo n interface\,\n2. it is an interactive medium for delivering teaching mat erials\; and\n3. it is an always-up-to-date format that does not need to be exported in order to be published.\n\nI explain how I use org-mode in m y courses and how I combine org-mode\nnotes other tools such as github org -mode to get\nalways up-to-date teaching materials that one can use for bo th\nteaching and studying (see\n\nfor an example ).\n\nFinally\, I will discuss some important aspects to consider when usi ng\norg-mode for this purpose.\n\n\n\n# Outline\n\n20 minutes:\n\n- Intr oduction\n- Quick demonstration\n- Workflow\n- Emacs configuration\n - Important considerations\n- How to get started\n\nOh\, I made a smal l mistake. I meant to propose a 40 minutes presentation.\nBut I can give a quicker 20 minutes too. END:VEVENT BEGIN:VEVENT SUMMARY:Managing a research workflow (bibliographies\, note-taking\, and ar Xiv) LOCATION:https://emacsconf.org/ UID:fd246cee-b5d6-7cc4-2b63-20e87bb7d750 URL:https://emacsconf.org/2021/talks/research DTSTART;TZID=America/Toronto:20211127T143100 DTEND;TZID=America/Toronto:20211127T143600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/research\n# Managing a research workflow (bibliographi es\, note-taking\, and arXiv)\nAhmed Khaled\n\nResearchers and knowledge w orkers have to read and discover new papers\,\nask questions about what th ey read\, write notes and scratchwork\, and store\nmuch of this informatio n for use in writing papers and/or code. Emacs allows\nus to do all of thi s (and more) using simple text interfaces that integrate\nwell together. I n this talk I will talk about the following:\n\na. Using elfeed and elfeed -score to read new papers from arXiv.\nb. Using org-ref to import arXiv pa pers of interest into a local\nbibliography.\nc. Using Emacs hooks with bi ber and rebiber in order to keep the local\n bibliography clean and up-t o-date with conference versions of papers.\nd. Using org-roam and org-roam -bibtex to take linked\, searchable notes in\norg on research papers.\n\nT his text-based workflow allows for keeping everything accessible under\nve rsion\ncontrol and avoids the platform lock-in of binary formats (e.g. Men deley). I\nwill share my Doom Emacs configuration for this workflow\, but it is not\nlimited\nto Doom.\n\n\n\n# Outline\n\n- 5-10 minutes: I will demo the packages I use in 5 minutes. END:VEVENT BEGIN:VEVENT SUMMARY:Babel for academics LOCATION:https://emacsconf.org/ UID:db5821ed-fef4-4934-8fb3-87a0282714de URL:https://emacsconf.org/2021/talks/babel DTSTART;TZID=America/Toronto:20211127T144000 DTEND;TZID=America/Toronto:20211127T145000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/babel\n# Babel for academics\nAsilata Bapat\n\nPlain o rg-mode is already an extremely powerful and\ncustomisable tool for task a nd time management\, note-taking\, calendar\nand agenda management\, and m uch more. Babel takes org a step further\nby letting you write\, evaluate\ , and export code in different languages\nfrom within a single file. In th is talk\, I will highlight some\nfeatures of babel that I find exciting an d extremely useful\,\nparticularly for an academic workflow.\n\nGetting st arted with babel can be intimidating\, but it's hard to stop\nusing it onc e you start. As an academic\, I typically don't manage\nlarge coding proje cts. My primary purpose is writing lecture notes\,\nassignments\, and pape rs\, and managing related admin. Typically\, I want\nto try and automate t he boring portions of my workflow without extra\noverhead. I also tend to find various tasks easier in some programming\nlanguages and harder in oth ers\, and prefer to mix and match languages\nas the task dictates. Babel m akes this process seamless.\n\nA basic use case is writing a document in o rg-mode and exporting it to\nLaTeX or HTML. Org-mode even lets you write m ultiple documents in a\nsingle org file\, which can be convenient. Babel l ets you add all sorts\nof enhancements to the same file. For example\, sup pose we have a\nsingle org document with all the problem sets for a course . Within\nthis single file\, we could now:\n\n- draw pictures in ditaa\, graphviz\, or python instead of LaTeX\,\n- use python to do complex cal culations and then output the result as LaTeX\,\n- define skeletons to q uickly draw up assignment templates\,\n- toggle exporting of assignments with or without solutions based on tags\,\n- locally change export sett ings or run a post-export hook\,\n- automatically export to LaTeX after saving\,\n- tangle code blocks from some or all of the languages to exte rnal files.\n\nI will try to showcase features of babel that academics cou ld find\nhelpful\, by presenting some ways in which I have tried to use ba bel. I\nwould also like to be inspired by other people's babel workflows!\ n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nFor a 5-10 minute presentation I will give a brief intro and present one or two example files that heavily use babel. I will use these\nexamples to highl ight some of the features mentioned in the abstract. END:VEVENT BEGIN:VEVENT SUMMARY:Reproducible molecular graphics with Org-mode LOCATION:https://emacsconf.org/ UID:1fc4917c-aab4-1924-2983-e78f8bca6af9 URL:https://emacsconf.org/2021/talks/molecular DTSTART;TZID=America/Toronto:20211127T145200 DTEND;TZID=America/Toronto:20211127T150200 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/molecular\n# Reproducible molecular graphics with Org- mode\nBlaine Mooers\n\nResearch papers in structural biology should includ e the code used to make\nthe images of molecules in the article in the sup plemental materials.\nSome structural bioinformaticists have started to in clude\ntheir computer code in the supplemental materials to allow readers\ nto reproduce their analyses. However\, authors of papers reporting new\nm olecular structures often overlook the inclusion of the code that makes\nt he images of the molecules reported in their articles. Nonetheless\,\nthis aspect of reproducible research needs to become the standard practice\nto improve the rigor of the science.\n\nIn a literate programming document\, the author interleaves blocks\nof explanatory prose between code blocks t hat make the images of molecules.\nThe document allows the reader to repro duce the images in the manuscript by running the code.\nThe reader can als o explore the effect of altering the parameters in the\ncode. Org files ar e one alternative for making such literate programming\ndocuments.\n\nWe d eveloped a **yasnippet** snippet library called **orgpymolpysnips** for\ns tructural biologists ().\nTh is library facilitates the assembly of literate programming documents\nwit h molecular images made by PyMOL. PyMOL is the most popular\nmolecular gra phics program for creating images for publication\; it has\nover 100\,000 users\, which is a lot of users in molecular biology. PyMOL\nhas been used to make many of the images of biological molecules found\non the covers o f many Cell\, Nature\, and Science issues.\n\nWe used the **jupyter** lang uage in **org-babel** to send commands from\ncode blocks in Org files to P yMOL's Python API. PyMOL returns the\nmolecular image to the output block below the code block. An Emacs\nuser can convert the Org file into a PDF\, `tangle' the code blocks\ninto a script file\, and submit these for non-E macs users. We describe\nthe content of the library and provide examples o f the running PyMOL\nfrom Org-mode documents.\n\n\n# Outline\n\n- 5-10 m inutes: (brief description/outline)\n - Title slide\n - Structur al Biolog Workflow in the Mooers Lab\n - Cover images made with PyMOL \n\n - Why develop a snippet library for your field?\n - PyMOL i n Org: kernel specification\n - Creating a conda env and installing P yMOL\n - Example code block in Org to make DSSR block model of tRNA\n - Resulting image\n - Summary\n - Acknowledgements END:VEVENT BEGIN:VEVENT SUMMARY:Budgeting\, Project Monitoring and Invoicing with Org Mode LOCATION:https://emacsconf.org/ UID:c54c7930-51cc-5184-9dfb-5033e577b95e URL:https://emacsconf.org/2021/talks/project DTSTART;TZID=America/Toronto:20211127T150500 DTEND;TZID=America/Toronto:20211127T151500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/project\n# Budgeting\, Project Monitoring and Invoicin g with Org Mode\nAdolfo Villafiorita\n\nIn this talk I will present how we use Org Mode at Shair.Tech for\nbudgeting\, project monitoring\, and invo icing.\n\nWe are a small company and we are still tuning and improving the \nprocess\, but with a bit of Emacs Lisp\, the functions Org Mode\nprovide s\, and reading here and there what other users do\, we\nimplemented an ef fective workflow we have been using for nearly a\nyear\, now\, and with wh ich we are very happy. Talk duration:\n\n–\;> 20 minutes seems to be right (15 talk + questions)\n–\;> I can also make in 10 minutes\, b y focusing the talk on\n budgeting (or monitoring) END:VEVENT BEGIN:VEVENT SUMMARY:Finding Your (In)voice: Emacs for Invoicing LOCATION:https://emacsconf.org/ UID:c9870e10-2600-85a4-24fb-793dfc51164e URL:https://emacsconf.org/2021/talks/invoice DTSTART;TZID=America/Toronto:20211127T151800 DTEND;TZID=America/Toronto:20211127T152800 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/invoice\n# Find Your (In)voice: Emacs for Invoicing\nB ala Ramadurai\n\nYe Freelance warriors\, please lend me your I/O devices f or 5 minutes.\n\nYour time is your money! Do you find it a pain to generat e an invoice\,\nrecord the details into your accounting software and keep track of\ntaxes and payments? You are not alone\, I found the whole invoic e\nthingy to be extremely painful.\n\nBut worry not\, Emacs comes to our r escue.\n\nMy talk will give you a basic intro on how to use org mode\, som e embedded python code and file jugglery to generate stylistic and profess ional invoices.\n\nWhat you will learn during the session:\n\n- How to t rack your freelance time using orgmode\n- How to create the basic infras tructure for invoice generation\n- How to generate the invoice\n- How to manage multiple clients\n- How to enter the finance details into your accounting software\n- How to track invoice payments\n\nWe will use the following packages:\n\n- Emacs+orgmode (duh?)\n- yasnippet\n- pytho n layer (I use spacemacs\, so whatever is the equivalent in your config)\n - Some unnecessary Shakespearean references END:VEVENT BEGIN:VEVENT SUMMARY:Productivity Dashboards with Emacs and Kindle LOCATION:https://emacsconf.org/ UID:e4e995c0-6e06-8544-a8c3-5f9a06c856fb URL:https://emacsconf.org/2021/talks/dashboard DTSTART;TZID=America/Toronto:20211127T153100 DTEND;TZID=America/Toronto:20211127T154100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/dashboard\n# Productivity Dashboards with Emacs and Ki ndle\nMehmet Tekman\n\nSince 2008\, Amazon have released a new Kindle devi ce every year\,\nsupplanting each generation with a newer model that boast s highly\npromoted incremental features which greatly devalues the price o f\ntheir older models. These forgotten models are sold on Ebay and\nother secondhand websites at highly discount prices by owners who\ndo not see th e true potential of these devices: Kindles are\nexcellent high contrast lo w-refresh display rate E-Ink devices\,\nwith Wifi capability\, that run em bedded Linux in the\nbackground. Depending on the model\, an idle Kindle c an last weeks\nbefore needing a recharge. This makes them ideal as passive image\ndevices that can be configured easily using a few shell\nscripts. Indeed\, efforts have been made in dedicated hacker forums\nto expose the Linux filesystem and to enable features such as\ncustom screensavers\, SSH networking\, and more. By exploiting these\nfeatures\, and by carefully d isabling the software/bloatware that\ncomes with the device\, these Kindle s have found new life as online\ndashboard devices which can fetch and dis play information from the\ninternet at timely intervals.\n\nHere we descri be a tool to control multiple Kindle devices with a\nsingle org-mode/shell -based tool\, built initially to periodically\nserve updated Emacs Org-Age nda views\, but later expanded to produce\nonline local weather reports an d work calendar\, Emacs calendars\n(calfw\, org-gcal)\, daily dietary info rmation (org-calories)\,\nOrg-Mode sparse TODO trees\, miscellaneous image and text content\n(via imagemagick)\, small messages\, and much more.\n\n In this talk\, we show how to configure multiple Kindles with any\ndesired custom content\, following any daily/weekly schedule\, all\neasily manage d from Emacs within a single Org-Mode file.\n\n\n\n# Outline\n\n- 5-10 m inutes:\n\n 1-3 mins\n Talk about repurposing Kindles:\n\n - Cheap second-hand wifi device\, hackable\n - Low-powered\, long b attery life\, low refresh rate –\; perfect\n for a dashboard\ n - Timely updated Org-Mode Agendas anyone?\n - Reference to inspired projects (kindle-dashboard)\n\n 2-3 mins\n Generate content\n\n - A static text+picture image easily generated with image magick\n wrapper\n - An image of a sparse tree of org-mode TOD O file\n - An image of another emacs view (e.g. Calfw\, or org-calori es)\n - Show post-processing for optimizing image for Kindles\n\n 1-2 mins\n Configuration in a single org-mode file\n\n - Def ining Machines\n - Defining Commands to generate content\n - Def ining Schedules to run Commands on multiple Machines at\n specific points in the day\n\n 1-2 mins\n Export and Run:\n\n - Sh ow exported shell configs and generated cronjobs\n - Witness multiple Kindles producing desired content with wakeup\n timers END:VEVENT BEGIN:VEVENT SUMMARY:Emacs with Nyxt: extend your editor with the power of a Lisp browse r LOCATION:https://emacsconf.org/ UID:33776e08-e815-db94-971b-a151236e11be URL:https://emacsconf.org/2021/talks/nyxt DTSTART;TZID=America/Toronto:20211127T154400 DTEND;TZID=America/Toronto:20211127T155400 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/nyxt\n# Emacs with Nyxt: extend your editor with the p ower of a Lisp browser\nAndrea\n\nIn 2021 browsers are essential if you us e a computer. Even if Emacs\nusers love text as a format\, they may need t o shop and video call from\ntime to time (even more so in a pandemic!). So me of us modified their\nbrowsers to at least have the same keybindings as our editor of\nchoice. What if I told you there is an Emacsy browser in t he making?\nWhat if you could "ace-jump" within a web page? What if you co uld run\na REPL to extend your browser while browsing? What if you could r ecord\nmacros?! The browser exists: its name is Nyxt!\n\nIn this talk I wi ll share why it has great potential\, how you can\nintegrate it with Emacs \, and how you can migrate your Emacs mastery to\nthe web!\n\nIf you were wishing for a Lispy and Emacsy browser\, you should not\nmiss this talk!\n \nYou can learn more about this at: \n\n\n\n# Outline\n\n- 5-10 minutes: quick demo of running Nyxt from Emacs and a little explanation of the code necessary for integration END:VEVENT BEGIN:VEVENT SUMMARY:On the design of text editors LOCATION:https://emacsconf.org/ UID:86d4470a-8d19-7bd4-0c53-6aba1b49baef URL:https://emacsconf.org/2021/talks/design DTSTART;TZID=America/Toronto:20211127T155700 DTEND;TZID=America/Toronto:20211127T160700 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/design\n# On the design of text editors\nNicolas P. Ro ugier\n\nText editors are written by and for developers. They come\nwith a large set of default and implicit choices in terms of layout\,\ntypograp hy\, colorization and interaction that hardly change from one\neditor to t he other. It is not clear if these implicit choices derive\nfrom the ignor ance of alternatives or if they derive from developers'\nhabits\, reproduc ing what they are used to. Durint this talk\, I will\ncharacterize these i mplicit choices and illustrate what are some\nalternatives using GNU Emacs .\n\n# Outline\n\n1. Review of a "modern" code editor (5mn)\n2. Introducti on of an alternative using Emacs (5mn)\n\n## Links from the slides:\n\n* [ Elegant Emacs](https://github.com/rougier/elegant-emacs) (https://github.c om/rougier/elegant-emacs)\n* [On the Design of Text Editors](https://arxiv .org/abs/2008.06030) (https://arxiv.org/abs/2008.06030)\n* [N Λ N O Emacs] (https://github.com/rougier/nano-emacs) (https://github.com/rougier/nano-e macs)\n* [svg-lib (ELPA)](https://elpa.gnu.org/packages/svg-lib.html) (htt ps://elpa.gnu.org/packages/svg-lib.html)\n* [nano-theme (ELPA)](https://el pa.gnu.org/packages/nano-theme.html) (https://elpa.gnu.org/packages/nano-t heme.html)\n* [nano-modeline (ELPA)](https://elpa.gnu.org/packages/nano-mo deline.html) (https://elpa.gnu.org/packages/nano-modeline.html)\n* [nano-a genda (ELPA)](https://elpa.gnu.org/packages/nano-agenda.html) (https://elp a.gnu.org/packages/nano-agenda.html)\n\n## Contact information\n* Contact [nicolas.rougier@inria.fr](mailto:nicolas.rougier@inria.fr)\n* Follow my w ork at [github.com/rougier](https://github.com/rougier)\n* Support my work at [github.com/sponsors/rougier](https://github.com/sponsors/rougier) or [en.liberapay.com/rougier/](https://en.liberapay.com/rougier/) END:VEVENT BEGIN:VEVENT SUMMARY:Emacs development updates LOCATION:https://emacsconf.org/ UID:59e4daca-1e46-9054-9573-9c91966d6987 URL:https://emacsconf.org/2021/talks/dev-update DTSTART;TZID=America/Toronto:20211127T161100 DTEND;TZID=America/Toronto:20211127T161900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/dev-update\n# Emacs development updates\nJohn Wiegley END:VEVENT BEGIN:VEVENT SUMMARY:How Emacs made me appreciate software freedom LOCATION:https://emacsconf.org/ UID:48a8580f-52ce-cc84-6a23-1eddf720ae02 URL:https://emacsconf.org/2021/talks/freedom DTSTART;TZID=America/Toronto:20211127T162200 DTEND;TZID=America/Toronto:20211127T170000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/freedom\n# How Emacs made me appreciate software freed om\nProtesilaos Stavrou\n\nThe theme will be "how Emacs empowered my softw are freedom".\nI will outline the key moments in my transition to a GNU/Li nux operating\nsystem and mark those which eventually contributed towards me becoming\nan Emacs user\, maintainer of a—\;dare I say—\;po pular package\, and\ncontributor to upstream Emacs (among others). By all uding to personal\nexperiences\, I will draw generalisable insights and co nnect them to what\nI believe are irreducible qualities of Emacs qua softw are and Emacs as a\ncommunity of like-minded people. The talk will be the oretical in\nnature: there won't be any code-related demonstration nor tec hnical\nreferences that only people with a background in computer science would\nlikely recognise. Personal anecdotes shall be tangential to the po int\nand considered as ancillary to the thesis of what Emacs represents fr om\nthe standpoint of software freedom and user empowerment. The\npresent ation is intended for a general audience that is interested in\nGNU softwa re in general and Emacs in particular. My formal educational\nbackground as a social scientist (i.e. not a programmer) and later as a\nphilosopher informs my approach to this topic.\n\nThe presentation shall be 40 minutes long. Its text will be in essay\nform and shall be supplied as complemen tary material to the video. The\nnotation will be in Org mode. I cannot provide an outline in advance\,\nas it will most likely not be consistent with the actual presentation.\nIf\, however\, this is absolutely required for administrative purposes I\nshall furnish one regardless with the provi so that I am in no way bound\nby it and thus reserve the right to modify i t ahead of the main event. END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 1 LOCATION:https://emacsconf.org/ UID:5287b003-f368-36c4-4f9b-8135734cad39 URL:https://emacsconf.org/2021/talks/day1-close DTSTART;TZID=America/Toronto:20211127T170200 DTEND;TZID=America/Toronto:20211127T170700 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/day1-close\n# Closing remarks day 1 END:VEVENT BEGIN:VEVENT SUMMARY:Opening remarks day 2 LOCATION:https://emacsconf.org/ UID:d877a57a-14cf-a194-99c3-a344ecb24acc URL:https://emacsconf.org/2021/talks/day2-open DTSTART;TZID=America/Toronto:20211128T090000 DTEND;TZID=America/Toronto:20211128T090500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/day2-open\n# Opening remarks day 2 END:VEVENT BEGIN:VEVENT SUMMARY:How to write faster Emacs Lisp LOCATION:https://emacsconf.org/ UID:35d1d9e4-dfdf-f254-6aab-7a466fbfaf09 URL:https://emacsconf.org/2021/talks/faster DTSTART;TZID=America/Toronto:20211128T090500 DTEND;TZID=America/Toronto:20211128T092500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/faster\n# How to write faster Emacs Lisp\nDmitry Gutov \n\n- Before optimizing\, benchmark first.\n- Different benchmarking a pproaches.\n- Live evaluation\, step-debugging\, measuring from a debugg er breakpoint.\n- How to determine if a function is expensive. How to pi ck one from\n competing alternatives (cl-lib\, seq\, dash\, lean core). \n- Print-benchmarking.\n- Byte-compiled code can give a very differen t picture\, changing where\n the bottleneck is. How to quickly load a b yte-compiled version.\n- Steps taken to speed up the Xref package recent ly. END:VEVENT BEGIN:VEVENT SUMMARY:Tree-edit: Structural editing for Java\, Python\, C\, and beyond! LOCATION:https://emacsconf.org/ UID:599ef3fa-4c73-6c94-4953-75bbc7830681 URL:https://emacsconf.org/2021/talks/structural DTSTART;TZID=America/Toronto:20211128T093000 DTEND;TZID=America/Toronto:20211128T094000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/structural\n# Tree-edit: Structural editing for Java\, Python\, C\, and beyond!\nEthan Leba\n\nIn this talk\, I'll discuss a vis ion for how writing code could be\, where the\nediting operations map dire ctly to the primitives of the language itself -- and\nmy humble attempt of implementing this vision. _tree-edit_ seeks to provides a\nstructural edi ting plugin supporting conceivably any language with a tree-sitter\nparser .\n\n**Structural editing does not have to be relegated to lisps or niche DSLs.**\n\nI liken the state of code editing today to writing assembly. Th e reason why\npeople like Python more than assembly is that for most purpo ses\, the building\nblocks of the language are mismatched with our thought process. We don't think\nin terms of registers and addresses\, we think i n terms of variables\, functions\,\netc. So when we write and edit code\, why do we edit in terms of deleting\,\ninserting\, replacing characters &# x2013\; not wrapping\, inserting\, raising\,\ndeleting expressions and sta tements?\n\nI'll also discuss the implementation of tree-edit\, which uses a novel\ncombination of the fantastic\n[tree-sitter](https://github.com/e macs-tree-sitter/elisp-tree-sitter) parser\nwith an embedded logic program ming DSL ([miniKanren](http://minikanren.org/)\,\nusing elisp port [reazon ](https://github.com/nickdrozd/reazon)) to power it's\nsyntax tree generat ion.\n\nCheck out the GitHub repo [here](https://github.com/ethan-leba/tre e-edit)!\n\n# Outline\n\n- Discuss motivation ( Why should I care?)\n- Demonstrate tree-edit (Live -coding with tree-edit)\n- Demonstrate tree-edit syntax tree generator ( Elevator pitch on miniKanren) END:VEVENT BEGIN:VEVENT SUMMARY:Self-Describing Smart DSL's: The Next Magits LOCATION:https://emacsconf.org/ UID:29d45a6f-9425-f5a4-bd23-297292e4ab7a URL:https://emacsconf.org/2021/talks/dsl DTSTART;TZID=America/Toronto:20211128T094300 DTEND;TZID=America/Toronto:20211128T100300 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/dsl\n# Self-Describing Smart DSL's: The Next Magits\nP sionic\n\nWhen we begin programming\, the promise is to automate away repe titive\ntasks in life. As those program's capability grows\, we begin to need\nconfiguration UI's. We can start with a CLI\, but as any CLI grows\ , we\nrun into the following issues:\n\n- As options pile up\, the intui tion of simplicity is lost in helps and\nmanpages\n\n- Stateless operati on has no idea what to do next and loses terseness\n- Frequent dispatch of commands to interrogate state required for the\noperator to decide what a ction to perform\n\n- Composition compounds with all of these issues\n\n Magit has the UI trifecta of being terse\, intuitive\, and intelligent.\nM agit's UI input library\, Transient\, is a standalone package for\ndevelop ing more killer UI's\, and not just for CLI applications\, but\nalso for s erver applications\, Emacs applications\, and Emacs itself.\n\nWhile Trans ient's potential is to create the most highly productive\nUI's short of th ought control\, going beyond simple command dispatchers\nrequires a deeper dive. When we think like constructing a DSL for the\ntask and using tran sient to input that DSL\, we get an intelligent\,\nself-describing modal p rogramming system.\n\n\n# Outline\n\n- Updates to Transient documentation and demos of API examples\n- Wrapping a custom CLI tool in Transient END:VEVENT BEGIN:VEVENT SUMMARY:"Yak-shaving to a UI framework" (/"Help! I accidentally yak-shaved my way to writing a UI framework because overlays were slow") LOCATION:https://emacsconf.org/ UID:8f62e571-91da-bd14-e7c3-b445c7b19d23 URL:https://emacsconf.org/2021/talks/ui DTSTART;TZID=America/Toronto:20211128T100600 DTEND;TZID=America/Toronto:20211128T101600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/ui\n# "Yak-shaving to a UI framework" (/"Help! I accid entally yak-shaved my way to writing a UI framework because overlays were slow")\nErik Anderson\n\nTui.el is a textual User Interface (UI) framework for Emacs Lisp\nmodeled after the popular JavaScript 'React' framework. This package\nimplements React Component API's with the goal of simplifyin g\ndevelopment of interactive UI's for all Emacs users- regardless of\nthe ir prior experience with React or web programming. Components\nprovide a useful functional unit for constructing complex interfaces\ndeclaratively and also eliminate much of the burden associated with\nupdating textual co ntent as application state changes. This talk will\ncover use of the tui. el API and its operation in a textual environment\nby implementing some ba sic UI's.\n\n\n\n# Outline\n\n- 5-10 minutes:\n - Problem space: UI implementation complexity.\n - API introduction: Displaying content\ , Components.\n - Visual taste of dashboards and applications built w ith tui. END:VEVENT BEGIN:VEVENT SUMMARY:Extending Emacs in Rust with Dynamic Modules LOCATION:https://emacsconf.org/ UID:b073d391-6c37-6bf4-7afb-47edc79631a9 URL:https://emacsconf.org/2021/talks/rust DTSTART;TZID=America/Toronto:20211128T101900 DTEND;TZID=America/Toronto:20211128T103900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/rust\n# Extending Emacs in Rust with Dynamic Modules\n Tuấn-Anh Nguyễn\n\nDynamic module support has been available since Emacs 2 5. It can be\nused to extend Emacs with native libraries\, for performance \,\nOS-specific features\, or other functionalities that would take a lot\ nof time to re-implement in Lisp. The officially supported language is\nC\ , which is tedious and error-prone to use. This talk discusses a\n**safe** alternative that is also a lot **more convenient**: writing these\ndynami c modules in Rust.\n\n\n\n# Outline\n\n- Walking through creating **a sim ple dynamic module** in\n Rust\, including setting up CI.\n- Going thr ough and explaining the **available APIs**. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Application Framework: A 2021 Update LOCATION:https://emacsconf.org/ UID:e7981936-6d72-93d4-8783-5ac64a0ae5bb URL:https://emacsconf.org/2021/talks/eaf DTSTART;TZID=America/Toronto:20211128T104400 DTEND;TZID=America/Toronto:20211128T105400 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/eaf\n# Emacs Application Framework: A 2021 Update\nMat thew Zeng\n\nEmacs Application Framework (EAF) is a customizable and exten sible GUI\napplication framework that extends Emacs graphical capabilities using\nPyQt5. There are many new but important updates since EmacsConf202 0\nlast year\, this talk will briefly go over them.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline) END:VEVENT BEGIN:VEVENT SUMMARY:Extending the "model" of Emacs to other applications LOCATION:https://emacsconf.org/ UID:5e1baaaf-56a3-b5b4-31cb-5437cf465cf9 URL:https://emacsconf.org/2021/talks/model DTSTART;TZID=America/Toronto:20211128T105800 DTEND;TZID=America/Toronto:20211128T110800 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/model\n# Extending the "model" of Emacs to other appli cations\nLaszlo Krajnikovszkij\n\nEmacs is a great operating environment i n a sense that it provides consistency\nacross different tools and applica tions within the Emacs ecosystem\, as well as\nexternal apps that can be i ntegrated into it. It is also the most truly\nmalleable environment\, each element of which can be adjusted or extended\,\ntherefore providing the u ser with more power and freedom in personal computing.\nEmacs definitely c an be considered one of greatest software products in\nexistence.\n\nAs a non-programmer\, having had the chance to stumble upon Emacs a couple of\n years ago\, the only regret to have is that it didn't happen earlier. The definite\nkiller feature of Emacs - Org-mode\, is what draws many of the l ess technical\nfolks to join the party and gradually start to use Emacs fo r writing documents\,\nwhether personal or work related\, manage tasks\, e mails and potentially everything\nelse. The learning curve and difference in approach\, however\, leaves some\npotential users too scared of the arc ane interface even with all it's quirks and\nfeatures because it requires at least some technical skills to understand and\nuse properly\, and does not have an easy way to connect with external tools that\nmost people are forced to use for work.\n\nThis talk proposes some ideas about how the mod el of Emacs\, it's focus on\nconsistency\, extensibility\, as well as it's powerful interaction model can be\ncarried over to make modern interfaces \, whether desktop or web applications\,\nthat would be designed with a go al of reflecting the spirit of Emacs in terms of\nthe aforementioned featu res it possesses\, and therefore enhance the capabilities\nof the Emacs\, while at the same time utilizing it as a backend for\ntext-processing and editing to a large extent. It would be really great to have\na personal we b-interface for using modern task management tools\, chats\, emails\nand s uch\, but from a UI defined by the user. The goal is to use it on a deskto p\nor mobile\, locally or self-hosted on a server\, with support for touch and\ngesture-based workflows\, while preserving the Emacs philosophy and allowing to\nseamlessly switch between Emacs and its web extension\n\nThe proposed solution is to integrate more of the modern tools with Emacs\,\nu tilize Org-mode as a way to define application-specific parameters for the se\ntools through Org properties\, and then utilize these parameters for m aking a\nmodern local frontend that would enhance Emacs UI while allowing to use external\ntools in a more personal and freedom respecting way (maki ng the originals\nobsolete over time). The talk serves the purpose of invi ting community members to\na discussion about how Emacs can become more mo dern\, more approachable by people\nwho don't possess the neccessarry tech nical skills to adjust it themselves\, but\nare keen to learn it\, and pot entially how to attract more users to greater\nproductivity\, computer lit eracy and the ideas of free software.\n\n\n\n# Outline\n\n- 5-10 minutes \n - Introduction\n - Issues with most modern tools for work\n - Issues with Emacs as a tool for work\n - In search for a hybrid approach\n - User controlled web-apps\n - Opinions encouraged\n - Contacts END:VEVENT BEGIN:VEVENT SUMMARY:Don't write that package! or: How I learned to stop worrying and lo ve emacs-devel LOCATION:https://emacsconf.org/ UID:4cd6de26-cf48-95c4-9d3b-28895a43ec53 URL:https://emacsconf.org/2021/talks/devel DTSTART;TZID=America/Toronto:20211128T111100 DTEND;TZID=America/Toronto:20211128T113100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/devel\n# Don't write that package! or: How I learned t o stop worrying and love emacs-devel\nStefan Kangas\n\nWe need a successfu l Emacs on this planet. This means that we need an\nexcellent out-of-the- box experience -- one that just works\, but that you\ncan still hack and c ustomize. There is so much great experimentation\nand work going on out t here in the wider Emacs community\, but we would\nbe even better off if mo re of that could go into Emacs itself.\n\nEmacs' greatest strength is unfo rtunately sometimes also its greatest\nweakness: it is *too* hackable.\n\n On occasion\, people out there add stuff to their Init file to fix this\no r that annoyance\, or even bug. The more ambitious might go on to\npackag e up such fixes: "Hey\, 'foo-mode' doesn't have support for\n'bookmark-set '\, let's write a package!" I am here to suggest that you\nshould not do that.\n\nYou should submit a patch to Emacs! Maybe more people have that same\nproblem or annoyance\, and would benefit from your solution?\n\nIt i s sometimes perceived as hard to contribute to Emacs core. I want\nto enc ourage more people to get involved\, and show that the barrier to\nentry i s really not that high. If I can do it\, you can do it too!\n\nSo should you really write that package\, or should you stop worrying and\nlearn to love emacs-devel? Listen to my talk to find out more! END:VEVENT BEGIN:VEVENT SUMMARY:Turbo Bindat LOCATION:https://emacsconf.org/ UID:49a35f05-b71f-1d14-2343-a6638bec0d08 URL:https://emacsconf.org/2021/talks/bindat DTSTART;TZID=America/Toronto:20211128T113600 DTEND;TZID=America/Toronto:20211128T120600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/bindat\n# Turbo Bindat\nStefan Monnier\n\n\n# Table of Contents\n\n\n\nBindat is an ELisp library to help manipulate binary data . This is a\nniche library that is used by packages such as Websocket\, EM MS\, and\ncpio-mode. Its implementation was repeatedly caught harassing ha pless\nkitten while at the same time providing poor service slowly. For\nE macs-28\, Bindat was rewritten so as to make it more efficient and\nflexib le while respecting the kitten. In this presentation I intent to\nshow how we saved those. Not recommended for birds.\n\n- ~20 minutes:\n 5 min : Intro and presentation of Bindat\n 5 min: Showcase some of its proble ms\n 5 min: Present the new design\n 5 min: Examples of what can be done with it END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Lisp native compiler\, current status and future developments LOCATION:https://emacsconf.org/ UID:1ddbe380-b4f3-2b84-3cc3-9e799536db8e URL:https://emacsconf.org/2021/talks/native DTSTART;TZID=America/Toronto:20211128T124000 DTEND;TZID=America/Toronto:20211128T132000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/native\n# Emacs Lisp native compiler\, current status and future developments\nAndrea Corallo\n\nEmacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor\nfamily. GNU Emacs is traditionally capable of executing Elisp code\neither interpreted or byte-interpreted a fter it has been compiled to\nbyte-code.\n\nIn this talk I'll discuss the Emacs Lisp native compiler. This feature\nrecently merged into the main E macs development line allow for\nautomatically compiling and executing Eli sp as native code.\n\nDuring the presentation I'll touch on:\n\n- design goals\n- compiler and runtime design and implementation\n- performanc e implications\n- upstream process\n- area of improvements and future developments\n\nFormat: 40 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Old McCarthy Had a Form LOCATION:https://emacsconf.org/ UID:5947c3e9-93c1-1014-7ffb-aa0e0097e3e4 URL:https://emacsconf.org/2021/talks/form DTSTART;TZID=America/Toronto:20211128T132700 DTEND;TZID=America/Toronto:20211128T133700 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/form\n# Old McCarthy Had a Form\nIan Eure\n\nMost prac tical languages are multi-paradigm\, offering several\nabstractions for th e programmer. But did you know that Emacs Lisp\ncomes with a powerful sys tem for object-oriented programming? Join me\nfor a discussion of EIEIO\, and learn how it can help you write more\nmodular\, flexible Emacs Lisp.\n \n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n - What is CLOS/EIEIO?\n - Why would I want OOP in Emacs Lisp?\n - How is the CLOS object model different from C++/Java/.NET?\n - Furthe r reading END:VEVENT BEGIN:VEVENT SUMMARY:Test blocks LOCATION:https://emacsconf.org/ UID:5e162d34-ea19-8544-b693-dd6da0e885cd URL:https://emacsconf.org/2021/talks/test DTSTART;TZID=America/Toronto:20211128T134100 DTEND;TZID=America/Toronto:20211128T134600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/test\n# Test blocks\nEduardo Ochs\n\nIn this presentat ion I will show an idea that feels completely obvious\nonce we see it\, bu t that only occured to me after after using Emacs\nand eev as my main inte rface to the computer for more than 20 years.\nTake any interpreted langua ge that supports multi-line comments\, and\nwhose interpreter can be run i n an Emacs buffer - for example Lua\,\nHaskell\, Python\, or Julia\; let's say just "Lua" from here on for\nsimplicity. So: suppose that we have a L ua script that we wrote\, that\nis called "foo.lua" and that defines lots of functions and defines the\nclasses Bar and Bletch. We can put after the definition of the class\nBar a multi-line comment that contains an eepitc h block that when\nexecuted starts a Lua interpreter\, loads the script fo o.lua (by\nrunning 'dofile "foo.lua"')\, and then has several tests for th at class\nand its methods\; and we can put another block with tests like t hat\nafter the class Bletch\, and other blocks after some functions. Eepit ch\nallows sending these tests line by line to the Lua interpreter by\ntyp ing on each line that we want to send\, and this lets us create\nte sts that are very easy to understand even without writing comments\;\nthis gives us a very quick way to document code by executable tests\,\nthat is super-great for experimental code that is still going to\nchange a lot be fore running the risk of being read by other people.\n\nThese multi-line c omments with eepitch blocks that run an interpreter\nand make it load the current file are called "test blocks". The\ncommand \\`M-x eeit' inserts a test block at point\, using the major mode\nto decide the right syntax to use for the multi-line comments and for\nthe "dofile". We can configure t he syntax of the test blocks for the\ncurrent major mode by running \\`M-x find-eeit-links'\; this can also be\nused to add support for test blocks to more languages (or\, more\nprecisely: to more major modes).\n\nEduardo Ochs END:VEVENT BEGIN:VEVENT SUMMARY:Let's talk about bug trackers LOCATION:https://emacsconf.org/ UID:51023225-018f-cf24-9d73-3c267907c13e URL:https://emacsconf.org/2021/talks/bug DTSTART;TZID=America/Toronto:20211128T134900 DTEND;TZID=America/Toronto:20211128T140900 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/bug\n# Let's talk about bug trackers\nBastien Guerry\n \nFor 17 years\, the Org developers didn't use a bug tracker\,\nshamelessl y failing the Joel Spolsky test. Why was it "good enough"?\nWhy was it wr ong? Why did we move to Woof!? Why Woof! is not a bug\ntracker?\n\n- 2 0 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware LOCATION:https://emacsconf.org/ UID:1407591a-29fd-3f64-1beb-01dea6e9d7d2 URL:https://emacsconf.org/2021/talks/bidi DTSTART;TZID=America/Toronto:20211128T141600 DTEND;TZID=America/Toronto:20211128T143600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/bidi\n# Perso-Arabic Input Methods And BIDI Aware Apps \nMohsen BANAN -- محسن بنان\n\nEmacs is a multilingual user environment. A true multilingual editor must\nsupport bidirectionality and shaping of c haracters. Perso-Arabic scripts require\nboth of these features.\n\nStarti ng with Emacs 24\, full native bidi\n(bidirectional) support became availa ble. For\nmany years prior to that Unicode support was\navailable and by around year 2000\, reasonable\nopen-source shaping libraries were also ava ilable.\n\nWith these in place at around 2012\, I developed\ntwo Persian i nput methods for emacs. These input\nmethods or variations of them can als o be used for\nArabic and other Perso-Arabic scripts.\n\nWith all of these in place\, Emacs has now become\nthe ne plus ultra Libre-Halaal and Convi vial usage\nenvironment for Perso-Arabic users.\n\nSince emacs comes loade d with everything (Gnus\nfor email\, Bbdb for address books\, XeLaTeX mode s\nfor typesetting\, org-mode for organization\, spell\ncheckers\, complet ion systems\, calendar\, etc.)\, all basic\ncomputing and communication ne eds of Perso-Arabic\nusers can be addressed in one place and\ncohesively.\ n\nIn this talk I will demonstrate what a wonderful\nenvironment that can be.\n\nMy talk will be in two parts.\n\nIn Part 1\, I cover Persian input methods. With an emphasis on "Banan\nMulti-Character (Reverse) Translitera tion Persian Input Method". The\nsoftware is part of base emacs distributi on. Full documentation is available\nat:\n\n Persian Input Metho ds\n For Emacs And More Broadly Speaking\n شیوه‌هایِ د رج به فارسی‌\n \n\ nIn Part 2\, I'll demonstrate that Emacs is far more than an editor. Emacs can be\na complete Perso-Arabic usage environment. I will also cover the ramifications\nof bidi on existing emacs applications\, including:\n\n- Spell Checking\, Dictionaries And Completion Frameworks:\n - Existing e macs facilities can be extended to cover Perso-Arabic.\n\n- Gnus:\n - Perso-Arabic rich email sending in HTML.\n - Ramifications of bidi on from:\, to: and subject: lines.\n\n- Bbdb: Ramifications of bidi on display and completion.\n\n- Calendar:\n - Ramifications of bidi on display.\n - Use of Persian text for Persian (solar) calendar.\n - Use of Arabic text for Muslem (lunar) calendar.\n\n- AUCTeX: Persia n typesetting with XeLaTeX\n - Option of having right-to-left Perso- Arabic aliases for all latex commands.\n\nReferences:\n\n - Persian Inp ut Methods:\n \n < http://www.persoarabic.org/PLPC/120036> -- Persian Input Methods Access Pa ge\n -- Various Perso-Arabic resources\n -- Re-Publicatio n Of\n Persian Information Interchange and Display Mechanism\, us ing Unicode\n -- Gi t repo for\n persian.el -- Quail package for inputting Persian/Fa rsi keyboards\n\n - BIDI:\n -- Annex #9 of the Unicode standard\n \n Emacs B idirectional Display\n\n - Blee and Persian-Blee:\n -- Very messy work-in-progress git repo for:\n Blee: By* Libre-Halaal Emacs Environment\n -- A Moral Alternative To The Proprietary American Digital Ecosystem\n --\n Nature o f Polyexistentials:\n Basis for Abolishment of The Western Inte llectual Property Rights Regime\n -- Defining The Libre-Halaal Label\n\n - Mohsen BANAN -- مح سن بنان:\n -- Globish\n -- Farsi\n -- French END:VEVENT BEGIN:VEVENT SUMMARY:Moldable Emacs\, a step towards sustainable software LOCATION:https://emacsconf.org/ UID:3364aedb-a496-5c64-5383-b0080afa6d7b URL:https://emacsconf.org/2021/talks/mold DTSTART;TZID=America/Toronto:20211128T144100 DTEND;TZID=America/Toronto:20211128T145100 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/mold\n# Moldable Emacs\, a step towards sustainable so ftware\nAndrea\n\nWe could learn about things better. Mountains of knowled ge hide in\nplaces we cannot access or use. The more we write down\, the m ore it\ntakes to find and understand things we find useful.\n\nKnowledge ( web\, software\, books) keeps growing faster and faster! This\nis not sust ainable: we cannot keep up with it! What if we repeat the\nerror of somebo dy else\, only because it would take too much reading to\nknow? What if th at knowledge is in some code we work with everyday?\n\nMoldable developmen t is a paradigm shift that attempts to solve this\nproblem. In a gist\, th e tool you use should let you create special tools\nto learn smartly from what you have already.\n\nSince we use Emacs\, let's make our great editor moldable!\n\nThis talk shows my progress in making Emacs closer to such a tool. We\nare going to see how we can mold structured (and maybe even nat ural)\ntext to learn better\, how we can inject notes in our projects and how\nself documenting this tool is!\n\nI aim to inspire you to find a quic ker way to learn from our digital\nworld!\n\nYou can learn more about this at: \n\n\n\n# Outline\n\n- 5-10 minutes: quick demo of moldable-emacs END:VEVENT BEGIN:VEVENT SUMMARY:CLEDE the Common Lisp Emacs Development Environment. LOCATION:https://emacsconf.org/ UID:daf3570b-3df3-9db4-a1f3-ce98d9863717 URL:https://emacsconf.org/2021/talks/clede DTSTART;TZID=America/Toronto:20211128T145500 DTEND;TZID=America/Toronto:20211128T151500 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/clede\n# CLEDE the Common Lisp Emacs Development Envir onment.\nFermin MF\n\nI've been developing a package that helps with the d evelopment of\nCommon Lisp's software\,\nit's uses the internal semantic f ramework\, it has a custom reader\nand integration for\ncommon Emacs packa ges (like Sly and the internal inferior-lisp-mode).\n\nThe idea is to supp ly features that other language with and static\nanalyzer have\,\nlike ref actoring and code generation.\n\nFor more details: \n\n- 20 minutes:\n It seems like not too much people kn ows about semantic\, so I can\n summarize some of it in 10 minutes\n and then An explanation on how to use the package\, how to extend it\n and the future of it. END:VEVENT BEGIN:VEVENT SUMMARY:Imaginary Programming LOCATION:https://emacsconf.org/ UID:f03ae971-4d2b-ccc4-2643-4ae2391ce1ab URL:https://emacsconf.org/2021/talks/imaginary DTSTART;TZID=America/Toronto:20211128T152200 DTEND;TZID=America/Toronto:20211128T153300 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/imaginary\n# Imaginary Programming\nShane Mulligan\n\n Imaginary Programming (IP) is both methodology and paradigm. It is an\next ension of literate programming and a way of creating software without\nthe use of imperative\, functional or even declarative code. Yet IP employs\n all disciplines to achieve the miraculous. The only contingency is on one\ nor more language models\, known as foundation models. The real value of I P\nis not found by abandoning sound logic altogether\, but in weaving the real\nwith the imaginary. The future of imaginary programming is one in wh ich\nalmost all of computing is inferred. I have built a suite of tools ba sed on\nemacs for interfacing real programming languages with imaginary on es\; all\nof this in order to demonstrate what I mean\; a ‘complex’ termin al that lets\nyou imagine what happens no matter how nested you are within interpreters\,\nan example-oriented language\, a file format that encodes the provenance of\ntext and a library for imaginary functional programmin g primitives called\niLambda. It is important to recognise IP because\, fo r lack of a better\nterm\, it has far-reaching implications for intellectu al property and the\nGPL. Please keep an open mind.\n\n\n\n# Outline\n\n- 5-10 minutes:\n- a 5 minute introduction to imaginary programming\, fo llowed by\n - a demonstration of iLambda.\n - iλ\, a family of imaginary programming libraries\n \n\n\n\nIRC libertyprime at #emacs on libera\n\nShane Mulligan END:VEVENT BEGIN:VEVENT SUMMARY:How to build an Emacs LOCATION:https://emacsconf.org/ UID:27595637-b6b9-f764-805b-ff1b7f009006 URL:https://emacsconf.org/2021/talks/build DTSTART;TZID=America/Toronto:20211128T153600 DTEND;TZID=America/Toronto:20211128T155600 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/build\n# How to build an Emacs\nFermin MF\n\nThis is a deep dive in the Emacs philosophical and technical\naspect on what makes our beloved GNU Emacs\nwhat it it. It's also a talk about the early LISP m achines and\nfascinating were those days of experimentation and engineerin g.\n\nIt will continue with the Emacs benefits/trade-offs from an\nuser/de veloper stand points\, what things can be improved and\nwhat can be an hyp othetical path on how to build a software that\ncan also be called Emacs.\ n\nAs a last part\, I'll talk about CEDAR\, an Emacs that I've been\ndevel oping in Common Lisp\, the project goals\nand the challenges.\n\nFor more details about CEDAR: \n\n- 40 minute s:\n A dive into the Emacs/Lisp machines history\, what makes GNU Emacs \n an Emacs and how you can build an Emacs. END:VEVENT BEGIN:VEVENT SUMMARY:M-x Forever: Why Emacs will outlast text editor trends LOCATION:https://emacsconf.org/ UID:80d1ad02-5fe4-03b4-c573-17ea6cdb61aa URL:https://emacsconf.org/2021/talks/forever DTSTART;TZID=America/Toronto:20211128T160300 DTEND;TZID=America/Toronto:20211128T164300 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/forever\n# M-x Forever: Why Emacs will outlast text ed itor trends\nDavid Wilson\n\nThe computer software industry has seen many "popular" text editors come\nand go\, often due to the mercurial fashions of software development. In\nthis talk\, we'll take a look at why popular editors fade and the\nspecific aspects of Emacs that will ensure it remai ns relevant\nregardless of mainstream popularity.\n\n\n\n# Outline\n\n- Di scuss the core thesis\, the features that make Emacs\n desirable for long -term use (extensibility\, day-to-day 'life' features)\n\n- Include more b ackground on the text editor landscape and\n how the scope of various edi tors is more narrow and doesn't compare to Emacs.\n\n- Talk about specific instances where editors were popular\, fell out\n of popularity\, and wh y (due to changing fashions\, not usually\n better features). END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 2 LOCATION:https://emacsconf.org/ UID:828e7c62-8430-f1a4-431b-63c308d58688 URL:https://emacsconf.org/2021/talks/day2-close DTSTART;TZID=America/Toronto:20211128T165000 DTEND;TZID=America/Toronto:20211128T170000 DTSTAMP:20211108T192506 DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/day2-close\n# Closing remarks day 2 END:VEVENT END:VCALENDAR