BEGIN:VCALENDAR VERSION:2.0 PRODID:EmacsConf X-WR-CALNAME:EmacsConf 2021 X-WR-CALNAME:EmacsConf CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VEVENT SUMMARY:Opening remarks ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:dc07efcd-6d79-cfd4-fed3-59c885fe2922 URL:https://emacsconf.org/2021/talks/day1-open DTSTART:20211127T140000Z DTEND:20211127T140500Z DTSTAMP:20211113T170719Z 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 - Sacha Chua ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:393ba3c2-b2a6-6a84-44eb-872aa333d08d URL:https://emacsconf.org/2021/talks/news DTSTART:20211127T140500Z DTEND:20211127T141000Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Sacha Chua":invalid:nomail 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\n\n\nQuick overview of Emacs commun ity highlights since the last conference\n\nYou can find the links and ima ges at\n\n \nPosting the video early to help test formatting.\n\n\n\n# Questions\, an swers\, and community-provided links\n\n\n# Trans cript END:VEVENT BEGIN:VEVENT SUMMARY:The True Frownies are the Friends We Made Along the Way: An Anecdot e of Emacs's Malleability - Case Duckworth ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:06df8309-bd04-eb24-d443-a780c56adc0a URL:https://emacsconf.org/2021/talks/frownies DTSTART:20211127T141100Z DTEND:20211127T143100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Case Duckworth":invalid:nomail 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\n\n\n Emacs is well-known for being extremely flexible\, programmable\, and\next ensible\; in fact\, that's probably the biggest reason it's still\nbeing u sed after 40+ years of existence\, and even has enough clout to\ngenerate an entire conference in its name. In this medium-length\npresentation\, I will add another point to the data set proving Emacs's\nabilities\, by na rrating the latest package I made\, \\`frowny.el\\`\, from\nits conception to its current\, nearly-completed state.\n\nI wrote frowny.el to scratch someone else's itch as a joke on IRC\, but\nit has been called "pretty use ful\, for a joke package." I feel like\nthat encapsulates the spirit of E macs 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.\n\n## Sp eaker information\n\n- Name pronunciation: /keɪs ˈdʌkwə(ɹ)θ/ (CASE DUCK-wo rth)\n- Prounouns: he/him\n- Homepage: \n- Preferred contact info: [email](mailto:acdw@acdw.net)\n- Links:\n - \, a shared unix server about bread\n - [my Mastodon account](h ttps://writing.exchange/@acdw) (though I'm moving to\n[tiny.tilde.website] (https://tiny.tilde.website/@acdw) ... soon™) END:VEVENT BEGIN:VEVENT SUMMARY:Emacs as Design Pattern Learning - Greta Goetz ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:fe959e43-441b-ed34-854b-87f6f481f55a URL:https://emacsconf.org/2021/talks/pattern DTSTART:20211127T143400Z DTEND:20211127T145800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Greta Goetz":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/pattern\n# Emacs as Design Pattern Learning\nGreta Goe tz\n\n\n\nHow do we manage today? This presentation is for people interest ed in thinking about Emacs as a tool sophisticated enough to cater to the complex assemblage of tasks\, people\, activities/outcomes\, tools (Markau skaite & Goodyear). Some software oversimplifies. Emacs both helps users i mplement design pattern learning that can cope with complexity while also modeling design pattern learning. By championing the opportunity for users to also be co-creators (cf. Beaty et al.)\, the free software design at t he core and center of Emacs teaches us a way of "being" (Alexander\, Gabri el) that can be extended to both the Emacs community and beyond\, in a kno wledge of how to live (Stiegler\, Illich).\n\n1. Definition of design pat terns and relation to Emacs\n2. Why this approach matters\n3. Managing c omplexity: Emacs as mind map\n4. Emacs as design pattern framework\n5. P ersonal customization\n6. Implementing Emacs as a model for learning\n7. Emacs as accommodating complex social\, community assemblages\n\n# Refere nces\n\n- Andler\, D. & Guerry\, B. (Eds.). *Apprendre demain: Sciences cognitives et éducation à l’ère numérique*\, 137-154. Paris: Hatier.\n- Alexander\, C. (1977). *A pattern language*. New York: Oxford University P ress.\n- Alexander\, C. (1979). *The timeless way of building*. New York : Oxford University Press.\n- Alexander\, C. (1993). *A foreshadowing of 21st century art: The color and geometry of very early Turkish carpets*. New York: Oxford University Press.\n- Beaty\, L.\, Cousin\, G.\, & Hodgs on\, V. (2010). Revisiting the e-quality in networked learning manifesto. In L. Dirckinck-Holmfeld\, V. Hodgson\, C. Jones\, M. de Laat\, D. McConne ll\, & T. Ryberg (Eds.)\, *Proceedings of the 7th International Conference on Networked Learning* (pp. 585–592). Aalborg: Lancaster University. http ://www.lancs.ac.uk/fss/organisations/netlc/past/nlc2010/abstracts/PDFs/Bea ty.pdf. Accessed 30 October 2021.\n- Chua\, S. (2021). Completing sketch es. https://sachachua.com/dotemacs/#org092e0d5. Accessed 29 October 2021.\ n- Crichton\, M. (1983). *Electronic life*. New York: Knopf.\n- Gabrie l\, R. (1996). *Patterns of software*. New York\, Oxford: Oxford Universit y Press.\n- Goodyear\, P. & Retalis\, S. (2010). Learning\, technology a nd design. In Goodyear\, P. & Retalis\, S. (Eds.). *Technology-enhanced le arning: Design patterns and pattern languages*\, 1-27. Rotterdam\, Boston: Sense Publishers.\n- Guo\, P. (2018). Students\, systems\, and interact ions: Synthesizing the first\nfour years of Learning@Scale and charting th e future. L@S 2018\, June 26–28\, 2018\, London\, United Kingdom. DOI: htt ps://doi.org/10.1145/3231644.3231662. . Acce ssed 25 October 2021.\n- Guo\, P.\, Kim\, J. & Rubin\, R. (2014). How vi deo production affects student engagement: An empirical study of MOOC vide os. ACM Conference on Learning at Scale. . A ccessed 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 online lecture videos. ACM Conference on Learning at Scale. . Accessed 25 October 2021.\n- Mar kauskaite\, L. & Goodyear\, P. (2017). *Epistemic fluency and professional education: innovation\, knowledgeable action and actionable knowledge*. D ordrecht: Springer.\n- Markel\, J. & Guo\, P. (2020). Designing the futu re of experiential learning environments for a post-COVID world: A prelimi nary case study. NFW ’20 (Symposium on the New Future of Work)\, August 3– 5\, 2020\, Virtual Event. . Accessed 25 Octo ber 2021.\n- Morin\, E. ([2004] 2008). *La Méthode - tome 6: Éthique*. É ditions du Seuil: Paris.\n- Planet Emacs Life. . Accessed 25 October 2021\n- Stallman\, R. (2002). My Lisp experi ences and the development of GNU Emacs. https://www.gnu.org/gnu/rms-lisp.e n.html. Accessed 29 October 2021.\n- Stiegler\, B. (2018). *The neganthr opocene*. Open Humanities Press.\n- Trocmé-Fabre\, H. (1999). *Réinvente r le métier d’apprendre*. Paris: Éditions d’organisation.\n\n\n# Availabil ity and preferred Q&A approach\n\nDue to the pandemic situation\, my teach ing schedule fluctuates so I\nwill not know my availability until much clo ser to the\ndate. Therefore\, I can only guarantee delayed answer response \n(whatever you request)\, but if available\, will join live.\nMay I pleas e note that I will be pre-recording my video if this submission is accepte d.\n\n\n# Speaker release\n\nBy submitting this proposal\, I agree that my presentation at\nEmacsConf 2021 is subject to the following terms and con ditions:\n\nThe EmacsConf organizers may capture audio and video (a "Recor ding")\nof my presentation and any associated materials\, which may includ e\nslides\, notes\, transcripts\, and prerecording(s) of my presentation\n that I provide to the EmacsConf organizers.\n\nI authorize the EmacsConf o rganizers to distribute\, reproduce\,\npublicly display\, and prepare deri vative works of the Recording and\nany derivative works of the Recording ( the "Licensed Materials")\nunder the terms of the Creative Commons Attribu tion-ShareAlike 4.0\nInternational (CC BY-SA 4.0) license.\n\nI grant to t he EmacsConf organizers permission to use my name\,\nlikeness\, and biogra phic information in association with their use\nof the Licensed Materials under the above license.\n\nI represent that I have the authority to grant the above license to\nthe EmacsConf organizers. If my presentation incorp orates any\nmaterial owned by third parties\, I represent that the materia l is\nsublicensable 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 - Daniel Rose ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:ea5bab3c-f31e-68a4-fa23-81ca67fa1990 URL:https://emacsconf.org/2021/talks/unix DTSTART:20211127T150000Z DTEND:20211127T150700Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Daniel Rose":invalid:nomail 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\n\n\nThe talk tar gets users who are curious about computational philosophies\,\nor those wh o might not know how to best utilise Emacs conceptually. The\ntalk will co ver what the UNIX philosophy is\, the GNU Free Software\nprinciples\, a ty pical (Neo)Vi(m) user's approach\, and then how one might\naccomplish this in Emacs combining the aformentioned ideals. The\nlisteners will learn ho w they can approach Emacs ideologically\, and how\nblocking themselves int o one philosophy or the other will limit their\nefficiency. Although you m ay be a veteran GNU/Linux and Emacs user\,\nunderstanding how to use both philosophies together will still allow you\nto be more performant than wit hout.\n\n\n\n# Outline\n\n- How can one limit their usage of CLI tools w hile still maintaining\n the ideals of both.\n- How using CLI too ls can still perfectly flow into Emacs.\n- How having all programs in Em acs and unified keybindings is akin\n to a terminal user.\n- Why thinking about computational philosophies might itself be an\n impe diment. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs manuals translation and OmegaT - Jean-Christophe Helary ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:db4ccb28-867f-df24-c073-eaca6edad438 URL:https://emacsconf.org/2021/talks/omegat DTSTART:20211127T151100Z DTEND:20211127T152100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jean-Christophe Helary":invalid:nomail 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\n\n\nEven if it is generally agreed that software local ization is a good thing\, Emacs is lacking in that respect for a number of technical reasons. Nonetheless\, the free software using public could gre atly benefit from Emacs manuals translations\, even if the interface were to remain in English.\n\nOmegaT is a multiplatform GPL3+ "computer aided t ranslation" (CAT) tool running on OpenJDK 8. CATs are roughly equivalent f or translators to what IDEs are for code writers. Casual translators can b enefit from their features but professionals or committed amateurs are the most likely to make the most use of such tools.\n\nWhen OmegaT\, free sof tware based forges and Emacs meet\, we have a free multi-user translation environment that can easily sustain the (close to) 2 million words load th at comprise the manuals distributed with Emacs\, along with powerful featu res like arbitrary string protection for easy typing and QA (quality assur ance)\, automatic legacy translation handling\, glossary management\, hist ory 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 files\n \n2. chapril ho sts 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- Softwa re used during the presentation\n - [po4a](https://po4a.org) a tool to co nvert documentation 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 translators to efficiently combine translation resources (legacy transl ations\, glossaries\, etc.) so as to produce more consistent translations. \n\nDuring this short presentation\, I will address:\n\n- The specificitie s 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- based system\n- How to convert the texi and org files to a format that tra nslators can handle\n- How to adapt OmegaT to the Emacs manual specificiti es\n- How to use OmegaT features such as arbitrary string protection\, leg acy translation handling\, glossaries\, autocompletion\, QA\, etc.\n- How to use OmegaT with a team of 2 (or more) translators working at the same t ime\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 work in localization pipelines\n- How to use machine translation and MT "post-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 i nterested in knowing more about OmegaT are invited to check the [online us er manual](https://omegat.sourceforge.io/manual-latest/en/).\n\n# Personal information\n- Name pronunciation: [ʒɑ̃kRstɔf elaRi](https://doublet.jp/w p-content/uploads/2021/11/jch.ogg)\n- Pronouns: he\n- Homepage: [https://m ac4translators.blogspot.com](https://mac4translators.blogspot.com)\n- Pref erred contact info: [jean.christophe.helary@traduction-libre.org](jean.chr istophe.helary@traduction-libre.org)\n- Links for sponsoring/supporting (m ultilingual translations): [https://doublet.jp](https://doublet.jp) END:VEVENT BEGIN:VEVENT SUMMARY:NonGNU ELPA Update - Philip Kaludercic ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:525d972d-1e34-bcb4-e9c3-861942549357 URL:https://emacsconf.org/2021/talks/nongnu DTSTART:20211127T152400Z DTEND:20211127T153100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Philip Kaludercic":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/nongnu\n# NonGNU ELPA Update\nPhilip Kaludercic\n\n\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 - Dhavan (codingquark) ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:245a575a-965a-caa4-8d3b-75f8519c2f3e URL:https://emacsconf.org/2021/talks/borg DTSTART:20211127T153600Z DTEND:20211127T154400Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dhavan (codingquark)":invalid:nomail 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\n\n\nEmacs now has many packa ge repositories - enought to have conflicts\nand arguments about. The pack ages 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 aggr essive way out of this is to use Yet\nAnother Package and install all elis p 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 - Gabriele Bozzola ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:86158391-53a2-7cb4-d7d3-020afbf6d8d9 URL:https://emacsconf.org/2021/talks/telega DTSTART:20211127T154800Z DTEND:20211127T155600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Gabriele Bozzola":invalid:nomail 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\n\n\nTelegram is a cross-platform instant messaging system. The large number of\nfeatures and the widespread adoption make it a good choice for both private\nconversations with frien ds and 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 discuss telega.el\, the Emacs client for Telegram. telega.el\nis a high-qu ality package that perfectly integrates in Emacs. It supports\nthe vast ma jority of the features supported by the official clients\, while\nadding s everal unique ones. In the talk\, I will present the package and\nhighligh t some of the most important features. END:VEVENT BEGIN:VEVENT SUMMARY:Introducing N-Angulator - Kevin Haddock ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:e4bdc2c1-e4b6-67e4-aafb-87ec9aaf846b URL:https://emacsconf.org/2021/talks/nangulator DTSTART:20211127T155800Z DTEND:20211127T160800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Kevin Haddock":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/nangulator\n# Introducing N-Angulator\nKevin Haddock\n \n\n\nThe Unix file system is essentially an N-dimentional sparse array th at\ncurrently lacks a decent editor and browser which\ncan effectively lev erage the logical tri-angulation (or\, more properly\n"n-angulation") of a toms/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 unc irculated prototype\nvideo demo. Be sure and turn the volume UP!)\n\nna. intro.flv\n\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descr iption/outline)\n\nThe reconceptualization of the Unix file system as the N-Dimensional\nsparse array will be discussed.\n\nA simple pre-existing da tabase will be queried.\n\nIf time\, questions will be entertained by vide o/audio and/or IRC. END:VEVENT BEGIN:VEVENT SUMMARY:A day in the life of a janitor - Stefan Monnier ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:14ab7a54-d75d-45e4-85ab-8fd2e391ea41 URL:https://emacsconf.org/2021/talks/janitor DTSTART:20211127T161100Z DTEND:20211127T163700Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stefan Monnier":invalid:nomail 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\n\n\nBecause of a reckless former Emacs maintainer that shall\n bet ter stay unnamed\, ELisp has seen a fair bit of churn in the last 10\n ye ars\, making it necessary to clean up "old" code [in order to open up\n t he road for yet more recklessness? ].\n In this documentary we will follo w a famous janitor in his every day job\n dealing with the aftermath of t he 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 think 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\, without anything like an outline: it's basically "make"\n followed by fixing the warnings. END:VEVENT BEGIN:VEVENT SUMMARY:How to help Emacs maintainers? - Bastien Guerry ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:51c360e6-188f-9a34-05bb-0a8d2eb09cdc URL:https://emacsconf.org/2021/talks/maintainers DTSTART:20211127T164200Z DTEND:20211127T165200Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bastien Guerry":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/maintainers\n# How to help Emacs maintainers?\nBastien Guerry\n\n\n\nAfter 11 years of helping as the Org maintainer\, I would\n like 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# Outlin e\n\n- 5-10 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Typesetting Gregorian Chant with Emacs - Spencer King ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:716d913f-de8b-91a4-5f33-e04ba0905fa5 URL:https://emacsconf.org/2021/talks/gregorian DTSTART:20211127T165500Z DTEND:20211127T170500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Spencer King":invalid:nomail 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\n\n\nThere are a variety of methods for typesetting gregoria n\nchant scores and outputting high-quality sheet music. One of these is\n a tool called Gregorio\, which integrates with LaTeX allowing scores to\nb e cleanly inserted into other documents. All Gregorio files are plain\ntex t\, allowing them to easily be shared with other users and managed\nwith a version control system. In this talk\, I will give a brief\noverview of t he 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 users get started with typesetting their\nown scores.\n\n\n\n# Outline\n\ n- 5-10 minutes: (brief description/outline)\n 1. Introduction to ch ant music\n 2. Introduction to Gregorio\n 3. Example of typesettin g a score in Emacs\n 4. Code and example availability END:VEVENT BEGIN:VEVENT SUMMARY:Emacs and Montessori Philosophy - Grant Shangreaux ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:6fccae45-04b5-5524-662b-fdba87754d06 URL:https://emacsconf.org/2021/talks/montessori DTSTART:20211127T173000Z DTEND:20211127T174000Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Grant Shangreaux":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/montessori\n# Emacs and Montessori Philosophy\n\n\n\n\ nAs a former Montessori guide and now parent\, I often think about the\nre lationship of this particular educational philosophy and how it manifests\ nin my work with software\, Emacs in particular. This talk introduces the\ nconcept of Emacs as an educational environment and how it expresses eleme nts of\nMontessori psychology regarding "Human Tendencies". Human tendenci es are innate\ndrives present in everybody that allow us to explore and ma ke sense of our world.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descri ption/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 li mits)\n - the environment itself is prepared specifically to foster e ngagement\n\n Enumerate the "Human Tendencies":\n\n - Abstraction\ n - Activity\n - Communication\n - Exactness\n - Explo ration\n - Manipulation (of the environment)\n - Order\n - Orientation\n - Repetition\n - Self-Perfection\n - Work (al so described as "purposeful activity")\n\n How does Emacs express these things?\n\n - in the short version\, pose the question\, and perhaps give one example.\n - Emacs is an environment that provides faciliti es for individuals to\n find their way to proficiency through their Human 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 - Noorah Alhasan\, Joe Corneli\, Raymond Puz io\, Leo Vivier ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:9cee7e43-bcb1-7f64-c40b-5f9ea938d11a URL:https://emacsconf.org/2021/talks/erg DTSTART:20211127T174300Z DTEND:20211127T175800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Noorah Alhasan":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Joe Corneli":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Raymond Puzio":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Leo Vivier":invalid:nomail 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\n\n\nThe four of us met at EmacsConf 2020\, and joined together around a\ncommon interest in Emacs and research . Since then\, we have convened as\nthe Emacs Research Group for weekly m eetings. During these meetings\, we\ntook notes collaboratively\, using a ‘conflict-free replicated data type’\npackage (crdt.el)\; at the end of e ach session\, we debriefed using a\ntemplate that we call a Project Action Review (PAR). As as a\nmeta-review of our sessions\, every six weeks we prepared a Causal\nLayered Analysis (CLA)\, which gave us a different pers pective on what we\nhad done. We reflected further on our experiences and methods\, linking\nour CLA to plans and design patterns. As a formal res earch output\, we\ncontributed a write-up of these matters to a joint pape r which we\npresented at the Pattern Languages of Programs Conference (PLo P 2021).\nThe paper included an interactive workshop\, in which we explore d roles\nin real-time problem solving and collaboration.\n\nIn our short t alk we share information about these methods\, making a\ncase for other pe ople getting together and creating their own small\nresearch communities s imilar to ours. END:VEVENT BEGIN:VEVENT SUMMARY:One effective CS grad student workflow - Greg Coladonato ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:0f98a5bb-53ce-fb74-1003-0b1f320d414e URL:https://emacsconf.org/2021/talks/cs DTSTART:20211127T180100Z DTEND:20211127T181100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Greg Coladonato":invalid:nomail 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\n\n\nWhen I was an undergrad\, I learned many things\, most of\n which I forgot. In the time since then\, I've discovered Org Mode\, Org\nR oam\, Org Noter\, Org Ref. PDF Tools\, and Anki. I would like to share\nmy approach for capturing all the information that comes my way as a\nMS CS student at Georgia Tech\, in the hopes that I can both get\nfeedback on wa ys to improve the system I use\, as well as hopefully\ninspire others to b uild workflows that make them more productive.\n\n\n\n# Outline\n\n- 5-1 0 minutes: Go through some typical workflows associated with being a grad student\, using the packages mentioned in the abstract. END:VEVENT BEGIN:VEVENT SUMMARY:Using Org-Mode For Recording Continuous Professional Development - Philip Beadling ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:43cc5db4-e26f-fb44-9aeb-b16c38d8cef3 URL:https://emacsconf.org/2021/talks/professional DTSTART:20211127T181400Z DTEND:20211127T182500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Philip Beadling":invalid:nomail 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\n\n\nI recently had the plea sure of being audited for my CPD record with one\nof the large engineering professional bodies. I decided to harness\norg-mode's TODO lists to reco rd CPD items and my progress against them\ncompletely within Emacs. I als o wanted the ability to export the data\nin a well presented\, compact for mat for auditing submission.\n\nThe project was a success (I passed the au dit) and the resulting system\nintegrates really well into my wider daily Emacs workflow\, making future\nCPD recording seamless.\n\nThe talk will e xplain how I tweaked and extended org-mode to get it to\nrecord the data I wanted\, 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 ](https://preview.redd.it/nvdpmityhuw51.png?width=1169&format=png&auto=web p&s=e0c5080560c877aa02933a40c224e52b8a1fed3b)\n\nI have a much more involv ed example I could also use for the demo.\n\nThe template contains a few e xamples. Examples are Goals that are split\nup into Activities. All Activ ities must have a Goal\, and within a Goal\nall activities must be complet e for the Goal to be automatically set to\ncomplete.\n\nIt's basically lev eraging Org Capture Templates to create custom Goals\nand Activities.\n\nO n save or update these are then rendered into a table using Column View.\n \nActivities 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 form at 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 \nto execute it on opening the Org file. The elisp concerns itself with\nn ice custom org capture functions and a few functions to ensure nice\nforma tting on export\, etc.\n\n\n\n# Outline\n\n- 5-10 minutes:\n\nA quick wa lkthrough of the setup and functions\, followed by a demo of how\nto add C PD items\, and update them. Finally show generation of a PDF\ncontaining all the items tabulated and ready for audit review. I\nestimate this at a pprox 10 minutes. END:VEVENT BEGIN:VEVENT SUMMARY:Creating technical API documentation and presentations using org-ba bel\, restclient\, and org-treeslide - Jan Ypma ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:a10ce62e-6454-d784-21bb-f6a0488e883c URL:https://emacsconf.org/2021/talks/tech DTSTART:20211127T182700Z DTEND:20211127T183800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jan Ypma":invalid:nomail 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\n\n\ nThe emacs org-babel package is often mentioned in conjunction with\nliter ate programming. The ability to mix code segments with prose\nindeed offer s an intuitive way to augment semantic code pieces with\ntextual descripti ons.\n\nIn recent projects\, I've started to turn to org-mode as the prima ry\nformat to maintain technical documentation\, as well as slides for a\n technical language course. By using org-babel to pull in "live" code\nfor REST requests\, language examples\, and shell scripts\, one can be\nsure t hat the documentation and slides are never out of date.\n\nThe session wil l show how leverage org-babel\, restclient and\norg-treeslide to write and present technical documentation with style.\n\n\n# Outline\n\n- Introduct ion\n- Demo: Developer guide\n- Demo: REST API guide\n- Demo: Presentation s\n- Used packages and configuration END:VEVENT BEGIN:VEVENT SUMMARY:Org as an executable format - Tom Gillespie ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:b092bc88-e74c-a9c4-611b-d47c99ef578c URL:https://emacsconf.org/2021/talks/exec DTSTART:20211127T184000Z DTEND:20211127T184800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Tom Gillespie":invalid:nomail 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 \n\nOrg mode is known for its flexibility\, power\, and staggeringly diver se\nnumber of workflows\, users\, and use cases.\n\nThis talk explores jus t how 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 e lvs: two parts of a\ncomplete system for creating executable Org files.\n\ nOrg syntax does not support shebang lines. However\, it turns out that\nO rg syntax enables something even better —\; shebang blocks.\n\nOrg i s also (supposedly) not an executable file format. However\, by\ncombinin g a shebang block with a Org babel source block\, and eval\nlocal variable s (elvs) Org becomes a multi-language executable format.\n\nIn this talk w e introduce shebang blocks and elvs as a two part system\nthat transforms Org files into executable documents that can run on any\nrecent version of Emacs.\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 orgstr ap machinery.\n\nWe then discuss security considerations\, and show exampl e use 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\ nsystems and shells\, and on the development of a formal specification\nan d a reference implementation for using Org source blocks to\ntransform Org files from plain text documents with a bit of markup\ninto self describin g 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\,\na dding a shebang block\, and then running an org file. END:VEVENT BEGIN:VEVENT SUMMARY:The use of Org mode syntax outside of GNU/Emacs - Karl Voit ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:69763d57-be4e-7e74-509b-92e48a0e7ba6 URL:https://emacsconf.org/2021/talks/org-outside DTSTART:20211127T185100Z DTEND:20211127T190300Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Karl Voit":invalid:nomail 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\n\n\nWith the rising interest in Org mode\, the GNU/ Emacs community gained\nmuch momentum in the last decade. Being a nicely d esigned lightweight\nmarkup language\, Org mode does not only benefit user s of GNU/Emacs.\nThere are many tools and services supporting Org mode syn tax documents\nthat do have no direct connection to GNU/Emacs. I would lik e to\nelaborate on the advantages on using Org mode syntax for arbitrary\n text outside of GNU/Emacs for better typing usability and\ncollaboration t asks.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\ nThis can only be a short teaser for the use of Org mode syntax without\nm uch comparison to other lightweight markup languages. For this\naudience\, I do think that this would be too short because most\nattendees might alr eady have heard the rumors that Org mode is great\nor they have adapted Or g mode in their workflows already. END:VEVENT BEGIN:VEVENT SUMMARY:Using Org-mode to teach programming - Daniel German ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:aed5e190-66a0-3dd4-e5eb-be09be94e6c3 URL:https://emacsconf.org/2021/talks/teach DTSTART:20211127T190400Z DTEND:20211127T192500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Daniel German":invalid:nomail 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\n\n\nIn this presentation I will explain how to use org-mode effec tively to\nprepare teaching materials\, and how to present them.\n\nFor th e last 5 years I have been using org-mode to teach programming\nin differe nt languages: C++\, SQL\, Ruby\, Python\, SML\nand Scheme. Org-mode has th ree key advantages:\n\n1. it supports most programming languages with a c ommon interface\,\n2. it is an interactive medium for delivering teaching materials\; 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 my 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 fo r both\nteaching and studying (see\n\nfor an exa mple).\n\nFinally\, I will discuss some important aspects to consider when using\norg-mode for this purpose.\n\n\n\n# Outline\n\n20 minutes:\n\n- Introduction\n- Quick demonstration\n- Workflow\n- Some Important co nsiderations\n- Emacs configuration and how to get started\n\nI have cre ate a git repository with examples and config files that is ready to use:\ n END:VEVENT BEGIN:VEVENT SUMMARY:Managing a research workflow (bibliographies\, note-taking\, and ar Xiv) - Ahmed Khaled ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:fd246cee-b5d6-7cc4-2b63-20e87bb7d750 URL:https://emacsconf.org/2021/talks/research DTSTART:20211127T192900Z DTEND:20211127T193400Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ahmed Khaled":invalid:nomail 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\n\n\nResearchers and knowled ge workers have to read and discover new papers\,\nask questions about wha t they read\, write notes and scratchwork\, and store\nmuch of this inform ation for use in writing papers and/or code. Emacs allows\nus to do all of this (and more) using simple text interfaces that integrate\nwell togethe r. In this talk I will talk about the following:\n\na. Using elfeed and el feed-score to read new papers from arXiv.\nb. Using org-ref to import arXi v papers of interest into a local\nbibliography.\nc. Using Emacs hooks wit h 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- roam-bibtex to take linked\, searchable notes in\norg on research papers.\ n\nThis text-based workflow allows for keeping everything accessible under \nversion\ncontrol and avoids the platform lock-in of binary formats (e.g. Mendeley). 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 w ill demo the packages I use in 5 minutes. END:VEVENT BEGIN:VEVENT SUMMARY:Babel for academics - Asilata Bapat ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:db5821ed-fef4-4934-8fb3-87a0282714de URL:https://emacsconf.org/2021/talks/babel DTSTART:20211127T193800Z DTEND:20211127T194800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Asilata Bapat":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/babel\n# Babel for academics\nAsilata Bapat\n\n\n\nPla in org-mode is already an extremely powerful and\ncustomisable tool for ta sk and time management\, note-taking\, calendar\nand agenda management\, a nd much more. Babel takes org a step further\nby letting you write\, evalu ate\, and export code in different languages\nfrom within a single file. I n this talk\, I will highlight some\nfeatures of babel that I find excitin g and extremely useful\,\nparticularly for an academic workflow.\n\nGettin g started with babel can be intimidating\, but it's hard to stop\nusing it once you start. As an academic\, I typically don't manage\nlarge coding p rojects. My primary purpose is writing lecture notes\,\nassignments\, and papers\, and managing related admin. Typically\, I want\nto try and automa te the boring portions of my workflow without extra\noverhead. I also tend to find various tasks easier in some programming\nlanguages and harder in others\, and prefer to mix and match languages\nas the task dictates. Bab el 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 wri te multiple documents in a\nsingle org file\, which can be convenient. Bab el lets you add all sorts\nof enhancements to the same file. For example\, suppose we have a\nsingle org document with all the problem sets for a co urse. Within\nthis single file\, we could now:\n\n- draw pictures in dit aa\, graphviz\, or python instead of LaTeX\,\n- use python to do complex calculations and then output the result as LaTeX\,\n- define skeletons to quickly draw up assignment templates\,\n- toggle exporting of assignm ents with or without solutions based on tags\,\n- locally change export settings or run a post-export hook\,\n- automatically export to LaTeX af ter saving\,\n- tangle code blocks from some or all of the languages to external files.\n\nI will try to showcase features of babel that academics could find\nhelpful\, by presenting some ways in which I have tried to us e babel. I\nwould also like to be inspired by other people's babel workflo ws!\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nF or 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 h ighlight some of the features mentioned in the abstract. END:VEVENT BEGIN:VEVENT SUMMARY:Reproducible molecular graphics with Org-mode - Blaine Mooers ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:1fc4917c-aab4-1924-2983-e78f8bca6af9 URL:https://emacsconf.org/2021/talks/molecular DTSTART:20211127T195000Z DTEND:20211127T200100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Blaine Mooers":invalid:nomail 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\n\n\nResearch papers in structural biology should in clude the code used to make\nthe images of molecules in the article in the supplemental materials.\nSome structural bioinformaticists have started t o include\ntheir computer code in the supplemental materials to allow read ers\nto reproduce their analyses. However\, authors of papers reporting ne w\nmolecular structures often overlook the inclusion of the code that make s\nthe images of the molecules reported in their articles. Nonetheless\,\n this aspect of reproducible research needs to become the standard practice \nto improve the rigor of the science.\n\nIn a literate programming docume nt\, the author interleaves blocks\nof explanatory prose between code bloc ks that make the images of molecules.\nThe document allows the reader to r eproduce the images in the manuscript by running the code.\nThe reader can also explore the effect of altering the parameters in the\ncode. Org file s are one alternative for making such literate programming\ndocuments.\n\n We developed a **yasnippet** snippet library called **orgpymolpysnips** fo r\nstructural biologists (). \nThis library facilitates the assembly of literate programming documents\ nwith molecular images made by PyMOL. PyMOL is the most popular\nmolecular graphics 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 cove rs of many Cell\, Nature\, and Science issues.\n\nWe used the **jupyter** language in **org-babel** to send commands from\ncode blocks in Org files to PyMOL's Python API. PyMOL returns the\nmolecular image to the output bl ock below the code block. An Emacs\nuser can convert the Org file into a P DF\, `tangle' the code blocks\ninto a script file\, and submit these for n on-Emacs users. We describe\nthe content of the library and provide exampl es of the running PyMOL\nfrom Org-mode documents.\n\n\n# Outline\n\n- 5- 10 minutes: (brief description/outline)\n - Title slide\n - Stru ctural Biolog Workflow in the Mooers Lab\n - Cover images made with P yMOL\n\n - Why develop a snippet library for your field?\n - PyM OL in Org: kernel specification\n - Creating a conda env and installi ng PyMOL\n - Example code block in Org to make DSSR block model of tR NA\n - Resulting image\n - Summary\n - Acknowledgements END:VEVENT BEGIN:VEVENT SUMMARY:Budgeting\, Project Monitoring and Invoicing with Org Mode - Adolfo Villafiorita ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:c54c7930-51cc-5184-9dfb-5033e577b95e URL:https://emacsconf.org/2021/talks/project DTSTART:20211127T200300Z DTEND:20211127T201300Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Adolfo Villafiorita":invalid:nomail 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\n\n\nIn this talk I will present ho w we use Org Mode at Shair.Tech for\nbudgeting\, project monitoring\, and invoicing.\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\npro vides\, and reading here and there what other users do\, we\nimplemented a n effective workflow we have been using for nearly a\nyear\, now\, and wit h which we are very happy. Talk duration:\n\n–\;> 20 minutes seems t o 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:Finding Your (In)voice: Emacs for Invoicing - Bala Ramadurai ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:c9870e10-2600-85a4-24fb-793dfc51164e URL:https://emacsconf.org/2021/talks/invoice DTSTART:20211127T201600Z DTEND:20211127T202600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bala Ramadurai":invalid:nomail 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\n\n\nYe Freelance warriors\, please lend me your I/O devic es for 5 minutes.\n\nYour time is your money! Do you find it a pain to gen erate an invoice\,\nrecord the details into your accounting software and k eep track of\ntaxes and payments? You are not alone\, I found the whole in voice\nthingy to be extremely painful.\n\nBut worry not\, Emacs comes to o ur rescue.\n\nMy talk will give you a basic intro on how to use org mode\, some embedded python code and file jugglery to generate stylistic and pro fessional 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 in frastructure 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- p ython layer (I use spacemacs\, so whatever is the equivalent in your confi g)\n- Some unnecessary Shakespearean references END:VEVENT BEGIN:VEVENT SUMMARY:Productivity Dashboards with Emacs and Kindle - Mehmet Tekman ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:e4e995c0-6e06-8544-a8c3-5f9a06c856fb URL:https://emacsconf.org/2021/talks/dashboard DTSTART:20211127T202900Z DTEND:20211127T203900Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mehmet Tekman":invalid:nomail 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\n\n\nSince 2008\, Amazon have released a new Kindle device every year\,\nsupplanting each generation with a newer model that b oasts highly\npromoted incremental features which greatly devalues the pri ce of\ntheir older models. These forgotten models are sold on Ebay and\not her secondhand websites at highly discount prices by owners who\ndo not se e the true potential of these devices: Kindles are\nexcellent high contras t low-refresh display rate E-Ink devices\,\nwith Wifi capability\, that ru n embedded Linux in the\nbackground. Depending on the model\, an idle Kind le can last weeks\nbefore needing a recharge. This makes them ideal as pas sive image\ndevices that can be configured easily using a few shell\nscrip ts. 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 careful ly disabling the software/bloatware that\ncomes with the device\, these Ki ndles have found new life as online\ndashboard devices which can fetch and display information from the\ninternet at timely intervals.\n\nHere we de scribe a tool to control multiple Kindle devices with a\nsingle org-mode/s hell-based tool\, built initially to periodically\nserve updated Emacs Org -Agenda views\, but later expanded to produce\nonline local weather report s and work calendar\, Emacs calendars\n(calfw\, org-gcal)\, daily dietary information (org-calories)\,\nOrg-Mode sparse TODO trees\, miscellaneous i mage and text content\n(via imagemagick)\, small messages\, and much more. \n\nIn this talk\, we show how to configure multiple Kindles with any\ndes ired custom content\, following any daily/weekly schedule\, all\neasily ma naged 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\, lo ng battery life\, low refresh rate –\; perfect\n for a dashbo ard\n - Timely updated Org-Mode Agendas anyone?\n - Referenc e to inspired projects (kindle-dashboard)\n\n 2-3 mins\n Gener ate content\n\n - A static text+picture image easily generated with i magemagick\n wrapper\n - An image of a sparse tree of org-mode TODO file\n - An image of another emacs view (e.g. Calfw\, or org-ca lories)\n - Show post-processing for optimizing image for Kindles\n\n 1-2 mins\n Configuration in a single org-mode file\n\n - Defining Machines\n - Defining Commands to generate content\n - Defining Schedules to run Commands on multiple Machines at\n speci fic points in the day\n\n 1-2 mins\n Export and Run:\n\n - Show exported shell configs and generated cronjobs\n - Witness mult iple 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 - Andrea ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:33776e08-e815-db94-971b-a151236e11be URL:https://emacsconf.org/2021/talks/nyxt DTSTART:20211127T204200Z DTEND:20211127T205200Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea":invalid:nomail 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 mailto:andrea-dev@hotmail.com - pronouns: h e/him -- https://ag91.github.io\n\n\n\nIn 2021 browsers are essential if y ou use a computer. Even if Emacs\nusers love text as a format\, they may n eed 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 keybindin gs 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 y ou could run\na REPL to extend your browser while browsing? What if you co uld 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 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 ta lk!\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 - Nicolas P. Rougier ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:86d4470a-8d19-7bd4-0c53-6aba1b49baef URL:https://emacsconf.org/2021/talks/design DTSTART:20211127T205500Z DTEND:20211127T210500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Nicolas P. Rougier":invalid:nomail 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\n\n\nText editors are written by and for developers. They come\nw ith a large set of default and implicit choices in terms of layout\,\ntypo graphy\, colorization and interaction that hardly change from one\neditor to the other. It is not clear if these implicit choices derive\nfrom the i gnorance of alternatives or if they derive from developers'\nhabits\, repr oducing what they are used to. Durint this talk\, I will\ncharacterize the se implicit choices and illustrate what are some\nalternatives using GNU E macs.\n\n# Outline\n\n1. Review of a "modern" code editor (5mn)\n2. Introd uction of an alternative using Emacs (5mn)\n\n## Links from the slides:\n\ n* [Elegant Emacs](https://github.com/rougier/elegant-emacs) (https://gith ub.com/rougier/elegant-emacs)\n* [On the Design of Text Editors](https://a rxiv.org/abs/2008.06030) (https://arxiv.org/abs/2008.06030)\n* [N Λ N O Em acs](https://github.com/rougier/nano-emacs) (https://github.com/rougier/na no-emacs)\n* [svg-lib (ELPA)](https://elpa.gnu.org/packages/svg-lib.html) (https://elpa.gnu.org/packages/svg-lib.html)\n* [nano-theme (ELPA)](https: //elpa.gnu.org/packages/nano-theme.html) (https://elpa.gnu.org/packages/na no-theme.html)\n* [nano-modeline (ELPA)](https://elpa.gnu.org/packages/nan o-modeline.html) (https://elpa.gnu.org/packages/nano-modeline.html)\n* [na no-agenda (ELPA)](https://elpa.gnu.org/packages/nano-agenda.html) (https:/ /elpa.gnu.org/packages/nano-agenda.html)\n\n## Contact information\n* Cont act [nicolas.rougier@inria.fr](mailto:nicolas.rougier@inria.fr)\n* Follow my work 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 - John Wiegley ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:59e4daca-1e46-9054-9573-9c91966d6987 URL:https://emacsconf.org/2021/talks/dev-update DTSTART:20211127T210900Z DTEND:20211127T211700Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="John Wiegley":invalid:nomail 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 - Protesilaos Stavrou ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:48a8580f-52ce-cc84-6a23-1eddf720ae02 URL:https://emacsconf.org/2021/talks/freedom DTSTART:20211127T212000Z DTEND:20211127T215800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Protesilaos Stavrou":invalid:nomail 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\n\n\nThe theme will be "how Emacs empowered my s oftware freedom".\nI will outline the key moments in my transition to a GN U/Linux operating\nsystem and mark those which eventually contributed towa rds me becoming\nan Emacs user\, maintainer of a—\;dare I say— \;popular package\, and\ncontributor to upstream Emacs (among others). By alluding to personal\nexperiences\, I will draw generalisable insights an d connect them to what\nI believe are irreducible qualities of Emacs qua s oftware and Emacs as a\ncommunity of like-minded people. The talk will be theoretical in\nnature: there won't be any code-related demonstration nor technical\nreferences that only people with a background in computer scie nce would\nlikely recognise. Personal anecdotes shall be tangential to th e point\nand considered as ancillary to the thesis of what Emacs represent s from\nthe standpoint of software freedom and user empowerment. The\npre sentation is intended for a general audience that is interested in\nGNU so ftware in general and Emacs in particular. My formal educational\nbackgro und as a social scientist (i.e. not a programmer) and later as a\nphilosop her informs my approach to this topic.\n\nThe presentation shall be 40 min utes long. Its text will be in essay\nform and shall be supplied as compl ementary material to the video. The\nnotation will be in Org mode. I can not provide an outline in advance\,\nas it will most likely not be consist ent with the actual presentation.\nIf\, however\, this is absolutely requi red for administrative purposes I\nshall furnish one regardless with the p roviso that I am in no way bound\nby it and thus reserve the right to modi fy it ahead of the main event. END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 1 ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:5287b003-f368-36c4-4f9b-8135734cad39 URL:https://emacsconf.org/2021/talks/day1-close DTSTART:20211127T220000Z DTEND:20211127T220500Z DTSTAMP:20211113T170719Z 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 ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:d877a57a-14cf-a194-99c3-a344ecb24acc URL:https://emacsconf.org/2021/talks/day2-open DTSTART:20211128T140000Z DTEND:20211128T140500Z DTSTAMP:20211113T170719Z 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 - Dmitry Gutov ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:35d1d9e4-dfdf-f254-6aab-7a466fbfaf09 URL:https://emacsconf.org/2021/talks/faster DTSTART:20211128T140500Z DTEND:20211128T142500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dmitry Gutov":invalid:nomail 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\n\n- Before optimizing\, benchmark first.\n- Different benchmarki ng approaches.\n- Live evaluation\, step-debugging\, measuring from a de bugger breakpoint.\n- How to determine if a function is expensive. How t o pick one from\n competing alternatives (cl-lib\, seq\, dash\, lean co re).\n- Print-benchmarking.\n- Byte-compiled code can give a very diff erent picture\, changing where\n the bottleneck is. How to quickly load a byte-compiled version.\n- Steps taken to speed up the Xref package re cently. END:VEVENT BEGIN:VEVENT SUMMARY:Tree-edit: Structural editing for Java\, Python\, C\, and beyond! - Ethan Leba ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:599ef3fa-4c73-6c94-4953-75bbc7830681 URL:https://emacsconf.org/2021/talks/structural DTSTART:20211128T143000Z DTEND:20211128T144100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ethan Leba":invalid:nomail 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\n\n\nIn this talk\, I'll discuss a vision for how writing code could be\, where the\nediting operations map directly to the primitives of the language itself -- and\nmy humble attemp t of implementing this vision. _tree-edit_ seeks to provides a\nstructural editing plugin supporting conceivably any language with a tree-sitter\npa rser.\n\n**Structural editing does not have to be relegated to lisps or ni che 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 p urposes\, the building\nblocks of the language are mismatched with our tho ught process. We don't think\nin terms of registers and addresses\, we thi nk in terms of variables\, functions\,\netc. So when we write and edit cod e\, why do we edit in terms of deleting\,\ninserting\, replacing character s –\; not wrapping\, inserting\, raising\,\ndeleting expressions and statements?\n\nI'll also discuss the implementation of tree-edit\, which uses a novel\ncombination of the fantastic\n[tree-sitter](https://github.c om/emacs-tree-sitter/elisp-tree-sitter) parser\nwith an embedded logic pro gramming DSL ([miniKanren](http://minikanren.org/)\,\nusing elisp port [re azon](https://github.com/nickdrozd/reazon)) to power it's\nsyntax tree gen eration.\n\nCheck out the GitHub repo [here](https://github.com/ethan-leba /tree-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 generat or (Elevator pitch on miniKanren) END:VEVENT BEGIN:VEVENT SUMMARY:Self-Describing Smart DSL's: The Next Magits - Psionic ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:29d45a6f-9425-f5a4-bd23-297292e4ab7a URL:https://emacsconf.org/2021/talks/dsl DTSTART:20211128T144300Z DTEND:20211128T150300Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Psionic":invalid:nomail 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\n\n\nWhen we begin programming\, the promise is to automate away repetitive\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 gr ows\, we\nrun into the following issues:\n\n- As options pile up\, the i ntuition of simplicity is lost in helps and\nmanpages\n\n- Stateless ope ration has no idea what to do next and loses terseness\n- Frequent dispatc h of commands to interrogate state required for the\noperator to decide wh at 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\ndev eloping more killer UI's\, and not just for CLI applications\, but\nalso f or server applications\, Emacs applications\, and Emacs itself.\n\nWhile T ransient's potential is to create the most highly productive\nUI's short o f thought control\, going beyond simple command dispatchers\nrequires a de eper dive. When we think like constructing a DSL for the\ntask and using transient to input that DSL\, we get an intelligent\,\nself-describing mod al programming system.\n\n\n# Outline\n\n- Updates to Transient documenta tion 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") - Erik Ander son ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:8f62e571-91da-bd14-e7c3-b445c7b19d23 URL:https://emacsconf.org/2021/talks/ui DTSTART:20211128T150600Z DTEND:20211128T151600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Erik Anderson":invalid:nomail 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\n\n\nTui.el is a textual User Interface (UI) frame work for Emacs Lisp\nmodeled after the popular JavaScript 'React' framewor k. This package\nimplements React Component API's with the goal of simpli fying\ndevelopment of interactive UI's for all Emacs users- regardless of\ ntheir prior experience with React or web programming. Components\nprovid e a useful functional unit for constructing complex interfaces\ndeclarativ ely and also eliminate much of the burden associated with\nupdating textua l content as application state changes. This talk will\ncover use of the tui.el API and its operation in a textual environment\nby implementing som e basic UI's.\n\n\n\n# Outline\n\n- 5-10 minutes:\n - Problem space : UI implementation complexity.\n - API introduction: Displaying cont ent\, Components.\n - Visual taste of dashboards and applications bui lt with tui. END:VEVENT BEGIN:VEVENT SUMMARY:Extending Emacs in Rust with Dynamic Modules - Tuấn-Anh Nguyễn ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:b073d391-6c37-6bf4-7afb-47edc79631a9 URL:https://emacsconf.org/2021/talks/rust DTSTART:20211128T151900Z DTEND:20211128T153900Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Tuấn-Anh Nguyễn":invalid:nomail 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\n\n\nDynamic module support has been available since Ema cs 25. It can be\nused to extend Emacs with native libraries\, for perform ance\,\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**sa fe** alternative that is also a lot **more convenient**: writing these\ndy namic modules in Rust.\n\n\n\n# Outline\n\n- Walking through creating **a simple dynamic module** in\n Rust\, including setting up CI.\n- Going through and explaining the **available APIs**. END:VEVENT BEGIN:VEVENT SUMMARY:Emacs Application Framework: A 2021 Update - Matthew Zeng ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:e7981936-6d72-93d4-8783-5ac64a0ae5bb URL:https://emacsconf.org/2021/talks/eaf DTSTART:20211128T154400Z DTEND:20211128T155400Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Matthew Zeng":invalid:nomail 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\n\n\nEmacs Application Framework (EAF) is a customizable and e xtensible GUI\napplication framework that extends Emacs graphical capabili ties using\nPyQt5. There are many new but important updates since EmacsCon f2020\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 - Laszlo Krajn ikovszkij ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:5e1baaaf-56a3-b5b4-31cb-5437cf465cf9 URL:https://emacsconf.org/2021/talks/model DTSTART:20211128T155800Z DTEND:20211128T160800Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Laszlo Krajnikovszkij":invalid:nomail 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\n\n\nEmacs is a great operating environme nt in a sense that it provides consistency\nacross different tools and app lications within the Emacs ecosystem\, as well as\nexternal apps that can be integrated into it. It is also the most truly\nmalleable environment\, each element of which can be adjusted or extended\,\ntherefore providing t he user with more power and freedom in personal computing.\nEmacs definite ly can be considered one of greatest software products in\nexistence.\n\nA s 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. The definite\nkiller feature of Emacs - Org-mode\, is what draws many of t he less technical\nfolks to join the party and gradually start to use Emac s for writing documents\,\nwhether personal or work related\, manage tasks \, emails and potentially everything\nelse. The learning curve and differe nce in approach\, however\, leaves some\npotential users too scared of the arcane interface even with all it's quirks and\nfeatures because it requi res at least some technical skills to understand and\nuse properly\, and d oes 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 model of Emacs\, it's focus on\nconsistency\, extensibility\, as well as it's powerful interaction model can be\ncarried over to make modern interf aces\, whether desktop or web applications\,\nthat would be designed with a goal of reflecting the spirit of Emacs in terms of\nthe aforementioned f eatures it possesses\, and therefore enhance the capabilities\nof the Emac s\, 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 persona l web-interface for using modern task management tools\, chats\, emails\na nd such\, but from a UI defined by the user. The goal is to use it on a de sktop\nor mobile\, locally or self-hosted on a server\, with support for t ouch and\ngesture-based workflows\, while preserving the Emacs philosophy and allowing to\nseamlessly switch between Emacs and its web extension\n\n The proposed solution is to integrate more of the modern tools with Emacs\ ,\nutilize Org-mode as a way to define application-specific parameters for these\ntools through Org properties\, and then utilize these parameters f or making a\nmodern local frontend that would enhance Emacs UI while allow ing to use external\ntools in a more personal and freedom respecting way ( making the originals\nobsolete over time). The talk serves the purpose of inviting community members to\na discussion about how Emacs can become mor e modern\, more approachable by people\nwho don't possess the neccessarry technical skills to adjust it themselves\, but\nare keen to learn it\, and potentially how to attract more users to greater\nproductivity\, computer literacy and the ideas of free software.\n\n\n\n# Outline\n\n- 5-10 min utes\n - Introduction\n - Issues with most modern tools for work \n - Issues with Emacs as a tool for work\n - In search for a hy brid approach\n - User controlled web-apps\n - Opinions encourag ed\n - Contacts END:VEVENT BEGIN:VEVENT SUMMARY:Don't write that package! or: How I learned to stop worrying and lo ve emacs-devel - Stefan Kangas ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:4cd6de26-cf48-95c4-9d3b-28895a43ec53 URL:https://emacsconf.org/2021/talks/devel DTSTART:20211128T161100Z DTEND:20211128T163100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stefan Kangas":invalid:nomail 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\n\n\nWe need a succe ssful 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 a nd customize. There is so much great experimentation\nand work going on o ut there in the wider Emacs community\, but we would\nbe even better off i f more of that could go into Emacs itself.\n\nEmacs' greatest strength is unfortunately sometimes also its greatest\nweakness: it is *too* hackable. \n\nOn occasion\, people out there add stuff to their Init file to fix thi s\nor that annoyance\, or even bug. The more ambitious might go on to\npa ckage 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 t hat same\nproblem or annoyance\, and would benefit from your solution?\n\n It is sometimes perceived as hard to contribute to Emacs core. I want\nto encourage more people to get involved\, and show that the barrier to\nent ry is really not that high. If I can do it\, you can do it too!\n\nSo sho uld 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 - Stefan Monnier ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:49a35f05-b71f-1d14-2343-a6638bec0d08 URL:https://emacsconf.org/2021/talks/bindat DTSTART:20211128T163600Z DTEND:20211128T170600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stefan Monnier":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/bindat\n# Turbo Bindat\nStefan Monnier\n\n\n\n\n# Tabl e 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\ , EMMS\, and\ncpio-mode. Its implementation was repeatedly caught harassin g hapless\nkitten while at the same time providing poor service slowly. Fo r\nEmacs-28\, Bindat was rewritten so as to make it more efficient and\nfl exible 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 pr oblems\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 - Andrea Corallo ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:1ddbe380-b4f3-2b84-3cc3-9e799536db8e URL:https://emacsconf.org/2021/talks/native DTSTART:20211128T174000Z DTEND:20211128T182000Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea Corallo":invalid:nomail 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\n\n\nEmacs Lisp (Elisp) is the L isp dialect used by the Emacs text editor\nfamily. GNU Emacs is tradition ally capable of executing Elisp code\neither interpreted or byte-interpret ed after 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 ma in Emacs development line allow for\nautomatically compiling and executing Elisp as native code.\n\nDuring the presentation I'll touch on:\n\n- de sign goals\n- compiler and runtime design and implementation\n- perfor mance implications\n- upstream process\n- area of improvements and fut ure developments\n\nFormat: 40 minutes END:VEVENT BEGIN:VEVENT SUMMARY:Old McCarthy Had a Form - Ian Eure ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:5947c3e9-93c1-1014-7ffb-aa0e0097e3e4 URL:https://emacsconf.org/2021/talks/form DTSTART:20211128T182700Z DTEND:20211128T183700Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ian Eure":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/form\n# Old McCarthy Had a Form\nIan Eure\n\n\n\nMost practical languages are multi-paradigm\, offering several\nabstractions fo r the programmer. But did you know that Emacs Lisp\ncomes with a powerful system for object-oriented programming? Join me\nfor a discussion of EIEI O\, and learn how it can help you write more\nmodular\, flexible Emacs Lis p.\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 - Fu rther reading END:VEVENT BEGIN:VEVENT SUMMARY:Test blocks - Eduardo Ochs ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:5e162d34-ea19-8544-b693-dd6da0e885cd URL:https://emacsconf.org/2021/talks/test DTSTART:20211128T184100Z DTEND:20211128T184600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Eduardo Ochs":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/test\n# Test blocks\nEduardo Ochs\n\n\n\nIn this prese ntation 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 interface to the computer for more than 20 years.\nTake any interpreted la nguage that supports multi-line comments\, and\nwhose interpreter can be r un in an Emacs buffer - for example Lua\,\nHaskell\, Python\, or Julia\; l et'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 l ots 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 ee pitch block that when\nexecuted starts a Lua interpreter\, loads the scrip t foo.lua (by\nrunning 'dofile "foo.lua"')\, and then has several tests fo r that class\nand its methods\; and we can put another block with tests li ke that\nafter the class Bletch\, and other blocks after some functions. E epitch\nallows sending these tests line by line to the Lua interpreter by\ ntyping on each line that we want to send\, and this lets us create \ntests that are very easy to understand even without writing comments\;\n this gives us a very quick way to document code by executable tests\,\ntha t is super-great for experimental code that is still going to\nchange a lo t before running the risk of being read by other people.\n\nThese multi-li ne comments with eepitch blocks that run an interpreter\nand make it load the current file are called "test blocks". The\ncommand \\`M-x eeit' inser ts a test block at point\, using the major mode\nto decide the right synta x to use for the multi-line comments and for\nthe "dofile". We can configu re 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 blo cks to more languages (or\, more\nprecisely: to more major modes).\n\nEdua rdo Ochs END:VEVENT BEGIN:VEVENT SUMMARY:Let's talk about bug trackers - Bastien Guerry ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:51023225-018f-cf24-9d73-3c267907c13e URL:https://emacsconf.org/2021/talks/bug DTSTART:20211128T184900Z DTEND:20211128T190900Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bastien Guerry":invalid:nomail 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 \n\n\nFor 17 years\, the Org developers didn't use a bug tracker\,\nshamel essly failing the Joel Spolsky test. Why was it "good enough"?\nWhy was i t 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 - Mohsen BANAN ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:1407591a-29fd-3f64-1beb-01dea6e9d7d2 URL:https://emacsconf.org/2021/talks/bidi DTSTART:20211128T191600Z DTEND:20211128T193600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mohsen BANAN":invalid:nomail 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\n\n\nEmacs is a multilingual user environme nt. A true multilingual editor must\nsupport bidirectionality and shaping of characters. Perso-Arabic scripts require\nboth of these features.\n\nSt arting with Emacs 24\, full native bidi\n(bidirectional) support became av ailable. For\nmany years prior to that Unicode support was\navailable and by around year 2000\, reasonable\nopen-source shaping libraries were also available.\n\nWith these in place at around 2012\, I developed\ntwo Persi an input methods for emacs. These input\nmethods or variations of them can also be used for\nArabic and other Perso-Arabic scripts.\n\nWith all of t hese in place\, Emacs has now become\nthe ne plus ultra Libre-Halaal and C onvivial usage\nenvironment for Perso-Arabic users.\n\nSince emacs comes l oaded with everything (Gnus\nfor email\, Bbdb for address books\, XeLaTeX modes\nfor typesetting\, org-mode for organization\, spell\ncheckers\, com pletion systems\, calendar\, etc.)\, all basic\ncomputing and communicatio n needs of Perso-Arabic\nusers can be addressed in one place and\ncohesive ly.\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 in put methods. With an emphasis on "Banan\nMulti-Character (Reverse) Transli teration Persian Input Method". The\nsoftware is part of base emacs distri bution. Full documentation is available\nat:\n\n Persian Input M ethods\n For Emacs And More Broadly Speaking\n شیوه‌ها یِ درج به فارسی‌\n \n\nIn Part 2\, I'll demonstrate that Emacs is far more than an editor. E macs 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 - Existi ng emacs 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 bid i on display.\n - Use of Persian text for Persian (solar) calendar.\n - Use of Arabic text for Muslem (lunar) calendar.\n\n- AUCTeX: Pe rsian typesetting with XeLaTeX\n - Option of having right-to-left Pe rso-Arabic aliases for all latex commands.\n\nReferences:\n\n - Persian Input Methods:\n \n -- Persian Input Methods Acces s Page\n -- Various Perso-Arabic resourc es\n -- Re-Public ation Of\n Persian Information Interchange and Display Mechanism\ , using Unicode\n - - Git repo for\n persian.el -- Quail package for inputting Persia n/Farsi keyboards\n\n - BIDI:\n -- Annex #9 of the Unicode standard\n \n Ema cs Bidirectional 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 Natu re of Polyexistentials:\n Basis for Abolishment of The Western Intellectual 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 - Andrea ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:3364aedb-a496-5c64-5383-b0080afa6d7b URL:https://emacsconf.org/2021/talks/mold DTSTART:20211128T194100Z DTEND:20211128T195100Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea":invalid:nomail 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 mailto:andrea-dev@hotmail.com - pronouns: he/him -- https:/ /ag91.github.io\n\n\n\nWe could learn about things better. Mountains of kn owledge 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\nKnowle dge (web\, software\, books) keeps growing faster and faster! This\nis not sustainable: we cannot keep up with it! What if we repeat the\nerror of s omebody 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 devel opment 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 from what you have already.\n\nSince we use Emacs\, let's make our great e ditor moldable!\n\nThis talk shows my progress in making Emacs closer to s uch a tool. We\nare going to see how we can mold structured (and maybe eve n natural)\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 quicker 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. - Fermin MF ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:daf3570b-3df3-9db4-a1f3-ce98d9863717 URL:https://emacsconf.org/2021/talks/clede DTSTART:20211128T195500Z DTEND:20211128T201500Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fermin MF":invalid:nomail 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\n\n\nI've been developing a package that helps with t he development of\nCommon Lisp's software\,\nit's uses the internal semant ic framework\, it has a custom reader\nand integration for\ncommon Emacs p ackages (like Sly and the internal inferior-lisp-mode).\n\nThe idea is to supply features that other language with and static\nanalyzer have\,\nlike refactoring and code generation.\n\nFor more details: \n\n- 20 minutes:\n It seems like not too much peopl e 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 - Shane Mulligan ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:f03ae971-4d2b-ccc4-2643-4ae2391ce1ab URL:https://emacsconf.org/2021/talks/imaginary DTSTART:20211128T202200Z DTEND:20211128T203300Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Shane Mulligan":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/imaginary\n# Imaginary Programming\nShane Mulligan\n\n \n\nImaginary Programming (IP) is both methodology and paradigm. It is an\ nextension of literate programming and a way of creating software without\ nthe use of imperative\, functional or even declarative code. Yet IP emplo ys\nall disciplines to achieve the miraculous. The only contingency is on one\nor more language models\, known as foundation models. The real value of IP\nis not found by abandoning sound logic altogether\, but in weaving the real\nwith the imaginary. The future of imaginary programming is one i n which\nalmost all of computing is inferred. I have built a suite of tool s based on\nemacs for interfacing real programming languages with imaginar y ones\; all\nof this in order to demonstrate what I mean\; a ‘complex’ te rminal that lets\nyou imagine what happens no matter how nested you are wi thin interpreters\,\nan example-oriented language\, a file format that enc odes the provenance of\ntext and a library for imaginary functional progra mming primitives called\niLambda. It is important to recognise IP because\ , for lack of a better\nterm\, it has far-reaching implications for intell ectual 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 fam ily of imaginary programming libraries\n \n\n\n\n IRC libertyprime at #emacs on libera\n\nShane Mulligan END:VEVENT BEGIN:VEVENT SUMMARY:How to build an Emacs - Fermin MF ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:27595637-b6b9-f764-805b-ff1b7f009006 URL:https://emacsconf.org/2021/talks/build DTSTART:20211128T203600Z DTEND:20211128T205600Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fermin MF":invalid:nomail DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs conf.org/2021/talks/build\n# How to build an Emacs\nFermin MF\n\n\n\nThis is a deep dive in the Emacs philosophical and technical\naspect on what ma kes our beloved GNU Emacs\nwhat it it. It's also a talk about the early LI SP machines and\nfascinating were those days of experimentation and engine ering.\n\nIt will continue with the Emacs benefits/trade-offs from an\nuse r/developer stand points\, what things can be improved and\nwhat can be an hypothetical path on how to build a software that\ncan also be called Ema cs.\n\nAs a last part\, I'll talk about CEDAR\, an Emacs that I've been\nd eveloping in Common Lisp\, the project goals\nand the challenges.\n\nFor m ore details about CEDAR: \n\n- 40 mi nutes:\n A dive into the Emacs/Lisp machines history\, what makes GNU E macs\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 - David Wils on (System Crafters) ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:80d1ad02-5fe4-03b4-c573-17ea6cdb61aa URL:https://emacsconf.org/2021/talks/forever DTSTART:20211128T210300Z DTEND:20211128T214300Z DTSTAMP:20211113T170719Z ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="David Wilson (System Crafters)":invalid:nomail 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\n\n\nThe computer software industry has seen m any "popular" text editors come\nand go\, often due to the mercurial fashi ons of software development. In\nthis talk\, we'll take a look at why pop ular editors fade and the\nspecific aspects of Emacs that will ensure it r emains relevant\nregardless of mainstream popularity.\n\n\n\n# Outline\n\n - Discuss the core thesis\, the features that make Emacs\n desirable for long-term use (extensibility\, day-to-day 'life' features)\n\n- Include mo re background on the text editor landscape and\n how the scope of various editors is more narrow and doesn't compare to Emacs.\n\n- Talk about spec ific instances where editors were popular\, fell out\n of popularity\, an d why (due to changing fashions\, not usually\n better features). END:VEVENT BEGIN:VEVENT SUMMARY:Closing remarks day 2 ORGANIZER:EmacscConf LOCATION:https://emacsconf.org/ UID:828e7c62-8430-f1a4-431b-63c308d58688 URL:https://emacsconf.org/2021/talks/day2-close DTSTART:20211128T215000Z DTEND:20211128T220000Z DTSTAMP:20211113T170719Z 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