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:emacsconf-2021-day1-open URL:https://emacsconf.org/2021/talks/day1-open DTSTART;TZID=America/Toronto:20211127T090000 DTEND;TZID=America/Toronto:20211127T090500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/day1-open \n# Opening remarks END:VEVENT BEGIN:VEVENT SUMMARY:Emacs News Highlights LOCATION:https://emacsconf.org/ UID:emacsconf-2021-news URL:https://emacsconf.org/2021/talks/news DTSTART;TZID=America/Toronto:20211127T090500 DTEND;TZID=America/Toronto:20211127T091000 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/news \n# Emacs News Highlights\nSacha Chua - pronouns: she/her\n\nQuick overview of Emacs communit y highlights since the last conference\n\n 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:emacsconf-2021-frownies URL:https://emacsconf.org/2021/talks/frownies DTSTART;TZID=America/Toronto:20211127T091100 DTEND;TZID=America/Toronto:20211127T093100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/frownies \n# The True Frownies are the Friends We Mad e Along the Way: An Anecdote of Emacs's Malleability\nCase Duckworth\n\nEm acs is well-known for being extremely flexible\, programmable\, and\nexten sible\; in fact\, that's probably the biggest reason it's still\nbeing use d after 40+ years of existence\, and even has enough clout to\ngenerate an entire conference in its name. In this medium-length\npresentation\, I w ill add another point to the data set proving Emacs's\nabilities\, by narr ating the latest package I made\, \\`frowny.el\\`\, from\nits conception t o its current\, nearly-completed state.\n\nI wrote frowny.el to scratch so meone else's itch as a joke on IRC\, but\nit has been called "pretty usefu l\, for a joke package." I feel like\nthat encapsulates the spirit of Ema cs and that's why I want to present\non this topic.\n\nAlong the way\, I'l l 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:emacsconf-2021-adventure URL:https://emacsconf.org/2021/talks/adventure DTSTART;TZID=America/Toronto:20211127T093400 DTEND;TZID=America/Toronto:20211127T095400 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/adventure \n# Choose Your Own (Technology-Enhanced Le arning) Adventure\nGreta Goetz\n\nThis presentation will move through Emac s artifacts: first illustrating possible paths for beginners and then mapp ing out the significance of the enhanced learning potential of Emacs (Cail let in Andler & Guerry\, Engelbart\, Markauskaite & Goodyear). The technol ogy-enhanced learning (TEL) that Emacs affords includes a systems view of 'many\, many features' (Stallman) which surpass the confines of a pre-fabr icated environment (Stiegler). This affords diverse possibilities for indi viduals to interact creatively and autonomously to satisfy their own needs (Ill\nich). Its adaptability will be shown to be an asset in supporting t he learning trends identified by the latest pedagogical research (Guo).\n\ n# Intro\n\nThe 'many\, many features' (Stallman 2002: 4) of Emacs do not limit imaginable types of interactivity\, supporting both formal and infor mal learning (cf. Caillet in Andler & Guerry 2008). Emacs can function as a scaffold for development (cf. Vygotsky 1979: 86)\, promoting the creativ e and autonomous ability of individuals to interact with their digital env ironment and others who share the use of this tool (Illich 1973). Individu als can use Emacs as often or seldom as they want to express their needs a nd meaning in action\, with no obligation to use it (cf. Illich 1973).\n\n The formal learning involved pertains to Emacs programs and documentation (the 'temple') while related discussion and smaller task-based problem sol ving represents examples of informal learning (the 'forum') (cf. Caillet i n Andler & Guerry 2008). As a context-rich environment (Trocmé-Fabre 1999) \, Emacs fulfills the promise of general computing: not boxing users into personas (cf. Stiegler 2018) but allowing users at all levels to organize and assemble multiple knowledge domains (Markauskaite & Goodyear 2017) and programs so that they are 'just right'. People wanting to create tailored learning environments who feel alienated or unsupported by pre-fabricated text and programming environments will find their way with Emacs.\n\n1. What if we are beginners overwhelmed by formal Emacs documentation? Two po tential learning paths:\n\n - a. Build on a needs-basis. Make your own artifacts: no use-case is too small\; leave your trace.\n - b. Study ot hers' inits and use-cases\; Read Planet EmacsLife\; Consult programmer or power user use-cases\; Map out workflows.\n\n2. Emacs as personal\, creati ve\, autonomous:\n\n - a. Emacs allows for organic ongoing changes to t he organization of knowledge\, imagination\, and experience (cf. Guerry & Gaume 2009) . This is important as not all learners have the same spatial/ visual needs and because these needs and knowledge can change over time (V ygotsky 1979\; Gardner 1983\; Wang 2020).\n - b. Emacs allows us to con trol our tools and tasks (Illich 1973). By contrast\, care-less use of pre -fabricated apps can lead to loss of know-how in life (Stiegler 2018).\n - c. The art of collecting traces (digital or not) is timeless - and impo rtant to survival.\n\n3. Emacs as systems design for technology-enhanced learning (TEL):\n\n - a. Good TEL design performance should also educat e the designer (Goodyear & Retalis 2010). Further\, good design focuses on 'frameworks'\, which are systems 'that can be customized\, specialized\, or extended to provide more specific\, more appropriate\, or slightly diff erent capabilities' (Alexander 1993 in Gabriel 1996)\, assembling epistemi c domains (Markauskaite & Goodyear 2017). This pedagogical approach is sup ported by Emacs artifacts (packages\, documentation\, forums\, etc.).\n - b. The 'wise' use of programming (Crichton 1983) actively manages and organizes workflow. This permits iterative development. Elementary use-cas e: a workflow that relies on PPT and Zoom vs. already having a more modula r viewpoint supported by diverse Emacs packages. The latter adaptability i s supported by the latest educational research (Guo). Further: Emacs allow s movement from user to contributor (Stiegler 2018\; Stavrou).\n - c. W ise programming can include fun programming - 'there are people who want t o put a stop to that' (Crichton 1983\; Gaffney 2019).\n - d. Extending this systems/design view\, Emacs is developed and maintained by a communit y dedicated to supporting this freedom of use in these multiple contexts ( cf. Illich 1973).\n - e. One perspective is less likely to override oth ers in such a heterogeneous environment (Morin 2004).\n\n# Conclusion\n\nE macs does not limit any imaginable type of interactivity and promotes a di versity of related content\, further supporting the pursuit of more advanc ed TEL (viz. Guo). This was illustrated through an elementary use-case tha t compared being limited to PPT as opposed to having basic familiarity wit h Emacs\, which permits manageable\, continuous exploration of knowledge\, workflows\, and tools (cf. Alexander in Gabriel\; Goodyear & Retalis) and movement from consumer to creator (Stiegler\; Stavrou). Using Emacs means being able to use a sophisticated digital tool\, thanks to the contributi ons of heterogeneous maintainers\, developers\, and community members whos e artifacts comprise a meta picture. It is possible\, through using Emacs\ , to learn about the design of digital learning and learning in general as access to knowledge is not walled off by prefabricated design(cf. Illich\ ; Stiegler). We can choose our own adventure.\n\n\n# References\n\n## Gene ral workflow and fun:\n- Bin\, C. (2020). Mastering Emacs in one year. < https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/mast er/guide-en.org#on-the-shoulders-of-giants>. Accessed 25 October 2021.\n- Gaffney\, N. (2019). Oblique strategies. . Accessed 25 October 2021.\n- Goetz\, G. (2021). Addition al references: A back-to-school/GTD Emacs journey. . Accessed 25 October 2021.\n- Guerry\, B. (2020). Org-mode features you may not know. . Accessed 25 October 20 21.\n- Kaiser\, K. (2017). Writing a technical book in Emacs and Org-mod e. . Accessed 25 October 2021.\n- Planet Emacs Life. . Accessed 25 October 2021.\n- Stavrou\, P. My p ackages for GNU Emacs. . Accessed 25 Octob er 2021.\n- Wellons\, C. Emacs articles. . Accessed 25 October 2021.\n\n## On TEL design:\n- Caillet\, E. (2008). L’exposition\, le musée: L’éducation informelle comme école de l’é ducation formelle. In Andler\, D. & Guerry\, B. (Eds.). *Apprendre demain: Sciences cognitives et éducation à l’ère numérique*\, 137-154. Paris: Hat ier.\n- Crichton\, M. (1983). *Electronic life*. New York: Knopf.\n- D e Bono\, E. (2009). *Think! Before it's too late*. London: Random House.\n - Engelbart\, D. (1962). *Augmenting human intellect: A conceptual frame work*. Menlo Park: Stanford Research Institute.\n- Drosos\, I. & Guo\, P . (2021). Streamers teaching programming\, art\, and gaming: Cognitive app renticeship\, serendipitous teachable moments\, and tacit expert knowledge . IEEE Symposium on Visual Languages and Human-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). Learni ng\, technology and design. In Goodyear\, P. & Retalis\, S. (Eds.). *Techn ology-enhanced learning: Design patterns and pattern languages*\, 1-27. Ro tterdam\, Boston: Sense Publishers.\n- Guerry\, B. & Gaume\, N. (2008). Ce que les jeux vidéo nous apprennent. In Andler\, D. & Guerry\, B. (Eds.) . *Apprendre Demain: Sciences cognitives et éducation à l’ère numérique*\, 155-159. Paris: Hatier.\n- Guo\, P. (2018). Students\, systems\, and in teractions: Synthesizing the first\nfour years of Learning@Scale and chart ing the future. L@S 2018\, June 26–28\, 2018\, London\, United Kingdom. DO I: https://doi.org/10.1145/3231644.3231662. . Accessed 25 October 2021.\n- Guo\, P.\, Kim\, J. & Rubin\, R. (2014). How video production affects student engagement: An empirical study of MOO C videos. ACM Conference on Learning at Scale. . Accessed 25 October 2021.\n- Illich\, I. (1973). *Tools of convivia lity*. New York: Harper & Row.\n- Kim\, J.\, Guo\, P.\, Seaton\, D.\, Mi tros\, P.\, Gajos\, K. & Miller\, R. (2014). Understanding in-video dropou ts and interaction peaks in online lecture videos. ACM Conference on Learn ing at Scale. . Accessed 25 October 2021.\n- Markauskaite\, L. & Goodyear\, P. (2017). *Epistemic fluency and profes sional education: innovation\, knowledgeable action and actionable knowled ge*. Dordrecht: Springer.\n- Markel\, J. & Guo\, P. (2020). Designing th e future of experiential learning environments for a post-COVID world: A p reliminary case study. NFW ’20 (Symposium on the New Future of Work)\, Aug ust 3–5\, 2020\, Virtual Event. . Accessed 2 5 October 2021.\n- Morin\, E. ([2004] 2008). *La Méthode - tome 6: Éthiq ue*. Éditions du Seuil: Paris.\n- Stallman\, R. (2002). *Free software\, free society*. GNU Press\, Free Software Foundation.\n- Stiegler\, B. ( 2018). *The neganthropocene*. Open Humanities Press.\n- Trocmé-Fabre\, H . (1999). *Réinventer le métier d’apprendre*. Paris: Éditions d’organisati on.\n- Vygotsky\, L. (1979). *Mind in society: The development of higher psychological processes*. Cambridge and London: Harvard University Press. \n- Wang\, S. (2020). Open knowledge. Hope in Source. . Accessed 25 October 2021.\n\n\n# Availability and preferred Q&A approach\n\nDue to the pandemic situation\, my teaching schedule fluctuates so I\nwill not know my availability until much closer to the\ndate. Therefore\, I can only gua rantee 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# Speaker release\n\nBy submitting t his proposal\, I agree that my presentation at\nEmacsConf 2021 is subject to the following terms and conditions:\n\nThe EmacsConf organizers may cap ture audio and video (a "Recording")\nof my presentation and any associate d materials\, which may include\nslides\, notes\, transcripts\, and prerec ording(s) of my presentation\nthat I provide to the EmacsConf organizers.\ n\nI authorize the EmacsConf organizers to distribute\, reproduce\,\npubli cly display\, and prepare derivative works of the Recording and\nany deriv ative works of the Recording (the "Licensed Materials")\nunder the terms o f the Creative Commons Attribution-ShareAlike 4.0\nInternational (CC BY-SA 4.0) license.\n\nI grant to the EmacsConf organizers permission to use my name\,\nlikeness\, and biographic information in association with their u se\nof the Licensed Materials under the above license.\n\nI represent that I have the authority to grant the above license to\nthe EmacsConf organiz ers. If my presentation incorporates any\nmaterial owned by third parties\ , I represent that the material is\nsublicensable to the EmacsConf organiz ers 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 A lways The Only Answer" LOCATION:https://emacsconf.org/ UID:emacsconf-2021-unix URL:https://emacsconf.org/2021/talks/unix DTSTART;TZID=America/Toronto:20211127T095600 DTEND;TZID=America/Toronto:20211127T100600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/unix \n# GNU's Not UNIX: Why Emacs Demonstrates The U NIX Philosophy Isn't Always The Only Answer\nDaniel Rose\n\nThe talk targe ts users who are curious about computational philosophies\,\nor those who might not know how to best utilise Emacs conceptually. The\ntalk will cove r what the UNIX philosophy is\, the GNU Free Software\nprinciples\, a typi cal (Neo)Vi(m) user's approach\, and then how one might\naccomplish this i n Emacs combining the aformentioned ideals. The\nlisteners will learn how they can approach Emacs ideologically\, and how\nblocking themselves into one philosophy or the other will limit their\nefficiency. Although you may be a veteran GNU/Linux and Emacs user\,\nunderstanding how to use both ph ilosophies together will still allow you\nto be more performant than witho ut.\n\n\n\n# Outline\n\n- 5-10 minutes:\n Cut out the portions of exp laining the whole UNIX and GNU philosophies\n and instead talk about co ncrete examples:\n - How can one limit their usage of CLI tools while still maintaining\n the ideals of both.\n - How using CLI too ls can still perfectly flow into Emacs.\n - How having all programs i n Emacs and unified keybindings is akin\n to a terminal user. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs manuals translation and OmegaT LOCATION:https://emacsconf.org/ UID:emacsconf-2021-omegat URL:https://emacsconf.org/2021/talks/omegat DTSTART;TZID=America/Toronto:20211127T100900 DTEND;TZID=America/Toronto:20211127T101900 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/omegat \n# Emacs manuals translation and OmegaT\nJean -Christophe Helary\n\nEven if it is generally agreed that software localiz ation is a good thing\, Emacs is lacking in that respect for a number of t echnical reasons. Nonetheless\, the free software using public could great ly benefit from Emacs manuals translations\, even if the interface were to remain in English.\n\nOmegaT is a multiplatform GPL3+ "computer aided tra nslation" (CAT) tool running on OpenJDK 8. CATs are roughly equivalent for translators to what IDEs are for code writers. Casual translators can ben efit from their features but professionals or commited amateurs are the mo st likely to make the most use of such tools.\n\nWhen OmegaT\, free softwa re based forges and Emacs meet\, we have a free multi-user translation env ironment that can easily sustain the (close to) 2 million words load that comprise the manuals distributed with Emacs\, along with powerful features like arbitrary string protection for easy typing and QA (quality assuranc e)\, automatic legacy translation handling\, glossary management\, history based or predictive autocompletion\, etc.\n\nThe current trial project fo r French is hosted on 2 different forges:\n\n1. sr.ht hosts the source fi les\n \n2. chapril hos ts the OmegaT team project architecture\n \n\nThe sources are regularly updated with a po4a based shell script.\n\n# Outline\n\n- Duration: 10 minutes\n- Software used dur ing the presentation\n - [po4a](https://po4a.org) a tool to convert docum entation formats to and from the commonly used `gettext` **PO** format.\n po4a supports the `texinfo` format along with many others.\n - [OmegaT ](https://omegat.org) a "computer aided translation" tool used by translat ors to efficiently combine translation ressources (legacy translations\, g lossaries\, etc.) so as to produce more consistent translations.\n\nDuring the presentation\, I will show:\n\n- How to use po4a to convert the texi files to the PO format (the org.org file is also converted)\n- What are th e specificities of the Emacs manuals and what difficulties they present to the tanslator\n- How to address those specificities in OmegaT\, with regu lar expressions\n- How to use OmegaT features such as arbitrary string pro tection\, legacy translation handling\, glossaries\, autocompletion\, QA\, etc.\n- How to use OmegaT with a team of 2 (or more) translators working at the same time\n- How to solve translation conflicts\n\nI will *not* sho w:\n\n- How to create an OmegaT project\n- How to setup an OmegaT team pro ject\n- How to use OmegaT from the command line to work in localization pi pelines\n- How to use machine translation and MT "post-edit"\n- How to con vert back the translated files to texi format\n- How to install translated texi files for use in Emacs END:VEVENT BEGIN:VEVENT SUMMARY:NonGNU ELPA Update LOCATION:https://emacsconf.org/ UID:emacsconf-2021-nongnu URL:https://emacsconf.org/2021/talks/nongnu DTSTART;TZID=America/Toronto:20211127T102200 DTEND;TZID=America/Toronto:20211127T103200 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/nongnu \n# NonGNU ELPA Update\nKaluđerčić\, Philip\n\ nNonGNU ELPA was announced last year\, as a package repository\nthat will be enabled by default in Emacs\, but doesn't require\nany copyright assign ment. This means that a lot of popular\npackages can now be installed easi er\, without any additional\nconfiguration.\n\nIn this talk I would like t he give a reminder of what NonGNU\nELPA is and how it works\, update the p articipants on what has\nhappened since last year and what maintainers hav e 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:emacsconf-2021-borg URL:https://emacsconf.org/2021/talks/borg DTSTART;TZID=America/Toronto:20211127T103500 DTEND;TZID=America/Toronto:20211127T104500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/borg \n# Manual Package Management in The Era of Repo sitories - Why and How\nDhavan (codingquark)\n\nEmacs now has many package repositories - enought to have conflicts\nand arguments about. The packag es are becoming big\, they depend on many\nother packages and it is not ea sy to keep track of what all is being\ninstalled in our Emacsen. An aggres sive way out of this is to use Yet\nAnother Package and install all elisp code 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 use 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:emacsconf-2021-telega URL:https://emacsconf.org/2021/talks/telega DTSTART;TZID=America/Toronto:20211127T104800 DTEND;TZID=America/Toronto:20211127T105800 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/telega \n# telega.el and the Emacs community on Teleg ram\nGabriele Bozzola and Evgeny Zajcev\n\nTelegram is a cross-platform in stant messaging system. The large number of\nfeatures and the widespread a doption make it a good choice for both private\nconversations with friends and for large online communities. In this talk\, I\nam going to present t he Emacs community on Telegram and its initiatives. I\nam also going to di scuss telega.el\, the Emacs client for Telegram. telega.el\nis a high-qual ity package that perfectly integrates in Emacs. It supports\nthe vast majo rity of the features supported by the official clients\, while\nadding sev eral unique ones. In the talk\, I will present the package and\nhighlight some of the most important features. END:VEVENT BEGIN:VEVENT SUMMARY:Introducing N-Angulator LOCATION:https://emacsconf.org/ UID:emacsconf-2021-nangulator URL:https://emacsconf.org/2021/talks/nangulator DTSTART;TZID=America/Toronto:20211127T110100 DTEND;TZID=America/Toronto:20211127T111100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/nangulator \n# Introducing N-Angulator\nKevin Haddock \n\nThe Unix file system is essentially an N-dimentional sparse array that \ncurrently lacks a decent editor and browser which\ncan effectively lever age the logical tri-angulation (or\, more properly\n"n-angulation") of ato ms/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 uncir culated prototype\nvideo demo. Be sure and turn the volume UP!)\n\nna.in tro.flv\n\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descrip tion/outline)\n\nThe reconceptualization of the Unix file system as the N- Dimensional\nsparse array will be discussed.\n\nA simple pre-existing data base will be queried.\n\nIf time\, questions will be entertained by video/ audio and/or IRC. END:VEVENT BEGIN:VEVENT SUMMARY:A day in the life of a janitor LOCATION:https://emacsconf.org/ UID:emacsconf-2021-janitor URL:https://emacsconf.org/2021/talks/janitor DTSTART;TZID=America/Toronto:20211127T111400 DTEND;TZID=America/Toronto:20211127T113400 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/janitor \n# A day in the life of a janitor\nStefan Mo nnier\n\nBecause of a reckless former Emacs maintainer that shall\n bette r stay unnamed\, ELisp has seen a fair bit of churn in the last 10\n year s\, making it necessary to clean up "old" code [in order to open up\n the road 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 cl-lib / lexical-binding party.\n\n- ~20 minutes\n Here really\, I'm not sure how much time this will take. I put 20\n minutes because I t hink I might be able to fill that and I think more\n than that could tu rn too boring. I intend to make it a "live coding"\n kind of thing\, w ithout anything like an outline: it's basically "make"\n followed by fi xing the warnings. END:VEVENT BEGIN:VEVENT SUMMARY:How to help Emacs maintainers? LOCATION:https://emacsconf.org/ UID:emacsconf-2021-maintainers URL:https://emacsconf.org/2021/talks/maintainers DTSTART;TZID=America/Toronto:20211127T113900 DTEND;TZID=America/Toronto:20211127T114900 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/maintainers \n# How to help Emacs maintainers?\nBasti en Guerry\n\nAfter 11 years of helping as the Org maintainer\, I would\nli ke to share a few lessons learned. My goal is help everyone take\ncare of Emacs 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:emacsconf-2021-gregorian URL:https://emacsconf.org/2021/talks/gregorian DTSTART;TZID=America/Toronto:20211127T115200 DTEND;TZID=America/Toronto:20211127T120200 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/gregorian \n# Typesetting Gregorian Chant with Emacs\ nSpencer King\n\nThere are a variety of methods for typesetting gregorian\ nchant scores and outputting high-quality sheet music. One of these is\na tool called Gregorio\, which integrates with LaTeX allowing scores to\nbe cleanly inserted into other documents. All Gregorio files are plain\ntext\ , allowing them to easily be shared with other users and managed\nwith a v ersion control system. In this talk\, I will give a brief\noverview of the Gregorio tool and then show how it can be used in\nEmacs by typesetting a simple score. All code and examples will be\nmade available to help new u sers get started with typesetting their\nown scores.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n 1. Introduction to chan t 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:emacsconf-2021-montessori URL:https://emacsconf.org/2021/talks/montessori DTSTART;TZID=America/Toronto:20211127T123000 DTEND;TZID=America/Toronto:20211127T124000 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/montessori \n# Emacs and Montessori Philosophy\n\n\nA s a former Montessori guide and now parent\, I often think about the\nrela tionship of this particular educational philosophy and how it manifests\ni n my work with software\, Emacs in particular. This talk introduces the\nc oncept of Emacs as an educational environment and how it expresses element s of\nMontessori psychology regarding "Human Tendencies". Human tendencies are innate\ndrives present in everybody that allow us to explore and make sense of our world.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descript ion/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 limi ts)\n - the environment itself is prepared specifically to foster eng agement\n\n Enumerate the "Human Tendencies":\n\n - Abstraction\n - Activity\n - Communication\n - Exactness\n - Explora tion\n - Manipulation (of the environment)\n - Order\n - Or ientation\n - Repetition\n - Self-Perfection\n - Work (also described as "purposeful activity")\n\n How does Emacs express these t hings?\n\n - in the short version\, pose the question\, and perhaps g ive one example.\n - Emacs is an environment that provides facilities for individuals to\n find their way to proficiency through their H uman Tendencies.\n - We are all both learners and guides\, Emacs is o ur 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:emacsconf-2021-erg URL:https://emacsconf.org/2021/talks/erg DTSTART;TZID=America/Toronto:20211127T124300 DTEND;TZID=America/Toronto:20211127T125800 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/erg \n# Emacs Research Group\, Season Zero: What we d id together with Emacs in 2 hours a week for a year\nNoorah Alhasan\, Joe Corneli\, Raymond Puzio\, Leo Vivier\n\nThe four of us met at EmacsConf 20 20\, and joined together around a\ncommon interest in Emacs and research. Since then\, we have convened as\nthe Emacs Research Group for weekly mee tings. During these meetings\, we\ntook notes collaboratively\, using a ‘ conflict-free replicated data type’\npackage (crdt.el)\; at the end of eac h session\, we debriefed using a\ntemplate that we call a Project Action R eview (PAR). As as a\nmeta-review of our sessions\, every six weeks we pr epared a Causal\nLayered Analysis (CLA)\, which gave us a different perspe ctive on what we\nhad done. We reflected further on our experiences and m ethods\, linking\nour CLA to plans and design patterns. As a formal resea rch output\, we\ncontributed a write-up of these matters to a joint paper which we\npresented at the Pattern Languages of Programs Conference (PLoP 2021).\nThe paper included an interactive workshop\, in which we explored roles\nin real-time problem solving and collaboration.\n\nIn our short tal k we share information about these methods\, making a\ncase for other peop le getting together and creating their own small\nresearch communities sim ilar to ours. END:VEVENT BEGIN:VEVENT SUMMARY:One effective CS grad student workflow LOCATION:https://emacsconf.org/ UID:emacsconf-2021-cs URL:https://emacsconf.org/2021/talks/cs DTSTART;TZID=America/Toronto:20211127T130100 DTEND;TZID=America/Toronto:20211127T131100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/cs \n# One effective CS grad student workflow\nGreg C oladonato\n\nWhen I was an undergrad\, I learned many things\, most of\nwh ich I forgot. In the time since then\, I've discovered Org Mode\, Org\nRoa m\, Org Noter\, Org Ref. PDF Tools\, and Anki. I would like to share\nmy a pproach for capturing all the information that comes my way as a\nMS CS st udent at Georgia Tech\, in the hopes that I can both get\nfeedback on ways to improve the system I use\, as well as hopefully\ninspire others to bui ld workflows that make them more productive.\n\n\n\n# Outline\n\n- 5-10 minutes: Go through some typical workflows associated with being a grad st udent\, 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:emacsconf-2021-professional URL:https://emacsconf.org/2021/talks/professional DTSTART;TZID=America/Toronto:20211127T131400 DTEND;TZID=America/Toronto:20211127T132400 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/professional \n# Using Org-Mode For Recording Continu ous Professional Development\nPhilip Beadling\n\nI recently had the pleasu re of being audited for my CPD record with one\nof the large engineering p rofessional bodies. I decided to harness\norg-mode's TODO lists to record CPD items and my progress against them\ncompletely within Emacs. I also wanted the ability to export the data\nin a well presented\, compact forma t for auditing submission.\n\nThe project was a success (I passed the audi t) and the resulting system\nintegrates really well into my wider daily Em acs workflow\, making future\nCPD recording seamless.\n\nThe talk will exp lain how I tweaked and extended org-mode to get it to\nrecord the data I w anted\, followed by a demo.\n\nA basic demo org file with embedded elisp c an be seen here:\n\n\nA basic generated PDF from the basic demo is here:\n![img]( https://preview.redd.it/nvdpmityhuw51.png?width=1169&format=png&auto=webp& s=e0c5080560c877aa02933a40c224e52b8a1fed3b)\n\nI have a much more involved example I could also use for the demo.\n\nThe template contains a few exa mples. Examples are Goals that are split\nup into Activities. All Activit ies must have a Goal\, and within a Goal\nall activities must be complete for the Goal to be automatically set to\ncomplete.\n\nIt's basically lever aging Org Capture Templates to create custom Goals\nand Activities.\n\nOn save or update these are then rendered into a table using Column View.\n\n Activities are sorted by date they were completed on.\n\nThe Column View i s pre-configured to be exported to PDF in a condensed\nbut readable format for submission. It stays fairly readable even when\nthe pages get busy.\n \nThe elisp required is all under the "Config" bullet and Emacs will ask\n to execute it on opening the Org file. The elisp concerns itself with\nnic e custom org capture functions and a few functions to ensure nice\nformatt ing on export\, etc.\n\n\n\n# Outline\n\n- 5-10 minutes:\n\nA quick walk through of the setup and functions\, followed by a demo of how\nto add CPD items\, and update them. Finally show generation of a PDF\ncontaining al l the items tabulated and ready for audit review. I\nestimate this at app rox 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:emacsconf-2021-tech URL:https://emacsconf.org/2021/talks/tech DTSTART;TZID=America/Toronto:20211127T132700 DTEND;TZID=America/Toronto:20211127T133700 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/tech \n# Creating technical API documentation and pre sentations using org-babel\, restclient\, and org-treeslide\nJan Ypma\n\nT he emacs org-babel package is often mentioned in conjunction with\nliterat e programming. The ability to mix code segments with prose\nindeed offers an intuitive way to augment semantic code pieces with\ntextual description s.\n\nIn recent projects\, I've started to turn to org-mode as the primary \nformat to maintain technical documentation\, as well as slides for a\nte chnical language course. By using org-babel to pull in "live" code\nfor RE ST requests\, language examples\, and shell scripts\, one can be\nsure tha t the documentation and slides are never out of date.\n\nThe session will show how leverage org-babel\, restclient and\norg-treeslide to write and p resent technical documentation with style.\n\n\n# Outline\n\n- Introductio n\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:emacsconf-2021-exec URL:https://emacsconf.org/2021/talks/exec DTSTART;TZID=America/Toronto:20211127T134100 DTEND;TZID=America/Toronto:20211127T135100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/exec \n# Org as an executable format\nTom Gillespie\n \nOrg mode is known for its flexibility\, power\, and staggeringly diverse \nnumber of workflows\, users\, and use cases.\n\nThis talk explores just how far we can push the boundaries of the sane\nand sensible with regard t o Org workflows.\n\nIn particular it will discuss shebang blocks\, and elv s: two parts of a\ncomplete system for creating executable Org files.\n\nO rg syntax does not support shebang lines. However\, it turns out that\nOrg syntax enables something even better —\; shebang blocks.\n\nOrg is also (supposedly) not an executable file format. However\, by\ncombining a shebang block with a Org babel source block\, and eval\nlocal variables (elvs) Org becomes a multi-language executable format.\n\nIn this talk we introduce shebang blocks and elvs as a two part system\nthat transforms Or g files into executable documents that can run on any\nrecent version of E macs.\n\nThese ideas are implemented in\n and\n\, and\norgstrap.el is available as a package on MELPA a nd can be installed\nvia M-x install-package orgstrap.\n\nThe talk will op en with a demo of how to create an executable Org file\nusing the orgstrap machinery.\n\nWe then discuss security considerations\, and show example use cases.\n\nFinally the talk will cover the details and development of t he\nportable shebang block for Org mode that works on a wide variety of\ns ystems and shells\, and on the development of a formal specification\nand a reference implementation for using Org source blocks to\ntransform Org f iles from plain text documents with a bit of markup\ninto self describing computational documents\, or interactive\napplications.\n\n\n\n# Outline\n \n- 5-10 minutes:\n\nA demo of adding the orgstrap block and elvs\,\nadd ing 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:emacsconf-2021-org-outside URL:https://emacsconf.org/2021/talks/org-outside DTSTART;TZID=America/Toronto:20211127T135400 DTEND;TZID=America/Toronto:20211127T140400 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/org-outside \n# The use of Org mode syntax outside of GNU/Emacs\nKarl Voit\n\nWith the rising interest in Org mode\, the GNU/Em acs community gained\nmuch momentum in the last decade. Being a nicely des igned lightweight\nmarkup language\, Org mode does not only benefit users of GNU/Emacs.\nThere are many tools and services supporting Org mode synta x 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\nte xt outside of GNU/Emacs for better typing usability and\ncollaboration tas ks.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nT his can only be a short teaser for the use of Org mode syntax without\nmuc h comparison to other lightweight markup languages. For this\naudience\, I do think that this would be too short because most\nattendees might alrea dy have heard the rumors that Org mode is great\nor they have adapted Org mode in their workflows already. END:VEVENT BEGIN:VEVENT SUMMARY:Using Org-mode to teach programming LOCATION:https://emacsconf.org/ UID:emacsconf-2021-teach URL:https://emacsconf.org/2021/talks/teach DTSTART;TZID=America/Toronto:20211127T140700 DTEND;TZID=America/Toronto:20211127T142700 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/teach \n# Using Org-mode to teach programming\nDaniel German\n\nIn this presentation I will explain how to use org-mode effecti vely to\nprepare teaching materials\, and how to present them.\n\nFor the last 5 years I have been using org-mode to teach programming\nin different languages: C++\, SQL\, Ruby\, Python\, SML\nand Scheme. Org-mode has thre e key advantages:\n\n1. it supports most programming languages with a com mon interface\,\n2. it is an interactive medium for delivering teaching m aterials\; and\n3. it is an always-up-to-date format that does not need t o be exported in order to be published.\n\nI explain how I use org-mode in my courses and how I combine org-mode\nnotes other tools such as github o rg-mode to get\nalways up-to-date teaching materials that one can use for both\nteaching and studying (see\n\nfor an examp le).\n\nFinally\, I will discuss some important aspects to consider when u sing\norg-mode for this purpose.\n\n\n\n# Outline\n\n20 minutes:\n\n- In troduction\n- Quick demonstration\n- Workflow\n- Emacs configuration \n- Important considerations\n- How to get started\n\nOh\, I made a sm all 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:emacsconf-2021-research URL:https://emacsconf.org/2021/talks/research DTSTART;TZID=America/Toronto:20211127T143200 DTEND;TZID=America/Toronto:20211127T143700 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/research \n# Managing a research workflow (bibliograp hies\, note-taking\, and arXiv)\nAhmed Khaled\n\nResearchers and knowledge workers have to read and discover new papers\,\nask questions about what they read\, write notes and scratchwork\, and store\nmuch of this informat ion for use in writing papers and/or code. Emacs allows\nus to do all of t his (and more) using simple text interfaces that integrate\nwell together. In this talk I will talk about the following:\n\na. Using elfeed and elfe ed-score to read new papers from arXiv.\nb. Using org-ref to import arXiv papers of interest into a local\nbibliography.\nc. Using Emacs hooks with biber and rebiber in order to keep the local\n bibliography clean and up -to-date with conference versions of papers.\nd. Using org-roam and org-ro am-bibtex to take linked\, searchable notes in\norg on research papers.\n\ nThis text-based workflow allows for keeping everything accessible under\n version\ncontrol and avoids the platform lock-in of binary formats (e.g. M endeley). I\nwill share my Doom Emacs configuration for this workflow\, bu t it is not\nlimited\nto Doom.\n\n\n\n# Outline\n\n- 5-10 minutes: I wil l demo the packages I use in 5 minutes. END:VEVENT BEGIN:VEVENT SUMMARY:Babel for academics LOCATION:https://emacsconf.org/ UID:emacsconf-2021-babel URL:https://emacsconf.org/2021/talks/babel DTSTART;TZID=America/Toronto:20211127T144100 DTEND;TZID=America/Toronto:20211127T145100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/babel \n# Babel for academics\nAsilata Bapat\n\nPlain org-mode is already an extremely powerful and\ncustomisable tool for task and time management\, note-taking\, calendar\nand agenda management\, and much more. Babel takes org a step further\nby letting you write\, evaluat e\, and export code in different languages\nfrom within a single file. In this talk\, I will highlight some\nfeatures of babel that I find exciting and extremely useful\,\nparticularly for an academic workflow.\n\nGetting started with babel can be intimidating\, but it's hard to stop\nusing it o nce you start. As an academic\, I typically don't manage\nlarge coding pro jects. My primary purpose is writing lecture notes\,\nassignments\, and pa pers\, and managing related admin. Typically\, I want\nto try and automate the boring portions of my workflow without extra\noverhead. I also tend t o find various tasks easier in some programming\nlanguages and harder in o thers\, and prefer to mix and match languages\nas the task dictates. Babel makes this process seamless.\n\nA basic use case is writing a document in org-mode and exporting it to\nLaTeX or HTML. Org-mode even lets you write multiple documents in a\nsingle org file\, which can be convenient. Babel lets you add all sorts\nof enhancements to the same file. For example\, s uppose we have a\nsingle org document with all the problem sets for a cour se. 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 c alculations and then output the result as LaTeX\,\n- define skeletons to quickly draw up assignment templates\,\n- toggle exporting of assignmen ts with or without solutions based on tags\,\n- locally change export se ttings or run a post-export hook\,\n- automatically export to LaTeX afte r saving\,\n- tangle code blocks from some or all of the languages to ex ternal files.\n\nI will try to showcase features of babel that academics c ould find\nhelpful\, by presenting some ways in which I have tried to use babel. 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 t wo example files that heavily use babel. I will use these\nexamples to hig hlight some of the features mentioned in the abstract. END:VEVENT BEGIN:VEVENT SUMMARY:Reproducible molecular graphics with Org-mode LOCATION:https://emacsconf.org/ UID:emacsconf-2021-molecular URL:https://emacsconf.org/2021/talks/molecular DTSTART;TZID=America/Toronto:20211127T145300 DTEND;TZID=America/Toronto:20211127T150300 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/molecular \n# Reproducible molecular graphics with Or g-mode\nBlaine Mooers\n\nResearch papers in structural biology should incl ude the code used to make\nthe images of molecules in the article in the s upplemental materials.\nSome structural bioinformaticists have started to include\ntheir computer code in the supplemental materials to allow reader s\nto reproduce their analyses. However\, authors of papers reporting new\ nmolecular structures often overlook the inclusion of the code that makes\ nthe images of the molecules reported in their articles. Nonetheless\,\nth is aspect of reproducible research needs to become the standard practice\n to improve the rigor of the science.\n\nIn a literate programming document \, the author interleaves between blocks\nof prose the code that makes the images of molecules. The document allows\nthe reader to reproduce the ima ges in the manuscript by running the code.\nThe reader can also explore th e effect of altering the parameters in the\ncode. Org files are one altern ative for making such literate programming\ndocuments.\n\nWe developed a y asnippet snippet library called orgpymolpysnips for\nstructural biologists ().\nThis library facilitat es the assembly of literate programming documents\nwith molecular images m ade by PyMOL. PyMOL is the most popular\nmolecular graphics program for cr eating images for publication\; it has\nover 100\,000 users\, which is a l ot of users in molecular biology. PyMOL\nhas been used to make many of the images of biological molecules found\non the covers of many Cell\, Nature \, and Science issues.\n\nWe used the `jupyter' language in org-babel to s end commands from\ncode blocks in Org files to PyMOL's Python API. PyMOL r eturns the\nmolecular image to the output block below the code block. An E macs\nuser can convert the Org file into a PDF\, `tangle' the code blocks\ ninto a script file\, and submit these for non-Emacs users. We describe\nt he content of the library and provide examples of the running PyMOL\nfrom Org-mode documents.\n\n\n# Outline\n\n- 5-10 minutes: (brief description /outline)\n - Title slide\n - Structural Biolog Workflow in the Mooers Lab\n - Cover images made with PyMOL\n\n - Why develop a snippet library for your field?\n - PyMOL in Org: kernel specificatio n\n - Creating a conda env and installing PyMOL\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:emacsconf-2021-project URL:https://emacsconf.org/2021/talks/project DTSTART;TZID=America/Toronto:20211127T150600 DTEND;TZID=America/Toronto:20211127T151600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/project \n# Budgeting\, Project Monitoring and Invoic ing 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 in voicing.\n\nWe are a small company and we are still tuning and improving t he\nprocess\, but with a bit of Emacs Lisp\, the functions Org Mode\nprovi des\, and reading here and there what other users do\, we\nimplemented an effective workflow we have been using for nearly a\nyear\, now\, and with which 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\, by focusing the talk on\n budgeting (or monitoring) END:VEVENT BEGIN:VEVENT SUMMARY:Find Your (In)voice: Emacs for Invoicing LOCATION:https://emacsconf.org/ UID:emacsconf-2021-invoice URL:https://emacsconf.org/2021/talks/invoice DTSTART;TZID=America/Toronto:20211127T151900 DTEND;TZID=America/Toronto:20211127T152900 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/invoice \n# Find Your (In)voice: Emacs for Invoicing\ nBala Ramadurai\n\nYe Freelance warriors\, please lend me your I/O devices for 5 minutes.\n\nYour time is your money! Do you find it a pain to gener ate an invoice\,\nrecord the details into your accounting software and kee p track of\ntaxes and payments? You are not alone\, I found the whole invo ice\nthingy to be extremely painful.\n\nBut worry not\, Emacs comes to our rescue.\n\nMy talk will give you a basic intro on how to use org mode\, s ome embedded python code and file jugglery to generate stylistic and profe ssional invoices.\n\nWhat you will learn during the session:\n\n- How to track your freelance time using orgmode\n- How to create the basic infr astructure for invoice generation\n- How to generate the invoice\n- Ho w to manage multiple clients\n- How to enter the finance details into yo ur accounting software\n- How to track invoice payments\n\nWe will use t he following packages:\n\n- Emacs+orgmode (duh?)\n- yasnippet\n- pyt hon 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:emacsconf-2021-dashboard URL:https://emacsconf.org/2021/talks/dashboard DTSTART;TZID=America/Toronto:20211127T153200 DTEND;TZID=America/Toronto:20211127T154200 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/dashboard \n# Productivity Dashboards with Emacs and Kindle\nMehmet Tekman\n\nSince 2008\, Amazon have released a new Kindle de vice every year\,\nsupplanting each generation with a newer model that boa sts highly\npromoted incremental features which greatly devalues the price of\ntheir older models. These forgotten models are sold on Ebay and\nothe r secondhand websites at highly discount prices by owners who\ndo not see the true potential of these devices: Kindles are\nexcellent high contrast low-refresh display rate E-Ink devices\,\nwith Wifi capability\, that run embedded Linux in the\nbackground. Depending on the model\, an idle Kindle can last weeks\nbefore needing a recharge. This makes them ideal as passi ve image\ndevices that can be configured easily using a few shell\nscripts . Indeed\, efforts have been made in dedicated hacker forums\nto expose th e Linux filesystem and to enable features such as\ncustom screensavers\, S SH networking\, and more. By exploiting these\nfeatures\, and by carefully disabling the software/bloatware that\ncomes with the device\, these Kind les have found new life as online\ndashboard devices which can fetch and d isplay information from the\ninternet at timely intervals.\n\nHere we desc ribe a tool to control multiple Kindle devices with a\nsingle org-mode/she ll-based tool\, built initially to periodically\nserve updated Emacs Org-A genda views\, but later expanded to produce\nonline local weather reports and work calendar\, Emacs calendars\n(calfw\, org-gcal)\, daily dietary in formation (org-calories)\,\nOrg-Mode sparse TODO trees\, miscellaneous ima ge and text content\n(via imagemagick)\, small messages\, and much more.\n \nIn this talk\, we show how to configure multiple Kindles with any\ndesir ed custom content\, following any daily/weekly schedule\, all\neasily mana ged from Emacs within a single Org-Mode file.\n\n\n\n# Outline\n\n- 5-10 minutes:\n\n 1-3 mins\n Talk about repurposing Kindles:\n\n - Cheap second-hand wifi device\, hackable\n - Low-powered\, long battery life\, low refresh rate –\; perfect\n for a dashboar d\n - Timely updated Org-Mode Agendas anyone?\n - Reference to inspired projects (kindle-dashboard)\n\n 2-3 mins\n Generat e content\n\n - A static text+picture image easily generated with ima gemagick\n wrapper\n - An image of a sparse tree of org-mode T ODO file\n - An image of another emacs view (e.g. Calfw\, or org-calo ries)\n - Show post-processing for optimizing image for Kindles\n\n 1-2 mins\n Configuration in a single org-mode file\n\n - D efining Machines\n - Defining Commands to generate content\n - D efining Schedules to run Commands on multiple Machines at\n specifi c points in the day\n\n 1-2 mins\n Export and Run:\n\n - Show exported shell configs and generated cronjobs\n - Witness multip le 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:emacsconf-2021-nyxt URL:https://emacsconf.org/2021/talks/nyxt DTSTART;TZID=America/Toronto:20211127T154500 DTEND;TZID=America/Toronto:20211127T155500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/nyxt \n# Emacs with Nyxt: extend your editor with the power of a Lisp browser\nAndrea\n\nIn 2021 browsers are essential if you use a computer. Even if Emacs\nusers love text as a format\, they may need to shop and video call from\ntime to time (even more so in a pandemic!). Some 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 the making?\nWhat if you could "ace-jump" within a web page? What if you could run\na REPL to extend your browser while browsing? What if you could record\nmacros?! The browser exists: its name is Nyxt!\n\nIn this talk I will share why it has great potential\, how you can\nintegrate it with Ema cs\, and how you can migrate your Emacs mastery to\nthe web!\n\nIf you wer e 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 fro m 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:emacsconf-2021-design URL:https://emacsconf.org/2021/talks/design DTSTART;TZID=America/Toronto:20211127T155800 DTEND;TZID=America/Toronto:20211127T160800 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/design \n# On the design of text editors\nNicolas P. Rougier\n\nText editors are written by and for developers. They come\nwit h a large set of default and implicit choices in terms of layout\,\ntypogr aphy\, colorization and interaction that hardly change from one\neditor to the other. It is not clear if these implicit choices derive\nfrom the ign orance of alternatives or if they derive from developers'\nhabits\, reprod ucing what they are used to. Durint this talk\, I will\ncharacterize these implicit choices and illustrate what are some\nalternatives using GNU Ema cs.\n\n\n\n# Outline\n\n\n- 10 minutes alternative\n\nMostly a live demo of my environment with pointers to the different\npackages END:VEVENT BEGIN:VEVENT SUMMARY:How Emacs made me appreciate software freedom LOCATION:https://emacsconf.org/ UID:emacsconf-2021-freedom URL:https://emacsconf.org/2021/talks/freedom DTSTART;TZID=America/Toronto:20211127T161200 DTEND;TZID=America/Toronto:20211127T165200 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/freedom \n# How Emacs made me appreciate software fre edom\nProtesilaos Stavrou\n\nThe theme will be "how Emacs empowered my sof tware freedom".\nI will outline the key moments in my transition to a GNU/ Linux operating\nsystem and mark those which eventually contributed toward s me becoming\nan Emacs user\, maintainer of a—\;dare I say—\; popular package\, and\ncontributor to upstream Emacs (among others). By a lluding to personal\nexperiences\, I will draw generalisable insights and connect them to what\nI believe are irreducible qualities of Emacs qua sof tware and Emacs as a\ncommunity of like-minded people. The talk will be t heoretical in\nnature: there won't be any code-related demonstration nor t echnical\nreferences that only people with a background in computer scienc e would\nlikely recognise. Personal anecdotes shall be tangential to the point\nand considered as ancillary to the thesis of what Emacs represents from\nthe standpoint of software freedom and user empowerment. The\nprese ntation is intended for a general audience that is interested in\nGNU soft ware in general and Emacs in particular. My formal educational\nbackgroun d as a social scientist (i.e. not a programmer) and later as a\nphilosophe r informs my approach to this topic.\n\nThe presentation shall be 40 minut es long. Its text will be in essay\nform and shall be supplied as complem entary material to the video. The\nnotation will be in Org mode. I canno t provide an outline in advance\,\nas it will most likely not be consisten t with the actual presentation.\nIf\, however\, this is absolutely require d for administrative purposes I\nshall furnish one regardless with the pro viso that I am in no way bound\nby it and thus reserve the right to modify it ahead of the main event. END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 1 LOCATION:https://emacsconf.org/ UID:emacsconf-2021-day1-close URL:https://emacsconf.org/2021/talks/day1-close DTSTART;TZID=America/Toronto:20211127T165200 DTEND;TZID=America/Toronto:20211127T165700 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/day1-close \n# Closing remarks day 1 END:VEVENT BEGIN:VEVENT SUMMARY:Opening remarks day 2 LOCATION:https://emacsconf.org/ UID:emacsconf-2021-day2-open URL:https://emacsconf.org/2021/talks/day2-open DTSTART;TZID=America/Toronto:20211128T090000 DTEND;TZID=America/Toronto:20211128T090500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.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:emacsconf-2021-faster URL:https://emacsconf.org/2021/talks/faster DTSTART;TZID=America/Toronto:20211128T090500 DTEND;TZID=America/Toronto:20211128T092500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/faster \n# How to write faster Emacs Lisp\nDmitry Gut ov\n\n- Before optimizing\, benchmark first.\n- Different benchmarking approaches.\n- Live evaluation\, step-debugging\, measuring from a debu gger breakpoint.\n- How to determine if a function is expensive. How to pick one from\n competing alternatives (cl-lib\, seq\, dash\, lean core ).\n- Print-benchmarking.\n- Byte-compiled code can give a very differ ent picture\, changing where\n the bottleneck is. How to quickly load a byte-compiled version.\n- Steps taken to speed up the Xref package rece ntly. END:VEVENT BEGIN:VEVENT SUMMARY:Tree-edit: Structural editing for Java\, Python\, C\, and beyond! LOCATION:https://emacsconf.org/ UID:emacsconf-2021-structural URL:https://emacsconf.org/2021/talks/structural DTSTART;TZID=America/Toronto:20211128T093000 DTEND;TZID=America/Toronto:20211128T094000 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.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 v ision for how writing code could be\, where the\nediting operations map di rectly to the primitives of the language itself -- and\nmy humble attempt of implementing this vision. _tree-edit_ seeks to provides a\nstructural e diting plugin supporting conceivably any language with a tree-sitter\npars er.\n\n**Structural editing does not have to be relegated to lisps or nich e DSLs.**\n\nI liken the state of code editing today to writing assembly. The reason why\npeople like Python more than assembly is that for most pur poses\, the building\nblocks of the language are mismatched with our thoug ht process. We don't think\nin terms of registers and addresses\, we think in terms of variables\, functions\,\netc. So when we write and edit code\ , why do we edit in terms of deleting\,\ninserting\, replacing characters –\; not wrapping\, inserting\, raising\,\ndeleting expressions and s tatements?\n\nI'll also discuss the implementation of tree-edit\, which us es a novel\ncombination of the fantastic\n[tree-sitter](https://github.com /emacs-tree-sitter/elisp-tree-sitter) parser\nwith an embedded logic progr amming DSL ([miniKanren](http://minikanren.org/)\,\nusing elisp port [reaz on](https://github.com/nickdrozd/reazon)) to power it's\nsyntax tree gener ation.\n\nCheck out the GitHub repo [here](https://github.com/ethan-leba/t ree-edit)!\n\n# Outline\n\n- Discuss motivation (Why should I care?)\n- Demonstrate tree-edit (Li ve-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:emacsconf-2021-dsl URL:https://emacsconf.org/2021/talks/dsl DTSTART;TZID=America/Toronto:20211128T094300 DTEND;TZID=America/Toronto:20211128T100300 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/dsl \n# Self-Describing Smart DSL's: The Next Magits\ nPsionic\n\nWhen we begin programming\, the promise is to automate away re petitive\ntasks in life. As those program's capability grows\, we begin t o need\nconfiguration UI's. We can start with a CLI\, but as any CLI grow s\, we\nrun into the following issues:\n\n- As options pile up\, the int uition of simplicity is lost in helps and\nmanpages\n\n- Stateless opera tion 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 action to perform\n\n- Composition compounds with all of these issues\n \nMagit has the UI trifecta of being terse\, intuitive\, and intelligent.\ nMagit's UI input library\, Transient\, is a standalone package for\ndevel oping more killer UI's\, and not just for CLI applications\, but\nalso for server applications\, Emacs applications\, and Emacs itself.\n\nWhile Tra nsient's potential is to create the most highly productive\nUI's short of thought control\, going beyond simple command dispatchers\nrequires a deep er dive. When we think like constructing a DSL for the\ntask and using tr ansient to input that DSL\, we get an intelligent\,\nself-describing modal programming system.\n\n\n# Outline\n\n- Updates to Transient documentati on 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:emacsconf-2021-ui URL:https://emacsconf.org/2021/talks/ui DTSTART;TZID=America/Toronto:20211128T100600 DTEND;TZID=America/Toronto:20211128T101600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/ui \n# "Yak-shaving to a UI framework" (/"Help! I acc identally yak-shaved my way to writing a UI framework because overlays wer e slow")\nErik Anderson\n\nTui.el is a textual User Interface (UI) framewo rk for Emacs Lisp\nmodeled after the popular JavaScript 'React' framework. This package\nimplements React Component API's with the goal of simplify ing\ndevelopment of interactive UI's for all Emacs users- regardless of\nt heir prior experience with React or web programming. Components\nprovide a useful functional unit for constructing complex interfaces\ndeclarativel y and also eliminate much of the burden associated with\nupdating textual content as application state changes. This talk will\ncover use of the tu i.el API and its operation in a textual environment\nby implementing some basic UI's.\n\n\n\n# Outline\n\n- 5-10 minutes:\n - Problem space: UI implementation complexity.\n - API introduction: Displaying conten t\, Components.\n - Visual taste of dashboards and applications built with tui. END:VEVENT BEGIN:VEVENT SUMMARY:Extending Emacs in Rust with Dynamic Modules LOCATION:https://emacsconf.org/ UID:emacsconf-2021-rust URL:https://emacsconf.org/2021/talks/rust DTSTART;TZID=America/Toronto:20211128T101900 DTEND;TZID=America/Toronto:20211128T103900 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/rust \n# Extending Emacs in Rust with Dynamic Modules \nTuấn-Anh Nguyễn\n\nDynamic module support has been available since Emacs 25. It can be\nused to extend Emacs with native libraries\, for performan ce\,\nOS-specific features\, or other functionalities that would take a lo t\nof time to re-implement in Lisp. The officially supported language is\n C\, which is tedious and error-prone to use. This talk discusses a\n**safe ** alternative that is also a lot **more convenient**: writing these\ndyna mic modules in Rust.\n\n\n\n# Outline\n\n- Walking through creating **a s imple dynamic module** in\n Rust\, including setting up CI.\n- Going t hrough and explaining the **available APIs**. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Application Framework: A 2021 Update LOCATION:https://emacsconf.org/ UID:emacsconf-2021-eaf URL:https://emacsconf.org/2021/talks/eaf DTSTART;TZID=America/Toronto:20211128T104400 DTEND;TZID=America/Toronto:20211128T105400 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/eaf \n# Emacs Application Framework: A 2021 Update\nM atthew Zeng\n\nEmacs Application Framework (EAF) is a customizable and ext ensible GUI\napplication framework that extends Emacs graphical capabiliti es using\nPyQt5. There are many new but important updates since EmacsConf2 020\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:emacsconf-2021-model URL:https://emacsconf.org/2021/talks/model DTSTART;TZID=America/Toronto:20211128T105800 DTEND;TZID=America/Toronto:20211128T110800 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/model \n# Extending the "model" of Emacs to other app lications\nLaszlo Krajnikovszkij\n\nEmacs is a great operating environment in a sense that it provides consistency\nacross different tools and appli cations within the Emacs ecosystem\, as well as\nexternal apps that can be integrated into it. It is also the most truly\nmalleable environment\, ea ch element of which can be adjusted or extended\,\ntherefore providing the user with more power and freedom in personal computing.\nEmacs definitely can 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 \nyears ago\, the only regret to have is that it didn't happen earlier. Th e definite\nkiller feature of Emacs - Org-mode\, is what draws many of the less technical\nfolks to join the party and gradually start to use Emacs for writing documents\,\nwhether personal or work related\, manage tasks\, emails and potentially everything\nelse. The learning curve and differenc e in approach\, however\, leaves some\npotential users too scared of the a rcane interface even with all it's quirks and\nfeatures because it require s at least some technical skills to understand and\nuse properly\, and doe s not have an easy way to connect with external tools that\nmost people ar e forced to use for work.\n\nThis talk proposes some ideas about how the m odel of Emacs\, it's focus on\nconsistency\, extensibility\, as well as it 's powerful interaction model can be\ncarried over to make modern interfac es\, whether desktop or web applications\,\nthat would be designed with a goal of reflecting the spirit of Emacs in terms of\nthe aforementioned fea tures it possesses\, and therefore enhance the capabilities\nof the Emacs\ , while at the same time utilizing it as a backend for\ntext-processing an d editing to a large extent. It would be really great to have\na personal web-interface for using modern task management tools\, chats\, emails\nand such\, but from a UI defined by the user. The goal is to use it on a desk top\nor mobile\, locally or self-hosted on a server\, with support for tou ch and\ngesture-based workflows\, while preserving the Emacs philosophy an d allowing to\nseamlessly switch between Emacs and its web extension\n\nTh e proposed solution is to integrate more of the modern tools with Emacs\,\ nutilize Org-mode as a way to define application-specific parameters for t hese\ntools through Org properties\, and then utilize these parameters for making a\nmodern local frontend that would enhance Emacs UI while allowin g to use external\ntools in a more personal and freedom respecting way (ma king the originals\nobsolete over time). The talk serves the purpose of in viting community members to\na discussion about how Emacs can become more modern\, more approachable by people\nwho don't possess the neccessarry te chnical skills to adjust it themselves\, but\nare keen to learn it\, and p otentially how to attract more users to greater\nproductivity\, computer l iteracy and the ideas of free software.\n\n\n\n# Outline\n\n- 5-10 minut es\n - Introduction\n - Issues with most modern tools for work\n - Issues with Emacs as a tool for work\n - In search for a hybr id 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:emacsconf-2021-devel URL:https://emacsconf.org/2021/talks/devel DTSTART;TZID=America/Toronto:20211128T111100 DTEND;TZID=America/Toronto:20211128T113100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/devel \n# Don't write that package! or: How I learned to stop worrying and love emacs-devel\nStefan Kangas\n\nEmacs' greatest s trength is also its greatest weakness: it is **too** hackable.\n\nWe have a great community that experiment with new features that are still\nlackin g in Emacs core. They write up a package and develop the living daylights \nout of it\, until it is basically amazing. (I'm looking at you Magit.)\ n\nThere are other examples such as helpful.el - great package\, but why a re those\nfeatures not in core? What about projectile? And so on.\n\nCor e demands copyright assignments (CLA). This is a fact of life. While I\n mostly agree with the people saying it is not helful\, they are there to p rotect\nEmacs from copyright issues in the future. So my suggestion here is simple:\njust **sign the papers**. It is just a formality\, and you sh ould only need to do\nit once.\n\nI suggest that any ambitious feature tha t we **might** want to see shipped in the\ndefault Emacs distribution shou ld by default go to GNU ELPA. You don't need to\ndo this\, of course\, an d I respect your decision\, but I urge you to do it.\n\nGNU ELPA does not have an exceptionally high standard\, but we do try to give any\nnew packa ge a proper code review.\n\nMELPA is excellent. We love MELPA. They don' t have a criterion for their\npackages that is important to the FSF\, whic h is to not recommend non-free\nsoftware. Therefore\, we could not recomm end it by default\, and had to build\nNonGNU ELPA.\n\nNonGNU ELPA will be used for packages that we don't have an assignment for but\nwould still li ke to distribute. It should ideally only be for old packages\nwhere getti ng a CLA is impractical.\n\nIt is sometimes perceived as hard to contribut e to Emacs core. This impression\nis largely wrong. If I can do it\, you can too.\n\nWe do have a problem in that our tools and methods (mailing l ists\, the bug\ntracker) are out-dated. This is largely correct. We want to migrate to\nsomething else\, and the best candidate is probably Source hut. Please volunteer\nto help!\n\nWe sometimes see people adding stuff t o their Init file to fix this or that\nannoyance\, or even bug. The more ambitious would go on to package up such fixes\nin what I call "patch pack ages". "Hey\, foo-mode doesn't have support for\n'bookmark-set'\, let's wr ite a package!" I am here to suggest that you submit a\npatch to Emacs in stead.\n\nFixing an issue for one person is good\, and fixing it for more people is even\nbetter. Fixing it for everyone? Priceless.\n\nemacs-deve l is not that scary\, nor is email. We are really quite friendly and\neas y going\, but the communication we prefer (for reasons of efficiency - the \nvolume is very high) is often very brief and to the point. We are tryin g our\nbest at communicating\, but sometimes fail.\n\nAnd we need more con tributors. We need a successful Emacs on this planet.\n\nSo should you re ally write a package\, or should YOU become a core contributor?\n\n\n\n# O utline\n\n- I will urge people to consider contributing to Emacs instead o f\n writing small packages\, and explain GNU ELPA\, MELPA\, CLA.\n- I wil l go into greater detail about emacs-devel\, how it "works"\n (e.g. is Em acs conservative without reason?)\, how to get things\n done and the nece ssary mindset. END:VEVENT BEGIN:VEVENT SUMMARY:Turbo Bindat LOCATION:https://emacsconf.org/ UID:emacsconf-2021-bindat URL:https://emacsconf.org/2021/talks/bindat DTSTART;TZID=America/Toronto:20211128T113600 DTEND;TZID=America/Toronto:20211128T115600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.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 da ta. This is a\nniche library that is used by packages such as Websocket\, EMMS\, and\ncpio-mode. Its implementation was repeatedly caught harassing hapless\nkitten while at the same time providing poor service slowly. For\ nEmacs-28\, Bindat was rewritten so as to make it more efficient and\nflex ible while respecting the kitten. In this presentation I intent to\nshow h ow we saved those. Not recommended for birds.\n\n- ~20 minutes:\n 5 m in: Intro and presentation of Bindat\n 5 min: Showcase some of its prob lems\n 5 min: Present the new design\n 5 min: Examples of what can b e done with it END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Lisp native compiler\, current status and future developments LOCATION:https://emacsconf.org/ UID:emacsconf-2021-native URL:https://emacsconf.org/2021/talks/native DTSTART;TZID=America/Toronto:20211128T130000 DTEND;TZID=America/Toronto:20211128T132000 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/native \n# Emacs Lisp native compiler\, current statu s and future developments\nAndrea Corallo\n\nEmacs Lisp (Elisp) is the Lis p dialect used by the Emacs text editor\nfamily. GNU Emacs is traditional ly capable of executing Elisp code\neither interpreted or byte-interpreted after it has been compiled to\nbyte-code.\n\nIn this talk I'll discuss th e Emacs Lisp native compiler. This feature\nrecently merged into the main Emacs development line allow for\nautomatically compiling and executing E lisp as native code.\n\nDuring the presentation I'll touch on:\n\n- desi gn goals\n- compiler and runtime design and implementation\n- performa nce implications\n- upstream process\n- area of improvements and futur e developments\n\nFormat: 40 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Old McCarthy Had a Form LOCATION:https://emacsconf.org/ UID:emacsconf-2021-form URL:https://emacsconf.org/2021/talks/form DTSTART;TZID=America/Toronto:20211128T132700 DTEND;TZID=America/Toronto:20211128T133700 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/form \n# Old McCarthy Had a Form\nIan Eure\n\nMost pr actical languages are multi-paradigm\, offering several\nabstractions for the programmer. But did you know that Emacs Lisp\ncomes with a powerful s ystem 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 - Furt her reading END:VEVENT BEGIN:VEVENT SUMMARY:Test blocks LOCATION:https://emacsconf.org/ UID:emacsconf-2021-test URL:https://emacsconf.org/2021/talks/test DTSTART;TZID=America/Toronto:20211128T134100 DTEND;TZID=America/Toronto:20211128T134600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/test \n# Test blocks\nEduardo Ochs\n\nIn this present ation I will show an idea that feels completely obvious\nonce we see it\, but that only occured to me after after using Emacs\nand eev as my main in terface to the computer for more than 20 years.\nTake any interpreted lang uage that supports multi-line comments\, and\nwhose interpreter can be run in 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 Lua script that we wrote\, that\nis called "foo.lua" and that defines lot s of functions and defines the\nclasses Bar and Bletch. We can put after t he definition of the class\nBar a multi-line comment that contains an eepi tch block that when\nexecuted starts a Lua interpreter\, loads the script foo.lua (by\nrunning 'dofile "foo.lua"')\, and then has several tests for that class\nand its methods\; and we can put another block with tests like that\nafter the class Bletch\, and other blocks after some functions. Eep itch\nallows sending these tests line by line to the Lua interpreter by\nt yping on each line that we want to send\, and this lets us create\n tests that are very easy to understand even without writing comments\;\nth is 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 before running the risk of being read by other people.\n\nThese multi-line comments with eepitch blocks that run an interpreter\nand make it load th e 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 the 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 block s to more languages (or\, more\nprecisely: to more major modes).\n\nEduard o Ochs END:VEVENT BEGIN:VEVENT SUMMARY:Let's talk about bug trackers LOCATION:https://emacsconf.org/ UID:emacsconf-2021-bug URL:https://emacsconf.org/2021/talks/bug DTSTART;TZID=America/Toronto:20211128T134900 DTEND;TZID=America/Toronto:20211128T140900 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.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\,\nshameles sly failing the Joel Spolsky test. Why was it "good enough"?\nWhy was it wrong? Why did we move to Woof!? Why Woof! is not a bug\ntracker?\n\n- 20 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware LOCATION:https://emacsconf.org/ UID:emacsconf-2021-bidi URL:https://emacsconf.org/2021/talks/bidi DTSTART;TZID=America/Toronto:20211128T141600 DTEND;TZID=America/Toronto:20211128T143600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/bidi \n# Perso-Arabic Input Methods And Making More E macs Apps BIDI Aware\nMohsen BANAN\n\n\n# Table of Contents\n\n\n\nStartin g with Emacs 24\, full native bidi\n(bidirectional) support became availab le. For\nmany years prior to that Unicode support was\navailable and by a round year 2000\, reasonable\nopen-source shaping libraries were also avai lable.\n\nWith these in place at around 2012\, I developed\ntwo Persian in put methods for emacs. These input\nmethods or variations of them can also be used\nArabic and other persoarabic scripts.\n\nWith all of these in pl ace\, Emacs has now become\nthe ne plus ultra Halaal/Convivial usage\nenvi ronment for persoarabic users.\n\nSince emacs comes loaded with everything (Gnus\nfor email\, Bbdb for address books\, XeLaTeX modes\nfor typesettin g\, org-mode for organization\, spell\ncheckers\, completions\, calendar\, etc.)\, all basic\ncomputing and communication needs of persoarabic\nuser s can be addressed in one place and\ncohesively.\n\nIn this talk I will de monstrate what a wonderful\nenvironment that can be.\n\n- 40 minutes: (b rief description/outline)\n\n My talk will be in two parts.\n\n In P art 1\, I cover persian input methods. With an\n emphasis on &lsquo \;B anan Multi-Character (Reverse)\n Transliteration Persian Input Method&r squo\;. The\n software is part of base emacs distribution.\n Full do cumentation is available at:\n Persian Input Methods\n For Emacs And More Broadly Speaking\n شیوه‌هایِ درج به فارسی‌\n \n\n In Part 2 \, I will cover the ramifications of bidi\n on existing emacs applicati ons\, including:\n\n - Gnus:\n - Persoarabic rich email send ing in HTML.\n - Ramifications of bidi on from\, to and\n subject lines.\n\n - Bbdb: Ramifications of bidi on display and\n completion.\n\n - Calendar:\n - Ramifications of bid i on display.\n - Use of persian text for Persian (solar) calenda r.\n - Use of arabic text for Muslem (lunar) calendar.\n\n - AUCTeX: Persian typesetting with XeLaTeX END:VEVENT BEGIN:VEVENT SUMMARY:Moldable Emacs\, a step towards sustainable software LOCATION:https://emacsconf.org/ UID:emacsconf-2021-mold URL:https://emacsconf.org/2021/talks/mold DTSTART;TZID=America/Toronto:20211128T144100 DTEND;TZID=America/Toronto:20211128T145100 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/mold \n# Moldable Emacs\, a step towards sustainable software\nAndrea\n\nWe could learn about things better. Mountains of knowl edge hide in\nplaces we cannot access or use. The more we write down\, the more it\ntakes to find and understand things we find useful.\n\nKnowledge (web\, software\, books) keeps growing faster and faster! This\nis not su stainable: we cannot keep up with it! What if we repeat the\nerror of some body else\, only because it would take too much reading to\nknow? What if that knowledge is in some code we work with everyday?\n\nMoldable developm ent is a paradigm shift that attempts to solve this\nproblem. In a gist\, the tool you use should let you create special tools\nto learn smartly fro m what you have already.\n\nSince we use Emacs\, let's make our great edit or 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 n atural)\ntext to learn better\, how we can inject notes in our projects an d how\nself documenting this tool is!\n\nI aim to inspire you to find a qu icker way to learn from our digital\nworld!\n\nYou can learn more about th is 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:emacsconf-2021-clede URL:https://emacsconf.org/2021/talks/clede DTSTART;TZID=America/Toronto:20211128T145500 DTEND;TZID=America/Toronto:20211128T151500 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/clede \n# CLEDE the Common Lisp Emacs Development Env ironment.\nFermin MF\n\nI've been developing a package that helps with the development of\nCommon Lisp's software\,\nit's uses the internal semantic framework\, it has a custom reader\nand integration for\ncommon Emacs pac kages (like Sly and the internal inferior-lisp-mode).\n\nThe idea is to su pply features that other language with and static\nanalyzer have\,\nlike r efactoring and code generation.\n\nFor more details: \n\n- 20 minutes:\n It seems like not too much people knows 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:emacsconf-2021-imaginary URL:https://emacsconf.org/2021/talks/imaginary DTSTART;TZID=America/Toronto:20211128T152200 DTEND;TZID=America/Toronto:20211128T153200 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/imaginary \n# Imaginary Programming\nShane Mulligan\n \nImaginary Programming (IP) is both methodology and paradigm. It is an\ne xtension of literate programming and a way of creating software without\nt he use of imperative\, functional or even declarative code. Yet IP employs \nall disciplines to achieve the miraculous. The only contingency is on on e\nor more language models\, known as foundation models. The real value of IP\nis not found by abandoning sound logic altogether\, but in weaving th e real\nwith the imaginary. The future of imaginary programming is one in which\nalmost all of computing is inferred. I have built a suite of tools based on\nemacs for interfacing real programming languages with imaginary ones\; all\nof this in order to demonstrate what I mean\; a ‘complex’ term inal that lets\nyou imagine what happens no matter how nested you are with in interpreters\,\nan example-oriented language\, a file format that encod es the provenance of\ntext and a library for imaginary functional programm ing primitives called\niLambda. It is important to recognise IP because\, for lack of a better\nterm\, it has far-reaching implications for intellec tual 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\, followed by\n - a demonstration of iLambda.\n - iλ\, a famil y of imaginary programming libraries\n \n\n\n\nIR C libertyprime at #emacs on libera\n\nShane Mulligan END:VEVENT BEGIN:VEVENT SUMMARY:How to build an Emacs LOCATION:https://emacsconf.org/ UID:emacsconf-2021-build URL:https://emacsconf.org/2021/talks/build DTSTART;TZID=America/Toronto:20211128T153600 DTEND;TZID=America/Toronto:20211128T155600 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.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 make s our beloved GNU Emacs\nwhat it it. It's also a talk about the early LISP machines and\nfascinating were those days of experimentation and engineer ing.\n\nIt will continue with the Emacs benefits/trade-offs from an\nuser/ developer stand points\, what things can be improved and\nwhat can be an h ypothetical 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\ndev eloping in Common Lisp\, the project goals\nand the challenges.\n\nFor mor e details about CEDAR: \n\n- 40 minu tes:\n A dive into the Emacs/Lisp machines history\, what makes GNU Ema cs\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:emacsconf-2021-forever URL:https://emacsconf.org/2021/talks/forever DTSTART;TZID=America/Toronto:20211128T160300 DTEND;TZID=America/Toronto:20211128T164300 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/forever \n# M-x Forever: Why Emacs will outlast text editor trends\nDavid Wilson\n\nThe computer software industry has seen man y "popular" text editors come\nand go\, often due to the mercurial fashion s of software development. In\nthis talk\, we'll take a look at why popul ar editors fade and the\nspecific aspects of Emacs that will ensure it rem ains relevant\nregardless of mainstream popularity.\n\n\n\n# Outline\n\n- Discuss the core thesis\, the features that make Emacs\n desirable for lo ng-term use (extensibility\, day-to-day 'life' features)\n\n- Include more background on the text editor landscape and\n how the scope of various e ditors is more narrow and doesn't compare to Emacs.\n\n- Talk about specif ic instances where editors were popular\, fell out\n of popularity\, and why (due to changing fashions\, not usually\n better features). END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 2 LOCATION:https://emacsconf.org/ UID:emacsconf-2021-day2-close URL:https://emacsconf.org/2021/talks/day2-close DTSTART;TZID=America/Toronto:20211128T165000 DTEND;TZID=America/Toronto:20211128T170000 DTSTAMP:20211027T123802 DESCRIPTION: Times are approximate and will probably change. \nhttps://emac sconf.org/2021/talks/day2-close \n# Closing remarks day 2 END:VEVENT END:VCALENDAR