summaryrefslogtreecommitdiffstats
path: root/2022/talks
diff options
context:
space:
mode:
Diffstat (limited to '2022/talks')
-rw-r--r--2022/talks/asmblox.md94
-rw-r--r--2022/talks/async.md103
-rw-r--r--2022/talks/buddy.md100
-rw-r--r--2022/talks/buttons.md108
-rw-r--r--2022/talks/community.md57
-rw-r--r--2022/talks/dbus.md173
-rw-r--r--2022/talks/detached.md89
-rw-r--r--2022/talks/devel.md73
-rw-r--r--2022/talks/eev.md71
-rw-r--r--2022/talks/eshell.md156
-rw-r--r--2022/talks/fanfare.md179
-rw-r--r--2022/talks/grail.md322
-rw-r--r--2022/talks/handwritten.md138
-rw-r--r--2022/talks/haskell.md45
-rw-r--r--2022/talks/health.md105
-rw-r--r--2022/talks/hyperorg.md160
-rw-r--r--2022/talks/indieweb.md132
-rw-r--r--2022/talks/journalism.md208
-rw-r--r--2022/talks/jupyter.md102
-rw-r--r--2022/talks/justl.md42
-rw-r--r--2022/talks/links.md2
-rw-r--r--2022/talks/localizing.md53
-rw-r--r--2022/talks/lspbridge.md143
-rw-r--r--2022/talks/mail.md153
-rw-r--r--2022/talks/maint.md249
-rw-r--r--2022/talks/meetups.md81
-rw-r--r--2022/talks/orgsuperlinks.md196
-rw-r--r--2022/talks/orgvm.md45
-rw-r--r--2022/talks/orgyear.md129
-rw-r--r--2022/talks/python.md69
-rw-r--r--2022/talks/rde.md105
-rw-r--r--2022/talks/realestate.md91
-rw-r--r--2022/talks/rms.md433
-rw-r--r--2022/talks/rolodex.md298
-rw-r--r--2022/talks/sat-close.md50
-rw-r--r--2022/talks/sat-open.md22
-rw-r--r--2022/talks/schedule-2022-12-03.svg1
-rw-r--r--2022/talks/schedule-2022-12-04.svg1
-rw-r--r--2022/talks/school.md102
-rw-r--r--2022/talks/science.md167
-rw-r--r--2022/talks/sqlite.md175
-rw-r--r--2022/talks/sun-close.md253
-rw-r--r--2022/talks/sun-open.md23
-rw-r--r--2022/talks/survey.md160
-rw-r--r--2022/talks/tramp.md28
-rw-r--r--2022/talks/treesitter.md121
-rw-r--r--2022/talks/wayland.md122
-rw-r--r--2022/talks/workflows.md56
48 files changed, 5785 insertions, 0 deletions
diff --git a/2022/talks/asmblox.md b/2022/talks/asmblox.md
new file mode 100644
index 00000000..b97f7169
--- /dev/null
+++ b/2022/talks/asmblox.md
@@ -0,0 +1,94 @@
+[[!sidebar content=""]]
+[[!meta title="asm-blox: a game based on WebAssembly that no one asked for"]]
+[[!meta copyright="Copyright © 2022 Zachary Romero"]]
+[[!inline pages="internal(2022/info/asmblox-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# asm-blox: a game based on WebAssembly that no one asked for
+Zachary Romero (<mailto:zacromero@posteo.net>)
+
+[[!inline pages="internal(2022/info/asmblox-before)" raw="yes"]]
+
+Over the past decade, programming games have risen in popularity and
+become a genre unto themselves. They are loved for their open-endedness
+and have helped people get into programming as well as help programmers
+hone their problem-solving skills. As a fan of the genre, I decided I
+wanted to recreate such an experience in Emacs. Looking at the already
+existing collection of games, TIS-100 by Zachtronics stood out as an
+especially good candidate for the base of a game, where the user is
+entering assembly code into a terminal to solve puzzles. The game
+asm-blox switches things around and instead of programming register
+machines, you program mini stack machines in a language similar to the
+WebAssembly text format.
+
+I'm still wondering if the game is actually any fun or not but either
+way it was an interesting project to make. In this talk, I'll demo the
+game as well as go over some of the Emacs Lisp tricks I used to make it
+work.
+
+The source code can be found at <https://github.com/zkry/asm-blox>
+
+
+# Discussion
+
+## Questions and answers
+
+- Q: Why did you choose an internal state versus many`state
+ buffers`? (ie. actual windows)  Thanks!
+ - A: A single internal state is easier to deal with in the context
+ of the game. Windows would obviously be better for other normal
+ applications to allow users to customize how they should behave.
+- Q:Do you have plans to port shenzhen io to emacs?
+ - A:That would be cool, was also thinking about exopunks.
+- Q:Did this use wasm ? We call some wasm code from Emacs?
+ - A:No, more similar to TIS-100, just a game.
+- Q: Why wasm rather than a more traditional Assembly dialect? It
+ wouldn't be harder to implement, right?
+ - A: It would have been easier, but less of a challenge and
+ resemble TIS-100 too much.
+- Q:Any next projects on your mind?
+ - A: Yes, a couple, hopefully more useful. I think tree-sitter is
+ cool. There's a neovim plugin called neogen that generates
+ documentation. Hopefully next year I'll be presenting something
+ more useful.
+- Q: Does this work with any other paren-based editing packages?
+ - A: Not at all (etc. tbd)
+- Q: What kind of tool could use this idea? 
+ - A: So I think some sort of graph drawing tool in Emacs might
+ have a similar idea. Like artist-mode but with graph drawing
+ constructs.
+- Q:  How did you go about designing the puzzles?
+ - A: With open-ended puzzles like this, coming up with random
+ ideas that seem like they should be implementable usually works.
+ If  you've seen some of Zachtronics games, the bar is extremely
+ high for what is capable.
+- Q: What' are your favorite changes  in the upcoming emacs 29?
+ - A: Definitely tree sitter. I've played around with it and it
+ provides a nice interface for extracting syntax information.
+ Like I can probably rewrite this plugin without any crazy
+ regexs: <https://github.com/zkry/go-ttest.el>
+- Q: Are there tools to add more puzzles?
+ - A: So the game code itself has a asm-blox-puzzles.el file which
+ defines each puzzle. It's pretty easy to add new puzzles but it
+ involves digging into the code.
+- QLike a binding to graphviz? (assume this is a continuation of the
+ "what kind of tool" question)
+ - A: I was thinking more ASCII, like a tool I saw called diagon.
+ Like artist mode but for graphs. But graphviz is amazing and a
+ lot could be done with that.
+
+           the diagon tool: <https://arthursonzogni.com/Diagon/#Math>
+
+Other feedback from IRC:
+
+- Great presentation. Game actually looks quite fun
+- Thanks again for your answers. Du bist das Beste
+
+[[!inline pages="internal(2022/info/asmblox-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/asmblox-nav)" raw="yes"]]
+
+[[!taglink CategoryFun]]
diff --git a/2022/talks/async.md b/2022/talks/async.md
new file mode 100644
index 00000000..5b7fbbc8
--- /dev/null
+++ b/2022/talks/async.md
@@ -0,0 +1,103 @@
+[[!sidebar content=""]]
+[[!meta title="Emacs was async before async was cool"]]
+[[!meta copyright="Copyright &copy; 2022 Michael Herstine"]]
+[[!inline pages="internal(2022/info/async-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs was async before async was cool
+Michael Herstine (IRC: sp1ff)
+
+[[!inline pages="internal(2022/info/async-before)" raw="yes"]]
+
+While async is all the rage in the JavaScript, Go and Rust
+communities, Emacs has had the ability to (certain) asynchronous
+processing all along. I learned this while writing an Emacs package to
+program to my music server's API.
+
+Music Player Daemon is a project that does what it says: hangs out in
+the background & plays your music. It has an API that I wanted to call
+from Emacs. I had just learned async Rust, so I decided to see if I
+could do something similar here. It turns out I could: I wound-up
+writing a little async runtime that allows callers to "send" commands
+to the daemon by queueing them up and returning immediately. In the
+background, as output from previous commands comes in, new commands
+are dequeued and sent.
+
+This required callers to provide callbacks in order to receive the
+results of their commands, which led to a situation all too familiar
+to Javascript programmers: callback hell. The coda to my story was
+(finally) coming to understand Lisp macros in order to extend Emacs
+Lisp with a more convenient construct for sending multiple commands.
+
+This talk will dive into the details of the Emacs Lisp process API,
+specifically the Low-Level Network Access API, with illustrations as
+to how it can be used to build an asynchronous queue. It will also
+introduce Lisp macros and how powerful they can be.
+
+Michael is a developer and long-time Emacs user from the San Francisco
+Bay area. He hacks in C++, Lisp & Rust and thinks a lot about writing
+provably correct code. You can find him at:
+
+ - his [home page](https://www.unwoundstack.com)
+ - on IRC: sp1ff on Libera.Chat
+ - through [e-mail](mailto:sp1ff@pobox.com)
+ - or on [Github](https://github.com/sp1ff)
+
+# Discussion
+
+- Q: (Referencing the first half of your talk): How does this approach
+ compare to using tq.el, Emacs' built-in library for transaction
+ queues?
+ - A: Great question; should have mentioned that... I took a look,
+ but chose to just do it "by hand"; I wouldn't have used many
+ of the features offerred by tq.
+- Q: Have you considered using the aio.el library (written by Chris
+ Wellons) that implements async/await for Emacs lisp using promises?
+ It's implemented using Elisp's record data structure, and turns
+ the nested callback structure into regular-looking Elisp code
+ (without extra keywords etc). +1
+ - A: I wasn't aware, but thanks for the pointer-- will
+ definitely take a look
+- Q: not to take away from your excellent work, but are you aware that
+ EMMS has an MPD client? There's also mpc.el built into Emacs.
+ - A: Another great point; I am, along with mpdel (another MPD
+ client for Emacs). They are all full-fledge applications-- I
+ just wanted a small, tight toolkit
+- Q:Have you seen the Lonesome Pine Specials? I saw your music library
+ and figured you would be interested. My favorite is the one with
+ Edgar Meyer, Sam Bush, Jerry Douglas, and I think Bela Fleck and
+ Mark O'Connor?
+ - A: LOL I haven't, but I I think I will be!
+- Q: can you share the code to the macro that creates the callback
+ tree?
+ - A: <https://github.com/sp1ff/elmpd/blob/master/elmpd.el#L898>
+ - thanks!
+- Q: would using dynamic/special vars add anything interesting /
+ easier to async elisp in your opinion? i noticed you using `let` a
+ lot, but if you defined a variable hmm... not sure if i can :)  i
+ was just wondering if having dynamic binding in Elisp opposed to
+ something like JS adds some power to async programming
+ - A: lexical binding is easier to reason about :)
+- Q: There's another package (chuntaro?) in addition to wellon's aio
+ that also implements a coroutine trampoline on the emacs event loop.
+ any thoughts on the async/await paradigm generally red/blue
+ functions, etc?
+ - A: Longer discussion in the chat room, but I think it's a
+ promising if over-used approach to concurrency.
+- Q: How does your project compare to some of the other MPD clients?
+- Q: Any thoughts on the async await paradigm generally, red-blue functions, etc.?
+- Q: Do you think it's a viable future for Emacs to get out of callback hell?
+
+Comments from YouTube:
+
+- Thank you for the informative video Michael! Now I know a way to avoid callback hell in Emacs lisp!
+- Nice talk, thank you Michael!
+
+[[!inline pages="internal(2022/info/async-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/async-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/buddy.md b/2022/talks/buddy.md
new file mode 100644
index 00000000..30a9e0ce
--- /dev/null
+++ b/2022/talks/buddy.md
@@ -0,0 +1,100 @@
+[[!sidebar content=""]]
+[[!meta title="The Emacs Buddy initiative"]]
+[[!meta copyright="Copyright &copy; 2022 Andrea"]]
+[[!inline pages="internal(2022/info/buddy-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# The Emacs Buddy initiative
+Andrea (<mailto:andrea-dev@hotmail.com>)
+
+[[!inline pages="internal(2022/info/buddy-before)" raw="yes"]]
+
+Emacs is a cryptic marvel of usefulness: who else can help you solve
+its riddles if not a buddy?
+
+The Emacs Buddy initiative [0] aims to help you find somebody that can
+support you in your Emacs exploration.
+
+No matter if this is the first (or second?) time you start Emacs or if
+it is decades you use it: everyone hits a wall behind which there is
+progress. More often than not somebody else (sometimes a younger
+sometimes an older one but always with a different context) can help
+us move past those walls towards new discovery.
+
+So come and listen about how to stand on the shoulders of your Emacs
+ buddies!
+
+In this short talk I will give an idea of how to request a buddy, how
+to become a buddy yourself and how the initiative worked out so far!
+
+[0] <https://github.com/ag91/emacs-buddy>
+
+# Discussion
+
+## Notes and feedback
+
+- I am totally into emacs buddy!!
+- noticed the program name in Andrea's Emacs window title? ;-)
+ - "This Text Editor is just Too Cool :)" in the fram title
+- The "Buddy System" has already helped me with Emacs and Gnus. Thank you Andrea!
+ - oh, you are welcome danisanti :D Hope you keep sending encrypted mails: thanks for the GPG exercise :)
+- This buddy system is a great idea, by the way. I could see how this might really benefit people trying to learn more or spread their skills
+- I think the usergroups page on the EmacsWiki is fairly well maintained.. https://www.emacswiki.org/emacs/Usergroups
+
+
+
+## Questions
+
+- Q: OFF TOPIC and not a question but a remark: hotmail.com is
+ constantly blocking more and more smaller email servers (for valid
+ but also dubious reasons) and many administrators are frustrated
+ enough not to try to get off Microsoft's blocklist any more. So
+ your email address might not be reachable by a substantial set of
+ people especially people who do not use the big email players such
+ as Google.
+ - A: oh what do you suggest? I can use/make a different one
+ - Karl: I'd recommend not to use Microsoft email servers in
+ general as I've realized in too many situations that admins
+ gave up fighting Microsoft. For example, my Mastodon
+ instance can not be used any more by people using hotmail
+ for that reason. Sometimes, admins do have to pay real money
+ in order to get unblocked by Microsoft. This is a pattern
+ I'd not support myself. YMMV.
+ - The worst part: users of Hotmail do not realize this
+ until they really need to contact a company or a person
+ who got blocked.
+ - Ah didn't know that, I will look into it then. Thanks!
+ - Have a look at e.g. mailbox.org (using renewables),
+ migadu.com (partly), posteo.de (if you don't require an own
+ domain...)
+ - For people who focus on mobile apps and webmailers,
+ protonmail might be a good idea. They are Swiss-based
+ and focus on a very high level of privacy and security.
+ AFAIR IMAP is only for payed plans and for for the free
+ plan.
+ - interesting, thanks!
+- Hi Andrea-- great talk. I hope your idea can scale. Are you looking at other models such as mentorship networks etc. What are your thoughts on real-time collaboration? Also, should this buddy network be a slack or discord channel? Would that help?
+ - I will just scale it up if necessary pulling more people as facilitators in case
+- Hi, just missed the talk, but as a beginner who just enjoys tinkering with emacs, I herewith warn you that I might reach out to you :-)
+- Q: would you consider creating a IRC channel for your buddy initiative?
+ - A: I didn't think about it: how would that be? I was thinking email/calls was more personal ;)
+ - a permanent IRC is great for me
+ - email and calls are good too
+ - for IRC there already is #emacs
+ - #emacs is a pretty big channel. I can see where having a dedicated channel would make sense.
+ - something like jitsi might be good if you want that. I think you can protect them w/ code to keep weirdos out?
+ - email is more personal and it doesn't need to be connected all the time to get an answer
+ - yeah, async vs. sync communication styles.
+ - FWIW, to create a channel simply /join #the-channel
+- quiliro: I want to be a mentor and also would like to be mentored
+ - A: just drop me an email and we can get on from there
+ - dto: hey `none can you pm me your email? i could do some mentoring sessions this year for sure
+
+[[!inline pages="internal(2022/info/buddy-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/buddy-nav)" raw="yes"]]
+
+[[!taglink CategoryCommunity]]
diff --git a/2022/talks/buttons.md b/2022/talks/buttons.md
new file mode 100644
index 00000000..dc4e9a39
--- /dev/null
+++ b/2022/talks/buttons.md
@@ -0,0 +1,108 @@
+[[!sidebar content=""]]
+[[!meta title="Linking personal info with Hyperbole implicit buttons"]]
+[[!meta copyright="Copyright &copy; 2022 Mats Lidell"]]
+[[!inline pages="internal(2022/info/buttons-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Linking personal info with Hyperbole implicit buttons
+Mats Lidell (he/him/his, <mailto:matsl@gnu.org>)
+
+[[!inline pages="internal(2022/info/buttons-before)" raw="yes"]]
+
+GNU Hyperbole, The Everyday Hypertextual Information Manager, supports
+hypertext links. Linking is done though buttons that can be either of
+two types, implicit buttons and explicit buttons.
+
+In this talk I will show how the Hyperbole support of implicit buttons
+can be used to create links to personal data.
+
+Outline:
+
+1. Short introduction to Hyperbole
+2. Description of what an implicit button is
+3. Description of how Hyperbole supports creating new implicit buttons using the Hyperbole defil macro
+4. Examples of applying the defil macro together with different personal data structures
+
+# Discussion
+
+- Hyperbole - <https://www.gnu.org/software/hyperbole/>
+- <https://savannah.gnu.org/projects/hyperbole/>
+- Get a lot of power and put buttons everywhere without having to
+ learn a lot of syntax. This is what is cool about hyperbole. 
+- You can expand and collapse trees if you export hyperbole kotl-files
+ (unlike exporting from org-mode)
+- These hyperbole buttons looks quite cool!
+- the mapping is agnostic if you are looking at the code or any other document, that is quite powerful, thanks for the presentation!
+- I was in the other room and just came in at the last moment to hear about hyperbole for the first time!
+
+## Questions
+
+- Q: So with one line of code you can create custom hyperbutton types
+ that are live in any Emacs buffer.  Is that right?
+ - A: Yes.
+- Q:Is there a good way to share common patterns for links other than
+ the ones that you shared? shall those be PRs to your repository?
+ - A: 
+ - No, I view these buttons first as specific for your
+ application or supporting your way of working so would have
+ less value in sharing. On sharing is that they could be used
+ for collabration between different users where each user
+ would define their own mapping to work in their environment.
+ In the file example in the presentation each users could
+ have has stored the data in different local folders but use
+ the same pattern to link to the data.
+ - Thinking about it again now I realize that you mean sharing
+ as examples or for inspiration. That is a good idea. We
+ don't have any example section but we could add that. You
+ can also post ideas and examples to the Hyperbole user
+ mailing list.
+- Q: I liked the link to evaluate Calc expressions. Any way to get the
+ outcome into the buffer and not just in the message window? It could replace embedded calc mode with more control... I guess any elisp code can be used for the target evaluation.
+ -ericsfraga
+ - A: You can mix Hyperbole buttons with Org source blocks too, so
+ you could get things in a buffer that way too.
+ - The example uses a lambda expression to get the result
+ displayed. To get the result inserted in the buffer would just
+ require a function to do that instead of displaying it in the
+ message window.
+ - This would be a simple example of this (It will insert the
+ result after the button, removing rest of the line but keep the
+ point in the button allowing you to change it to calculate a new
+ result.)
+ ````
+ (defil demo-do-math "<<" ">>" ".*"
+ '(lambda (x) (save-excursion (search-forward ">>")
+ (kill-line) (insert " " (calc-eval x) " "))))
+ ````
+- Q: How did you present the right buffer with shortcuts at the right
+ of your buffer? -- a lot of people are wondering.
+ - A:  interaction-log mode -
+ <https://github.com/michael-heerdegen/interaction-log.el>
+ - In combination with displaying it in a separate frame.
+- Q:What kind of cool actions do you use in Hyperbole?
+ - A: Among other things... 
+ - You can expand and collapse trees if you export hyperbole
+ kotl-files (unlike exporting from org-mode) kotl-files are
+ Hyperbole outliner files.
+ - I use implicit button defined with the defib macro that
+ allows me to match to text with no start and stop 
+ delimiters. That way I can match on identifiers used in
+ other systems verbatim, such as identifiers in ticketing
+ systems. Much like the in Hyperbole built in debbugs for the
+ pattern "bug#id-number"
+- Q: Does the links/buttons created in hyperbole (like that one with
+ the url) get exported on org-mode files too? (like when exported to
+ html).
+ - A: There is currently no support for turning the implicit
+ buttons into html-links on export. In practice I would think
+ that to be hard and would only support parts of the
+ functionality but is an interesting idea.
+
+[[!inline pages="internal(2022/info/buttons-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/buttons-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/community.md b/2022/talks/community.md
new file mode 100644
index 00000000..4ec396cb
--- /dev/null
+++ b/2022/talks/community.md
@@ -0,0 +1,57 @@
+[[!sidebar content=""]]
+[[!meta title="The ship that builds itself: How we used Emacs to develop a workshop for communities"]]
+[[!meta copyright="Copyright &copy; 2022 Noorah Alhasan, Joseph Corneli, Leo Vivier"]]
+[[!inline pages="internal(2022/info/community-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+# CANCELLED: The ship that builds itself: How we used Emacs to develop a workshop for communities
+Noorah Alhasan, Joseph Corneli, Leo Vivier (Noorah: she/her, Joseph: he/him, Leo: he/him)
+
+[[!inline pages="internal(2022/info/community-before)" raw="yes"]]
+
+After meeting at EmacsConf 2020, and since then, convening weekly as
+the Emacs Research Group, we gained a lot of experience working across
+disciplines. Building on our long-running small-group experience, we
+developed a strategy for engaging others in the kind of light creative
+work that we value because we want to share our patterns for building
+effective joyful action.
+
+Our new day-long workshop brings people together around a topic of
+shared interest. We use a scenario-development and exploration
+process to help participants understand their common ground and
+discover new ways to work together. In this talk, we will give an
+overview of recent workshops we’ve run on themes linked to public
+space and future studies and how we utilize Emacs for our research.
+
+Looking back at our recent pilots as a source of evidence, we’ll look
+at whether and how the methods we used helped people quickly identify
+core themes that they want to keep working on together. While we
+don’t expect everyone to meet weekly as we did, we do expect that
+some participants will leave energised. Underlying the workshop is
+the claim that the right combination of methods should help people
+find topics of priority that they want to get traction on, for
+example, breaking down a topic like "public space" into doable actions
+like cleaning up an abandoned lot. Does the evidence so far support
+this claim?
+
+We also reflect on how technology — including the further evolution of
+Emacs — could help people be even more effective at identifying and
+addressing challenging problems. As a small example, note-taking in
+real-time with CRDT helps us practice ‘active listening’ in our
+meetings and gives us a detailed record of what happened so that we can
+return to for further reflection and analysis. As we think about the
+other affordances of Emacs, we get excited about how more advanced
+data analysis and more structured interaction patterns could aid in
+going back over our old thoughts and getting more out of the time we
+spend together. One potential application would be forming bridges
+between the different community groups, we work with.
+
+
+
+[[!inline pages="internal(2022/info/community-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/community-nav)" raw="yes"]]
+
+[[!taglink CategoryCommunity]]
diff --git a/2022/talks/dbus.md b/2022/talks/dbus.md
new file mode 100644
index 00000000..23ee2eac
--- /dev/null
+++ b/2022/talks/dbus.md
@@ -0,0 +1,173 @@
+[[!sidebar content=""]]
+[[!meta title="The Wheels on D-Bus"]]
+[[!meta copyright="Copyright &copy; 2022 Ian Eure"]]
+[[!inline pages="internal(2022/info/dbus-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# The Wheels on D-Bus
+Ian Eure (ee-uhn you-er, he/him/his, IRC: ieure)
+
+[[!inline pages="internal(2022/info/dbus-before)" raw="yes"]]
+
+In this talk, I’ll explore uses of D-Bus that supercharge your
+Emacs Operating System.
+
+# Discussion
+
+## Notes
+
+- - <https://codeberg.org/emacs-weirdware/debase>
+
+- <https://codeberg.org/emacs-weirdware/discomfort>
+
+- re: "pushing mindshare"..  Yes, you were very successful on that!
+
+## Questions and answers
+
+- Q: This is such a great overview of dbus.  I hadn't been paying
+ attention to this space because it seemed to be in flux (10-15 years
+ age).  How long has dbus been around and what was in place before
+ that?
+ - A: D-Bus dates to 2002, but really saw stabilization and
+ adoption in the 2010s.  There wasn't really anything prior to
+ D-Bus, you'd do some of the things it does by shelling out and
+ driving command-line programs --- not a great approach.
+- Q: Forgive me if this question is silly: Why is everything dBus
+ prefixed with "org."?
+ - A: D-Bus services generally use reverse-FQDN notation, similar
+ to Java packages, and most stuff using it is not-for-profit
+ software, so `org.` is a very common prefix for those.
+- Q: In your investigations, do most OS/DE/WM interop well over d-bus?
+ Which one(s) have proven more challenging, if any?
+ - A: Since D-Bus is pretty uniform, DE/WM considerations aren't a
+ large concern.  D-Bus isn't widely used on non-Linux systems,
+ so OS differences have little to no impact.
+- Q: Re: using EXWM as a Desktop Environment -- Does EXWM provide a
+ session manager (daemon)?
+ - A: No, but it looks like it can work with external X11 session
+ managers.
+- Q:There is a lot of critisism against d-bus out there, why do you
+ think that might be?
+ - A: Because it's not very good.  It uses XML, which isn't hip,
+ and I think a lot of people have a knee-jerk negative reaction
+ to.
+- Q: Which system services come to mind when thinking about
+ applications, be it at the OS/DE/WM level?
+ - A: Stuff that interacts with hardware: turning WiFi on and off,
+ connecting to networks, pairing Bluetooth devices.  The kind of
+ stuff you find in the upper-right of the dock/menubar in a
+ traditional DE.
+- Q: "If you want to do the kinds of things that dBus does, you're
+ limited": What is something dBus does that you couldn't do before?
+ What is a really cool use of dBus in a modern DE (KDE/Gnome etc)?
+ - A: D-Bus is fundamentally about making it *easier* to do things,
+ and using that increased ease of use to broaden the number of
+ places that kind of thing gets done.  So there's some prior art
+ for doing some of these things, but none of them is as easy as
+ doing it via D-Bus.  As far as specific features: I've been
+ using computers a very long time, and it's still magic to me
+ that you can just plug hardware in and immediately use it
+ without having to do anything --- D-Bus is foundational to that
+ kind of interactivity when it comes to things like storage,
+ network, and Bluetooth-connected devices.
+- Q:  When it comes to managing devices, how are dBus and UDev
+ related?
+ - A: They're orthogonal.  I believe UDisks2 (which is the D-Bus
+ service for managing disks) talks to UDev2, but this is abstract
+ & not a detail you have to care about as a client of UDisks2.
+- Q: As an average GNU/Linux user, I've used signals and methods
+ before but not properties. You gave an example involving properties,
+ but it kind of flew by. Can you explain briefly what clients and
+ services can do with properties?
+ - A: Properties are metadata associated with an object
+ interface[.   They can expose r/o information about the object
+ (the name of the host; the UUID of a disk device; the hardware
+ address of a network device), and you can modify certain
+ properties about the object or service by writing to them.  For
+ example, `org.freedesktop.NetworkManager.Device` has an
+ `AutoConnect` property, which you can use to enable/disable
+ automatic connection.
+- Q: what is the name of the dbus GUI you showed?  defeat? dfeet?
+ - A: "d-feet" 
+- Q:  Naive Q (me not knowing much about dBus): Is there such a thing
+ as a dBus reflection browser (maybe Emacs based) that lets you
+ discover all the behavior different dBus app participants provide?
+ Thinking something like what macOS Automator does? (actually, wait,
+ think you're showing it)
+ - A: d-feet is the one I showed:
+ <https://wiki.gnome.org/Apps/DFeet>
+ - I'd very much like something similar, but built into Emacs.
+- Q:dbus seems great for extensibility. But then Emacs has no such
+ mechanism. And is fantastically more extensibile. Why do you think
+ this is so?         
+ - A: I think these are different kinds of extensibility.  Emacs is
+ much more malleable than anything D-Bus offers.  You can't
+ change how existing D-Bus services work in the same way as you
+ can with Emacs customizations, variables, advice, or just going
+ and hacking on the code live; you can only add new features by
+ creating new services.
+- Q:  Do you have other cool dbus ideas?
+ - A: I greatly want to see:
+ - A D-Bus browser.
+ - discomfort expanded and made better looking, so there isn't
+ a single storage-related task I can't do with it and dired.
+ - A NetworkManager interface, so I don't have to use
+ nmtui/nmcli.
+ - A Bluez (bluetooth) interface, so I never have to see
+ bluetoothctl again.
+- Q: Are there Busses besides System and Session? Is there anything
+ more to a Bus besides a way to group ~~services~~ objects?
+ - A: There's always at least a System bus; theres one Session bus
+ per logged-in session (so potentially zero).  You can create and
+ connect to as many busses as you want, and they get identified
+ by the socket they listen on, which can be a local UNIX socket
+ or a TCP socket.  This isn't a common usecase, most things use
+ system and session.
+- Q: It looks like dBus is mostly useful for Emacs to do IPC -- IIUC,
+ this is how synctex works when working with LaTeX docs. How does it
+ compare with other ways of doing IPC, for example, communicating
+ over a socket with MPD?
+ - A: D-Bus provides a uniform framework for building these
+ services.  MPD's socket interface only works with MPD, and if
+ you want to connect to one, you have to write code that speaks
+ the protocol before you can do high-level things like "play"
+ or "pause."  D-Bus provides the underlying communication layer
+ as well as the model for the API, so you get all that stuff for
+ free.  If a music player has a D-Bus interface, and you're
+ using a language with D-Bus bindings, you can go from zero to
+ "support playing and pausing" in one line of code.
+- Q: ~~What mainstream/popular d-bus alternatives have you seen out
+ there, if any, maybe beyond pipes, udev, and such? -> somewhat
+ redundant with the above~~
+ - A: There aren't any alternatives on Linux that I'm aware of. 
+ Other operating systems have different ways of doing things
+ similar to what D-Bus does (such as OSA/AppleScript on macOS).
+- Q: I see a python dbus tutorial, does it make sense to have an emacs
+ version?
+ <https://dbus.freedesktop.org/doc/dbus-python/tutorial.html> 
+ - A: That's a really good idea!
+- Q: How if at all do the various web browsers interop (well) via
+ d-bus?
+ - A: It could be better.  Firefox (and forks) have a simple
+ interface that lets you open a URL, but nothing else.  I'm not
+ sure about other browsers, since LibreWolf is what I use.  If
+ you use d-feet to examine the session bus, you can see!
+- Q: Nice, thanks! I had been looking for a udisks tool. Is it available?
+ - A: Yes, https://codeberg.org/emacs-weirdware/discomfort It's alpha, but way nicer than using udisksctl.
+
+Other discussions from IRC:
+
+- Very interesting talk Ian!
+- Pretty interesting... I am already scratching my head thinking on applications!
+- Thanks, fascinating ieure, now onto refactoring everything not yet into Emacs to be managed in Emacs via d-bus...
+- One usage example I've recently stumbled over is the scad-dbus package which can control the openscad gui from Emacs, move around the camera etc.
+- @ieure : Thanks for the great talk, love these expositions of yours, especially of things that have gone under-appreciated - and the packaging into timeless tunes obviously!
+
+[[!inline pages="internal(2022/info/dbus-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/dbus-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/detached.md b/2022/talks/detached.md
new file mode 100644
index 00000000..f4b17e92
--- /dev/null
+++ b/2022/talks/detached.md
@@ -0,0 +1,89 @@
+[[!sidebar content=""]]
+[[!meta title="Getting detached from Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Niklas Eklund"]]
+[[!inline pages="internal(2022/info/detached-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Getting detached from Emacs
+Niklas Eklund (he/him, <mailto:niklas.eklund@posteo.net>)
+
+[[!inline pages="internal(2022/info/detached-before)" raw="yes"]]
+
+
+As an enthusiastic Emacs user I would find myself replacing the usage
+of an external terminal emulator with the Emacs alternative
+interfaces. This included using packages such as dired for file
+management, magit for git and proced for processes. However I always
+kept a terminal around for running shell commands. These were
+commands that I knew would either, take a long time to run, produce a
+lot of rapid text output or that I would run on a remote machine. In
+the remote case I would rely on tmux to be able to detach and let the
+command run even when I wasn't connected.
+
+To rid me of the need for the terminal emulator in these situations I
+developed the detached.el package. It is a package that builds on top
+of the dtach program, which provides the ability to detach and
+re-attach to processes, to offload Emacs from these processes. The
+package seamlessly integrates the ability to detach and attach into
+Emacs, and offers integration with many built in features such as
+shell, eshell, compile, org and dired.
+
+In this talk I will demonstrate the features of this alternative way
+to run detached processes and how the package can leverage built in
+Emacs functionality to provide a great experience. The user interface
+will be showcased and how the processes essentially becomes text,
+which fits very well into Emacs.
+
+# Bio
+
+- Blog: <https://niklaseklund.srht.site/>
+- Source code: <https://sr.ht/~niklaseklund/>
+
+My name is Niklas Eklund. I am 35 years young and I live in Gothenburg
+(Sweden) with my wife and our dog. In my daily work, I write code in
+C++ and Python. My free time I dedicate to music, board-games, improvement,
+and of course, Emacs.
+
+More than 4 years has passed since I first started using Emacs and
+there is so much to like about it: its community, the ethics and how
+it encourage me to experiment and explore. Whether it is about writing
+a small function, or a package, the ability to mold Emacs to what
+makes sense to us as individuals is something to cherish.
+
+# Discussion
+
+## Questions and answers
+
+- Q: Can it replace ssh+tmux for persistent sessions on remote hosts?
+ - A: Not yet; being considered for future work.
+- Q: I see integration with projectile in the readme, does it also
+ integrate with project.el?
+ - A: Not yet but should be easy to add.
+- Q:  Can you detach a session from shell-mode and reattach from
+ eshell/vterm/term-mode?  Or start a compile in shell-mode and attach
+ it from compilation-mode?
+ - A: 
+- Q: How do you talk to detached? Could it be feasible to run a child
+ emacs instead of detached? Would it make sense? Better communication
+ maybe?
+ - A:
+- Q: How does it handle processes that require user input? (Usually to
+ type y/n, etc). M-x compile is great but can't handle user input.
+ - A:
+- Q: Can you rerun a command (session?) but in another directory?
+ - A:
+- Q: What are some other places where this might be useful?  mu4e
+ fetching mail?  Git processes started by Magit?  What things would
+ you like to see working in a 1-2 year timeframe?
+ - A: 
+- Q: What are you currently excited about in emacs? 
+
+
+[[!inline pages="internal(2022/info/detached-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/detached-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/devel.md b/2022/talks/devel.md
new file mode 100644
index 00000000..6ee016c9
--- /dev/null
+++ b/2022/talks/devel.md
@@ -0,0 +1,73 @@
+[[!meta title="Emacs development updates"]]
+[[!meta copyright="Copyright &copy; 2022 John Wiegley"]]
+[[!inline pages="internal(2022/info/devel-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs development updates
+John Wiegley
+
+[[!inline pages="internal(2022/info/devel-before)" raw="yes"]]
+
+What has been happening and what is soon to come in Emacs development
+
+Bio: John Wiegley is a past maintainer of Emacs and frequent contributor of Emacs Lisp.
+
+# Discussion
+
+## Questions and answers
+
+- Q: Any word on bringing someone like John W. back in in a maintainer
+ role? I think someone like him is good in that role and miss seeing
+ his messages as frequently!
+ - A: I very much appreciate the support! but now is not a good time. I have other
+ distractions that would detract from my ability to support the community
+ properly.
+- Q: Does the user need to do anything to turn on support for long
+ lines?
+ - A: No! Just editing files with long lines should become much faster.
+ - Side note intersting vidoes about long lines
+ - <https://www.youtube.com/watch?v=5C3wB3xiMmU>  Emacs Long
+ Lines Fix
+ - <https://www.youtube.com/watch?v=kflDJ9L4siw>  Emacs Long
+ Lines, This Time With Feeling
+- Q: Having emace init comand line option is nice" no more chemacs
+ for multiple emacs configs" and would make starter packs eaiser to
+ test, or makeing applications or scripts based off of emacs easier
+ to do. Is there anything else following this decection?
+ - A: I don't really follow this question well enough to have an answer!
+- Q: The discussion during Howard's Eshell talk indicated demand for
+ enhancing Eshell and its documentation. For those of us interested
+ in pursuing that, where should we start? Should we explore moving it
+ from core into an independent package?
+ - A: Certainly new development could happen in an independent repository, with
+ releases delivered back to the Emacs repository. There are other packages that
+ also do this.
+- Q: has any date been set for 29 release?
+ - someone else: I haven't seen dates on devel. The branch was just cut so I would expect it will be at least a few months. Could be longer as there are so many new features in 29 (tree-sitter, sql-lite, use-package to name a few I'm hyped for)
+ - someone else: Seems like a good release for dropping legacy and using all the new stuff everybody else is using. wayland, lsp, tree-sitter, better performance on long lines.
+ - A: I'm not aware of a specific date, but if you follow the emacs-devel list, updates are sometimes posted.
+- Is tree-sitter useful if you want to parse all the code in an application or is it more narrow, i.e. just for interactive parsing of changing code?
+ - A: I imagine it's generally useful for parsing any sort of text that you want to
+ perform structural analysis on, whether in whole, in part or incrementally. I
+ recommend checking out the web documentation on the tree-sitter libraries.
+Notes and other feedback:
+
+- XInput 2 support author here.  X has historically seen three
+ input APIs: Core Input, legacy XInput, and XInput 2.  Emacs only
+ ever used the first until Emacs 29, where it jumped straight to
+ using the last.  So it's not quite an ``update'', but rather an
+ entirely new feature.  Thanks for the great talk!
+ - A: Good to know, thank you for that clarification!
+
+- Thanks John! Thanks Eli!
+
+## Notes
+
+[[!inline pages="internal(2022/info/devel-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/devel-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/eev.md b/2022/talks/eev.md
new file mode 100644
index 00000000..c8d40a9b
--- /dev/null
+++ b/2022/talks/eev.md
@@ -0,0 +1,71 @@
+[[!sidebar content=""]]
+[[!meta title="Bidirectional links with eev"]]
+[[!meta copyright="Copyright &copy; 2022 Eduardo Ochs"]]
+[[!inline pages="internal(2022/info/eev-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Bidirectional links with eev
+Eduardo Ochs
+
+[[!inline pages="internal(2022/info/eev-before)" raw="yes"]]
+
+Consider the two sexps below:
+
+ (code-c-d "foobar" "/tmp/foo/bar/" :anchor)
+ (code-c-d "fb" "/tmp/foo/bar/" :anchor)
+
+Each one of them defines several "short hyperlink" functions. After
+running them the three sexps below are roughly equivalent:
+
+ (find-file "/tmp/foo/bar/plic.txt")
+ (find-foobarfile "plic.txt")
+ (find-fbfile "plic.txt")
+
+The "`code-c-d`"s above also define functions with even shorter names
+&#x2013; `find-foobar` and `find-fb` - that point to "anchors" in files in
+the directory `/tmp/foo/bar/`. The three sexps below are roughly
+equivalent -
+
+ (find-fline "/tmp/foo/bar/plic.txt" "«bletch»")
+ (find-foobar "plic.txt" "bletch")
+ (find-fb "plic.txt" "bletch")
+
+Until feb/2022 the only way that I had to produce these hyperlinks to
+anchors quickly required a LOT of muscle memory&#x2026; I had to type this,
+
+ M-1 M-h M-w M-h M-h 9*<down> M-h M-2 M-h M-y M-h M-- M-h M-w M-k
+
+where the number of "`<down>`"s depended on whether I preferred
+`find-foobar` of `find-fb` - i.e., of on what is my preferred "code"
+for the "directory" `/tmp/foo/bar/`; either "`foobar`" or "`fb`".
+
+In this presentation I will show a much better way to generate short
+hyperlinks to anchors and push these short hyperlinks to the kill
+ring, and how I use that to create bidirectional hyperlinks between my
+notes on a language $LANGUAGE and programs written in that language.
+
+For more info see [this page](http://angg.twu.net/emacsconf2022-kla.html).
+
+# Discussion
+
+- Q: Can you say why you like all your links to be elisp expressions rather than something more textual? Is it just so you can always evaluate the expressions?
+ - A: rswgnu5: it is quicker to create hyperlinks that don't have titles, and many years ago I had some problems when I gave titles that were not very good, and I ended up with links that didn't do what I expected, so I sort of stopped trusting links whose actions are hidden and only their titles are shown. also, I am trying to write code in which all parts are easy to understand.
+- Q: I am fond of and inspired by your idea of Lisp Markup & Interfaces. Have you thought of other Lisp Markup uses than Links? How do you think of incorporating tree-sitter? If that makes sense to you or at all.
+ - A: can you explain your idea? I haven't had time to play with tree-sitter yet, but my holidays will start in a few weeks... I sometimes get stuck trying to understand the inner details of things whose inner details shouldn't be relevant... I had this problem with both Org and Hyperbole several times, and I guess that I will have it with tree-sitter too...
+ - edrx: I don't have a concrete idea. I just have been thinking of the intersection of Markup, minimalist Textinterfaces and little Languages | language oriented programming for a while. Eg Lisp is a nice List/ tree data syntax. You use it for links. Do you have other markup like uses for? And speaking of tree data, tree-sitter is a tool to incrementally & robust build a tree from a flat text buffer.
+ - do you know this? https://github.com/mmontone/emacs-inspector
+- Bi-directional links is a good idea.
+- I look forward to trying it out and seeing how it feels. It certainly looked cool!
+- awesome! btw edrx i'd really enjoyed the last eev workshop, would be totally down to attend another one later too
+- An interesting link type to add would be org id for org roam or denote id link types.
+- I've been trying to use eev to explore parts of Emacs that I don't understand... a basic example is M-x list-packages
+- Something to love about org mode, hyperbole, and eev is how they push the idea of links further
+
+[[!inline pages="internal(2022/info/eev-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/eev-nav)" raw="yes"]]
+
+[[!taglink CategoryEEV]]
diff --git a/2022/talks/eshell.md b/2022/talks/eshell.md
new file mode 100644
index 00000000..def188e8
--- /dev/null
+++ b/2022/talks/eshell.md
@@ -0,0 +1,156 @@
+[[!sidebar content=""]]
+[[!meta title="Top 10 reasons why you should be using Eshell"]]
+[[!meta copyright="Copyright &copy; 2022 Howard Abrams"]]
+[[!inline pages="internal(2022/info/eshell-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Top 10 reasons why you should be using Eshell
+Howard Abrams (he/him)
+
+[[!inline pages="internal(2022/info/eshell-before)" raw="yes"]]
+
+While Eshell is this quick and dirty way to run external commands, its
+*dirtiness* plays into the Lisp’s *malleable* big ball of mud metaphor,
+and I have a number of quick hacks that will make you want to play in
+this puddle.
+
+This will be a lightning talk that I will pre-record to show off some
+features in eshell I found while diving into the source code &#x2026; stuff
+you can’t do in another terminals. Did you know that `$$` is a special
+variable that contains the output from the last command?
+
+Update from Howard: I wrote an _expanded transcript_ with more code and functional links. See <http://howardism.org/Technical/Emacs/eshell-why.html>
+Want _all_ the code? See my literate dotfiles for #emacs at <https://github.com/howardabrams/hamacs/blob/main/ha-eshell.org>
+# Discussion
+
+## Notes
+
+- Full code:
+ <https://github.com/howardabrams/hamacs/blob/main/ha-eshell.org>
+- Longer transcript:
+ <http://howardism.org/Technical/Emacs/eshell-why.html>
+- Yes eshell is usefull!  Please help polishing and showing this stuff
+ you found out.
+- Alvaro Ramirez has been doing the DWIM stuff
+- Regarding the not so well oiled parts of eshell. There are many
+ efforts doing a better shell. I have the feeling we already have
+ that in emacs already and it is just unfinished. But maybe that is
+ just a statment about emacs in general.
+- Reach out to me if anyone wants to pair up and make a eshell-ext
+ with many of the feature improvements I mentioned in my talk, that
+ probably shouldn't clutter up the default eshell implementation.
+- eshell is great for running top and htop (except I can't figure out how to input the function keys)
+ - haha yeah i don't either
+- vterm isn't distracting - it has no new features to speak of
+
+## Questions and answers
+
+- Q: Do you fallback to vterm only when needing terminal emulation
+ (ncurses/etc)? Or are there use cases or contexts where you use
+ vterm over eshell beyond just terminal emulation needs?
+ - A: I do vterm mostly for SSH, but Docker builds and Ansible
+ commands can cause a real mess of the screen, so I often run
+ those commands in vterm ... but I'm not really working with
+ that output.
+- Q: One issue I've had with eshell's TRAMP integration is that cd
+ is host agnostic (as you point out). This means typing `cd` on a
+ remote machine will cd back to $HOME on your local machine. Is
+ there a way to cd to $HOME on the remote machine?
+ - A: It just isn't the way it behaves. While Eshell, with a
+ Tramp-based cd command, will ssh "under the hood", it is
+ temporary, as all the buffer work is local. I usually don't
+ know what will happen, so I often need to switch to vterm for
+ all ssh work. Which gets me upset when I encounter something
+ that I would then like to use Eshell for (like piping the output
+ back to my local Emacs buffer).
+- Q: Thank you for the missing Why eshell. Have you thought about
+ adding it to the eshell manual?
+ - A: maybe I should team up with someone and improve on it
+- Q:Do you know if the eshell {} can be used from elisp? It could make
+ for a nice elisp shell interface.
+ - A: Yes. Start with `eshell-command' and some variations on
+ that.
+- Q: How does that interplay with your "literate-devops" approach,
+ where things are done in an org buffer/document first instead of
+ directly in the shell/terminal?
+ - A: the 2 are different. I use as REPL to test stuff
+- Q: Do you have a strategy for getting around eshell's lack of
+ support for input redirection? (I also miss process substitution.)
+ - A: I have started sending output to Emacs buffers, where I can
+ have more fun editing them than trying to get a pipe command
+ sequence working. I wrote a function to pull a buffer back into
+ Eshell to pipe back to something else. Pipes are problematic in
+ Eshell.
+- Q: Can you call elisp functions as well (ie, not just commands)?
+ - A: Yes. Functions that start with eshell/ are called as if they
+ were commands. However, all functions are available in eshell
+ ... that is what makes it more interesting than the other
+ comint-based term shells.
+- ~~Q: Aren't buffers the superior pipes? --> that was meant as a
+ comment when he was asked about pipes, not a question per se -->
+ alright~~
+ - A:Howard: yes
+- Q:Do you have a preferred method for getting argument completion for
+ shell commands in Eshell?
+ - A: Check out
+ <https://github.com/howardabrams/hamacs/blob/main/ha-eshell.org#getopts>
+- Q: Similarly, is it possible to get Eldoc-based completion for Elisp
+ calls in Eshell?
+ - A: dont know. would be great, though
+- Q:Do you have thoughts about
+ <https://www.masteringemacs.org/article/complete-guide-mastering-eshell#plan-9-smart-shell>
+ ?  Summary: it effecitly adds a "| less" to every command so you
+ get to see paged output if needed, except it is built into eshell.
+ - A: It is a cool idea, but while I tried it when Mickey first
+ published that idea, it didn't stay in my workflow.
+- Q: Is $$ a built-in feature of eshell or did you add it?
+ - A: The Eshell built-in version of $$ doesn't always work, so
+ I wrote an updated version that seems to work better (see
+ <https://github.com/howardabrams/hamacs/blob/main/ha-eshell.org#last-results>)
+ ... I'm pretty sure that if you do a command with a lot of
+ output, it may not work at all, not just get the last of that
+ output. Mine is just a better hack. :-D
+- Q: Do you ever fallback to terminals/shells outside Emacs, and if so
+ in what circumstances?
+ - A: I boot up with a Terminal to mount remote file systems, as my
+ Emacs configuration isn't always stored locally on my machine.
+ I'll admit that I sometimes leave the Emacs Garden, but doing
+ anything interesting become frustrating when you have to leave
+ the keyboard for the mouse.
+- Q: What are the less well-oiled parts of Eshell or edge case issues
+ that you encounter if any?
+ - A: We should make a list and start working on them.
+- Q:Do you have ways to improve eshell vterm interop like sharing
+ command history and directory tracking?
+ - A: I don't. If I am going to SSH somewhere, I just start vterm,
+ and haven't thought about any interop.
+- Q: Where can I find your eshell/do command? Probably you also have another bunch of interesting Eshell helpers.
+ - https://gitlab.com/howardabrams/hamacs/-/blob/main/ha-eshell.org?plain=1#L741-761
+
+Other comments from IRC:
+
+- Impressive. eshell is an emacs REPL! I knew I could issue some emacs commands but not this level of interactivity. Thanks!
+- The real elisp REPL is ielm, but eshell is more generally useful.
+- eshell is a REPL focused on the specific niche of shell. ielm's the pure elisp repl, and it rocks.
+- yes. i know ielm. just hadn't realised how powerful eshell is.
+- howard-abrams : every time I've watched a talk of yours over the years, Emacs/Org-mode has absorbed one more use cases of mine, and made them be in literate form. I'm down to Emacs and a web browser, so I'm looking ahead to your talk about the Web in Emacs :)
+- You can also leverage org-mode source blocks tu turn outputs into inputs to other blocks so, plenty of alternatives to pipes
+- Wow! Eshell is awesome! I have just learnt more tips! Thanks howard-abrams!
+- I think of Eshell as my *universal* machine REPL, i.e. not just ielm for emacs/elisp nor a shell for the machine, but *both* emacs/elisp and the OS/env.. In that way it's quite neat.
+- howard-abrams: thank you, very inspiring! I've always found 'normal' command line usage somewhat cumbersome and am certanly going to look at the code
+- I really like eshell but I sometimes find the aliases a bit hard to write. alias f if $* {find-file $1; for i in {cdr {flatten-tree $*}} {find-file-other-window $i}} {echo "No files"} - Should probably use Elisp instead
+ - I think the aliases are almost completely broken, and only seem to work in the barest of cases.
+ - Yes, in particular the Lisp part is broken. In combination with $*
+ - I agree that you should write a function for that. Because as I mentioned in my talk, aliases don't accept $* at all.
+ - Oh, they do. This alias works. I don't recall the reason why I wrote this as an alias. I probably just wanted to use an alias where possible.
+ - Huh ... that works? I need to try it out. I couldn't get that working, so that is why I wrote the function that I did.
+- watching your talk now; TIL /dev/kill and /devl/clip
+
+[[!inline pages="internal(2022/info/eshell-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/eshell-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/fanfare.md b/2022/talks/fanfare.md
new file mode 100644
index 00000000..24e2ed4b
--- /dev/null
+++ b/2022/talks/fanfare.md
@@ -0,0 +1,179 @@
+[[!sidebar content=""]]
+[[!meta title="Fanfare for the Common Emacs User"]]
+[[!meta copyright="Copyright &copy; 2022 John Cummings"]]
+[[!inline pages="internal(2022/info/fanfare-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Fanfare for the Common Emacs User
+John Cummings (IRC: jrootabega, <mailto:john@rootabega.net>)
+
+[[!inline pages="internal(2022/info/fanfare-before)" raw="yes"]]
+
+
+# Table of Contents
+
+
+
+Emacs enables Emacs developers to produce some very impressive and
+useful things. It can also inspire examination and discussion of
+profound ideals. But what about the everyday user who may not always
+feel that they live up to these examples? What about the "dark matter"
+of the Emacs universe? There's a lot of us out there, and we have an
+important effect, but it may be hard to see it. What about life after
+the EmacsConf inspiration has started to fade, and we find ourselves
+working much the same way as we always have? In this
+not-very-technical short reflection (perhaps just a personal
+projection pep talk), I want to recognize and celebrate the experience
+of these users.
+
+Colored by my personal unremarkable usage of Emacs, I'll describe some
+of the practices and "imperfections" that everyday Emacs users might
+experience &#x2013; trying to create and remember keybindings, writing many
+quick hacky functions to solve miscellaneous problems, trying to learn
+more than we forget, half-implemented ideas, messy organic .emacs,
+etc. I'll frame these positively, as a great way to use Emacs for our
+own personal mundane needs, and a sign of our own dedication and
+pragmatism. I'll opine on how Emacs is, conversely, a perfect platform
+for this kind of usage in addition to highly-organized packages and
+modes.
+
+
+# Discussion
+
+## Notes
+
+- What a wonderful talk.  You knocked it out of the park.  Thank you
+ so much.
+- "Psychic baggage" with emacs-- awareness of possibilities left
+ behind and opportunity costs.
+- Possibly related:
+ - <https://www.youtube.com/watch?v=yJDv-zdhzMY> Mother of all demos
+ - <https://www.youtube.com/watch?v=oMpf0ilQ9Lk&list=PLomc4HLgvuCWuJVVwsT8pbLWYR-n3G8bH&index=17> EmacsConf 2019 - 18 - Object oriented spreadsheets with example applications - David O'Toole (dto)
+ - <https://agregore.mauve.moe/> peer to peer browser
+ - <https://emacspeak.sourceforge.net/>
+ - The Common Lisp Omnificent GUI Builder - Online Lisp Meeting #13, 11.01.2022 <https://www.youtube.com/watch?v=pkQ-WlzQudw>
+ - <https://gtoolkit.com/>
+ - <https://janet-lang.org/>
+
+## Questions and answers
+
+- Q: I have not only One config, but multiple configs in different
+ locations... .emacs/init.el and .emacs.d/init.el and different
+ Python installs in different places. Is this something that I should
+ take care of earlier rather than later? I need to pay someone to
+ "consult" on my config. Is this an existing business? Is there a
+ place to barter a screen share for something else of value in
+ exchange? In any case, thank you for giving permission to have fun
+ without the need for too much structure. 
+ - A: Good quetion... I'm humbled and will give it some thought.
+ The Buddy emacs system would be a good place to start. 
+ - Now after having thought some more, I think it depends on your
+ comfort level when the best time to reorganize your various
+ environments and configs is. Separate configs and installs might
+ be better separate if they are just doing different things or
+ represent different mental contexts. If the separation starts
+ causing stress or extra effort, at least you then know you have
+ a good reason for merging them
+ - and won't be doing it just for its own sake. I still think the
+ Emacs Buddy Initiative sounds like a great way for people to
+ trade eyeballs on stuff like this. And there's always the
+ famous rule: just post it somewhere and say it's the best
+ approach, and you'll get dozens of people giving you free
+ advice on how to improve it!
+- Q:How would you suggest Emacs developers (including package
+ developers) interface with non-developer users and get their
+ insights to help in shaping future Emacs functionality?  What sorts
+ of things make new functionality more welcoming to non-technical
+ users?
+ - A: From what I can tell on the Emacs mailing lists, reaching out
+ to all types of users is already seen as important and results
+ in collaborations like the recent Emacs Survey. As far as going
+ further than that, maybe a space for users of the package where
+ all skill/comfort levels are welcomed and comfortable
+ volunteering feedback? I wonder how many users might not even be
+ interested in ever giving feedback just because they prefer to
+ keep to themselves.
+ - Side note.: sourchut allows multiple repos one one mailing list
+ for smaller packages
+- Q: It's my impression that many "common" Emacs users are
+ migrating to other editors in past years. The reasons cited include
+ configurations growing out of control, and the general
+ rough-around-the-edges feel of Emacs that they've been putting up
+ with for a while. (Maybe this isn't a new phenomenon) As a result,
+ Emacs is becoming home to a *smaller* set of people who are ever
+ *more* invested in it. Do you share this observation? If you do,
+ what do you think of this trend?
+ - A: My impression has been that there has been a large net
+ increase in Emacs users in the last, let's say, 5-10 years,
+ probably due to the popularity of tools including, but not
+ limited to, org, starter kits, magit, others I can't remember
+ due to a tired brain. One of the hypotheses that I couldn't fit
+ in my talk was that I doubted that anyone ever really left
+ Emacs.  Maybe they do some other tasks with other tools (I
+ myself already don't use it for all my programming), but they
+ always have some use for it. That could be wrong, of course. I
+ agreee that there may be subpopulations of Emacs users whose
+ proportions and philosophies change over time. I think the
+ coming years will be about those groups finding common ground,
+ but I think the overall population is doing OK at the moment. I
+ could just be too committed to Emacs' utility to notice other
+ things too much.
+- Q:Do you consider that using one of the starter packages (doom
+ emacs, spacemacs, etc.) affect that learning process that you
+ mentioned? or is it a good thing from your perspective?
+ - A: I don't have personal experience with a starter package, but
+ I'm somewhat familiar with how those two at least work. I think
+ any way is fine for getting started, and would just make your
+ experience different when and if you started to outgrow it or
+ get curious. Again, I'm technically ignorant about this, but my
+ gut tells me that you could also learn and build a very advanced
+ experience completely inside those kits, and that would still be
+ a great thing, and comparing it to "standard" Emacs might be
+ more of an academic distinction for those people. If they picked
+ those up with the INTENTION of one day outgrowing them, that's
+ also interesting. I think it would be a personal matter whether
+ that was the right choice. I think at least SOME people would
+ feel that they should have just went straight to standard Emacs,
+ but I don't know/feel strongly enough to have a strong belief.
+- Q: Would a "Tip of the Day" package or some elaboration on that
+ idea in Emacs help discovery for lay users? Does that already exist?
+ - A: I'm sure something like that exists, but at the time of the
+ question I could not think of one. I think something like that
+ could help if you got the tips that were appropriate for your
+ situation at the time. I know in other applications, I often end
+ up seeing "Tip of the Day" as something that gets in my way,
+ even if I enabled it myself. Maybe a tip-on-demand? It might be
+ hard to provide a stream of tips that can stay interesting and
+ appropriate for a person's skill level for a long time, and be
+ available when they were receptive to them. Now I'm having
+ ideas about how to show context-sensitive animated tips. Perhaps
+ one day I will have a better answer!
+ - There is <https://nitter.net/emacstips>
+ - <https://github.com/emacs-dashboard/emacs-dashboard> was also
+ suggested by a listener  
+- Q: what is a fanfare
+ - A: it's based on an American piece of music "Fanfare for the Common Man" by Aaron Copland
+
+## Other discussions from IRC
+- this is a GREAT talk!
+- yes, really nice!
+- Every single point I'm like "yes! THIS"
+- This is as true of life as it is of emacs. Life imitates art imitates emacs...
+- Resonates with me from having used emacs for a 5+ years
+- Great talk!!
+- Can't argue with this great reminder that a messy perennially-evolving Emacs setup/config is the norm rather than the exception!
+- understanding source control is such a high bar for lay folk though, makes me think emacs by default setup version control for config files
+- Hmmm, *someone* could experiment with detecting what version control is available locally then using vc to automatically source control changes to our conf..
+- Also, over the last few years, some credit should go to Doom/Spacemacs for bringing new people into the fold that may otherwise not have given Emacs a second look with more the vanilla experience
+ - The more I think about it, the more having use-case packages with virtual machines makes a lot of sense. A sort of all in one package that can be used "out of the box" with an included guide.
+ - I like using starter packs with scratch init. It's a great way to know how far you can push emacs:)
+ - agree, I started with Spacemacs, then moved to Doom Emacs, and I just love it, I agree that starting from scratch was too much challange to start, but now I am not sure if I should try that path or is not actually worth it (considering that I understand much more about the editor and the programming language)
+
+[[!inline pages="internal(2022/info/fanfare-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/fanfare-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/grail.md b/2022/talks/grail.md
new file mode 100644
index 00000000..20e7f6d5
--- /dev/null
+++ b/2022/talks/grail.md
@@ -0,0 +1,322 @@
+[[!sidebar content=""]]
+[[!meta title="GRAIL---A Generalized Representation and Aggregation of Information Layers"]]
+[[!meta copyright="Copyright &copy; 2022 Sameer Pradhan"]]
+[[!inline pages="internal(2022/info/grail-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# GRAIL---A Generalized Representation and Aggregation of Information Layers
+Sameer Pradhan (he/him)
+
+[[!inline pages="internal(2022/info/grail-before)" raw="yes"]]
+[[!template id="help"
+volunteer=""
+summary="Q&A could be indexed with chapter markers"
+tags="help_with_chapter_markers"
+message="""The Q&A session for this talk does not have chapter markers yet.
+Would you like to help? See [[help_with_chapter_markers]] for more details. You can use the vidid="grail-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to <emacsconf-submit@gnu.org>."""]]
+
+
+The human brain receives various signals that it assimilates (filters,
+splices, corrects, etc.) to build a syntactic structure and its semantic
+interpretation. This is a complex process that enables human communication.
+The field of artificial intelligence (AI) is devoted to studying how we
+generate symbols and derive meaning from such signals and to building
+predictive models that allow effective human-computer interaction.
+
+For the purpose of this talk we will limit the scope of signals to the
+domain to language&#x2014;text and speech. Computational Linguistics (CL),
+a.k.a. Natural Language Processing (NLP), is a sub-area of AI that tries to
+interpret them. It involves modeling and predicting complex linguistic
+structures from these signals. These models tend to rely heavily on a large
+amount of ``raw'' (naturally occurring) data and a varying amount of
+(manually) enriched data, commonly known as ``annotations''. The models are
+only as good as the quality of the annotations. Owing to the complex and
+numerous nature of linguistic phenomena, a divide and conquer approach is
+common. The upside is that it allows one to focus on one, or few, related
+linguistic phenomena. The downside is that the universe of these phenomena
+keeps expanding as language is context sensitive and evolves over time. For
+example, depending on the context, the word ``bank'' can refer to a financial
+institution, or the rising ground surrounding a lake, or something else. The
+verb ``google'' did not exist before the company came into being.
+
+Manually annotating data can be a very task specific, labor intensive,
+endeavor. Owing to this, advances in multiple modalities have happened in
+silos until recently. Recent advances in computer hardware and machine
+learning algorithms have opened doors to interpretation of multimodal data.
+However, the need to piece together such related but disjoint predictions
+poses a huge challenge.
+
+This brings us to the two questions that we will try to address in this
+talk:
+
+1. How can we come up with a unified representation of data and annotations that encompasses arbitrary levels of linguistic information? and,
+
+2. What role might Emacs play in this process?
+
+Emacs provides a rich environment for editing and manipulating recursive
+embedded structures found in programming languages. Its view of text,
+however, is more or less linear&#x2013;strings broken into words, strings ended by
+periods, strings identified using delimiters, etc. It does not assume
+embedded or recursive structure in text. However, the process of interpreting
+natural language involves operating on such structures. What if we could
+adapt Emacs to manipulate rich structures derived from text? Unlike
+programming languages, which are designed to be parsed and interpreted
+deterministically, interpretation of statements in natural languages has to
+frequently deal with phenomena such as ambiguity, inconsistency,
+incompleteness, etc. and can get quite complex.
+
+We present an architecture (GRAIL) which utilizes the capabilities of Emacs
+to allow the representation and aggregation of such rich structures in
+a systematic fashion. Our approach is not tied to Emacs, but uses its many
+built-in capabilities for creating and evaluating solution prototypes.
+
+
+# Discussion
+
+## Notes
+
+- I will plan to fix the issues with the subtitles in a more
+ systematic fashion and make the video available on the
+ emacsconf/grail  URL. My sense is that this URL will be active for
+ the foreseeable future.
+- I am going to try and revise some of the answers which I typed quite
+ quickly and may not have provided useful context or might have made
+ errors.
+- .
+- Please feel free to email me at pradhan@cemantix.org for any futher
+ questions or discussions you may want to have with me or be part of
+ the grail community (doesn't exist yet :-), or is a community of 1)
+- .
+
+## Questions and answers
+
+- Q: Has the '92 UPenn corpus of articles feat been reproduced over
+ and over again using these tools?
+ - A: 
+ - Yes. The '92 corpus only annotated syntactic structure. It was
+ probably the first time that the details captured in syntax were
+ selected not purely based on linguistic accuracy, but on the
+ consistency of such annotations across multiple annotators. This
+ is often referred to as Inter-Annotator Agreement. The high IAA
+ for this corpus was probably one of the reasons that parsers
+ trained on it got accuracies in the mid 80s or so. Then over the
+ next 30 years (and still continuing..) academics improved on
+ parsers and today the performance on the test set from this
+ corpus is somewhere around F-score of 95. But this has to be
+ taken with a big grain of salt given overfitting and how many
+ times people have seen the test set. 
+ - One thing that might be worth mentioing is that over the past 30
+ years, there have been many different phenomena that have been
+ annotated on a part of this corpus. However, as I mentioned
+ given the difficulty of current tools and representations to
+ integrate disparate layers of annotations. Some such issues
+ being related to the complexity of the phenomena and others
+ related to the brittleness of the representations. For example,
+ I remember when we were building the OntoNotes corpus, there was
+ a point where the guidelines were changed to split all words at
+ a 'hyphen'. That simple change cause a lot of heartache
+ because the interdependencies were not captured at a level that
+ could be programmatically manipulated. That was around 2007 when
+ I decided to use a relational database architecture to represent
+ the layers. The great thing is that it was an almost perfect
+ representation but for some reason it never caught up because
+ using a database to prepare data for training was something that
+ was kind of unthinkable 15 years ago. Maybe? Anyway, the format
+ that is the easiest to use but very rigid in the sense that you
+ can quickly make use of it, but if something changes somewhere
+ you have no idea if the whole is consistent. And when came
+ across org-mode sometime around 2011/12 (if I remember
+ correctly) I thought it would be a great tool. And indeed about
+ decade in the future I am trying to stand on it's and emacs'
+ shoulders.
+ - This corpus was one of the first large scale manually annotated
+ corpora that bootstrapped the statistical natural language
+ processing era.  That can be considered the first wave... 
+ SInce then, there have been  more corpora built on the same
+ philosophy.  In fact I spent about 8 years about a decade ago
+ building a much larger corpus with more layers of information
+ and it is called the OntoNotes. It covers Chinese and Arabic as
+ well (DARPA funding!) This is freely available for research to
+ anyone anywhere. that was quite a feat. 
+- Q:Is this only for natural languagles like english or more general?
+ Would this be used for programing laungages.
+ - A: I am using English as a use case, but the idea is to have it
+ completely multilingual. 
+ - I cannot think why you would want to use it for programming
+ languages. In fact the concept of an AST in programming
+ languages was what I thought would be worth exploring in this
+ area of research.  Org Mode, the way I sometimes view it is a
+ somewhat crude incarnation of that and can be sort of manually
+ built, but the idea is to identify patterns and build upon them
+ to create a larger collection of transformations that could be
+ generally useful.  That could help capture the abstract
+ reprsentation of "meaning" and help the models learn better. 
+ - These days most models are trained on a boat load of data and no
+ matter how much data you use to train your largest model, it is
+ still going to be a small spec in the universe of ever growing
+ data that are are sitting in today. So, not surprisingly, these
+ models tend to overfit the data they are trained on.  
+ - So, if you have a smaller data set which is not quite the same
+ as the one that you had the training data for, then the models
+ really do poorly. It is sometimes compared to learning a sine
+ function using the points on the sine wave as opposed to
+ deriving the function itself. You can get close, but then then
+ you cannot really do a lot better with that model :-)
+ - I did a brief stint at the Harvard Medical School/Boston
+ Childrens' Hospital to see if we would use the same underlying
+ philosophy to build better models for understanding clinical
+ notes. It would be an extremely useful and socially beneficial
+ use case, but then after a few years and realizing that the
+ legal and policy issues realted to making such data available on
+ a larger scale might need a few more decades, I decided to step
+ off that wagon (if I am using the figure of speech correctly).
+ - .
+ - More recently, since I joined the Linguistic Data Consortium, we
+ have been looking at spoken neurological tests that are taken by
+ older people and using which neurologists can predict a
+ potential early onset of some neurological disorder. The idea is
+ to see if we can use speech and langauge signals to predict such
+ cases early on. The fact that we don't have cures for those
+ conditions yet, the best we can do it identify them earlier with
+ the hope that the progression can be slowed down.
+ - .
+ - This is sort of what is happening with the deep learning hype.
+ It is not to say that there hasn;t been a significant
+ advancement in the technologies, but to say that the models can
+ "learn" is an extremely overstatement. 
+
+
+
+- Q: Reminds me of the advantages of pre computer copy and paste. Cut
+ up paper and rearange but having more stuff with your pieces.
+ - A: Right! 
+ - Kind of like that, but more "intelligent" than copy/paste,
+ because you could have various local constraints that would
+ ensure that the information that is consistent with the whole. I
+ am also ensioning this as a usecase of hooks. And if you can
+ have rich local dependencies, then you can be sure (as much as
+ you can) that the information signal is not too corrupted.
+ - .
+ - I did not read the "cut up paper" you mentioned. That is an
+ interesting thought. In fact, the kind of thing I was/am
+ envisioning is that you can cut the paper a million ways but
+ then you can still join them back to form the original piece of
+ paper. 
+
+```{=html}
+<!-- -->
+```
+
+
+
+- Q: Have you used it on some real life situation? where have you experimented with this?
+ - A: NO. 
+ - I am probably the only person who is doing this crazy thing. It
+ would be nice, or rather I have a feeling that something like
+ this, if worked upon for a while by many might lead to a really
+ potent tool for the masses. I feel strongly about giving such
+ power to the users, and be able to edit and share the data
+ openly so that they are not stuck in some corporate vault
+ somewhere :-) One thing at a time.
+ - .
+ - I am in the process of creating a minimally viable package and
+ see where that goes.
+ - .
+ - The idea is to start within emacs and orgmode but not
+ necessarily be limited to it.
+
+- Q:Do you see this as a format for this type of annotation
+ specifically, or something more general that can be used for
+ interlinear glosses, lexicons, etc? -- Does wordsense include a
+ valence on positive or negative words-- (mood) . 
+
+- Interesting. question.  There are sub-corpora that have some of this
+ data. 
+
+- - A: Absolutely. IN fact, the project I mentioned OntoNotes has
+ multiple layers of annotation. One of them being the
+ propositional structure which uses a large lexicon that covers
+ about 15K verbs and nouns and all their argument structures that
+ we have been seen so far in the corpora. There is about a
+ million "propositions" that have been released recently (we
+ just recently celebrated a 20th birthday of the corpus. It is
+ called the PropBank. 
+
+- There is an interesting history of the "Banks" . It started with
+ Treebank, and then there was PropBank (with a capital B), but then
+ when we were developing OntoNotes which contains:
+ - Syntax
+ - Named Entities
+ - Coreference Resolutoion
+ - Propositions
+ - Word Sensse 
+
+- All in the same whole and across various genre... (can add more
+ information here later... )
+
+- Q: Are there parallel efforts to analyze literary texts or news
+ articles? Pulling the ambiguity of meaning and not just the syntax
+ out of works? (Granted this may be out of your area-- ignore as
+ desired)
+ - A: :-) Nothing that relates to "meaning" falls too far away
+ from where I would like to be. It is a very large landscape and
+ growing very fast, so it is hard to be able to be everywhere at
+ the same time :-)
+ - .
+ - Many people are working on trying to analyze literature.
+ Analyzing news stories has been happening since the beginning of
+ the statistical NLP revolution---sort of linked to the fact that
+ the first million "trees" were curated using WSJ articles :-)
+
+- Q: Have you considered support for conlangs, such as Toki Pona?  The
+ simplicity of Toki Pona seems like it would lend itself well to
+ machine processing.
+ - A:  This is the first time I hearing of conlangs and Toki Pona.
+ I would love to know more about them to say more, but I cannot
+ imaging any langauge not being able to use this framework.
+ - conlangs are "constructed languages" such as Esperanto ---
+ languages designed with intent, rather than evolved over
+ centuries.  Toki Pona is a minimal conlang created in 2001, with
+ a uniform syntax and small (<200 word) vocabulary.
+ - Thanks for the information! I would love to look into it.
+
+- Q: Is there a roadmap of sorts for GRAIL?
+ - A: 
+ - Yes. I am now actually using real world annotations on larg
+ corpora---both text and speech and am validating the concept
+ further. I am sure there will be some bumps in the way, and I am
+ not saying that this is going to be a cure-all, but I feel
+ (after spending most of my professional life building/using
+ corpora) that this approach does seem very appealing to me. The
+ speed of its development will depend on how many buy into the
+ idea and pitch in, I guess.
+
+- Q: How can GRAIL be used by common people?
+ - A: I don't think it can be used by common people at the very
+ moment---partly because most "common man" has never heard of
+ emacs or org-mode. But if we can valide the concept and if it
+ does "grow legs" and walk out of the emacs room into the
+ larger universe, then absolutely, anyone who can have any say
+ about langauge could use it. And the contributions would be as
+ useful as the consistency with which one can capture a certain
+ phenomena.
+ - .
+ - Everytime you use a capta these days, the algorithms used by the
+ company storing the data get slightly better. What if we could
+ democratize this concept. That could lead to fascinating things.
+ Like Wikipedia did for the sum total of human knowledge.
+
+- Q: 
+ - A: 
+
+
+
+
+[[!inline pages="internal(2022/info/grail-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/grail-nav)" raw="yes"]]
+
+[[!taglink CategoryLinguistics]]
diff --git a/2022/talks/handwritten.md b/2022/talks/handwritten.md
new file mode 100644
index 00000000..962ec4ca
--- /dev/null
+++ b/2022/talks/handwritten.md
@@ -0,0 +1,138 @@
+[[!sidebar content=""]]
+[[!meta title="How to incorporate handwritten notes into Emacs Orgmode"]]
+[[!meta copyright="Copyright &copy; 2022 Bala Ramadurai"]]
+[[!inline pages="internal(2022/info/handwritten-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+[[!img /i/2022-handwritten-title.png alt="title" size="600x"]]
+
+# How to incorporate handwritten notes into Emacs Orgmode
+Bala Ramadurai (his/him, <mailto:bala@balaramadurai.net>)
+
+[[!inline pages="internal(2022/info/handwritten-before)" raw="yes"]]
+
+
+[[!img /i/2022-handwritten-abstract.png alt="title" style="max-width: 100%; height: auto"]]
+
+Research suggests that note taking is most effective when done by hand. Yes, handwritten notes. Certainly, typewritten or typed out notes are more efficient, however notes written by hand are retained by the human brain much longer.
+
+Integrating handwritten notes into a computer leaned productivity workflow is tricky. Also, in terms of hardware, if all you have is a smartphone, then we need to deal with the situation a bit differently.
+
+This talk will introduce to you a simple system to integrate handwritten notes into your org-mode (Emacs) based productivity workflow.
+
+- Gist of the problem of dealing with handwritten notes
+- Advantages of handwritten notes
+- Emacs org mode workflow
+ - Option 1: Hardware for handwriting not available
+ - Option 2: Hardware for handwriting available
+
+
+# Discussion
+
+## Notes
+
+- Tesseract is a free and open source tool to do OCR (may or may not
+ convert handwriting)
+ - <https://github.com/tesseract-ocr/tesseract>
+- Karl Voit: I'm not practicing handwritten OCR at the moment. From
+ what I've read, offline handwriting OCR (offline OCR = not
+ recognizing while writing but form a (scanned) document) is only
+ implemented in a good way in highly proprietary services such as
+ Microsoft OneNote and Evernote and Apple Notes. Since I don't use
+ those services on purpose
+ (<https://karl-voit.at/2018/04/21/end-of-OneNote/>), I don't have
+ personal experience. I'm still hoping that there will be a FOSS
+ solution one fine day.
+ - I'm (rarely) taking notes on my BOOX Note Air e-ink tablet
+ (which I love). It has decent on-device offline-OCR but it's
+ really tedious to use it. So usually, I keep the notes as PDF
+ file and don't care to OCR it. Not great but at the moment I
+ can live with it.
+ - After all: I'm much faster when typing on my keyboard
+ (<https://karl-voit.at/2021/03/21/advantage2-plans/>) - so if
+ there is no graphical information to be captured, I'm faster
+ typing in Org mode than writing by hand.
+ - Do you have a blog article about that? I own a BOOX Air myself but I can't think of a viable workflow using it with handwriting + OCR on-device.
+- <https://capture2text.sourceforge.net/> \-- another potential OCR
+ solution that is FOSS, but supported only on Windows OS
+- mathpix seems to support OCR now as well:
+ - <https://mathpix.com/blog/mathpix-text-ocr>
+ - <https://mathpix.com/handwriting-recognition>
+- Leo Vivier owns an e-ink tablet: Boox Max Lumi (almost A4-size,
+ bigger brother of Boox Note Air)
+- Digital pens and digitizing platforms help to get your notes from
+ analogue into digital form: 
+ - <https://www.wired.com/gallery/best-smart-pens/>
+ - Also, livescript uses special pens and tablets (erasable and
+ correctable), transcribes your handwriting
+
+- [LiveScribe](https://www.amazon.com/Livescribe-Single-Subject-Notebook-4-pack/dp/B001AALJ1I/ref=asc\_df\_B001AALJ1I/?tag=hyprod-20&linkCode=df0&hvadid=167151358503&hvpos=&hvnetw=g&hvrand=14286771041209503377&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9027973&hvtargid=pla-359920653567&psc=1)
+
+- I always love the way Bala records his talks :D
+- i read every word
+- Apple notes scanning is working very well these days.
+- OneNote is super locked-in these days.
+- Thank you Prof!
+- Lol @ just type out the damn note XD. It's a good point, but I have over a year of handwritten notes that I haven't bothered typing out ;-)
+- I have had some success with tesseract and my handwritten notes
+- has anyone training such a OCR system to make it more accurate for your handwriting or additional symbols.
+- shh I've been using Google Cloud Vision to get the text out of my sketches =)
+- wow what a refined video. really solid editing. this is enjoyable to watch
+- would it be better to use OCR or to read the notes and use speech-to-text?
+- Does it work well with free software, klavul
+- hmh, there seems to be plugin to integrate orgmode with xournalpp ( https://gitlab.com/vherrmann/org-xournalpp )
+- I use capture2text , made a small wrapper
+- Would it be possible to make a libre software which could detect handwritten notes as does the Boogie Board and run Emacs on it?
+ - other: people with short-term requirements and who don't care are using great OCR with cloud-based lock-in services. Therefore, there isn't much incentive to create FOSS.
+
+## Questions and answers
+
+- Q: How do you link the notes together so that you could search
+ through them in the future?
+ - A: I'm still in the process of trying to link these topics. Once you convert these notes from handwritten text --or if you have a handwriting device and you can convert it into text-- import it into org-roam and link it the way that you'd normally do it. I started a week ago linking these texts. That would be my response-- which leads into the next question...
+- Q: Is it necessary to OCR your handwriting or change the way you
+ write to use your workflow? 
+ - A: Yes, this is a necessary step. You have to conduct optical character recognition. Because otherwise, indexing and linking becomes a problem later on. If it's just for you and reading your own text and you browse it and read it when you want, then that's different. You don't have to worry about the OCR-- just import the jpeg or png or whatever and put it under the org-mode or org-roam headline and you should be good to go.
+ However, if you want to search and link then OCR becomes necessary. I'm unfamiliar with anything inside the emacs ecosystem that does OCR. I use tools like OneNote and I think Google Keep does that. I use an external tool to convert if you want linking and indexing. For me sometimes screenshots and handwritten notes have to go together. The key is to have those together.
+- Q: What about Searching notes, notes to text while being offline
+ - A: Yes, there are no two ways about it. Only proprietary software like Google Keep and Microsoft, perhaps Dropbox does it. I would say it's absolutely mandatory for you to convert this... unless the emacs org mode community puts their heads together. If you want me to help by reviewing a package I am keen on doing that and trying it out.
+ OneNote can search with OCR, as far as Bala is aware.
+- Q: Those articles on notetaking seem interesting. Could we get a link
+ for them?
+ - A: I will definitely drop a link in the etherpad after the talk to make it available. A good friend in France shared this with me. He had a whole bunch of articles that supported my thesis. (an email was sent with a follow-up request on 10 December)
+- Q: Have you looked at taking handwritten notes on a tablet like
+ Xournal++
+ - A: [Not yet] The only tools I've used have been OneNote and Google keep. For now, the dropbox method for me is to write the notes, then take a photo with a mobile phone camera, upload it to dropbox-- why dropbox-- because it allows jpeg to be uploaded. I find pdf very cumbersome. I then import it into OneNote which converts it into digitized text. Then I take and move it from the inbox into the org mode system. That's how my workflow is. I have started to experiment with other devices and workflows, but not enough to give you intelligent advice.
+ Q: Have you tried out the "Remarkable" device and figured out how to link the files back into org mode constructively yet?
+ - A: Yes, I've heard of that device as well as Book and Amazon has come out with the writing Kindle. These devices do exist, but I'm not sure if they convert to text and put it in a format you can import into org mode. This would be nice, if you can integrate it into emacs. I use dropbox to do all the good stuff. I can certainly do that.
+- Q: Something to think about is handwritten and org transcribed notes
+ de-duplication for searching, do you want one or the other, both?
+ - A: Thank you for asking this. Transcription has become very important not only transcribing written but voice notes. In spite of so many tools out there, I find it extremely cumbersome to transcribe voice notes. It would be nice if we had voice, and handwritten transcription helps. Actually that's a great idea. I would be very interested in voice and handwriting. I've seen this in software in OneNote and transcription packages. This is really important and a great idea. I volunteer to test this out. Right now I find it very difficult to transcribe, so if this can do it for us that would be amazing.
+ - side note: org-remark could be useful for this
+ <https://github.com/nobiot/org-remark>
+- Q: How fancy have your imports of handwritten notes been for org mode?
+ (Bullets, TODO , org tables etc...)
+ - A: Bala uses a star on paper when writing tasks and makes
+ them into org tasks during manual transcription. He also uses dates for this. I know then that I need to keep track of those things in a task. It would be really cool to OCR org constructs from paper. TODO items etc. Doing away with all of the intermediate steps would be nice. A writing org-mode as if it was a human language instead of something that is restricted to a computer.
+ - Just to glorify handwriting. I decided that I would hand write what I was going to talk about. The handwritten notes turned out much better than my plain vanilla talk. I even wrote some jokes this way. Handwriting helps thinking and speaking with an audience. Computers have led to handwriting being less important, but Bala thinks
+ they're very efficient and important :)
+- Q: How often do you instead use keyboard entry to type in and
+ summarize your notes? Would you consider that a suitable approach
+ for yourself, e.g. at the end of the day?
+ - A: When in a hurry, Bala types notes directly into Org Mode.
+ - He has not yet established a habit of daily journaling but
+ would like to do so in the future. I have a shortcut for org-roam dailies that shows up in blue text on the calendar. Daily writing would be helpful.
+ - Handwriting can be easier depending on language/script.
+ Perhaps handwriting is best for non-Roman script. My mother tongue has a script that is not English.
+- Q: Do you have any ideas about mindmapping and incorporating those notes into your process? I've used nebo and other tools, but wish I had a better way of extracting key words.
+ - A: I have used mindmapping which is hierarchical, in fact I use something called function maps. Just like org-roam and interacting relationships. All of this I've been drawing on my laptop screen. All of this helps me. I don't digitally convert it. It helps me and is a lot easier. When I need to add to it I can do so. I find that doing it on a device and retaining it without conversion is best. Converting does not help me at all. YOu can select it, with a lasso select. Those things can be done. I like it to be that way. Then I link it into org mode.
+- Q: Bala, sorry to join late to the party, you might have answer. Do you train your own OCR?
+
+
+[[!inline pages="internal(2022/info/handwritten-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/handwritten-nav)" raw="yes"]]
+
+ [[!taglink CategoryOrgMode]]
diff --git a/2022/talks/haskell.md b/2022/talks/haskell.md
new file mode 100644
index 00000000..c5307788
--- /dev/null
+++ b/2022/talks/haskell.md
@@ -0,0 +1,45 @@
+[[!sidebar content=""]]
+[[!meta title="Haskell code exploration with Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Yuchen Pei"]]
+[[!inline pages="internal(2022/info/haskell-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Haskell code exploration with Emacs
+Yuchen Pei (he/him/himself/his/his, IRC: dragestil, <mailto:id@ypei.org>)
+
+[[!inline pages="internal(2022/info/haskell-before)" raw="yes"]]
+
+
+In this talk I will describe and demonstrate some tools for Haskell
+development using Emacs, including code exploration using hcel and
+haddock org documentation generation using haddorg.
+
+# Bio
+
+Yuchen is a programmer and mathematician. He co-maintains [librejs](https://www.gnu.org/software/librejs/index.html) and
+[h-node.org](https://h-node.org), and a couple of Emacs packages at GNU ELPA. He is also a
+licensing volunteer with the FSF. In his personal time, he likes to
+program in Haskell and elisp and license all of his programming work
+under AGPLv3+ (see <https://g.ypei.me>). He can be reached at
+<id@ypei.org>.
+# Discussion
+
+## Notes
+
+- <https://gitlab.com/tseenshe/haskell-tng.el>
+- <https://gitlab.com/tseenshe/hsinspect>
+
+## Questions and answers
+
+- Q:Is the indexing faster when re-indexing? Would it be too slow to
+ re-index on-demand?
+
+
+[[!inline pages="internal(2022/info/haskell-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/haskell-nav)" raw="yes"]]
+
+[[!taglink CategoryCoding]]
diff --git a/2022/talks/health.md b/2022/talks/health.md
new file mode 100644
index 00000000..230e3682
--- /dev/null
+++ b/2022/talks/health.md
@@ -0,0 +1,105 @@
+[[!sidebar content=""]]
+[[!meta title="Health data journaling and visualization with Org Mode and gnuplot"]]
+[[!meta copyright="Copyright &copy; 2022 David O'Toole"]]
+[[!inline pages="internal(2022/info/health-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Health data journaling and visualization with Org Mode and gnuplot
+David O'Toole (he/him, <https://emacs.ch/@dto>)
+
+[[!inline pages="internal(2022/info/health-before)" raw="yes"]]
+
+
+**Note: The correct name of gnuplot is gnuplot, not GNUplot. It is not GNU software, nor is it licensed under a GNU license. [Details](http://gnuplot.info/faq/index.html#x1-70001.2)**
+
+"GNU Emacs with Org Mode and gnuplot offer a complete Free Software
+solution for tracking health information based on a daily data
+journal. With Org capture templates and data tables, you can easily
+enter facts for each day such as hours of sleep, minutes of exercise,
+doses of medication, weight, or even add freeform notes. Through the
+use of subjective numeric scores you can track symptoms like stress,
+anxiety, or pain. Org Mode's gnuplot support enables you to visualize
+the data in order to spot correlations and evaluate trends. The use of
+detailed record-keeping and graphing can help you communicate with
+health care providers."
+
+A reusable org template will be provided at:
+<https://gitlab.com/dto/health-template>
+
+
+# Discussion
+
+## Notes
+
+- I agree that just tracking is a great thing. I heard of some people starting to lose weight, just because they started recording it daily.
+- just Thank you very much
+- I like this demo of plotting use
+- Damn, this template looks awesome, nice work
+- (incf eieio-reputation)
+- huh, I could probably use that thing that shows a line for other sexps at the same level...
+ - Yeah, that looks super handy!
+ - A: yeah it's cool. i think it's called indent-guide
+- very good talk!!!
+- emacs is like willy wonkas candy factory
+- thanks for the talk; was thinking that you could use a mobile app like BeOrg and cloud file sync to help automate your data entry
+ - hmm i haven't heard of BeOrg i'll have to look it up!
+
+## Questions and answers
+
+- Q: do you use this just for yourself? Or do you use this to
+ discuss/show with doctors/health professionals? 
+ - A:
+- Q:How do you input the health data? semi automated with org mode
+ capture templets?, copy paste, Automated with a smart watch and
+ ifttt or tasker in an org mode document to automatily add stuff like
+ sleeping data? and which parts are and are not automated, semi
+ automated or manual.
+ - A:All manually
+- Q:How do you track the various health statistics that you are
+ gathering?
+ - A:Manaully for example for sleeping I look at the clock before
+ and after I go to sleep.
+- Q: It's possible to download data from the apple watch's health
+ app. Is it easy enough to incorporate those .csv files into your
+ implementation of Gnuplot? 
+ - A:You can import csv to org. Just copy paste the csv data to
+ org, highlight it and press C-c | (the function is
+ org-table-create-or-convert-from-region)
+- Q: Regarding the medication tracking you only have option to record
+ missed or not. If one needs to take multiple medication throughout
+ the day, how would you propose to track that? Within gnuplot or
+ separate?
+ - A:
+- Q:How's the workflow when working on the gnuplot code -- can you
+ e.g. C-c C-c and the svg output on the right is updated
+ automatically?
+ - A:Use auto-revert-tail-mode in the buffer that displays the svg,
+ then it will update automatically
+- Q: How much time does it take to process the amount of data that you
+ add inside GNU Emacs?
+ - A: some seconds (no issues to manage that inside the editor)
+- Q: will indent-guide behave well with yaml files for helm?
+ - A: 
+- Q: Have you noticed your behaviour changing as a result of tracking
+ your data?
+ - A: Yes, definitively and in a good way
+- Q: did you not have exercise data for the final period of bad sleep,
+ or was it the case that you did not exercise? This question tells me
+ that you want to symbolically represent missing data differently
+ from "0". And, if the answer is "no exercise", then it is
+ possible that this is a factor in your lack of sleep, it's not
+ necessarily the withdrawal from nicotine. As always, use caution
+ when drawing up causal links from correlation. Recommended in this
+ context - "The book of why", by Judea Pearl.
+ - A: 
+
+
+
+[[!inline pages="internal(2022/info/health-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/health-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]]
diff --git a/2022/talks/hyperorg.md b/2022/talks/hyperorg.md
new file mode 100644
index 00000000..ccfed5a5
--- /dev/null
+++ b/2022/talks/hyperorg.md
@@ -0,0 +1,160 @@
+[[!sidebar content=""]]
+[[!meta title="Powerful productivity with Hyperbole and Org Mode"]]
+[[!meta copyright="Copyright &copy; 2022 Robert Weiner"]]
+[[!inline pages="internal(2022/info/hyperorg-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Powerful productivity with Hyperbole and Org Mode
+Robert Weiner (wine-er)
+
+[[!template id="help"
+summary="main talk does not have captions"
+tags="help_with_main_captions"
+message="""This talk does not have captions yet.
+Would you like to help [caption this talk](/captioning)?
+You may be able to start with these [autogenerated captions](/2022/captions/emacsconf-2022-hyperorg--powerful-productivity-with-hyperbole-and-org-mode--robert-weiner--answers.vtt)."""]]
+
+GNU Hyperbole and Org Mode are both parts of Emacs;
+both offer outlining and hypertext support but Org uses its own
+native format while Hyperbole can work across all major modes and
+data formats, including Org's. The two systems are compatible.
+This talk will show ways to use them together and the resultant
+productivity benefits that can be achieved.
+
+Outline:
+
+a. Context-sensitive Action Key on Org Constructs
+b. Automate Actions in Org Mode with Hyperbole Key Series
+c. Rapidly Link to or from Org Headers, e.g. in Source Code
+d. Search over Org Notes with Hyperbole's HyRolo
+e. Dynamically Expand/Contract Org outlines exported to web pages
+f. Embed Org Tables in Hyperbole Koutlines
+g. Create Your Own Hyperbole Implicit Buttons from Org
+h. Hyperbole Expands Org Mode to an Emacs-wide Persistant Hyperbutton-Action Capability on Any Textual Format
+
+
+# Discussion
+
+## Notes
+
+- Sorry a few pixels at the left of the screen are cut off due to how
+ it was recorded but it should not affect the bulk of the information
+ you'll see.  We'll also make the Org document driving the
+ presentation available for offline review.
+
+## Questions and answers
+
+- Q: Can you have multiple implicit button files, if so how would you
+ know which link came from what files?
+ - A: Links are one way at the present time, so you just place them
+ where they are needed and activate them.  Things like HyRolo can
+ be used to locate matching elements across multiple files.
+- Q: What about using implicit buttons with multiple people with
+ different configs?
+ - A:As mentioned in the talk, environment and Lisp variables
+ embedded in path links allow for sharing links whose location
+ varies by user/team.  In other cases you often want team members
+ to see the same result as someone else sees when a button is
+ activated.
+- Q: Coming in from Org/Org-mode, would it be a fair assessment that
+ Hyperbole is in some way a *generalization* of what most people
+ think of the great features of Org to work across formats (i.e. not
+ just in Org buffers, though *also* therein), with the Hyperbole
+ links/buttons being the recurring example? And that it then further
+ adds some capabilities (again across formats and thus including in
+ Org buffers). Being a global minor mode (vs a major mode and thus
+ coupled to a particular format namely org) is interesting per se,
+ and I think goes to RMS's talk that Org's features could be more
+ generalized and modularized. How is Hyperbole in that respect?
+ - A:Org, I believe, is focused on being an interactive notebook
+ and publishing tool notably for scientists or academics, even
+ though it is used by other technical people.  Hyperbole is for
+ creating a hyperverse filled with many types of text files and
+ interlinking them while maintaining their native formats; it
+ does little with conversion to formats for publication, aside
+ from export of Koutlines to HTML for use on the web.
+- Q: Internal/Radio targets: are they able to link to other Org mode
+ files (that are part of my agenda)? Background: <<<example
+ target>>> (default Org mode feature) is great for glossary and so
+ forth but only works within a single Org mode file.
+ - A: You could develop an implicit button type that would link
+ from an external file to a radio target in another file.  These
+ usually are just a few lines of code.
+- Q: Your package advances how useful a mouse can be with creating
+ links, do you have any experiance or thoughts about how
+ touchscreens, or mice could be used or improved with emacs..
+ - A: I place the Action Mouse Key on my middle mouse button and
+ the Assist Mouse Key on my right mouse button because I find
+ them that useful.  The existing drag capabilities of the mouse
+ are similar to actions we would have for a touchscreen
+ interface.
+- Q: Would you consider Hyperbole to be more of a format spec that can
+ then be handled however we want? Or the engine itself along with
+ that format? i.e. can the simple link formats be used for other
+ extensible purposes?
+ - A: yes, hyperbole was thoughts a s an hypertxt engine and then
+ be avail. to multiple apps (as API). turns out didnt work really
+ well
+- Q: How is the integration with org-roam?
+ - A: We are just beginning to work with org-roam and will likely
+ add a Hyperbole interface to it across time.  We are also
+ looking at related tools and how
+- Q: When doing something where do you determine where to put it
+ 'kotl, rolo, org".? I like kotl for journaling and org mode for
+ gtd.:)
+ - A: sure, they're both outlined formats and they work well.
+ depends on your taste
+- Q:Would you recommend a specific resource for getting into
+ Hyperbole, or should I just start with the manual? Definitely
+ interested in getting into this. (oh I love interactive demo style
+ formats, great!)
+ - A: dont start with the manual! :) for learning use the menu
+ system C-h-d-d and watch the interactive demo. Then watch one of
+ the tutorial videos (mentioned before)
+- Q: What is hyperorg?
+ - A: probably a typo for hyperborg
+ - sachac: I had to come up with IDs for all the talks, that was just the one I made up for this one
+- Q:Do you have advice for people who'd like to try using Hyperbole
+ with Org, but don't want to pollute Org files with inline Hyperbole
+ links (e.g., with files that will be published)? (...Or is that
+ inevitably the point of Hyperbole links?)
+ - A:
+- Q: How is the integration with org-roam?
+
+## Other discussions from IRC
+
+- I like the use of the term "cognitive overhead"
+- I really need to spend more time digging into Hyperbole. So far I only use it to open urls in the browser :D
+- These hyperbole talks are making me want to try
+- The issue I've got is that plain org-mode can deal with probably 50% of the use-cases of Hyperbole and the other 50% are not that important to me (yet). ...
+- Interesting idea: "Hyperbole golf" - somebody suggest something that should be accomplished. I'm doing it with my Org mode setup and the other person does it with Hyperbole. I'm sure that Hyperbole may be more elegant but so far, I didn't see anything that I can't do with my setup as well.
+- I would love to see a table comparing how to do things with Org and with Hyperbole with examples, with eev, zk, org brain. There are a lot of these type of packages
+- no problem. However, some things are non-standard org mode because they depend on my personal setup such as file links which I do use without path.
+- Notice how there is so little to Hyperbole buttons embedded in the buffer, so it doesn't break your flow when reading the text, e.g. if you just open the file without a structured viewer.
+- would it be easy to add a section to the table saying "to run these examples in Org you need to run this first?"
+- I understand eev even less than hyperbole somehow, so having a matrix of the 3 would do wonders for me.
+- i suppose another aspect to consider with hyperbole is that it can work outside org mode as well?
+- assist key == escape key
+- btw, people can download a .zip with all the videos by Rainer Koening from here: http://angg.twu.net/eev-wconfig.html#learn-org
+- That grid popup is really cool
+- Gosh it's time to check out hyperbole.
+- there's sooo much I want to check after this conference
+- There is not enough time for all of these
+- Action Key = {M-RET}; Assist Key = {C-u M-RET} though you can bind them as you like.
+- for action key and action key assist a good idea would be use a mouse that has extra buttons for those
+- I just installed hyperbole and I think it just works.
+- Awesome demo, thanks!
+- Thanks rswgnu! Great exposition, I'm much further along on my way towards Hyperbole enlightenment that's for sure.
+- Awesome talk, definitely planning to try out Hyperbole
+- Intense but too much information for just a Hyperbole newbie
+- I will have to watch your talk 3 or 4 times...too much directly to the vein!
+ - A: Thanks. That was the idea, to expose people to new things rapidly just to encourage interest. Install Hyperbole and you can learn at your own pace.
+
+[[!inline pages="internal(2022/info/hyperorg-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/hyperorg-nav)" raw="yes"]]
+
+[[!taglink CategoryHyperbole]]
diff --git a/2022/talks/indieweb.md b/2022/talks/indieweb.md
new file mode 100644
index 00000000..4c9b1ab6
--- /dev/null
+++ b/2022/talks/indieweb.md
@@ -0,0 +1,132 @@
+[[!sidebar content=""]]
+[[!meta title="Putting Org Mode on the Indieweb"]]
+[[!meta copyright="Copyright &copy; 2022 Michael Herstine"]]
+[[!inline pages="internal(2022/info/indieweb-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Putting Org Mode on the Indieweb
+Michael Herstine (IRC: sp1ff)
+
+[[!inline pages="internal(2022/info/indieweb-before)" raw="yes"]]
+
+
+# Table of Contents
+
+
+
+Many of us maintain personal websites using Org Mode. While an
+Org-generated static site has advantages over full-blown Content
+Management Systems, its simplicity comes with costs such as fewer
+features. The first feature I missed was supporting comments on my
+site, but I quickly began to feel isolated on the web altogether.
+
+Enter the Indieweb: the Indieweb is a collection of protocols for
+connecting to other independent sites, pushing your content to social
+media sites, collecting likes, comments & responses from other sites
+<span class="underline">back</span> to yours, and many other things as well.
+
+In this talk, I'll briefly sketch out the dilemma of the independent
+web site & how the Indieweb tries to address it. The focus, however,
+will be on how Emacs, Org Mode, and a few Unix tools suffice to get
+your static Org Mode site onto the Indieweb.
+
+
+(Update July 2023) I've created a simple site demonstrating how
+to use the package [here](https://indie-org.sh/). The source for
+the site is on [Github](https://github.com/sp1ff/indie-org.sh)
+for anyone to see or tinker with.
+
+
+Michael is a developer and long-time Emacs user from the San Francisco
+Bay area. He hacks in C++, Lisp & Rust and thinks a lot about writing
+provably correct code. You can find him at:
+
+ - his [home page](https://www.unwoundstack.com)
+ - on IRC: sp1ff on Libera.Chat
+ - through [e-mail](mailto:sp1ff@pobox.com)
+ - or on [Github](https://github.com/sp1ff)
+
+# Discussion
+
+## Notes
+
+- Thanks for a great talk - this was the missing piece in the puzzle
+ of the website I'm tinkering with!
+ - I'm so happy to hear that!
+- Similar: <http://www.by-star.net/> and
+ <http://www.by-star.net/content/generated/doc.free/bystar/PLPC/180038/current/accessPage>
+
+## Questions and answers
+
+- Q: Have you wu. This allows you to make a login that you own or at
+ least is more open souree and ownable. Seems to fit in with indie
+ web
+ - A: No but I will check it out later
+- Q: How did you create the graphical drill-down representation of the
+ make call? Is it hand-written and scanned in?
+ - A: LOL... I started with a diagram I made at
+ <https://excalidraw.com/>. The initial diagram was the complete
+ flow. Exported that to Gimp & made the intermediate slides there
+- Q: what happens when you re-publish or re-export the same post? i.e.
+ will the webmention be sent out repeatedly?
+ - A: You could do that but it would annoy the recipient. The
+ system is smart enough not to re-send the mentions.
+- Q: An advantage I see to using org mode for the indieweb  for this
+ is you can use it for your notes "org roam for example" and org
+ mode no-export for private data you don't want ot share. Your
+ webmentions could be org files as notes.. Anything else good about
+ using org mode for this.
+ - A:
+- Q:  Any thoughts on using with with Ox-Hugo?
+ - A: No. So far, I was following an Emacs/Org mode OOTB (out of
+ the box) approach and pushing emacs as far as I could take it
+- Q: So, is this a Web3 approach? Web 1 = static sites Web 2 =
+ interactive sites- but centralized
+ - A: Indieweb is about reclaiming your data. It's a distibuted
+ approach.
+ - Annotation Karl: some people started the term Web0 for similar,
+ decentralized approaches. ;-)
+ - Annotation Karl: Web3 is supposed to be something really strange
+ with Blockchains and this is definitely nothing like that Web3
+ (which will be a dead bubble in a few months IMHO)
+ - Here's the link: Do you see this as a format for annotations
+ specifically, or something more general that can be used for
+ interlinear glosses, etc?
+- Q: Is there a workflow to use emacs to publish and connect directly
+ to target websites instead of telegraph?
+ - A: If you want to cut telegraph cut out of the equation, you'll
+ need more work on the client-side. "What if they're down?"
+ ... 
+- Q: Do you have to have a process running on the web server to
+ recieve requests?
+ - A: Nope-- just a cron job
+- Q: I think perhaps you are doing too much inside of emacs?
+ - A: When I started, I thought that I was so close with the OOTB
+ (out of the box) features. 
+- Q: Say you start out using webmentions-as-a-service (webmention.io,
+ telegraph.p3k.io) and then you want to chnge endpoint, whether to a
+ different service, or to your own new server with a CGI script or
+ something. Will that work smoothly, do you think, or will there be
+ mentions piling up at your old address?
+ - A: Should be fine, unless your senders are doing something very
+ odd
+- Q:Have you seen <https://github.com/AgregoreWeb/agregore-browser> It
+ is a decentrilized kiss browser. Using some of the peer to peer
+ protocols used whithin this could be useful for propgating stuff
+ like webmentions.
+ - A: No, I haven't (but I will soon!).
+
+## Other discussions from IRC
+
+- I think perhaps you are doing too much inside of emacs.
+ - mohsen: Somethings are better done outside of emacs. I have built something similar at http://www.by-star.net/PLPC/180038 and also please see http://www.by-star.net
+
+
+[[!inline pages="internal(2022/info/indieweb-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/indieweb-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]]
diff --git a/2022/talks/journalism.md b/2022/talks/journalism.md
new file mode 100644
index 00000000..2ca1f2fd
--- /dev/null
+++ b/2022/talks/journalism.md
@@ -0,0 +1,208 @@
+[[!sidebar content=""]]
+[[!meta title="Emacs journalism (or everything's a nail if you hit it with Emacs)"]]
+[[!meta copyright="Copyright &copy; 2022 Alfred Zanini"]]
+[[!inline pages="internal(2022/info/journalism-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs journalism (or everything's a nail if you hit it with Emacs)
+Alfred Zanini (he/they)
+
+[[!inline pages="internal(2022/info/journalism-before)" raw="yes"]]
+
+
+# PART I - Where I started
+
+
+## Figuring out what you want out of your workflow
+
+For me, that is:
+
+- note-taking and todos for admin and work tasks
+- project management - setting up deadlines for each task and reminders to check in with people
+- a writing environment when I need to focus on script work
+- a way to experiment with coding and integrating that into my work
+- storyboarding different scenes
+- scheduling interviews and reachouts for interviews
+
+
+## Presentation of my previous workflow
+
+Using google drive, word, storyboarder, wechat, notion
+
+
+# Part II - Where I ended up
+
+
+## Why Emacs ?
+
+
+## Org-Contacts
+
+Setting up Org-Contacts to track documentary leads and keep up with them -
+also in use for personal contacts
+
+
+## ORG Roam
+
+Using Org-Roam to link project ideas and leads, and add summaries of interviews
+/ transcripts to contact files. Org-Mode and Org-Contacts to schedule interviews,
+reaching out, check-ins. All the while writing the script for the project on the
+Org-Roam page, with global project questions and specific interview questions
+for each scheduled shoot.
+
+
+## PANDOC and working with colleagues
+
+Once my first draft of the script is ready, I need to be able to share it for review.
+This is where the "Everything's a nail when you hit it with emacs" part comes
+in. Using Org-Mode for comments and for coloring with HTML tags and source
+blocks Not the easiest nor the most fun way to collaborate, but it is where I
+have ended up on.
+
+
+## Other packages I use regularly for a documentary workflow
+
+Mu4e Fountain.el hledger-mode bibtex for research papers present
+
+
+# Conclusions
+
+
+## Forever Work In Progress
+
+A lot of features to be added and kinks
+to be worked out but getting to a state where you can use software
+that you love every day is the most important point to me
+
+So let's keep modding our configs!
+
+
+# Discussion
+
+## Notes
+
+- WRT Literate programming, if you've never read Knuth's
+ Tangle/Web/Weave stuff, it's worth knowing about
+- Using the Calendar in conjunction with task managment and email show
+ off the power off the holistic workflow of Emacs
+- CRDT-- an easy way to work with other people in emacs --
+ <https://code.librehq.com/qhong/crdt.el>
+- Yes, liberal arts types.
+- I relate with so much of this talk so far :-P
+- I didn't know about :ignore: for org-mode headings. Is that set up by default?
+- I also use COMMENT as a todo and it is ignored too.
+- Ahhhhh. Good call. I use TODO in headings when I'm writing to remind me to finish sections later.
+- Yeah, I use :noexport: in pretty much every doc for all of my notes and throwaway scratch writing and stuff.
+- Huh, CRDT sounds interesting.
+- I export docs to Markdown, but I also use pandoc to generate DOCX files from org. Because most writers aren't using Emacs.
+- Thanks, I'll check that out. The writers and editors that I'm working with are frequestly looking for ways to handle change tracking and version tracking for docs. I recommend stuff like git but they need something that's easier for non-techie folks to use.
+- Feedback
+ - Great talk!
+ - Well done!
+ - flipping great stuff. Thanks!!!!!!
+
+## Questions and answers
+
+- Q: It'd be interesting if you explained why WeChat is a necessity
+ for you; outside China, most people have no reason to use it at
+ all.  Thanks.
+ - A: I think he meant Weechat (the IRC client) not WeChat --
+ Chinese exigency 
+ - The captioning did mention WeChat.  If he lives in Hong Kong,
+ then I totally understand, so consider this question answered.
+ - Oh nvm then
+ - Yeah, you've (Alfred) gotten WeChat spot on.  Most people here
+ don't care much, but I'm probably one of the only people in
+ this country not using WeChat, and it's a major PITA to live
+ without.
+- Q:Have you looked at CRDT.el for collaborative realtime editing?
+ - A: most of my work is just versions
+ - CRDT has great org mode support for task managent
+ - CRDT
+ - <https://code.librehq.com/qhong/crdt.el/>
+ - <https://elpa.gnu.org/packages/crdt.html>
+ - related:
+ <https://www.emacswiki.org/emacs/CollaborativeEditing>
+- Q:Sharing orgmode files is trickier than we expect. Do you do this?
+ If yes, how do you do it?
+ - A: Direct sharing was not successful. Exporting to docx or ODT
+ is problematic (Latex structure). 
+ - has tried github and gitlab, but that might require signups - is
+ also suboptimal
+ - Export profiles for ODT or DOCX is a better approach, or at
+ least worked well so far
+ - Karl Voit's notes on collaborative working with non-Org users:
+ - - <http://irreal.org/blog/?p=6234>
+ -   -
+ <https://www.wisdomandwonder.com/link/9922/how-to-reintegrate-changes-for-word-back-into-org-mode>
+ -   - Export to docx via pandoc and re-import via =pandoc
+ --track-changes=all=
+ -     : pandoc --track-changes=all Document.docx
+ Compare_to_original.org
+ - -
+ <https://www.reddit.com/r/emacs/comments/ad43hf/question_how_do_you_manage_tasks_calendars_with/>
+ - - <https://github.com/200ok-ch/organice>: an implementation
+ of Org mode without the dependency of Emacs. It is built for
+ mobile and desktop browsers and syncs with Dropbox, Google
+ Drive and WebDAV.
+ - - [2021-06-08 Tue]
+ <https://www.reddit.com/r/orgmode/comments/nuit8u/coordinating_with_people_who_dont_use_emacs_or/>
+ → discussion
+ - Karl Voit's notes on collaborative working with Emacs users:
+ - - 2020-05-29
+ <https://gitlab.com/emacsomancer/collaborative-writing-environment-emacs>
+ -   - special emacs setup that allows collaboration on the
+ same LAN
+ -   - needs separate emacs config (different host or user or
+ move config out of the way)
+ -   - [ ] try it out myself
+ - - [2020-08-31 Mon] <http://typeintandem.com/> +
+ <https://github.com/jscheid/tandem-emacs>
+ -   - unmaintained:
+ <https://github.com/jscheid/tandem-emacs/issues/1>
+ - - [2021-11-03 Wed]
+ <https://code.librehq.com/qhong/crdt.el.git>
+ -   - via Sacha Chua's EmacsConf21 Emacs news
+- Q:Do you use pandoc for incoming and outgoing docs? Do you find that
+ repeated conversions lose document quality?
+ - A: Layouts are kind of wonky, but that's possible to work through if you go into the settings and adjust basically to how you want it to look like.
+ - And for incoming docs, so that's a bit more of a hassle. My plan for this talk was to have it a bit more ready, but I've got this integration for org-ic, org-apple-pages documents, that kind of thing. So that's often the documents that I get from my colleagues, and I found a way to transfer them into org documents. I did that kind of quickly, so I don't think I'm quite ready to share exactly how it went, but I'm planning on doing some documentation around that. But yeah, basically the gist of it is, I don't find it a huge issue.
+- Q: I am beginning on emacs (again) after falling off every time
+ because of the "working in config-files" whole day. What was your
+ moment when you really started to work in emacs instead of
+ config-editing?
+ - A: Had the click after finding text editor workflow. Don't be
+ too frustrated :-) , use templates, put ideas off to a later
+ moment. 
+ - related: <https://xkcd.com/1205/> and <https://xkcd.com/1319/>
+- Q: Why is emacs recommended for journalism? -vidianos asks
+ - A: I wouldn't say it's recommended-- a personal choice--
+ valuable as a tool-- can be tailored so that it's easy to
+ transfer skills from other disciplines-- more scientific ones
+ to journalism. Org-Roam is a game changer because it allows me
+ to set thoughts aside and know that I can get back to it. Helps
+ with self-control.
+- Q: Do you use any fancy solutions for annotation text onto
+ particular video timestamps?
+ - Clarification: Yes, asking about making notes on a video, when
+ something happens 
+ - Side Note: subd.el could be useful
+ <https://github.com/sachac/subed>
+ - A: Taking notes with org-roam and linking them to BiBTeX etc
+- Q: When you get stuck with an emacs problem-- is there somewhere you go to get help (nice place for non-tech people?)
+- Q: is it possible to use emacs bookmarks capability to literally bookmark a specific timestamp in a video clip (and by that the note taking could be done in that bookmark instance)… ?
+- Q: is Alfred australian?
+ - I suspect he's Swiss
+- Thanks, I'll check that out. The writers and editors that I'm working with are frequestly looking for ways to handle change tracking and version tracking for docs. I recommend stuff like git but they need something that's easier for non-techie folks to use.
+- I did not know about org-mpv
+- There isn't a proper org-mpv, but there are a few functions to combine mpv.el with org-mode here: https://github.com/kljohann/mpv.el/wiki
+- Alfred is a very quick learner
+
+[[!inline pages="internal(2022/info/journalism-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/journalism-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]] [[!taglink CategoryOrgRoam]]
diff --git a/2022/talks/jupyter.md b/2022/talks/jupyter.md
new file mode 100644
index 00000000..1a9304a9
--- /dev/null
+++ b/2022/talks/jupyter.md
@@ -0,0 +1,102 @@
+[[!sidebar content=""]]
+[[!meta title="Edit live Jupyter notebook cells with Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Blaine Mooers"]]
+[[!inline pages="internal(2022/info/jupyter-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Edit live Jupyter notebook cells with Emacs
+Blaine Mooers (Blane Moors, he/him, <mailto:Blaine-Mooers@ouhsc.edu>)
+
+[[!inline pages="internal(2022/info/jupyter-before)" raw="yes"]]
+
+My talk will address a dilemma faced daily by many technical writers and programmers.
+Like many academics, I use several web-based platforms for writing prose (e.g., 750words, Overleaf) and interactive computing (Jupyter Notebook, Google Colab Notebooks).
+The first group lacks support for snippets.
+The second group has support for snippets, but this support does not include tab triggers and tab stops.
+The absence of tab stops can increase the number of bugs by overlooking parameter values in the snippet that need to be changed to adapt the snippet to the current problem.
+One solution to the absence of full-powered snippets is to apply Emacs with yasnippets to these web-based platforms.
+
+One route to doing so is to use the atomic-chrome package for Emacs and the GhostText Extension for web browsers.
+These two software packages enable two-way communication via a web socket between an Emacs buffer and the text area of the web page.
+Edits made on the web side of the socket are immediately sent to the Emacs buffer and vice versa.
+The Emacs's snippets and other editing tools only work in the Emacs buffer.
+The connection can be closed from either side.
+This route has enabled me to apply snippets of LaTeX code to my daily writing in 750words.
+I have been able to convert 750words into a platform for writing in LaTeX; by default, it uses markdown.
+I have also been able to apply code snippets for Julia, Python, R, and so on in Jupyter notebook cells.
+In other words, I get to extend my time writing in Emacs.
+
+In my ten-minute talk, I will describe my problems with web-based platforms and their solution with Emacs.
+I will describe where to find the required software and how I configured Emacs.
+I will present several precautions for using GhostText and describe the limitations of its application.
+I will provide links to collections of snippets I found handy daily usage of 750words and Jupyter.
+
+
+# Discussion
+
+## Notes
+
+- <https://github.com/alpha22jp/atomic-chrome> atomic chrome is by
+ alpha2jp. It is available on MELPA.
+- <https://ghosttext.fregante.com/> Central website for GhostText.
+- <https://www.youtube.com/watch?v=JWW3o104npY&t=190s> Example of
+ using GhostText with Moodle to write web papes.
+- <https://github.com/MooersLab/latex-emacs> My configuration
+ targeting LaTeX in Gnu Emacs.
+- <https://github.com/MooersLab/BerlinEmacsAugust2022> Slides from a
+ 90-minute talk in August at the Berlin Emacs Meetup about using
+ LaTeX in Emacs.
+- <https://github.com/MooersLab/DSW22ghosttext> Slides to 50-minute
+ talk in July about using GhostText with Emacs and other editors.
+ Includes slides for friends that use Vim.
+- Great talk, thank you!
+- Btw, great talk Blaine!
+- I've got ghosttext and emacs via atomicchrome working now: very easy and very useful! Thank you.
+- Nice job Blaine!
+- Thank you!
+- Pretty inspring!
+
+## Questions and answers
+
+- Q: Kind of a silly question but I'm curious... Do you have a
+ favourite color theme?
+ - A: I like several themes and use different ones in different Emacs profiles to distinguish their windows if two are more are open at once. I use the leuven theme in my default config file. It resembles the ef-light theme in the ef-theme. package by Protesilaos Stavrou. I use the ef-spring theme in my latex-emacs config; it has mint green background color.
+- Q: Really interesting to discover GhostText thanks. I use ein (Emacs
+ Ipython Notebooks
+ <https://github.com/millejoh/emacs-ipython-notebook>) for running
+ notebooks locally, I can clearly see the advantage of using
+ GhostText with non-local notebooks/websites but is there anything
+ that GhostText provides over EIN when interacting with locally
+ running Jupyter Notebooks?
+ - A: Good question. I have used the juptyer package in org files, but I do not have much experience with EIN.
+ EIN has a long list of commands specific to editing Jupyter Notebooks.
+ I expect that EIN provides the more powerful approach after making the investment in learning the new keybindings.
+ GhostText was not designed specifically to edit Jupyter cells.
+- Q: To your knowledge are recent/coming security changes in Chrome
+ going to impact the browswer exstention?   Thanks !
+ - A: I do not know the answer.
+ If the secuirty changes inhibits GhostText, it should continue to work in the FireFox family of browsers and Safari.
+- Q:Is this browser-agnostic, or do you have to use Chrome? (answered
+ in talk 15:58)
+ - A: Works on different browsers
+- Q: You mentioned a couple other solutions to allow emacs editing of
+ text areas.  Pointers?
+ - Two options: (1) A: Emacs Everywhere (https://github.com/tecosaur/emacs-everywhere); however, it requires uses emacs-client.
+ (2) The above-mentioned atomic-chrome package can use the browser extension for chrome called "atomic-chrome" in place of GhostText.
+ It is called "atomic" because the extension was orginally designed to work with the text editor Atom. However, I cannot find this extension.
+- Q: Why not save text from emacs?
+ - A: The text in the file will get out of synch with the text in the Emacs buffer and the browser. This can lead to loss of all of the text. Maybe you can set up continuous saving of the text to the file from Emacs.
+- Q: What was the key binding for Linux/Firefox?
+ - A: Ctrl+Shift+h
+- Q: how long have you been in Emacs?
+ - A: 18 months ago I made the commitment to adopt GNU Emacs as my main text editor. I had several false starts earlier. I was too impatient to master one of the starter kits.
+
+
+[[!inline pages="internal(2022/info/jupyter-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/jupyter-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]]
diff --git a/2022/talks/justl.md b/2022/talks/justl.md
new file mode 100644
index 00000000..640bc168
--- /dev/null
+++ b/2022/talks/justl.md
@@ -0,0 +1,42 @@
+[[!sidebar content=""]]
+[[!meta title="justl: Driving recipes within Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Sibi Prabakaran"]]
+[[!inline pages="internal(2022/info/justl-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# justl: Driving recipes within Emacs
+Sibi Prabakaran (he/him, <mailto:psibi2000@gmail.com>)
+
+[[!inline pages="internal(2022/info/justl-before)" raw="yes"]]
+
+[justl.el](https://github.com/psibi/justl.el) is a major mode for driving justfiles.
+
+Justfiles are a way to save and run project specific commands. Think
+of it like Makefile, but purely focused as a command runner.
+
+The purpose of the talk is to give a brief introduction about
+justfile and then followed by how to use the justl.el extension to
+drive justfiles from within Emacs.
+
+Bio: [https://psibi.in/about.html](https://psibi.in/about.html)
+
+## Resources
+
+- [justl.el Home page](https://github.com/psibi/justl.el)
+- [Just tool Home page](https://github.com/casey/just)
+
+## Discussion
+
+- thanks for the great talk sibi :)
+- Seems like a pretty focused and useful tool!
+- will try out Just after that talk
+- Great talk. I'll definitively give it a try.
+
+[[!inline pages="internal(2022/info/justl-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/justl-nav)" raw="yes"]]
+
+[[!taglink CategoryCoding]]
diff --git a/2022/talks/links.md b/2022/talks/links.md
new file mode 100644
index 00000000..b8e9bc83
--- /dev/null
+++ b/2022/talks/links.md
@@ -0,0 +1,2 @@
+[[!sidebar content=""]]
+[[!meta redir=/2022/talks/orgsuperlinks]]
diff --git a/2022/talks/localizing.md b/2022/talks/localizing.md
new file mode 100644
index 00000000..2677d4ee
--- /dev/null
+++ b/2022/talks/localizing.md
@@ -0,0 +1,53 @@
+[[!sidebar content=""]]
+[[!meta title="Pre-localizing Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Jean-Christophe Helary"]]
+[[!inline pages="internal(2022/info/localizing-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Pre-localizing Emacs
+Jean-Christophe Helary (he/him)
+
+[[!inline pages="internal(2022/info/localizing-before)" raw="yes"]]
+
+Before Emacs user-facing strings are localized to users’ languages (will that ever happen?), there are things developers must remember when including such strings in the code, and there are things that emacs-lisp beginners (like me, forever) can do to help when they face such issues.
+
+It is not easy to write naturally flowing language when the language depends on program variables, but even if we stick to English for the time being, it is important to separate natural language from computer language as much as possible.
+
+I will be presenting an old patch to packages.el accepted in June 2018 that took me about a year to write. The origin of the patch is a plural mistake in the packages install messages. As you can see pre-patch, the code was filled with English substrings embedded into the code to produce pasts, plurals and all sorts of English grammatical constructs.
+
+<https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=61f73703c74756e6963cc622f03bcc6938ab71b2>
+
+Even if it is a beginner’s patch (thoroughly reviewed by dev-experts), it shows what can be done by emacs-lisp beginners to help with “straightening” the strings to reduce the number of potential English bugs and then to make Emacs strings easier to be handled by real localization processes, one day.
+
+
+# Discussion
+
+## Questions and answers
+
+- Q: I use Emacs on English but my mother tongue is Spanish. Is Emacs
+ localized/localizable?
+ - haha I have no English knowledge to help fixing text labels, but
+ it is of use for new developments.
+ - A:
+- Q: You mention regex on strings is a red flag for localization, are
+ there others to look out for?
+ - A:
+- Q: So, your project is to localize all of Emacs?
+ - A:
+- Q: How deep would usefull localization go? Because at the core of
+ emacs are Docstrings and localizing them could also imply localizing
+ Elisp.
+ - A:
+
+Other feedback:
+
+- Merci Jean-Christophe ! I really enjoyed your talk (and would very much like to help localise Emacs).
+
+[[!inline pages="internal(2022/info/localizing-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/localizing-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/lspbridge.md b/2022/talks/lspbridge.md
new file mode 100644
index 00000000..a6fcfb19
--- /dev/null
+++ b/2022/talks/lspbridge.md
@@ -0,0 +1,143 @@
+[[!meta title="lsp-bridge: a smooth-as-butter asynchronous LSP client"]]
+[[!meta copyright="Copyright &copy; 2022 Andy Stewart"]]
+[[!inline pages="internal(2022/info/lspbridge-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# lsp-bridge: a smooth-as-butter asynchronous LSP client
+Andy Stewart and Matthew Zeng (IRC: Andy: manateelazycat)
+
+[[!inline pages="internal(2022/info/lspbridge-before)" raw="yes"]]
+
+Emacs built-in single-threaded mechanism and GC design will cause Emacs to freeze when receiving oversized LSP data.
+
+Lsp-bridge uses python's threading technology to build caches that bridge Emacs and LSP server. Lsp-bridge will provide a smooth completion experience without compromise to slow down emacs' performance.
+
+lsp-bridge is completely asynchronous, to the point that even the completion popup is controlled by lsp-bridge. It offloads all the computation to an external python process, and hence the emacs session itself stays always responsive, as it has very few things to do.
+
+lsp-bridge has now supported 39 LSP servers and all kinds completion backend: include LSP、 TabNine、 Citre、 Elisp、 Search Words、 Path、 Yasnippet、 Tempel、 Telegra、 English etc, it just works pretty well out of the box.
+
+Related design, please check <https://manateelazycat.github.io/emacs/2022/05/12/lsp-bridge.html> and <https://manateelazycat.github.io/emacs/2022/06/26/why-lsp-bridge-not-use-capf.html> (sorry, I'm Chinese Emacser)
+
+
+[[!sidebar content=""]]
+# Discussion
+
+## Notes
+
+- <https://github.com/manateelazycat/lsp-bridge>
+
+## Questions and answers
+
+- Q: Is the fatal mistake of this approach that you can't M-x
+ find-function into the code?
+ - A: It is an unfortunate tradeoff. But what is the "fatal"
+ part?
+- Q:Will lsp-bridge replace eglot/lsp-mode, or could it work with
+ them?
+ - A: Yes, lsp-bridge will replace lsp-mode/eglot and
+ company/corfu.
+- Q:Is it possible to use lsp-mode and lsp-bridge together (Disabling
+ completions of lsp-mode)?
+ - A: lsp-bridge is plugin to replace lsp-mode and eglot, can't
+ work with lsp-mode.
+- Q:Is there a demo of lsp-bridge showing its performance?
+ - A:Hard to do that in 20 minute presentation about the
+ principles. Best to try it to see.
+- Q:Will this be a candidate for core Emacs?
+ - A:Perhaps not, it uses a lot of Python and many Emacsers may not
+ like that instead of pure elisp.
+ - (someone else on IRC): And as I said above, this breaks introspectivity, which is one of the main features of Emacs.
+- Q:If performance is the main objective, why Python and not something
+ like, e.g. Rust?
+ - A:Python is easy to develop in, and LSP's performance is
+ IO-based. The key is multi-threading, not language performance.
+ - A: LSP is IO intensive not CPU intensive, Python isn't doing
+ too good with latter but former is pretty fine. Anyways, as
+ I've explained in the talk, the multithreading design
+ fundamentally fixed the problem, it doesn't need any faster
+ language. Existing python ecosystem and python's ease of
+ development were also part of consideration
+- Q: Is there a benchmark comparison with lsp-mode and eglot?
+ - A: It is a nuisance to create a benchmark comparison when
+ lsp-bridge and lsp-mode/eglot are structured so fundamentally
+ different (single-thread & multi-thread). Feel free to try
+ lsp-bridge on a huge repository with a slow server (i.e volar,
+ java), you will experience the difference immediately
+- Q:You tried lsp-mode , but have you tried Eglot re:performance? I
+ heard lsp-mode isn't that efficient.
+ - A:lsp-bridge is much much faster than eglot and lsp-mode
+ - A: lsp-mode and eglot both suffer from bottlenecks from the
+ single-threaded Emacs and the uncontrollability of the codebase
+ size & lsp-servers, I've also heard eglot is better in terms of
+ performance than lsp-mode, but lsp-bridge avoided this problem
+ fundamentally
+- Q:How well does lsp-bridge coexist with clojure-lsp and cider?
+ - A: clojure-lsp is part of the supported language servers
+ already., C# also supported by OmniSharp
+- Q:Can lsp-bridge work with all LSP backends or just Python at the
+ moment?
+ - A: All LSP backends.
+ - A:
+ <https://github.com/manateelazycat/lsp-bridge#supported-language-servers>
+- Q: Is there any plan to support dap-mode or something alike?
+ - A: Yes, but this year I've already spent so much time on
+ develop lsp-bridge/EAF/blink-search/deno-bridge/markmacro. We
+ can use lsp-bridge's technology build faster dap-mode similar
+ project.
+- Q: does lsp-bridge work over Tramp?
+ - A: tramp is very slow, I will planinng write new plugin to
+ replace otramp, then we will make lsp-bridge work on remote
+ machine, and something like VSCode does,  idea
+ <https://github.com/manateelazycat/lsp-bridge/issues/357>
+- Q: Does acm mode work on terminal or it only works on GUI?
+ - A: The main acm-mode bundled with lsp-bridge only works on GUI
+ at the moment. There is a community maintained repo that enables
+ acm-mode to work on terminal:
+ <https://github.com/twlz0ne/acm-terminal>
+- Q: acm-mode is fast, is it possible to use it outside of lsp-bridge
+ as a standalone mode?
+ - A: No, acm-mode fast is because lsp-bridge's multi-thread and
+ asynchronous design, not because acm-mode itself
+- Q: What lsp features will not be considered in lsp-bridge? How about
+ symbol highlight, breadcrumbs?
+ - A:lsp-bridge's highest priority is performance, symbol
+ highlight is not useful and it will slow down the render
+ performance (symbol-overlay is better choose)
+ - A: breadcrumbs is not LSP procotol, I just want we coding like
+ hacker that live in Emacs, I don't want make Emacs like a
+ VSCode clone.
+- Q: doesn't Python have the same fundamental problem with threads? I mean GIL.
+ - A: NO, if you really wrote multi-thread code.
+- GIL doesn't matter for handling blocking IO in multiple threads
+ - lounge-4227, same is true for elisp
+ - Most emacsers haven't experience on multi-thread, python GIL won't block this.
+ - But Emacs's haven't multi-thread.
+ - Emacs's single-thread and GC can't handle LSP in real-time.
+- Q: ManateeLazyCat Do you think Emacs could be fixed in order to allow for this kind of multithreaded implementations in Elisp itself?
+ - A: No, there have so many elisp code running single-thread, if elisp implement multithread, Emacs will break out.
+- Q: I tried lsp-bridge, and it's wonderful. What I miss most is imenu integration in lsp-mode/eglot. Is there any plan to support it ?
+ - A: I doesn't use imenu, I'm personal no plan to support it, but any PR are welcome.
+- I don't have anything against Python, in fact I like it myself, but it seems strange that this can't be solved without requiring a second runtime
+ - A: It's not technology, it's about Emacs's history, if emacs include multi-thread, will break most elisp plugins.
+- Q: Does the package manage the external LSP and bridge processes.
+ - A: Yes.
+
+Other feedback from IRC:
+
+- I can relate Java LSP and a huge repository :D
+- Fast response from LSP really impressed me.
+- Smooth-as-butter, that's a really apt description of it. In the past few days I have learned it for the improvement of acm-mode and I am very comfortable. I was a TabNine user, so it was exciting that acm-mode supported it out-of-box.
+- I was hooked on Corfu and Cape right before I touched on acm-mode, but acm-mode turned me around in an instant.
+- Yeah, I like the ideas behind lsp-bridge, and a great explanation of it. I may have to have a wrapper function to toggle corfu and whatnot whenever I start the lsp-bridge.
+- Well, you just did, with this work, so there is at least one way that was done. It means that it should be a way to restrict multithreading in a way that doesn't break existing code but adds functionality for solving particular problems
+- Yes, definitely not easy, but worth it. Your work proves it, so I hope it motivates people to solve the fundamental problem at some point. In the meantime, please continue the awesome work you are doing!
+- Big thanks for working on this project, I think it's great that there's a solution out there for LSP performance. My setup has been struggling on some particularly large projects w/ many thousand line TS/Ruby files
+
+[[!inline pages="internal(2022/info/lspbridge-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/lspbridge-nav)" raw="yes"]]
+
+[[!taglink CategoryCoding]]
diff --git a/2022/talks/mail.md b/2022/talks/mail.md
new file mode 100644
index 00000000..e0a54386
--- /dev/null
+++ b/2022/talks/mail.md
@@ -0,0 +1,153 @@
+[[!sidebar content=""]]
+[[!meta title="Revisiting the anatomy of Emacs mail user agents"]]
+[[!meta copyright="Copyright &copy; 2022 Mohsen BANAN"]]
+[[!inline pages="internal(2022/info/mail-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Revisiting the anatomy of Emacs mail user agents
+Mohsen BANAN (MO-HH-SS-EN, he/him, <mailto:emacs@mohsen.1.banan.byname.net>)
+
+[[!inline pages="internal(2022/info/mail-before)" raw="yes"]]
+
+Actually, it makes very good sense to use Emacs as your Mail User Agent (MUA).
+A dominant and fundamental aspect of
+mail composition and mail processing is editing. And, if you live inside of
+Emacs, of course you expect to have the
+ultimate messaging environment.
+
+Over the years many Emacs MUAs have appeared. As of 2022, the following Emacs
+MUAs are available to choose from:
+Gnus, VM, WanderLust, Mew, mu4e, notmuch.el, mh-e and Rmail.
+
+Emacs MUAs can be used as Monolithic-MUAs (with elisp smtp and imap protocol
+implementations) or as Split-MUAs (with external
+smtp and imap protocol implementations). We make a case for superiority of the
+Split-MUA model.
+Recent evolutions of Gmail and Outlook towards requiring OAuth and our agility
+to better address that
+requirement based on the Split-MUA anatomy is one of our justifications for
+converging
+towards the Split-MUA anatomy.
+
+While what we are presenting here applies to all Emacs MUAs, our focus is Gnus.
+Gnus is distributed with Emacs proper and is the richest and most potent MUA,
+anywhere!
+
+We have wrapped all that is needed to use Gnus as a complete Split-MUA for
+Unix-like environments in a package
+called MARMEE (Multi-Account Resident Message Exchange Environment).
+
+MARMEE consists of a set of packages that span:
+
+- Deb GNU/Linux Packages
+- PyPI Python Packages
+- Emacs Elisp Packages
+
+plus everything that is needed to properly install these on Debian-like GNU/
+Linux systems and
+integrate them with Gnus. By choice, we have limited our integration languages
+to elisp, python and bash.
+
+MARMEE component packages include:
+
+- OuterRim-qmail (deb+PyPI) – Outer Rim oriented qmail, as a Resident Mail Submission UA.
+ qmail-remote is replaced by a python implementation which includes OAuth
+ awareness.
+ qmail-inject is replaced by a python implementation which is X822-Bus aware
+ (for DSN requests)
+- offlineimap (PyPI) – as a Resident Mail Retrieval UA.
+ offlineimap includes OAuth awareness.
+- notmuch (deb) – for searching
+- gpg (deb) – for privacy and integrity
+- flufl.bounce (PyPI) – for bounces and DSN (Delivery Status Notification)
+ processing.
+- bisos.cs (PyPI) – BISOS CommandServices for configuration and secrets
+ management and integration.
+- gmailOauth2.cs (PyPI) – For SMTP and IMAP authentication/authorization
+ through gmail.com
+ Used by qmail-remote for out-going and by offlineimap for in-coming OAuth
+ based mail.
+- org-msg (EmacsPkg) – For HTML-composition in org-mode and for htmlized
+ citations.
+- mcdt (EmacsPkg) – Mail Composition, Templating, Distribution and Tracking.
+
+The integration framework for MARMEE is BISOS (ByStar Internet Services OS).
+Full integration of Emacs, MARMEE and BISOS is called Blee (ByStar Libre-Halaal
+Emacs Environment).
+The easiest way to use MARMEE is to install BISOS – which includes Blee.
+
+In this talk I will demonstrate what a wonderful environment the Split-MUA
+model of Gnus+MARMEE can be.
+
+After walking through the concepts and the integration framework, I&rsquo;ll walk
+through transparent access to
+multiple mail servers conveniently and show org-mode composition of BIDI emails
+going out as html.
+
+My primary goal is to show that these packages can be integrated, but that
+integration is not simple.
+Furthermore, various improvements can be made to the packages to enhance the
+complete integrated environment.
+I&rsquo;ll be enumerating my requests from relevant package managers.
+If we were to collectively buy into something like this, we can greatly
+simplify use of Emacs MUAs
+with all mail systems – including the commonly used Gmail and Outlook.
+
+Of course, we should not be using Gmail and Outlook. Instead we should extend
+Libre Software into Libre Services
+and provide for edge-oriented autonomy and privacy in the services domain.
+There is a services side to
+what we have presented here. It is called &ldquo;The Libre-Halaal By* (ByStar)
+Digital Ecosystem&rdquo; – <http://www.by-star.net/>
+Perhaps that could be a topic for the next EmacsConf.
+
+For questions or comments, feel welcome to email me at: <mailto:emacs@mohsen.1.banan.byname.net>
+# Discussion
+
+## Notes
+
+- great talk -- this is a **LOT** of info to ingest!
+- link to book on polyexistentialism:
+ <http://www.by-star.net/content/generated/doc.free/mohsen/PLPC/120033/>
+
+## Questions and answers
+
+- Q:something I have liked about notmuch is using maildir makes
+ searching fast and the knowledge that you have all your email
+ period:) why gnus over notmuch. as a side note you also have
+ muchsync for notmuch clients and jmap for more exotic normal
+ clients.
+ - A:
+- Q:So the idea is more about emacs as a holistic computing experiance
+ with other packages and services rather than about email specificly.
+ as an alternative to the something like the microsoft office suite?
+ - A:
+- Q: Early on you expressed misgivings about the western copyright
+ regime, but you're using a GPL license.  Is this a conflict? (great
+ work BTW)
+ - A:
+- Q: Do you know of GNU Guix how do you think about using it for
+ packaging/configuring Emacs & your various packages else you might
+ look it up;) Or nix"os"
+ - A:
+- Q:Is this being split up in a heavily configured server for emall
+ hosting and a thin client package for youl local client to integrate
+ with your emacs packages, maybe with a client thin docker container
+ for other packages like notmuch locally
+ - A:
+- Q:Could you expand on the definition libre-halaal?
+ - A:(answered - capture TBD)
+- Q: What is the scope of what you are imagining? Just software?
+ - A: (answered - capture TBD)
+- Q:NFTs! 
+ - A: (responded - capture TBD)
+
+
+[[!inline pages="internal(2022/info/mail-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/mail-nav)" raw="yes"]]
+
+[[!taglink CategoryMail]]
diff --git a/2022/talks/maint.md b/2022/talks/maint.md
new file mode 100644
index 00000000..e573ba65
--- /dev/null
+++ b/2022/talks/maint.md
@@ -0,0 +1,249 @@
+[[!sidebar content=""]]
+[[!meta title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"]]
+[[!meta copyright=""]]
+[[!meta license="The material on this wiki page is placed in the public domain. Where copyright is taken to apply, the material is dual-licensed under CC BY-SA 4.0 and GPLv3+."]]
+
+[[!inline pages="internal(2022/info/maint-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+# Maintaining the Maintainers: Attribution as an Economic Model for Open Source
+Sid Kasivajhula (any pronouns, commonly he/him, IRC: countvajhula, <mailto:sid@drym.org>)
+
+*The material on this wiki page is placed in the public domain. Where copyright is taken to apply, the material is dual-licensed under CC BY-SA 4.0 and GPLv3+*
+
+[[!inline pages="internal(2022/info/maint-before)" raw="yes"]]
+
+This talk is based on research on a new model for interactions in
+living systems, including human social systems, called identity
+architecture. The paper is available at this link:
+<https://www.drym.org/IALS.pdf> In particular, the sections on "Economic
+Systems," "Property," and "A Universal System" describe the rationale,
+underlying principles, and dynamical consequences of an
+attribution-based economic system. Follow its development at
+<https://github.com/drym-org/identity> and support an ABE project near you!
+
+----
+
+The problem of supporting open source software and contributors is a
+pressing one, and one for which we don't have good solutions.
+
+So many developers today pour their creative energies into
+freely-distributed works only to have those same works of passion turn
+into a pain in the neck when they find themselves eternally on the
+hook to provide support in exchange for minimal or no compensation,
+and often with limited assistance.
+
+Fundamentally, the reason it's this way is that traditional economic
+systems operate on <span class="underline">supply and demand</span> as the basis of value. In such
+systems, open and unlimited availability translates into zero market
+value, and consequently, open source enterprises are not economically
+sound. Even in high profile projects, developers make a living purely
+through value added services rather than from the core of the value of
+their contributions &#x2013; that is, from the code they wrote. Since, from
+a market value standpoint, <span class="underline">that code is worthless</span>.
+
+Copyright and patents (not to mention proprietary software) are an
+attempt to address this within the existing economic model by imposing
+artificial scarcity in order to induce market value. In principle,
+they also provide safeguards against appropriation. On the other hand,
+the unlimited availability of creative works is a profoundly good
+thing from the perspective of maximizing value, and thus suppressing
+it is deeply misguided. Organizations like the Free Software
+Foundation have campaigned against such restrictions for some time
+now, for related reasons; nevertheless, the problem of providing a
+viable economic basis, aside from these crude attempts, remains
+unaddressed.
+
+Attribution-based economics is a new model that aims to remedy this
+state of affairs by changing the basis of value from supply and demand
+to <span class="underline">collective recognition</span>. This is facilitated by a process of
+"inheritance attribution" where we collectively agree on the extent of
+inherence of ideas and works in other (e.g. derivative) ideas and
+works, by means of transparent and evolving standards. This model is
+capable of recognizing a much larger set of valuable contributions,
+including forms of value that cannot be coerced into a
+supply-and-demand equation. That is, in this model, there is no need
+to artificially restrict availability in order for something to be
+considered valuable. By virtue of the curious property that
+innovations on the process are themselves subject to the process of
+recognition in a self-reflective way, we gain accuracy, and by the
+property that agreed-upon standards apply equally to all, we gain
+fairness &#x2013; guarantees that are at best tenuously present in today's
+economic systems.
+
+This talk introduces some early experiments with attribution-based
+economics in the Emacs community, and some initial proposals that
+point the way forward on how, with your help, such a system might
+scale up to larger projects and communities far beyond open source.
+
+# Discussion
+
+## Questions and answers
+
+The initial questions below were answered live, and as they may be found in the live Q&A transcript, they are not fully transcribed below. The question on "human nature" has a more clear answer below, added after the fact. Following the live section is an extended Q&A section for the benefit of future readers who may have more questions.
+
+### Live Q&A
+
+Q: This seems to assume that there will be $ contributions commensurate with the value of the project vs. everyone freeloading because there is no incentive to pay
+
+A: This concept of economy will make all participants stakeholders, so there is an incentive to pay. There are a number of open questions, though, as this idea is new.
+
+Q: Are you aware of projects like OpenQ (https://www.openq.dev/)? Would that fit the model in your opinion?
+
+A: Not familiar with OpenQ
+
+Q: I see incredible amounts of overlap with the SourceCred system https://sourcecred.io/ , where attribution of antecedents, graph of contributions, fair-in-hindsight backpropogation is built-in. Are you aware of SourceCred?
+
+A: Not very familiar with it [answered in more detail live, but I've also added more on this after the live section of Q&A below]
+
+Q: How is this different from money? Not in some abstract ownership vs attribution way. Open source funding is an incentive problem, which this does not change as far as I can see.
+
+A: Money can be revisited in the future but maybe not immediately.
+
+Q: How would you approach a viable experiment?
+
+A: We have a Github Action that automatically creates the boilerplate of files and directories needed for the accounting. Further development through dialogue because of the many questions open.
+
+Q: Given that the oversight is a social process, how do you constrain the cognitive and time burdens of deciding the values of attributed contributions?
+
+A: We start with simple heuristics and first tackle the majority of issues.
+
+Q: How are the attribution amounts calculated? (ORGA NOTE: restored from a prior version; welcome to remove if this was your question and you removed it intentionally)
+
+A: Dialectical Inheritance Attribution (DIA), a social practice described in the talk. One heuristic strategy that will be used will be "Analyze, Appraise, Anonymize, Attribute."
+
+Q: What are your assumptions about human nature vis. self interest vs. altruism?
+
+A: In the live Q&A I meandered on this point, so let me answer more clearly here.
+
+ABE does not assume anything about human nature. It is neither cynical nor idealistic. Rather, it achieves the goals I mentioned in the talk in a purely structural way, setting up the source of value in such a way (DIA) that emergent incentives align with the common good. The "common good" emerges as simply being the aggregate of desires in a particular context. Since selfish desires cancel out at a sufficiently large scale, the incentive resultant from DIA forms what is good for everyone rather than what is good for some, in other words, exactly what we mean by the common good.
+
+Another way of saying this is that in an ABE system, you don't have to choose between being altruistic and being selfish. The more you give, the more empowered you are, and so, the more selfish you are, the more altruistic you'll be. As a result, it isn't useful anymore to see things in terms of selfishness and altruism.
+
+In response to this, some may say, well then we won't get credit for being "truly" good. To them I would say, it's so much more important for our world to teach people to be better than for us to worry about who is "truly" good on their own. If our world lets selfish and parochial people become cruel and deluded and further the cause of hate and injustice, then we have failed them and each other. Even the worst among us has great capacity for good, and the wonder of ABE is that it could use them to do good, teach them to be good, a kind of "Aikido" that redirects their inclinations to align with (without being limited by) what everyone agrees is good. After all, if we teach moral lessons in the ivory towers of our churches, temples, mosques and synagogues, while also teaching by our actual practices and systems that selfishness and winning and being egotistical are good, then what results can we expect?
+
+Q: URL of the project?
+
+A:
+
+- The founding documents for the prototype economic system are at https://github.com/drym-org/foundation
+
+- The accounting system which you can use in your projects (contains setup instructions) is at https://github.com/drym-org/old-abe
+
+- The research on which this is based is at drym.org
+
+### Extended Q&A
+
+The rest of these questions will be categorized under "ABE Now" -- relating to the prototype and practical considerations for adoption today, and "ABE Future" -- which discusses more philosophical issues regarding the nature and goals of the system.
+
+#### ABE Now
+
+Q: How is this different from splitting donations to my project with my partners?
+
+A: In one respect it is dramatically different from that, and that is that *creators are not required to participate in this process*. Rather, it is a service provided to members of the community by members of the community. This shift may seem small on the surface, but it is precisely what lends this idea the power to solve the big problems I mentioned in the talk. There are two other differences, as ABE:
+
+1. Recognizes antecedents in both directions. It's not just sharing proceeds from your project with your buddies, but also sharing with creators whose works and ideas are reflected in yours. And likewise, it's others sharing proceeds from their projects with you.
+
+2. Encourages investment. It's easy enough to write a small project with your buddies, but when you have big dreams, you need big resources. If you are doing a startup in today's system, you divide "ownership" shares with your buddies and also with investors with deep pockets who can help you scale your project up to provide the maximum value. It's the same in ABE, except that anyone can be an investor simply by paying money to the project. This allows you to scale up your project by the support of ordinary mortals and not only "angels." It also means that every project will scale up to the right extent -- not too much and not too little -- because there are no incentives to wring value out of projects when there are more efficient ways to get the same amount of value -- there are no barriers to becoming an investor, after all. If your particular horse isn't winning, there is no cost, and indeed an incentive, to pick another horse rather than force your horse to win at any cost. Of course, in an ABE system, you don't own these horses, they aren't even competing, and there usually wouldn't even be a clear boundary between them!
+
+Q: How is this different from SourceCred and OpenQ? When there are technologies and services like these around, why do we need ABE?
+
+A: Systems like SourceCred are promising, and it's great that they're being developed. Technologies such as these will be indispensable to ABE's operations in the long term. At the same time, I want to strongly emphasize that technology is not the _basis_ of the new system. Instead, the basis of ABE is dialogue and agreement. This is a central idea because it means that anyone who has ever contributed value, and anyone who is contributing value today, and anyone who will contribute value in the future, can rest in the safety of collective attribution and be recognized and empowered -- people like you. Aside from sharing your work, there is nothing technological that you need to do (e.g. record your contribution on a blockchain, or be part of a software project that is using an attribution-oriented compensation scheme such as SourceCred, or have patents on your ideas, or anything else) in order to be eligible to be recognized for what you did, are doing, and will do.
+
+Q: What prevents bad actors from taking over?
+
+A: There are many possible kinds of bad actor.
+
+- Those who use your project and don't pay.
+
+For now, this is OK and expected. But as the system scales, becoming eligible to _receive_ attributive payments means consenting to participate in ABE wholesale. So the more valuable a project is, the greater is its incentive to participate.
+
+- Those who will make improvements and sell independently instead of contributing back.
+
+This person is operating under the assumption that they will be able to generate more money on their own than through others via well-established channels of attribution and use. This assumption is generally unlikely to hold.
+
+- Those who attempt to set standards that benefit themselves.
+
+Because standards are set in an anonymized way, such self-serving standards are only likely to prevail on small scales where participants cannot be truly anonymous. At larger scales, this "Dialectical Mirror" ensures that these incentives cancel out ensuring that fair standards win over selfish ones. Additionally, since DIA is applied globally -- that is, the standards agreed upon in special cases are generalized to the maximum extent possible -- self-serving incentives in special cases would be negated by standards decided in the general case. To put this all in simple terms, "desires that benefit only oneself don't scale, desires that benefit all do." I call this the "Good vs Evil" principle. It is a very interesting mathematical property of an ABE system.
+
+- Those who do not report payments.
+
+The ABE constitution requires that payments being reported is a collective responsibility -- both payers as well as payees can report it. Payers have an incentive to report it because it counts as an investment. Payees have an incentive to report it because being in non-conformance with the constitution can make the project ineligible to continue receiving attributive payments from the system.
+
+But in general, yes it is important to put safeguards in place to protect against identified risks, and no doubt, there is a lot of work to do on this front. If you can think of such risks, you can help by bringing them up and/or helping to implement the necessary safeguards. We're all in this together!
+
+Q: If in ABE some portion of payments to my project go to upstream projects, then isn't there less incentive for me to work on my project?
+
+A: Some portion of your revenues go upstream, but by the same token, some portion of revenues of downstream projects come to you. Determining the precise proportions of value is not an easy problem, and it will take time and experimentation to arrive at the "sweet spot" for simultaneously incentivizing future work while fairly recognizing past work.
+
+Q: I don't see a license on ABE projects. What gives?
+
+A: Whether you have a license or not, and whether your project is proprietary or not, it is in all cases eligible to be recognized by ABE (but note that if your code is not open source, then there is less value there to be recognized -- constituting an _incentive_ to release your code).
+
+By virtue of this, having a license on ABE projects would amount to introducing something distracting which has no bearing on the process. Additionally, as ABE endorses non-ownership, that essentially puts these projects in the public domain. Projects that are not owned don't need licenses. After all, who would be in a position to issue such a license if no one has special privileges to begin with?
+
+Q: OK, but why not use the Unlicense or Creative Commons?
+
+A: Licenses like the Unlicense, well intentioned though they are, don't really help because they offer a glimpse at an open and free world that they don't provide any means of attaining, leading to complacency on the part of the user. To be fair, we owe such licenses a debt of gratitude as they have helped us get to the point where people are more receptive to the idea of non-ownership. But such crutches hinder us now -- if a potential user sees the Unlicense and if this vision of a free world takes the place of the need for a real solution in their minds, then no one is better off for it. On the other hand, a declaration of non-ownership is, to paraphrase Leo Vivier, a thread of curiosity that you can follow to reveal more complete answers. Follow that thread, friends!
+
+Q: DIA sounds like an involved process. How can it be done efficiently enough to usefully keep up with the pace of contributions to a project?
+
+A: We use an idea that we call "Renormalization," which I'll explain soon. First, the system, at least at the initial stages, assumes that preferences in the system are consistent. If a person says they like A better than B and B better than C, we assume that they will like A better than C. By making this assumption, we can reduce the hard problem of appraising the value of a contribution to a project to the problem of simply appraising its value in relation to any other single aspect of the project that has already been appraised, and then "renormalizing" (i.e. ensuring the proportions total to 1, or a 100%) the attributed proportions to include the newly created value. For instance, it's hard to say how valuable a particular bug fix is to a project, but it's much easier to say how valuable it is in comparison to another bug fix that was already appraised. So, once there is a seed of appraised contributions, it becomes much easier to appraise new contributions. Periodically, the process of DIA would be conducted afresh to apply the standards more rigorously. This is analogous to a similar algorithm followed in the field of robotics, where a robot navigating a large room can have a rough idea of its position even if it is unable to see its surroundings, by maintaining an internal model of its own movements until visual data is available. Likewise, we can maintain useful appraisals of the value of pull requests even before we have had a chance to conduct the full process of DIA, which may be done at a much less frequent rate (e.g. monthly or quarterly) than the frequency of contributions.
+
+#### ABE Future
+
+Q: You said ABE solves appropriation. How does it do that?
+
+A: Appropriation is unfairly benefiting from someone else's contributions. It is an inevitable consequence of the power law distribution where more empowered members of society are in a position to disproportionately benefit from the contributions of others due to the "loudspeaker" that empowerment equips one with, leading to a kind of "double counting" in empowerment causing the rich to get richer in a general (not just financial) sense.
+
+The current solution to this problem is to impose constraints on the freedom of such empowered individuals and groups in order to prevent their profiting in this manner from the cultural creations of marginalized groups and individuals. Yet, while constraining the freedom of others is sometimes necessary, it is rarely desirable. Additionally, this solution isn't very effective, since it is only able to address visible acts of appropriation, and comes nowhere near addressing the full scale of the problem. In truth, by the time creations have been appropriated over timescales of years, decades, and centuries, the knowledge that they ever came from the marginalized group has long faded, and, indeed, such a claim would scarcely be believable since the creation would have a long association with the empowered group in the mainstream -- a mainstream which, after all, is disproportionately shaped by that group. In ABE, since attribution is the source of value and empowerment, and since this is done in an anonymized way that has strong fairness guarantees, greater empowerment does not enable one to unfairly benefit from creations. Indeed, it encourages mass dissemination of cultural creations since the originators will be empowered by virtue of such dissemination, allowing them to create _even more_ creations representative of their culture and traditions. In this way, it solves the problem of appropriation at every level of society, from contributions in a collaborative project to cultural creations at the scale of human society.
+
+Q: You said ABE solves war. How does it do that?
+
+A: War on the scale of nations is the same as fisticuffs on the scale of two blokes having a disagreement. It happens because of misaligned interests. The a priori "state of nature" of human interactions, and national interactions, is one where such misalignments may occur since these interests arise independently. Capitalism doesn't change the origin of such interests, and only pits them against one another on battlefield as a way for someone to get the prize. ABE invites us to reflect on those a priori interests and shows us that, if we all agree to "look in the dialectical mirror" before allowing these interests to interact in the world, we could modify these interests before the fact so that they align, by devising conventions, protocols, and standards that allow us to each get what we want. One such protocol is Dialectical Inheritance Attribution, which by virtue of a certain structural property (see "altruism"), allows us to place economic value on goods and services to the extent that they align with the common good. This removes the conditions for war in the great majority of cases. For the remainder, there may be other solutions to be found by looking in the dialectical mirror - it is full of illusion and wonder, and some say that all of our answers lie there for anyone who will peer far enough into its mists :)
+
+Q: You said ABE solves poverty. How does it do that?
+
+A: It may seem inconceivable that helping the poor could lead to financial rewards, but that's exactly what I'm saying an ABE system would do.
+
+Response: That is a naive and idealistic position. According to your own statements, empowerment in an ABE system would be representive of true value contributed. Then, by definition, the poor are those who contribute the least value to society. If they don't contribute value, then how does helping them contribute value?
+
+A: Even in the new system, although everything that is empowered would be good, not everything that is good would be empowered. People would be poor for many reasons. Sometimes it would be because they didn't contribute value, or because they caused problems for others. But other times, it would just be statistical accident, since the world isn't deterministic and things don't always go the way we expect. People may also be poor because we simply aren't able to discern the value in their contributions, though they may be valuable. After all, to use a timely example as it is Christmas time, many would say that Jesus contributed value to the world, and yet, he was poor, and it was a rudimentary system based on dialogue that saw him condemned to death. ABE cannot fully escape our capacity to make mistakes. But by recognizing helping the poor as a valuable activity, we allow such people to stand on their own feet and have a chance to create value in the future. No one would ever not be in a position to create value. Today, on the other hand, millions waste all of their time simply struggling to make ends meet, a neverending cycle that isn't conducive to creating value.
+
+Response: But wouldn't it be more valuable to create real value directly, instead of helping those who may be unlikely to create such value?
+
+A: Let me tell you about something I call the "Bhulbulaiyya Principle." The story goes that at one time in the past, the Indian town of Lucknow was struggling economically and there was widespread poverty. In response, its eccentric ruler decided to invent a project to engage the whole community -- the construction of a large maze (which is now called Bhul Bhulaiyya). The project, ostensibly a pointless one, created jobs for thousands and created downstream needs that created more jobs, so that the entire community came alive economically and all of their problems were solved.
+
+Another name for this same principle could be the "Military Industrial Complex Principle," because, indeed, wars -- even the most pointless wars without a political goal -- are often good for a nation's economy.
+
+So, when unambiguously "pointless" activities can be good for the economy in a capitalist system, it should not be so surprising that an activity like helping the poor, that is widely agreed upon as being good, would be good for the economy in an ABE system.
+
+Q: In that case, what prevents freeloaders from just living off of the support of others?
+
+A: Without even considering the structural inequities nor the dynamical tendencies (e.g. the cycles of addiction and crime) that are at play, an important factor in why people "freeload" today is that there are sharp discontinuities between being disenfranchised and being a self-sustaining and contributing member of society, resulting in a "chasm" that must be crossed by a force of will and fortune for the rehabilitation of those on the periphery of society. These discontinuities include (1) the finiteness of jobs, (2) the logistical and operational difficulties of managing the relationship of employment (on both sides), (3) the rigidity of the employment contract... among many other more subtle and deep-seated aspects. On the other hand, in an ABE system, if collective attribution of value created is the source of recognition in the form of money, employment is a superfluous concept as it is unnecessary to the process of value recognition and consequent payment. This significantly reduces the barriers to rehabilitation. Added to that, since the system also incentivizes working together, and is in principle able to recognize arbitrarily small contributions, the net result is the elimination of these discontinuities -- the "chasm" -- between being disenfranchised and being solvent.
+
+Another thing is that the support of others doesn't only take the form of fulfilling the immediate needs of such would-be freeloaders. Rather, the greatest incentive is to help them in such a way that it puts them in a position to create value. Additionally, there is also an incentive to innovate on the ways of accomplishing this, so that we might expect there would be an entire industry around helping disenfranchised individuals in the most effective way as agreed upon collectively. All of these derive their value from recognition and attribution rather than supply and demand, so that even though, just like in a capitalist system, such methods and practices would be governed by financial incentives, in an ABE system these incentives would be aligned with the common good, so that it is structurally robust against abuse.
+
+Q: Although you decry the Darwinian, winner-takes-all aspect of capitalism, it is a powerful incentive to innovate. If I don't have existential concerns in ABE, would I really be as intent on creating value? Are there sufficient incentives in ABE in comparison with capitalism?
+
+A: Even setting aside for a moment that causing non-economical harm as a side effect of creating value is nowhere accounted in capitalism, in practice, only a small proportion of people in a capitalist society are truly creating the most value that they might. Most are coopted into established revenue streams because the system enables, and incentivizes, appropriating the talents of others less empowered than you, so that in a mathematical sense, even a small advantage for any individual actor leads to a biasing of local value to the maximization of value from the perspective of that actor, i.e. making the rich richer. That is, the system inherently has a second order effect of the rich getting richer, regardless of who they are, and this isn't based on something they do but is a dynamical property of the system -- it is _because_ they are rich that they get richer.
+
+The net of it is that the incentives to innovate in capitalism are quickly smothered by locally self-serving incentives. To see evidence of this, look no further than the hundreds of promising startups that are acquired by larger companies and then simply shut down, essentially constituting a bribe to these founders to stop competing with the larger company, and instead to help the larger company with its existing programmes -- effectively defusing the very innovation that competition is supposed to spark.
+
+So capitalism, after all, isn't as good at innovation as we like to think. But what about ABE?
+
+In ABE, I would say that the incentive to innovate is stronger because you can rest assured that you will be fairly recognized the same way as anyone else, without having to jump through hoops to get startup capital or resources of any kind, or have special "connections" or a "network" or worry about who can be trusted and who might take advantage of you, since anyone can be an investor and a simple payment to a project makes you one. Thus there are incentives in place for others to invest in value you have to contribute, and therefore for others to discover what you have to say, if indeed what you have to say is valuable. It frees you up to do precisely what you love and precisely what you are good at and precisely what contributes the most value, without your having to worry about any of the logistics since there are incentives in place for those logistical details to be taken care of by all. _There will always be help_ at every stage, for any purpose, since it is all attributable.
+
+## Feedback
+
+- Thanks. Love your license.
+- cue up a marxist analysis, and then shut down the proletariat? :D
+- If I was being told that this man is one of Protesilaos' long lost siblings, I would believe it.
+
+[[!inline pages="internal(2022/info/maint-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/maint-nav)" raw="yes"]]
+
+[[!taglink CategoryCommunity]]
diff --git a/2022/talks/meetups.md b/2022/talks/meetups.md
new file mode 100644
index 00000000..8f7118a0
--- /dev/null
+++ b/2022/talks/meetups.md
@@ -0,0 +1,81 @@
+[[!sidebar content=""]]
+[[!meta title="Attending and organizing Emacs meetups"]]
+[[!meta copyright="Copyright &copy; 2022 Bhavin Gandhi"]]
+[[!inline pages="internal(2022/info/meetups-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Attending and organizing Emacs meetups
+Bhavin Gandhi (he/him, IRC: bhavin192,
+[@bhavin192@toots.dgplug.org](https://toots.dgplug.org/@bhavin192))
+
+[[!inline pages="internal(2022/info/meetups-before)" raw="yes"]]
+
+
+(You can select English or Spanish as the closed captions for this talk.)
+
+Events like EmacsConf are a great place to meet Emacs users around the
+world. You get to learn about new ideas, workflows, packages, and make
+new friends as well :) What if I tell you that you can meet fellow Emacs
+users more frequently, that too in your region/time zone? Yes, meetup
+groups!
+
+In this talk, I will help you explore Emacs meetup groups of your
+interest. And cover how to attend meetups, how to stay updated with all
+the Emacs related events, and more.
+
+Organizing a meetup and setting up a platform for others is even more
+fun! I will cover how to easily get started with organizing meetup
+events as well.
+
+Outline:
+
+- Why meetups?
+- How to find nearby groups?
+- Staying updated with events
+- Organizing meetups
+- My learnings from organizing meetup events
+
+## Links
+- [EmacsWiki: Usergroups](https://www.emacswiki.org/emacs/Usergroups)
+- [Emacs calendar](https://emacslife.com/calendar/)
+- Slides: [meetups.org: rendered on
+ GitLab](https://gitlab.com/bhavin192/talks/-/blob/master/2022/emacsconf-2022/meetups.org),
+ [meetups.org:
+ raw](https://gitlab.com/bhavin192/talks/-/raw/master/2022/emacsconf-2022/meetups.org)
+# Discussion
+
+## Notes
+
+- Anybody in NoVA (Viriginia area) interstesd in starting meetup?
+- EuGE is Latin for "ah-ha"
+ - pronounced "huge"
+- Thank you so much. Good talk.
+- Thank you for promoting and informing about meetups. I think I am gonna look for one.
+- yay, quiliro's spanish subs now display in https://emacsconf.org/2022/talks/meetups/
+- I have found that we needed at least 2 hours before any event and 2 hours after, besides the proparations. You said that it takes 1 hour to organize.
+- Also, bhavin192 - thanks for the shout-out for M-x Research. I'm the organiser :D
+
+## Questions and answers
+
+- Q:  Do you attend or organize a Emacs meetup?
+ - A:
+- Q:  Thoughts on physical meetups? 
+ - A:
+- Q: Any thoughts on hybrid meetups (physical wher most peopel are
+ plus stream it online)?
+ - A:
+- Q: bhavin192 - I'm interested! Should we start by having an irc/matrix channel to discuss?
+ - IRC or Matrix for all the organizers. Hmm, sounds good as well. How about reusing #emacsconf? It is pretty much free during rest of the year.
+- How do you automate?
+- What is ILUGC ?
+- could you share your slides? there were a few links and emails I couldn't get
+ - slides: https://gitlab.com/bhavin192/talks/-/blob/master/2022/emacsconf-2022/meetups.org
+
+[[!inline pages="internal(2022/info/meetups-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/meetups-nav)" raw="yes"]]
+
+[[!taglink CategoryCommunity]]
diff --git a/2022/talks/orgsuperlinks.md b/2022/talks/orgsuperlinks.md
new file mode 100644
index 00000000..ba94f71d
--- /dev/null
+++ b/2022/talks/orgsuperlinks.md
@@ -0,0 +1,196 @@
+[[!sidebar content=""]]
+[[!meta title="Linking headings with org-super-links (poor-man's Zettelkasten)"]]
+[[!meta copyright="Copyright &copy; 2022 Karl Voit"]]
+[[!inline pages="internal(2022/info/orgsuperlinks-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Linking headings (poor-man's Zettelkasten) and defining advanced task dependencies
+Karl Voit (he/him, IRC: publicvoit, <mailto:EmacsConf22@Karl-Voit.at>)
+
+[[!inline pages="internal(2022/info/orgsuperlinks-before)" raw="yes"]]
+
+As written in [this blog
+article](https://karl-voit.at/2020/06/14/Zettelkasten-concerns), Karl
+thinks that a full-blown Zettelkasten workflow is not always a perfect
+match for a given set of requirements.
+
+To him, the most important aspect of the Zettelkasten method are the
+**bi-directional links between arbitrary headings**. If you want to use
+such links without the additional burden and benefit of a
+Zettelkasten implementation, you might want to learn how
+bi-directional links are able to help you here.
+
+In this talk, you will see a demo how links are used in the author's
+setup for linking headings and **defining advanced dependencies between
+todo headings**.
+
+You can find [the **self-contained demo file** on
+Gitlab.com](https://gitlab.com/publicvoit/orgmode-link-demo). It
+consists of various packages and some Elisp glue to create these methods:
+
+- Bi-directional links between headings:
+ - [org-super-links](https://github.com/toshism/org-super-links) with `org-super-links-org-ql` and `org-super-links-org-rifle`
+ - `org-super-links-quick-insert-inline-link`
+ - `org-super-links-quick-insert-drawer-link`
+ - [org-linker](https://github.com/toshism/org-linker)
+
+- Advanced dependencies:
+ - [org-edna](https://www.nongnu.org/org-edna-el/)
+ - [org-linker-edna](https://github.com/toshism/org-linker-edna)
+
+- Search, completion and narrowing:
+ - [helm](https://emacs-helm.github.io/helm/)
+ - [helm-org](https://github.com/emacs-helm/helm-org)
+ - [org-ql](https://github.com/alphapapa/org-ql) with `helm-org-ql`
+
+- Adding CREATED properties for new headings: [org-expiry](https://git.sr.ht/~bzg/org-contrib/blob/master/lisp/org-expiry.el) (not necessary for any demo functionality)
+
+More on bi-directional links and Karl's Org mode projects:
+
+- [UOMF: Linking Headings With org-super-links (Poor-Man's Zettelkasten)](https://karl-voit.at/2020/07/22/org-super-links/)
+- [UOMF: On How to Define Projects in Org Mode](https://karl-voit.at/2019/11/03/org-projects/)
+- [A Draft Workflow for Advanced Project Management Using Org Mode and Org Edna](https://karl-voit.at/2020/08/14/project-mgt-draft/)
+- [Zettelkasten/Org-roam/Org-brain Is Crap](https://karl-voit.at/2020/06/14/Zettelkasten-concerns/)
+
+[More Emacs-related articles by Karl](https://karl-voit.at/tags/emacs/)
+
+# Discussion
+
+## Notes
+
+- Please note that Karl has written additional notes and links on
+ <https://emacsconf.org/2022/talks/orgsuperlinks/> + the linked blog
+ article <https://karl-voit.at/2020/07/22/org-super-links/>
+- Method vs. tool:
+ <https://karl-voit.at/2021/01/18/feature-vs-method/>
+- nice talk
+
+## Questions and answers
+
+- Q: so the LINKS drawers holds so-called "backlinks"?
+ - A: yes. You can customize the drawer name.
+- Q: does this configuration you use need packages outside elpa?
+ - A: yes. repository link:
+ <https://gitlab.com/publicvoit/orgmode-link-demo>
+- Q:Can you filter out blocked taskes on stuff like your agenda or a
+ specific agenda view, When you want to know what you can do next?
+ - A: Blocked tasks are never shown on the agenda by default.
+ Whenever there is no scheduled timestamp attached to a heading,
+ it's not visible on my agenda. If you use the dependencies as
+ described in the demo, the timestamp is only marked if the
+ previous one is canceled. So blocked tasks are not shown in this
+ setup.
+- Q:The functionality seems quite nice but the markup seems pretty
+ heavy in the property drawers.  Do you ever have any issues having
+ so much meta-level information in the file?
+ - A: As long as it doesn't need to be typed manually there's no
+ real issue. The orgmode files tend to be large. I haven't felt
+ it's bloated.
+- Q:Does this change how you use todo keywords "next, todo,
+ blocked?", avoiding some or starting to use others
+ - A: No. My keywords are NEXT, STARTED, WAITING, DONE, CANCELLED
+- Q:Org Brain has stuff like parent links and directional links,
+ sibling links. If org roam else has nothing else intersting what
+ about like the previous stuff?
+ - A: My links are not "directed" most of the time. So I don't
+ have the requirment for specific link types or directions. In
+ short: I don't need semantic links so far. Following the KISS
+ principle. I get the information from the context of the link.
+- Q: DO you find that the links are fragile, hard to maintain?
+ - A: not really. sometimes I rename links and the link name is not
+ updated, that require some fixes by hand
+- Q: PhD Thesis link
+ - A: <https://karl-voit.at/tagstore/en/papers.shtml> The first
+ chapters of my thesis should be easy to read for the general
+ public as I summarize the history of PIM (Personal Information
+ Management) research
+ - + related github projects around tagstore
+ <https://github.com/novoid/>
+ - tagstore <https://karl-voit.at/tagstore/> = research
+ prototype software in Python to do research around tagging
+ interfaces for local files
+ - flexible to adapt
+ - Topic: improving the local file management beyond the usual
+ hierarchy of directories (tagging + TagTrees)
+ - DONE AFTER my PhD:
+ <https://karl-voit.at/managing-digital-photographs/>
+ filetags, date2name, move2archive, ...
+- Q: why not org-id's UUIDs for IDs, and the preference for
+ human-readable ones (and not just use CUSTOM_ID for those)?
+ - Karl: I hate UUID because they're opaque, so I removed them.
+ - I don't understand. There is a part for human to read
+ description: [[UUID][A human readable description]]
+ - Karl: this would not add any benefit from my personal point
+ of view as longs as the human-readable ID is unique. So why
+ not get rid of the UUID and use the humand readable link
+ text?
+ - A human readble link is fragile, e.g. space, non acsii
+ characters. When unexpected things happen, it is hard to
+ detect the change. Using human-readable link text
+ release the stress, so the user could focus on the
+ content. 
+ - Karl: You should take a look at my Elisp function that
+ generates the ID strings. No problem so far.
+ <https://github.com/novoid/dot-emacs/blob/master/config.org>
+ - I found you write a blog about it:
+ <https://karl-voit.at/2019/11/16/UOMF-Linking-Headings/>
+ . I will read about it.
+ - I found `(defun
+ my-generate-sanitized-alnum-dash-string(str)`
+ in the
+ - way to generate your ID requires replace
+ non-ASCII characters: ;;
+ - Replace German Umlauts with 7-bit ASCII.
+ - ;; Replace German Umlauts with 7-bit ASCII.
+ - (str (replace-regexp-in-string "[Ä]" "Ae"
+ str t))
+ - (str (replace-regexp-in-string "[Ü]" "Ue"
+ str t))
+ - This is a very tedious work to do. I don't know
+ if users come from
+ - other non-ASCII characters would have to write
+ their own replacement
+ - regular expression.
+- Q. do you have/use anything for "what links here / to this
+ heading", in a more occur/grep-style buffer and auto.?
+ - A: not yet, I use org-occur in the buffer and get the result
+- Q: (totally tangential):  Do you navigate your files with the arrow
+ keys or with C-{pnbf}?  I saw arrows on your key-cast.
+ - It's more complicated than that:
+ <https://karl-voit.at/2021/05/23/advantage2-modifications/>
+ - In short: I'm using the arrow keys but they are not where
+ you'd assume they are. ;-)
+- Q: link to thesis please
+- Q: any way to do links by heading hierarchy?
+- Q: so the LINKS drawers holds so-called "backlinks"?
+ - A: yes. You can customize the drawer name.
+- does this configuration you use need packages outside elpa?
+ - A: my setup Elisp could be improved to great extend.
+ - A: <https://emacsconf.org/2022/talks/orgsuperlinks/>
+ - A: <https://gitlab.com/publicvoit/orgmode-link-demo>
+
+### Other discussions from IRC
+
+- Wow, this looks super organized
+- i have to admire embedding that much info into tasks (ie: blocked, next, etc), i never get that far. my headings are much more lightweight, i'd likely use a plain list if i could fold over the text below
+- Is there a specialized package for showing backlinks (org-mode) in a buffer, say based on IDs, in a normal occur buffer or even a grep/rg style thing?
+- i really like that both publicvoit's org-superlinks and hyperbole are both elisp and inside emacs, where org-roam is a hodgepodge of external tools (my impression)
+ - isn't sqlite the only external dependency for org-roam though?
+- Speaker: Actually, to create the demo fully self-contained was most of the effort with this demo. By far.
+- Fashion:
+ - *that* is a dapper looking fellow!
+ - Really loved the ending publicvoit
+ - haha the goodbye was epic
+ - I am way underdressed for this conference it appears
+ - oh! I backed up and see the shorts that publicvoit was wearing!
+ - A fashion leder if you will
+ - I was here for the fashion. Not dissapointed.
+
+[[!inline pages="internal(2022/info/orgsuperlinks-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/orgsuperlinks-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]] [[!taglink CategoryZettelkasten]]
diff --git a/2022/talks/orgvm.md b/2022/talks/orgvm.md
new file mode 100644
index 00000000..b4f3c72c
--- /dev/null
+++ b/2022/talks/orgvm.md
@@ -0,0 +1,45 @@
+[[!sidebar content=""]]
+[[!meta title="orgvm: a simple HTTP server for org"]]
+[[!meta copyright="Copyright &copy; 2022 Corwin Brust"]]
+[[!inline pages="internal(2022/info/orgvm-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# orgvm: a simple HTTP server for org
+Corwin Brust (he/him/any, IRC: corwin)
+
+[[!inline pages="internal(2022/info/orgvm-before)" raw="yes"]]
+
+OrgVM is, so far, a very simple nodejs wrapper, invoking Emacs in
+batch mode. I'll talk about how I use it to make project notes
+available on demand to my colleagues and how it works, especially the
+generation of elisp from javascript/JSON.
+
+
+# Discussion
+
+## Questions and answers
+
+- Q: Why not build upon Nic Ferrier's elnode web server written in
+ Elisp?  As Nic describes it: "Elnode is a non-blocking IO webserver
+ written entirely in EmacsLisp. It's like an EmacsLisp version of
+ node.js."  Your implementation will likely get much simpler if you
+ keep it all in Lisp.
+ - A: I chose to build with node.js because that was easy for me;
+ but an Emacs based version sounds awesome!
+- Q: Is this using org-info-js? 
+ - A: nope; I need to learn more about this - seems very exciting
+ and like it could influence this project
+- Q: Why did you make yet another web server?
+ - I read it was to make your org files portable.
+ - He's auto-generating .html files to match his org files in the background so that he can browse them via web browser right?
+- Q: How is that portable. You still need a web browser. Org files need the very basic..... cat
+- Q: Have you heard about https://codeberg.org/gopiandcode/emacs-viewer, by any chance?
+
+[[!inline pages="internal(2022/info/orgvm-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/orgvm-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]]
diff --git a/2022/talks/orgyear.md b/2022/talks/orgyear.md
new file mode 100644
index 00000000..010445a1
--- /dev/null
+++ b/2022/talks/orgyear.md
@@ -0,0 +1,129 @@
+[[!sidebar content=""]]
+[[!meta title="This Year in Org"]]
+[[!meta copyright="Copyright &copy; 2022 Timothy"]]
+[[!inline pages="internal(2022/info/orgyear-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# This Year in Org
+Timothy (he/him, IRC: tecosaur)
+
+[[!inline pages="internal(2022/info/orgyear-before)" raw="yes"]]
+
+You've all been avid readers of the (somewhat irregular) "This Month in
+Org", now you can be an avid listener of a special edition exclusive to
+EmacsConf: "This Year in Org", a quick rundown of major developments in
+Org over the past year, and perhaps a hint of some things lying around
+the corner.
+
+
+# Discussion
+
+## Questions and answers
+
+- Q: Not a question, but just a great thanks for "This month in org"
+ which helps us get awareness about the greatness of Org!
+ - A:Thanks :)
+- Q: Does the project need other kinds of support (infrastructre,
+ etc.) which can't be covered by donations to devs? (without
+ detriment to supporting devs!!)
+ - A: There isn't much in terms of ongoing costs (just hosting
+ <https://orgmode.org> really), but donations are great for
+ dignifying the work done, indicating the value it has to the
+ community, motivating developers, and also helping
+ justify/enable more time to be spent working on Org.
+- Q: What is the use of parsers in other languages? Is it to make org
+ available in other applications?
+ - A:Org is being used outside Emacs (e.g. Hugo, Logseq, rendering
+ on GitHub/GitLab/Gitea), and so it's worth trying to make sure
+ they treat the syntax in a consistent manner. Similarly, if
+ people build nice tools for Org outside Emacs, that's nice for
+ us :)
+ - Voit: Shameless plug:
+ <https://gitlab.com/publicvoit/orgdown/-/blob/master/README.org>
+ is also an idea to promote the syntax of Org mode in tools
+ outside of Emacs. After all, everybody is getting advantages
+ when Orgdown (syntax of Org mode; often named "org" but it's
+ frequently mixed up with the Elisp implementation) is a rather
+ popular syntax.
+- Q: citar package is a really pleasant addition with support for
+ org-style citations. What's your take?
+ - A: Citar is great, IMO
+- Q: How many hours a week do you spend contributing to org?
+ - A: It varies a lot. It's also a bit difficult to say, because
+ there have been a fair few patch sets which have been
+ "incubated" in my config before brining them to Org mode, and
+ so I need to detangle "time spent tinkering on Org in my
+ config" and "time spent working on patches for Org mode".
+ Some weeks it's ~0h, others it might be as much as ~30h. The
+ average might sit around ~5h, but that's just a wild guess.
+- Q: As a fan of emacs org-mode and Julia myself too, do you see any
+ possiblities/wishes/plans to somehow connect org and julia evenmore
+ (apart from ob-julia). Perhaps a julia parser of org-mode, or
+ something like that?  Just wanna personally thank you for all the
+ effort in org, emacs and julia you are putting throughout! I have
+ learned quite a bit about doom emacs config from your blogs too. I
+ feel like our setup/interest overlaps quite a bit, and its always
+ helpful too see your work out there. Thanks again, keep up the great
+ work!
+ - A: Wait a few slides 😉 (<https://github.com/tecosaur/Org.jl>)
+- Q: "Org", "Org-mode", "org-mode", "Org/Org-mode"? Which one
+ for the format/notation and which one for the software proper, and
+ then the whole thing (with org-contrib and third-party packages) vs
+ just the repo and major mode per se?
+ - A: "Org mode" for the project, "org-mode" for the major
+ mode, "Org" for the format
+- Q: How much time/week do you spend editing your doom config?
+ - A: Err, too much 😆 
+ - I feel that :D
+- Q:In your doom configs, you like using variables fonts and stuff,
+ basically a lot visuals everywhere. I feel that it makes everything
+ sluggish. Am I doing something wrong? Maybe there are less visible
+ tricks in your config?
+ - A: It doesn't make things slow enough that I care, basically.
+ Doom does some nice performance stuff, and I try to go for
+ deferred loading and look for text-properties over overlays for
+ performance in visual packages. As for varaible pitch fonts
+ look, that's handled by Harfbuzz not elisp AFAIK (and so
+ doesn't really affect performance).
+- Q: Do you use linux or mac system? What kinds if not a secret?Q
+ - Linux, OpenSUSE Tumbleweed specifically
+- Q: I wonder why the export to HTML has not been modernized. Any particular reason?
+ - A: It's going to take a whole lot of time an effort. I take that as being more flexible and better able to suit "modern HTML/CSS" usage. Incidentally, the HTML and Markdown backends are two things I'd like to have a look at next year (if I end up having the time).
+- Q: haven't looked at citation support at all yet, any great intro articles out there?
+ - I may be (am) biased, but try https://blog.tecosaur.com/tmio/2021-07-31-citations.html 🙂
+ - More discussion about citations:
+ - and I have found the citar package a really pleasant addition with support for org-style citations
+ - Citar is great, IMO
+ - Citar is indeed great. I have been meaning to switch to Citar from ivy-bibtex, but honestly I am just being lazy
+ - I am not sure as I haven't used ivy-bibtex. I am half-way migrating away from org-ref but will likely keep that around for a while longer (mostly for old links and its doi-utils import functions)
+ - I found citar really easy to set up and get started with. Very clear and clean entry points
+- Org mode outside of Emacs: https://gitlab.com/publicvoit/orgdown/-/blob/master/doc/Tool-Support.org
+ - A: Also https://orgmode.org/tools.html 🙂
+- your visuals have always been charachteristic, where did you learn that? in the sense that I can reasonably guess you made something when I see the result. I was also thinking about your config or the survey website, or are they inspired by that theme?
+ - A: I think that's just "themed Beamer metropolis". I do also naturally go to light themed content with a pale yellow-y background.
+- Q: "Org", "Org-mode", "org-mode", "Org/Org-mode"? Which one for the format/notation and which one for the software proper, and then the whole thing (with org-contrib and third-party packages) vs just the repo and major mode per se?
+ - A: "Org mode" for the project, "org-mode" for the major mode, "Org" for the format
+- Q: Thank you :) Any plans to use tree-sitter with org? How would it relate to org-element? But if I remember correctly org syntax can not be fully expressed as tree-sitter grammer... So maybe tree-sitter is not for org?
+ - i don't grasp the recent infatuation with external parsers.
+ - A: They're happening, and syntax divergence is bad. and if they are used to make neat things, it's nice if we can make use of them too
+
+## Other discussions from IRC
+
+- yeah org-modern ?
+- lots of progress on the syntax doc, i just checked it out on worg
+- engraved-faces is excellent.
+- Again, an excellent talk.
+- Both talks were great! Thanks
+- good pace, slides, and clearly delivered
+- "aspirational rather than descriptive" -- I will remember this for future use :D
+- thanks tecosaur for the very nice overview and reminder of all the recent changes in org!
+
+
+[[!inline pages="internal(2022/info/orgyear-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/orgyear-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/python.md b/2022/talks/python.md
new file mode 100644
index 00000000..21601833
--- /dev/null
+++ b/2022/talks/python.md
@@ -0,0 +1,69 @@
+[[!sidebar content=""]]
+[[!meta title="Short hyperlinks to Python docs"]]
+[[!meta copyright="Copyright &copy; 2022 Eduardo Ochs"]]
+[[!inline pages="internal(2022/info/python-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Short hyperlinks to Python docs
+Eduardo Ochs
+
+[[!inline pages="internal(2022/info/python-before)" raw="yes"]]
+
+If we have a local copy of the Python docs installed then it is easy
+to define the three hyperlink functions in the Python program below,
+
+ # (find-pydoc "tutorial/classes")
+ # (find-pydocw "tutorial/classes")
+ # (find-pydocr "tutorial/classes")
+ class MyVector:
+ def __init__(v, x, y):
+ v.x = x
+ v.y = y
+
+such that each one expands its argument in the right way, and the
+first one opens the local URL
+<file:///usr/share/doc/python3.9-doc/html/tutorial/classes.html> in
+the browser, the
+second one opens <https://docs.python.org/3/tutorial/classes.html>, and
+the third one opens the RST source of those HTML pages in Emacs: the
+file `/<rstsourcedir>/tutorial/classes.rst.txt`.
+
+The docs for Python are designed to be navigated in a browser. Suppose
+that we start on the page
+[classes.html](https://docs.python.org/3/tutorial/classes.html)
+above, follow a couple of
+hyperlinks, and then we find this other page that, ahem, is very
+interesting and important and we *need* to have hyperlinks to:
+
+<https://docs.python.org/3/reference/datamodel.html#object.__init__>
+
+The most obvious way to create elisp hyperlinks to that page is to
+copy its URL to Emacs, edit it by hand to produce a `(find-pydoc ...)`
+hyperlink, duplicate that hyperlink twice, and add a "`w`" and a "`r`"
+into the right places&#x2026; but this is not very practical.
+
+In this presentation I will show a practical way to handle that. It is
+a new module of eev &#x2013;
+[eev-rstdoc.el](http://angg.twu.net/eev-current/eev-rstdoc.el.html)
+&#x2013; that performs both the
+expansions needed by `find-pydoc{,w,r}` and the "shrinkings" that
+convert URLs and filenames to short hyperlinks. Eev-rstdoc.el comes
+with three "families" of hyperlinks, expansions, and shrinkings: one
+for Python docs, one for SymPy, and one for MatPlotLib. It is easy to
+add new families, and the parameters for expansion and shrinking in
+each family are easy to configure.
+
+For more info see [this
+page](http://angg.twu.net/emacsconf2022-py.html). For a translation of the Python tutorial
+to a format that has only executable examples and elisp hyperlinks,
+see [this](http://angg.twu.net/e/python.e.html#tut-numbers).
+
+
+[[!inline pages="internal(2022/info/python-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/python-nav)" raw="yes"]]
+
+[[!taglink CategoryPython]]
diff --git a/2022/talks/rde.md b/2022/talks/rde.md
new file mode 100644
index 00000000..62810ae7
--- /dev/null
+++ b/2022/talks/rde.md
@@ -0,0 +1,105 @@
+[[!meta title="rde Emacs introduction"]]
+[[!meta copyright="Copyright &copy; 2022 Andrew Tropin"]]
+[[!inline pages="internal(2022/info/rde-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# rde Emacs introduction
+Andrew Tropin (he/him, IRC: abcdw, <https://trop.in>)
+
+[[!inline pages="internal(2022/info/rde-before)" raw="yes"]]
+
+
+[rde Emacs](https://git.sr.ht/~abcdw/rde/tree/master/item/rde/features/emacs-xyz.scm)
+is a vanilla-flavored distribution of Emacs, which intergates well
+with your OS, WM and rest of the environment. It's built on top of
+[Guix Home](https://guix.gnu.org/en/blog/2022/keeping-ones-home-tidy/)
+project and allows to manage not only elisp packages and
+configurations, but other dependencies like operating system packages,
+user program configurations in a declarative and reproducible manner.
+
+You don't need to follow complicated installation instructions, apply
+workarounds and be afraid of updates: just do it, update rde, throw some
+custom elisp code, declare and customize features you need or want to
+try in a simple lisp (Scheme) file and you will get it. Don't like the
+result? Just rollback to previous generation and EVERYTHING will work
+as before. Once you make it to your liking, it will work forever*, even
+if you move to a new laptop/workstation.
+
+# Discussion
+
+## Notes
+
+- Thank you. Super cool that you started guix home. (:
+
+## Questions and answers
+
+- Q: Do you use this to have multiple configs running side by side for
+ live comparison?
+ - A: Yes, two separate configs. (more capture TBD)
+- Q: Are you using Guix System, or Guix on top of another distro?  If
+ System, any tips?  I tried Guix System, but found getting started
+ was very difficult due to lacking WiFi firmware and incomplete
+ documentation.
+ - A: Yes he uses Guix system and package manager. RE: WiFi: First
+ option is to buy a wifi adaptor that doesn't require
+ proprietary firmware.
+- Q: One of the issues I've had managing Emacs packages with Guix is
+ a conflict between the Guix package ethos (read-only) and the Emacs
+ package ethos (hackable in real-time). Any suggestions to resolve
+ this?
+ - A: There is an interactive/live workflow for editing emacs
+ configuration, which kinda similiar to usual, but you persist
+ your changes from time to time and rebuild the configuration to
+ apply those persisted changes for new emacs instances.
+- Q: What is next for rde?
+ - A: Short term plan is to prepare more documentation, getting
+ started guide, live CD to explore system. Also would like to
+ find maintainers to help. 
+- Q: Do you use emacs without this? If so, for what purposes, and how
+ does it feel compared to rde?
+ - A: No, I don't use emacs outside of RDE. There's a way to add
+ mostly anything in your emacs config into RDE.But doesn't use
+ it because it isn't reproducible. Can break between machines.
+- Q: Are there any plans to push things from rde to guix's main
+ channel?
+ - A: Would like to push some things upstream but can't always fit
+ patches 
+- Q: How difficult is it to add support for new Emacs packages to
+ Guix?  Have you found that's burdensome vs. package.el or other
+ in-Emacs package management approaches?
+ - A: Packaging elisp for guix isn't hard at all, in most cases
+ it's really easy. Sending patches is a little more involved,
+ but also not rocket science :)
+- Q: Do your reckon RDE is currently opinionated? Or is it a one size
+ fits all framework?
+ - A: It's vanilla-flavored and kinda opinionated at the same
+ time, but everyone free to use whatever parts/features fits
+ them, also they free to implement or use implemented by others
+ features, which can fit better for them than original rde's
+ features.
+- Q: How to get into RDE? Is there already documentation/getting
+ started guide?
+ - There is an example configuration and link to slightly sparse
+ manual at <https://git.sr.ht/~abcdw/rde>, you can ask question
+ #tropin at libera.chat.
+- Q: Can you mix RDE with custom emacs init file?
+ - Yes, you can, but it will add irreproducibility to your setup.
+
+Other discussions from IRC:
+
+- Easy reliable rollbacks is definitely one of the things I love about nix and guix
+- Yes! It is great to know that stuff is hard to mess up. This leads to more fun experimenting.
+
+[[!inline pages="internal(2022/info/rde-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/rde-nav)" raw="yes"]]
+
+# Related talks
+
+- [Building reproducible Emacs](/2020/talks/08/) - Andrew's previous talk at EmacsConf 2020
+[[!sidebar content=""]]
+
+[[!taglink CategoryConfiguration]]
diff --git a/2022/talks/realestate.md b/2022/talks/realestate.md
new file mode 100644
index 00000000..d3dbbdab
--- /dev/null
+++ b/2022/talks/realestate.md
@@ -0,0 +1,91 @@
+[[!sidebar content=""]]
+[[!meta title="Real estate and Org table formulas"]]
+[[!meta copyright="Copyright &copy; 2022 Daniel Gopar"]]
+[[!inline pages="internal(2022/info/realestate-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Real estate and Org table formulas
+Daniel Gopar (he/him, IRC: gopar, <mailto:gopardaniel@gmail.com>)
+
+[[!inline pages="internal(2022/info/realestate-before)" raw="yes"]]
+
+This will be a 20 minute presentation on how I use org mode tables (specifically formulas) on how I can quickly see if a deal is feasible or not.
+
+Topics will include:
+
+- Creating Table Formulas
+- Special Buffer Editing Formulas
+- Formatting output
+- Special Debugging just for formulas
+- Creating Custom Formulas
+- Automatically re-calculating rows/table
+- Finally Putting it all together to tell at a glance if a property is ideal or not
+
+Essentially bits and pieces from this section of the manual:
+<https://orgmode.org/manual/The-Spreadsheet.html>
+
+
+# Discussion
+
+## Notes
+
+- <https://orgmode.org/manual/The-Spreadsheet.html>
+- Really liking the idea of the talk so far, but I would suggest zooming in on the text more next time
+- Damn, org tables have so many more features than the ones I use already
+- tables in org are highly underused. all the functionality of spreadsheet calculators with the power of elisp at your fingertips!
+- this talk is awesome
+- and org-mode has plenty of hidden power...
+- and the power of Emacs Calc, to boot. Including handling units like kW, m, Pa, ...
+- +1 for the awesomeness
+- I've always been slightly apprehensive of going full spreadsheet with org tables but the features are very cool.
+- I actually learned a lot from this talk. Thanks @gopar.
+- great talk, thank you very much!
+- excellent presentation, thanks!
+- loved the presentation
+- just downloaded a .webm of the talk. looks great on my screen (1280x720)
+- Thanks for the Org mode Table tips
+- was a fun, straight forward how to. very useful.
+- I don't have any questions now, but I'm going to try to learn many things that you demonstrated!
+- I hadn't seen the formula debugger before. Very useful information.
+- org tables are so powerful
+- moving around cols + rows - is also way faster than what one can do in GUI spreadsheet apps
+- oh! great, thanks for sharing!
+
+## Questions and answers
+
+- Q:  Pretty neat-- Can you say how this is better than maintaining a
+ gui spreadsheet? 
+ - A: As all things in life, this is preference. org tables are
+ text only and for me this is easier than learning yet another
+ tool (google spreadsheets/MS excel/etc) but totally up to you
+ :)  Also, you can write your formulas in Elisp instead of
+ whatever crippled language you have to use in other
+ spreadsheets.+2 (move the logic to lisp to other package and
+ decouple/reuse it other documents, test it, etc.); Moving around
+ cols + rows - is also way faster than what one can do in GUI
+ spreadsheet apps
+- Q: Is there a way to share the constants between the tables?
+ - A: You can create a constants for the entire buffer, or save
+ them as variables :)
+- Q: Can you please provide the link to the org file?
+ - A: Currently the file is not hosted anywhere. I can put it in a
+ github repo in a bit :)
+- Q:Is there a way to link to a cell in another row in the same table?
+ or other tables?
+ - A:I think i remember reading that it is possible to do the first
+ part of your question. I don't think you can do the 2nd part
+ about linking cells from other tables. I'd recommend double
+ checking w/ the org docs since I can be misremembering things :)
+ - Update: Looks like it is possible ->
+ <https://orgmode.org/manual/References.html>
+- where is the org file for thase calculations?
+
+
+[[!inline pages="internal(2022/info/realestate-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/realestate-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]]
diff --git a/2022/talks/rms.md b/2022/talks/rms.md
new file mode 100644
index 00000000..a78c1d99
--- /dev/null
+++ b/2022/talks/rms.md
@@ -0,0 +1,433 @@
+[[!meta title="What I'd like to see in Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Richard M. Stallman"]]
+[[!inline pages="internal(2022/info/rms-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+# What I'd like to see in Emacs
+
+Richard M. Stallman
+
+[[!inline pages="internal(2022/info/rms-before)" raw="yes"]]
+
+We played [Richard Stallman's 2014 TEDx video: "Free Sofware, Free Society"](https://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society) for context before his talk for EmacsConf 2022. The 2014 TEDx video is 14 minutes long, and is licensed under the Creative Commons Attribution-No Derivative Works 3.0 license. - EmacsConf organizers
+
+# Discussion
+
+## Notes
+
+- <https://stallman.org/>
+- <https://stallmansupport.org/> (regarding reports of attacks against
+ him)
+- "Free Software": A similar point of view related to contributing
+ to gated web forums:
+ <https://karl-voit.at/2020/10/23/avoid-web-forums/>
+- "Everything other than an Lispy language would be wrong for GNU
+ Emacs" (paraphrased)
+- RMS wants an update to "An Introduction to Programming in Emacs
+ Lisp" to cover changes to Emacs such as lexical binding.
+- Names of packages should help you remember what this package does.
+ Omit pure word-plays. Stick to names that people will remember.
+- RMS wants to edit formatted documents within Emacs using WYSIWYG
+ (like with LibreOffice)
+- RMS wants to get back to the situation where browsers decided how a
+ web page is rendered. Less browser features that allow to control
+ the look by the web page providers.
+- RMS doesn't want to use packages that are not actually part of
+ Emacs (e.g., Magit). RMS is using VC and not git.
+- RMS: "Happy hacking"
+
+## Questions and answers
+
+- Q: Pragmatically, how are people that buy into these ideals, and
+ especially those that build the software, meant to live/thrive,
+ short of renouncing many of the luxuries of modern life, as many
+ have been struggling to reconcile both it appears. Wouldn't it be
+ smarter and more productive longer-term to solve that problem too?
+ - A: (answered on stream, will be copied later)
+- Q: I have been admiring your work for free software for many years
+ now. I am a bit concerned about what will happen to the GNU project
+ when you retire (not soon, I hope!!). Have you planned how to manage
+ the GNU project in the long run?
+ - A: (answering on stream, will be copied later)
+ - RMS: haven't found a way yet. We'll have to try again.
+- Q: In response to your aversion to JavaScript support in Emacs: In
+ the same way that to revolt against the nonfree spirit in software
+ development one has to develop software, and that to fight nonfree
+ compilers one has to write a free compiler - can you fairly consider
+ rejection of JavaScript as a tool conducive to improving the state
+ of free JavaScript? A server can send back any MIME type to execute
+ on your machine, JS was just the most convenient.
+ - A: The issue is different in kind. We already have free JS
+ support.  Free browsers contain it.  The issue is the programs
+ that are going to run. If JS would allow you to inspect the code
+ before runing it, it wouldn't be problematic. The problem is
+ that they end up in your browser and the user has no idea
+ what's happening.  Websites are mistreating users. The
+ important thing about it is the danger it creates. 
+- Q: With all the recent additions and optimizations to Emacs Lisp
+ (lexical scoping, native compilation etc.) would you deem Emacs Lisp
+ suitable for general purpose programming outside Emacs (i.e.
+ scripting, running web servers). If not, why?
+ - A: Nothing wrong with this in principle, but it would be a
+ distraction. I'd rather we didn't do it. If we had 1K
+ programmers ready to do this and every other thing, no problem.
+ We don't. There are many other platforms that can accommodate
+ programs. I'd rather use emacs to do its work and leaving other
+ languages to theirs. 
+- Q: Would a namespace system similar to Common Lisp packages but
+ without :USE work in Emacs? Modern CL implementations have package
+ local nicknames to create package local prefixes.
+ - A: Basically, yes, but it has issues. [rest will be copied from
+ stream later...] A naming convention would be much simpler to
+ get right.
+- Q: With Emacs 29 adding more (awesome) features into vanilla emacs,
+ how should we ensure vanilla emacs does not get bloated with many
+ similar features? (example : ido/icomplete, vc/magit)
+ - A:To some extent we can't, because users do things differently.
+ I have never used Magit because I didn't want to use anything
+ not part of Emacs. I was unable to get into contact with the
+ Magit developer regarding integration of it within Emacs. I do
+ not use git as my main vc system. I think when packages have
+ very different approaches about how to handle things (like vc
+ versus magit) their approaches are not redundant.
+- Q: What do you have in mind for more modular Emacs development?
+ - A: There is no specific feature, but a way of thinking about
+ modularity when you write each package because you'll find that
+ when interacting with other packages you'll identify hooks that
+ may be there or may be missing. You could add a fairly general
+ hook so that instead of a rigid connection to other parts of
+ emacs you could use a general purpose hook that could do a lot
+ of things including the thing you need it to do.
+- Q: Could you give a few examples of the medium-sized jobs necessary
+ for WYSIWYG-editor support in Emacs?
+ - A: I can't really, but I would appreciate it if people started
+ putting that together. If you look at LIbreOffice then you could
+ choose a subset of very important ones that will give everyone a
+ start. 
+- Q:Is there an up-do-date document where people can see what is and
+ isn't on the roadmap, and why? i.e. a live version of talks like
+ this or email threads on emacs-devel?
+ - A: Not that I'm aware of.
+ - etc/TODO
+- Q: Should GNU (or someone else) define a safe-subset of HTML/CSS/JS
+ to make web browsers simpler and safer (e.g. by preventing JS from
+ contacting servers)?
+ - A: This would be an interesting thing to explore, but I don't
+ know if it can be done. Browser profiling is facilitated by
+ javascript. So, there is a collection of benchmarks and results
+ are different. So it allows the browser to gain information
+ without employing cookies. 
+- Q: How can we ensure the continuity of an understanding of the more
+ arcane parts of the [Emacs] source code, and increase their
+ evolvability, notably with regards to display, single-threading
+ limitations, etc.?
+ - A:  Single threading is a very specific thing. The furthest that
+ I've bothered to think about it is to enable multiple LISP
+ programs to run in parallel. My machine doesn't allow me to run
+ multiple threads in a single program, so it never mattered to
+ me. Basically, dev of the displaycode without threads is more
+ feasible. However, changes in the buffer data structure would be
+ required and that will be the hard part. Representing a buffer
+ with a certain display needs to be worked out first. You have to
+ decide the data structure thinking about how display can handle
+ it efficiently. Think about that at that stage. The editing and
+ data structure is the part to figure out.
+- Q: Do you recommend reaching out in [high] schools for volunteers
+ instead of universities because they are more prone to value the
+ objectives of freedom?
+- Do you recommend reaching out in schools for volunteers for both
+ advocacy and for development instead of unversities because they are
+ more prone to value the objectives of freedom?
+ - A: Reaching out for what? To teach about freedom or to find more
+ developers? Can you elaborate? **Questioner**:  
+ - A: my entrypoint in school was LaTex. 
+- Q: There was an effort called guile-emacs a while back, and there
+ was some effort to get guile to be able to compile and run
+ emacs-lisp, you mentioned there were still some challenges related
+ to guile, what road blocks kept some of these other efforts from
+ being used with Emacs?
+ - A: We never finished the problem of reconciling guile-emacs data
+ types with Emacs Lisp data types (such as handling nil/#f/()
+ interoperation [and string/buffer handling]).
+- Q: Are there any problems or disadvantages using the GNU AGPL for
+ non-networked software like Emacs packages?
+ - A: I figured the community would be happier if the radical
+ change did not happen in the license itself. 
+- Q: Is there a list of Emacs issues which can be solved by
+ programmers with different levels? For example my level is A, I know
+ basic elisp and C. How can i help?
+ - A: I don't know of one. I tend to think that people who know
+ only a basic knowledge. Looking at bugs and thinking about how
+ they could debug them, you could alert the developers. In the
+ process you'll learn more about how programs are written and
+ how to understand them. 
+- Q: What do you use emacs for beyond editing? Nice song :-)
+ - A: I use it for reading and writing email; this is what I do
+ most of the day.  (**Sings**) 
+ - "I've been answering my email,
+ - all the god-damned day / .. / <transcriber lost the thread
+ about here [lyrics available at
+ <https://stallman.org/doggerel.html#IveBeenAnsweringMyEmail>]
+- Q:With features like org-mode and enriched-mode, it seems like Emacs
+ is getting closer to the goal of WSIWYG. Are there specific ways in
+ which you see these as falling short?
+- Q: Do you use Org/Org-mode, and if so to what extent?
+ - A: No. Originally, it was an outlining mode that I never tried
+ to use. The documentation was not easy for  nme to grasp because
+ I had no use for it. Then others developed other ways to use the
+ org syntax. I was not interested in using the org syntax. The
+ process was daunting. It was not easy to separate other modules
+ used with org mode. Org mode could become an advance-- not
+ saying that it isn't useful-- if extended to do it, we could
+ use a replacement for texinfo. Texinfo's syntax was arcane and
+ was based on TeX. It could become a better way to write GNU
+ manuals. Probably more people know that syntax and if it could
+ be extended then it could be a superior way to write the
+ manuals. But we need to be able to generate all of the outputs
+ that we can generate now. HTML, info files, info browsers like
+ the one inside emacs, and generating input to TeX. This is not a
+ gigantic job. It is two or three medium-sized jobs.  
+- Q:Emacs is used by a small population relative to the population
+ that could benefit from it.  Do you have any thoughts on how to
+ expand the user base more broadly even among software developers?
+ - A: No. Basically, the fact is that vscode has an advantage--
+ which comes from Microsoft, which is putting it together as a
+ part of evil proprietary software... Users don't understand
+ that issue. I wish I could come up with a way to show them
+ what's at stake and why.  The TEDX talk is the closest thing. 
+- Q: It's hard to pick up Emacs if you do not speak English, can
+ something be done to address that?
+ - A: What do you actually suggest? Manuals? Messages that Emacs
+ displays? Command names? The easiest thing would be to deal wiht
+ the messages. It's hard to adapt it to Emacs because there is
+ no fixed set of messages. It could be done. It's not a terribly
+ hard process. Maybe differrent command names or an alternative
+ to meta-x. If you typed this other thing, it would only complete
+ over the other names in the native language. Working out the
+ details would take a great deal of thought. Docstrings: you
+ could write another set of them and write a set of help
+ commands. 
+- Q: What was the thought process behind making emacs lisp dynamically
+ scoped when you first created it? What advantages did it provide
+ over the alternative?
+ - A: It was simple. I did know how to implement it to build a
+ simple and small Lisp interpreter and being small was crucial to
+ bootstrap it on the hardware of that time. Things have changed
+ though, these days Eight Megabytes And Constantly Swapping is an
+ obsolete statement
+- Q: In light of that critique of JavaScript not being about the
+ language per se but rather the "culture of blindly getting and
+ running packages/libraries", what's so different with what's
+ currently done by the vast majority of Emacs/Elisp users to just
+ install packages blindly?
+ - A: Well, they know they're installing a package and that makes
+ all the difference. People could post various versions of a
+ package that people can look at and identify which to use or
+ whether one of them has horrible bugs. With JS there is no way
+ to do this, and most of these programs are not free. You don't
+ know which programs are being installed on your browser. These
+ things don't happen with elisp packages -- at least not when
+ they're in reputable package archives. 
+- Q: Do you think the freedom e.g., we have in Emacs, becomes a hurdle
+ for some people to pursue more important things in the world? I used
+ to do a lot of Emacs programming, but I recently try to stay away
+ from tinkering on Emacs.
+ - A: There may be more important things for you to do, but when
+ you look at all of the other distractions in the world it seems
+ unfair to criticize emacs. Look at video games which achieve
+ nothing but distraction. If you tinker with emacs code there is
+ a chance for you to discover something more important than how
+ to win a video game.
+ - Reply to Anwser: Sorry about the question. I do not intend
+ to criticize Emacs. It is more like a reflection on this
+ issue. The easiblity of jumping from anywhere in Emacs to
+ the source code, to the add-on packages, to the rich
+ documentation, to previous notes I have, becomes a strong
+ pulling force for me to do more important things. I often
+ found myself stay late in nights, and unable to have a good
+ sleep. Emacs gives me tremendous amount of freedom, I
+ definitely apprecitate it. On the other hand, I hate to stay
+ in non-free software, so I elimintate every possibility to
+ interact with them. This seems to be more effective to get
+ work done, since I only do the most important things, let it
+ go, and never thinking about the software. Don't get me
+ wrong, I agree with your point of view that the most
+ important thing GNU Emacs gives to the world is the freedom.
+ I  will do my part. 
+- Q: Do you still intend to merge your patch to the "shorthands"
+ feature to the master branch?
+ - A: Yes, but some work on the docstrings is blocking it. s.el
+ references other s.el functions in its docstrings and we'll
+ want to alter the docstrings, too. A new docstring construct
+ could fix that. We've added a lot alrady, one more would be
+ fine.
+- Q: Question about software freedom: how does it apply to software
+ that are art/media experiences, like videogames? In your view, Is
+ the creator of a videogame obliged to release it under a free
+ license?
+ - A: 
+- Q: And how would technologies like webassembly fit in with the
+ javascript issues?
+ - A: They don't change much. If the licensing situation is
+ handled the same way as with regular JS using LibreJS-recognized
+ license notices and complies with its license [like, by
+ providing its sources], it would be fine.
+- Q: Have you seen Haketilo <https://haketilo.koszko.org/> It looks
+ kinda like librejs?
+ - A: Haketilo is design to allow people to get some of the benefit
+ of free software. Potentially it offers a solution to the
+ javascript problem, but it has a long way to go. If you want to
+ do this, please do so. 
+- Q: Is writing a free software replacement to Github Copilot with
+ proper license attribution a good idea? (like Mozilla Common Voice)
+ - A: Maybe but remember that copilot is not a program, it is a
+ service. It is a computation that someone else will do for you
+ when you ask. What are the practical problems with doing that?
+ Not sure. Of course the server operates by running programs, but
+ there is still a difference. People who use copilot don't get
+ any kind of copy of the program. They send it to the server. It
+ might be a good idea. 
+- Q: Do you have any suggestions for helping propective contributers
+ streamline the copyright assignment needed to contribute to Emacs
+ (and other FSF software projects)?  If working for a large
+ corporation, simply navigating the internal beaucracy to find the
+ correct person/people to talk to who even understands what you're
+ talking about without a "deer in the headlights look" can be very
+ difficult.  This problem of gaining copyright assignment seems to be
+ a signifcant problem and ultimately splits people into two different
+ classifications, those who can contribute directly to FSF projects
+ (willing and able) and those who can't (willing but unable).
+ - A: The copyright assignment does not take long. The important
+ thing is the employer disclaimer. If your job entails
+ programming, we want to make sure that your employer does not
+ say, "you've got no right to contribute that program" and the
+ project is shafted. We are working on some simplifications to
+ make it easier for companies to say yes to it, but fundamentally
+ we need them to say yes. 
+- Q: What do you think of Hyperbole or EEV instead of org mode, or
+ other things for the stuff that org mode does "second brain /
+ knowledge base", or GTD 'getting things done' etc... among other
+ things in Emacs or other Emacs packages
+ - A: Well, I don't know that much about either of them. I don't
+ know EEV. I know Hyperbole, but it was many years ago. So I
+ can't have an educated opinion. Someone could study this, and
+ there would be a lot to study. If these are fairly similar-- is
+ either actually part of emacs? A: [Both are free software. ] 
+ - A: We might want to compare them to determine which is the best
+ possible add to emacs, but since I don't have specifics, I
+ don't want to state a priority preference. I don't have one. 
+- Q: I thought it was a virtue to separate the content from the style
+ or appearance of information. Part of being free is also to view
+ information in the format that you want. Does your WYSIWYG idea
+ erode this virtue and lead to more thinking -- perhaps undue
+ thinking about style over substance?  {seems like more freedom for
+ authors and less freedom for readers} (No the question is more about
+ the experience of creation.)
+ - A: I don't know actually. I know that in LibreOffice you can
+ make named styles, and you can change styles... Is that enough?
+ I am hardly a power user. 
+- Q: Do you ever dabble in retro-computing, e.g. logging into
+ TOPS10/20 systems SDF, etc?  
+ - A: No, I decided it's a waste of time. It's tinkering that
+ would not develop anything of any importance or use. And I know
+ if I'm going to enjoy developing something... I could enjoy
+ developing anything... I decided not to distract my attention
+ from useful computing. 
+- Q: Do you know Gemini <https://gemini.circumlunar.space/> ? (a
+ network of very simplified Markdown-like text files without images
+ and third-party content transmitted via an open/public/free protocol
+ which is not http(s)) If so, what do you think of it? (I'm dreaming
+ of a Gemini-web with interlinked Org mode syntax files)
+ - A: I don't remember and have no opinion. The lack of images
+ will turn out to be a considerable drawback. The exclusion of
+ images would be a big loss. 
+- Q: What is your opinion on the current state of large machine
+ learning/AI models? Even if the model is released under a free
+ license, it cannot be modified in a meaningful way without access to
+ vast quantities of training data, which isn't free. Even if it's
+ available, using the data requires datacenter-levels of computing
+ resources out of the reach of most users.
+ - A: I don't think that's true. You can modify it. You don't
+ need the previously used training data. The trained neural
+ network can be treated as source code. What else could it be? 
+- Q: Are there plans to bring modal editing (eg. evil-mode, viper) to
+ emacs core and did your opinion on modal editing change over the
+ years?
+ - A: I don't have a wish for that. Now it's not somehow morally
+ anathema. It's not a non-free program. How to incorporate this
+ into existing Emacs without doing any violence to its code is
+ the question. 
+- Q: Can complexity induced by company-funded free/libre code become a
+ problem, when the company pulls out, leaving the code potentially
+ unmaintainable?
+ - A: It's a matter of community, the same applies for software
+ developed by single individuals. Over-complicated programs
+ suffer more.
+- Q:  Hi Richard, do you know about [GNU
+ TeXmacs](<https://texmacs.org>)? If so, why doesn't it fit your
+ idea of a way to write rich documents with emacs-like keyboard-based
+ interfaces? (referring to "something like layout capabilities of
+ TeX and the editing capabilities of Emacs).
+ - A: 
+- Comment: If you've heard about attacks that others have been making
+ on me I refer you to stallmansupport.org.
+ <https://stallmansupport.org/>
+
+Some comments from IRC:
+
+- wasamasa : I admire the commitment and integrity. I'm just taking a step back and thinking if this should be expected, or a more pragmatic but still uncompromising approach would be warranted in the bigger scheme.
+- emacs has so many great features and packages just in the latest years and my feeling is that they are very much inspired/cloned/reworked from the features that came out of sublime text/atom/vs code/other current popular editor
+ - That's what happens when you have the freedom to shape the tool as you want. Different people like different features and sometimes (pretty often actually) it just happens that they end up implementing features they liked in other tools they used before.
+- it's important to state non-goals like fullblown webbrowser, javascript etc. because they are not obvious to newcomers and would add a lot of bloat
+
+Some comments from YouTube:
+
+- One thing I learned for sure after watching this great talk is that
+ Emacs is open to have all modern features that newer software like VS
+ Code use as long as it doesn't deteriorate user's freedom and privacy.
+
+- Great talk! I appreciate the continued effort into all things GNU,
+ ensuring our freedom to use these computers however we may choose. I
+ will add that the bits about JavaScript and the explosion of
+ complexity in browsers all being based in companies' unjust demand to
+ directly dictate what is displayed on a users screen are very clearly
+ true, and opens my mind up about how a truly free world is something
+ we need to continue to fight for
+
+- The formatted text editing in WYSIWYG was something I did not think I
+ would hear from RMS.
+
+- Looking at around 12:50, maybe it would be nice to have a nice
+ Org-Mode template that did that which incorporated the correct header
+ adjustments that could output in PDF or DOC forms for sharing. I keep
+ a couple of headers around that I reuse, but tweaking them is
+ monumental. It would be nice to have a "stock" selection of headers
+ for specific tasks.
+
+- RMS is a wonderful human being. Without him we would live in a world
+ of proprietary closed source software.
+
+- I would like to have "grammar sensitive selection and navigation" ...
+ basically putting numbers at the "syntax terms" (like variable, method
+ body, argument etc) .... But I'm not good/efficient enough at
+ programming to do something by myself ... I think this would make a
+ massive difference for coders and a nice feature to set apart from
+ IDEs. But hey, a man can dream :D
+
+- I still would love to see GNU/Hurd completed in my lifetime
+
+- Emacs 30 support for interoperation between libreoffice suite confirmed?? PogChamp
+
+Reactions:
+- <https://news.ycombinator.com/item?id=33888981>
+- [Why do we hack?](http://curious.galthub.com/blog/2022-12-04/)
+- [RMS On What He Wants and Doesn’t Want in Emacs](https://irreal.org/blog/?p=11013)
+- <https://www.reddit.com/r/emacs/comments/zktblg/emacsconf_2022_what_id_like_to_see_in_emacs/>
+
+[[!inline pages="internal(2022/info/rms-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/rms-nav)" raw="yes"]]
+
+[[!taglink CATEGORY:]]
diff --git a/2022/talks/rolodex.md b/2022/talks/rolodex.md
new file mode 100644
index 00000000..2da2a11f
--- /dev/null
+++ b/2022/talks/rolodex.md
@@ -0,0 +1,298 @@
+[[!sidebar content=""]]
+[[!meta title="Build a Zettelkasten with the Hyperbole Rolodex"]]
+[[!meta copyright="Copyright &copy; 2022 Ramin Honary"]]
+[[!inline pages="internal(2022/info/rolodex-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+# Build a Zettelkasten with the Hyperbole Rolodex
+Ramin Honary ("Rah-mean" (hard-H) "Ho-na-ree", he/him.
+
+- Email: <mailto:ramin.honary@gmail.com>
+- Homepage: <https://tilde.town/~ramin_hal9001/>
+- Mastodon: <https://emacs.ch/@ramin_hal9001>
+- GitHub: <https://github.com/RaminHAL9001>
+
+[[!inline pages="internal(2022/info/rolodex-before)" raw="yes"]]
+
+
+"Zettelkasten" is a methodology for marshaling your knowledge,
+ideas, creativity, into a database of hyperlinked notes, each note
+representing a single quantity of knowledge. The method was first
+devised by a well-published social scientist named Niklas Luhmann.
+Though he constructed his database with actual slips of paper in a
+box with a notebook for indexing, naturally, modern software removes
+the manual labor from the process.
+
+In the world of Emacs packages, Org Mode is the most well-known
+package that provides the tools necessary for building a Zettelkasten,
+along with extensions such as "Org Roam" which add functionality that
+manage links between Org Mode documents. But Org Mode is not the only
+Emacs package to provide such tools.
+
+In this talk, I demonstrate how to use an oft-overlooked package
+called Hyperbole as an alternative to Org Roam for managing hyperlinks
+and building a Zettelkasten. In particular I use the Hyperbole
+"Rolodex" feature, called "HyRolo." It was originally designed for
+tracking your personal relations, but it can be used to build a
+Zettelkasten with almost no additional configuration or 3rd-party
+packages. HyRolo is a purely textual database, and does not require
+an external database software to index the notes. It also provides a
+very rich set of "actions" so that notes not only link to each other,
+but can also trigger Emacs to execute code as well.
+
+# Presentation outline:
+
+## Introduction
+
+ - Ramin Honary
+
+ - Software Engineer, App Developer (mostly Python and Haskell)
+
+ - Emacs user for about 4 years (since 2018)
+
+## Key Takeaway
+
+ - The Hyperbole hyperlink markup language lets you create links that
+ execute arbitrary Emacs commands.
+
+ - To link entries, create a hyperlink that executes a **HyRolo**
+ search.
+
+## Quick overview of the Zettelkasten methodology
+
+ - **Note:** most of what I say about the Zettelkasten method comes
+ from Sacha Fast of <https://zettelkasten.de>
+
+ - **Zettelkasten is:** a database of interconnected ideas
+
+## Tools I use in day-to-day writing
+
+ - **Hyperbole:** for hyperlinking, search, project management
+
+ - **Embark:** arranging text, copy and paste
+
+ - **Org-Mode:** for markup
+
+ - **Dired:** for working with sets of files
+
+ - **Consult, Vertico, Orderless, Marginalia:** interactive search
+
+ - **Magit:** Git revision control of my plain-text database
+
+## Quick overview of Hyperbole
+
+ - **Core functionality:** a markup language for hyperlinks
+
+ - Applications such as **HyRolo** and **Koutline** built on top of
+ this core functionality.
+
+ - **HyRolo** is the feature I use as my Zettelkasten.
+
+## Configuration of Hyperbole using `use-package`
+
+ ```emacs-lisp
+ (use-package hyperbole
+ :config
+ (setq hbmap:dir-user "~/.emacs.d/hyperb/")
+ (setq hyrolo-file-list '("~/.emacs.d/hyperb/ideas.org"))
+ (setq hyrolo-date-format "%Y-%m-%d %H:%M:%S"))
+ ```
+
+## The Hyperbole Menu-Driven User Interface
+
+ - Menus are a kind of modal user interface
+
+ - Enter menu with Hyperbole leader key `{C-h h ...}`
+
+ - Select menu items with key presses
+
+ - Works a little like `which-key`
+
+## Getting started with **HyRolo**: Create a *zettel*
+
+ - Add entry: `{C-h h r a}` "*hyperbole rolodex add*"
+ - Prompts you for a title for the entry
+ - The Zettelkasten file (e.g. ~idea.org~) is opened
+ - Write the body of the *zettel*, save the file.
+
+## Searching the *HyRolo* database
+
+ - Multiple search options: by **string**, by **regex**, by **word**.
+
+ - I use **string search** most often: `{C-h h r s}`
+
+ - String search provides logical `AND`, `OR`, `XOR`, `NOT`
+
+ - Executing a search opens the `*HyRolo*` buffer.
+
+ - Read-only mode buffer with useful single-key navigation.
+
+## Searching the **HyRolo** database
+
+ - **`{o}` as in "overview":** hides all but the headings
+
+ - **`{a}` as in "all":** shows all information under each heading
+
+ - **`{t}` as in "top":** shows top-level entries
+
+ - **`{n}` and `{p}`:** next/previous result
+
+ - **`{h}` and `{s}`:** hide/show a search result subheading
+
+ - **`{C-u r}` as in "regex":** prompts for a new string search
+
+ - **`{e}` or `{M-RET}` :** jump to that entry for editing, although
+ using this command inserts a new timestamp, I just use `{C-/}`
+ to undo insertion of the timestamp.
+
+## How is **HyRolo** a Zettelkasten?
+
+ - **Key take-away:** The Hyperbole hyperlink markup language lets
+ you execute *arbitrary Emacs commands.*
+
+ - To link Zettelkasten entries, create an hyperlinks that execute a
+ **HyRolo** search.
+
+## How to create an explicit link
+
+ 1. Highlight text to be linked
+
+ 2. `{C-h h e c}` to create a link
+
+ 3. Prompted for link text with highlighted region (press enter)
+
+ 4. Prompted for action: `hyrolo-fgrep`
+
+ 5. Prompted for search string: `hyperbole`
+
+## How "explicit buttons" encode actions
+
+ - A **separate file** from the HyRolo flat-file database.
+
+ - By default, called `.hypb`, exists in the same directory as the
+ HyRolo flat-file database.
+
+## Conclusion
+
+ 1. A Zettelkasten is database of ideas linked together
+
+ 2. The Hyperbole **HyRolo** can run search queries
+
+ 3. The Hyperbole markdown creates links that execute queries
+
+ 4. This results in a minimal but useful Zettelkasten.
+# Discussion
+
+## Notes
+
+- My blog: <https://tilde.town/~ramin_hal9001>
+
+## Questions and answers
+
+- Q: Why is the time-stamp not implemented as an Org mode PROPERTIES
+ entry? (e,g, :CREATED:)
+ - A: Hyperbole pre-dates Org-Mode, although the maintainers have
+ made efforts to make Hyperbole compatible with Org-Mode as much
+ as possible. You could ask Bob Weiner directly, but it could
+ just be for backward compatibility, trying to keep the
+ formatting for current Hyperbole users. You could raise that as
+ an issue, they may be willing to include a config option
+ allowing you to specify the time-stamp format.
+- Q: why Hyperbole/HyRolo over Org-Roam? (I don't use either, just
+ curious)
+ - A: HyRolo and Hyperbole require no other software beyond code
+ builtin to Emacs.  For example, when I first built Org-Roam, it
+ did not work properly for me and I had to modify the build
+ process to get it set up.  With Hyperbole, you install one
+ package and you can start working.
+ - A: ^this, and I find it to be a lighter-weight solution. I was
+ able to get it working without depending on SQLite or doing any
+ indexing. Hyperbole is also a more general solution that can be
+ applied to a wider range of use cases than just Zettelkasten.
+- Q: How does this scale to very large data bases?
+ - A: It works very well with fairly large personal databases.  No
+ one has ever complained about performance.  Generally, people
+ are surprised how fast it is given that there is no separate
+ indexing in the background.
+ - A: I personally do not have a large database so I don't know
+ for sure. But it is basically as efficient as Grep is, and I
+ have used Grep on multiple-gigabyte files without noticing it
+ being too slow. Modern computers are fast enough that indexing
+ isn't required for reasonable performance on smaller databases.
+- Q: The demo displayed how to search occurances of certain keywords
+ in a giant single-document text database. But what about other open
+ (or not open) Emacs buffers? Think of IRC chars, emails, etc.
+ - A: Set the hyrolo-file-list variaable to include any directory
+ of files you want to search.
+ - I mostly referred to non-file buffers.
+ - Searching through (for example) an IRC buffer is a
+ different command than searching through a directory of
+ files, and this makes sense for the "Rolodex" use
+ case, since typically your database will be a file, and
+ not an in-memory buffer. But you can create a hyperlink
+ button that triggers an ordinary "isearch"-like
+ command the same way you would execute other Emacs
+ commands.
+- Q: if I may ask, why Hyperbole/HyRolo over Org-Roam? (I don't use either, just curious)
+ - rswgnu: HyRolo and Hyperbole require no other software beyond code builtin to Emacs. For example, when I first built Org-Roam, it did not work properly for me and I had to modify the build process to get it set up. With Hyperbole, you install one package and you can start working.
+ - A: @lounge-060 I found Hyperbole to be a more light-weight option over Org-Roam.
+- Q: did i misunderstand, that each time he's hitting a button he's going to a temporary buffer which is a search result?
+ - A: yes, the button executes a search, so the cursor jumps to the search result buffer, but you can jump to other links within the same search result buffer.
+ - interesting, but i asked if a link can go directly to the source file, not a search buffer. i'm thinking like org's follow link, which isn't always accurate as i'd like.
+ - A: yes, you could do that. the Hyperbole link syntax does not have to execute a search, you can link directly to a file.
+- Q: can the hyperlink goto the ORG file buffer at a specific location?
+- Q: Thanks for the links. Can you recommend resources for incremental peg too?
+- Q: wonder how that compares to plain org-mode, with links and in particular "elisp" links to built-in org-agenda functions, or org-ql (any of alphapapa's packages really)?
+ - One relevant distinction is that Hyperbole provides "alternative" action for a link. You may not just follow it, but do other things. Org mode does not have that
+ - custom link types are quite extensible though, and with the "elisp" type it's possible to call into many things without such customization. I'll have to try Hyperbole though.
+ - hyperbole looks like it can use code, has some assumption of data types, etc
+ - A: Yeah, hyperbole is a very general solution for establishing connections between various pieces of information. Hyperbole is a global minor mode so it works everywhere.
+- Q: Why do you have only one file?
+ - A: it is just easier for me to keep all the realted information in a single file. I could split it into several files in a directory, but I don't see any benefit to doing that. You can point the search function to the directory, and it will search all of the files there.
+ - i honestly find the idea of tons of little files to be a problem. why not have many headings in a file by primary category
+ - HyRolo does use single files for its databases. Ramin is just migrating from keeping a separate Org file per note.
+- Q: One thing that stopped me from using Hyperbole is that is does not load for me :( Reporting bug is still in my todo list
+ - A: curious. If you load, can you run M-x action-key and get it to work? If so, it probably works but is blocked by your key bindings.
+- another obvious issue I faced is M-RET is already used by Org extensively
+ - I had to compromise on marks by setting leader keybinding C-SPC C-SPC to hyperbole action instead
+ - Q: rswgnu perhaps already asked before, but M-RET (default hyperbole action key) conflicts with org-mode use. For now I've resorted to using C-SPC C-SPC (with leader package) but is there another better alternative generally preferred? Perhaps one that does not conflict with a major feature like marks?
+- Q: what would you recommend with emphasis on "beginner level" when starting with org-mode and planning to create the "2nd brain" approach: org-roam or hyberbole?
+- Q: if you have a blog somewhere, I'll be very interested to read more. Your style of explaining and demo-ing things is quite nice
+ - A: My blog is https://tilde.town/~ramin_hal9001
+- Q: what advantage do you see in using hyperbole?
+ - A: The big advantage for me is the "explicit links" feature, it lets me create a database of links that work universally. For example, you can change the link in the flat file database, and it updates in all of your files. If you and I shared a Hyperbole link file, I could write a link `<(like this)>` right here in the chat buffer and you could use it from within the Emacs chat client ERC.
+
+## Other discussions from IRC
+
+- Feedback
+ - I like this method of the talk slides being kinda transparent so you can see the speaker behind them.
+ - This looks very interesting tbf
+ - Its cool to see how many different note taking packages there are in Emacs
+ - Very nice talk-- and very understandable for me as a beginner who had never heard of hyperbole and did not understand the use-case. I also have not heard or read of a Zettelkasten, so this was even more useful.
+ - This talk has already given enough ideas on making some stuff dynamic
+ - There is a very good chance I'll keep coming back to this talk and its transcript over the next year, just to see how I can improve my presonal workflow more by integrating Hyperbole. Right now, I just use hyperbole to more conveniently (and more importantly, with same keybinding everywhere) open links across Emacs.
+ - Great talk Rami
+n, thank you!
+- Hyperbole
+ - Nice-- I needed this talk yesterday having not been familiar with hyperbole and use cases.
+ - i've been waiting to see a hyperbole use case, so i'm watching =]
+ - (Hopefully I can finally grok what this Hyperbole thing is about and how it contrasts with Org/Org-mode and such)
+ - sounds very vanilla...which I like
+ - Hyperbole sounds like something I definitely should get into, but I havent looked into it
+ - finally something that helped me grok hyperbole ;]
+ - Seeing an application thereof, as opposed to an exposition of its capabilities in the abstract (though quite interesting too, thanks rswgnu!), has given me a slightly better understanding, thanks!
+ - hyperbole has been something i've struggled to understand from the docs and examples. i think i've finally started to get that it's a text hyperlink with potential code embedded.
+ - ty for the explaination, like i said, this has helped me refine my impression of hyperbole further.
+ - I'm quite looking forward to more integration between org and hyperbole
+ - Thanks ramin_hal9001, I'm further on my way to enlightenment about Hyperbole that I was that's for sure!
+ - Watching Hyperbole videos like this, not understanding it completely: to me, Hyperbole doesn't have much advantage if you're happy with (bi-directional) Org mode links (as demoed in 15min). However, I do think that Hyperbole does have many advantages when you're starting to embrace the idea of "dynamic links" of all sorts. So far, I did not get creative enough to start with Hyperbole for that
+ - rswgnu : If I may ask, I keep looking for either uses cases or capabilities that Hyperbole could bring to bear beyond what I'm doing with Org/Org-mode (taking in account that its has custom link types and elisp links and such), are there some that would come to mind? I've watched most videos and skimmed the documentation a few times, but I'm still not reaching the aha moment, yet, but I feel one use case could change that.
+ - It could be interesting to use Hyperbole to auto-detect various links in Emails by matching common text patterns
+
+[[!inline pages="internal(2022/info/rolodex-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/rolodex-nav)" raw="yes"]]
+
+[[!taglink CategoryHyperbole]] [[!taglink CategoryZettelkasten]]
diff --git a/2022/talks/sat-close.md b/2022/talks/sat-close.md
new file mode 100644
index 00000000..e1e097b9
--- /dev/null
+++ b/2022/talks/sat-close.md
@@ -0,0 +1,50 @@
+[[!sidebar content=""]]
+[[!meta title="Saturday closing remarks"]]
+[[!meta copyright="Copyright &copy; 2022 EmacsConf organizers"]]
+[[!inline pages="internal(2022/info/sat-close-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Saturday closing remarks
+
+
+[[!inline pages="internal(2022/info/sat-close-before)" raw="yes"]]
+
+
+- Wheeeee! We made it to the end of the first day! Thank you so much
+ for joining us for the first day of EmacsConf 2022.
+- Pre-recorded talks are up on the talk pages and at
+ <https://media.emacsconf.org/2022>
+- We'll work on extracting the Q&As from the recordings in the weeks
+ to come. If you'd like updates, please subscribe to the
+ emacsconf-discuss mailing list.
+- Thanks
+ - Thank you to all the speakers, volunteers, and participants.
+ - This year's conference hosts are zaeph and bandali and our
+ streamer sachac
+ - Thanks to our captioning volunteers: sachac, bhavin192, Tom
+ Purl, Hannah Miller, triko, and anush, and also to the speakers
+ who captioned their own talks. Thanks to quiliro for translating
+ the meetups talk into Spanish subtitles, which you can find on
+ the talk page. 
+ - Thanks to Akshay Gaikwad for design contributions.
+ - Thanks also to other volunteers: corwin, vetrivln, dto, jman,
+ FlowyCoder who worked on all the other things that are needed to
+ make this happen.
+ - shoshin whose music you will hear tomorrow
+
+# Discussion
+
+- Q: we will gush tomorrow ...  so many good talks today, and so well
+ organized!
+ - A: Yay all those wonderful speakers! And there'll be even more
+ tomorrow, so tune in!
+
+
+[[!inline pages="internal(2022/info/sat-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/sat-close-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/sat-open.md b/2022/talks/sat-open.md
new file mode 100644
index 00000000..11cb6e54
--- /dev/null
+++ b/2022/talks/sat-open.md
@@ -0,0 +1,22 @@
+[[!sidebar content=""]]
+[[!meta title="Saturday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2022 ${speakers}"]]
+[[!inline pages="internal(2022/info/sat-open-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Saturday opening remarks
+
+
+[[!inline pages="internal(2022/info/sat-open-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2022/info/sat-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/sat-open-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/schedule-2022-12-03.svg b/2022/talks/schedule-2022-12-03.svg
new file mode 100644
index 00000000..c3a9d317
--- /dev/null
+++ b/2022/talks/schedule-2022-12-03.svg
@@ -0,0 +1 @@
+<svg width="800" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="800" height="200" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sat</text> <a href="2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <rect x="8" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(39,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="2022/talks/school" title="Back to school with Emacs"> <rect x="75" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(106,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <rect x="125" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(139,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <rect x="191" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(222,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="2022/talks/meetups" title="Attending and organizing Emacs meetups"> <rect x="400" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(414,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="2022/talks/buddy" title="The Emacs Buddy initiative"> <rect x="450" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(464,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <rect x="483" y="15" opacity="0.8" width="50" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(531,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="2022/talks/realestate" title="Real estate and Org table formulas"> <rect x="583" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(614,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <rect x="633" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(664,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <rect x="700" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(714,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <rect x="750" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(764,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="2022/talks/localizing" title="Pre-localizing Emacs"> <rect x="100" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(131,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <rect x="175" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(189,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <rect x="208" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(239,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <rect x="400" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(431,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <rect x="475" y="100" opacity="0.8" width="50" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(523,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <rect x="583" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(614,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="2022/talks/eev" title="Bidirectional links with eev"> <rect x="658" y="100" opacity="0.8" width="8" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(664,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="2022/talks/python" title="Short hyperlinks to Python docs"> <rect x="683" y="100" opacity="0.8" width="8" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(689,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="2022/talks/haskell" title="Haskell code exploration with Emacs"> <rect x="708" y="100" opacity="0.8" width="50" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(756,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(100,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(200,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(400,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(500,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(600,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(700,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 4</text></g></svg> \ No newline at end of file
diff --git a/2022/talks/schedule-2022-12-04.svg b/2022/talks/schedule-2022-12-04.svg
new file mode 100644
index 00000000..c0e8b517
--- /dev/null
+++ b/2022/talks/schedule-2022-12-04.svg
@@ -0,0 +1 @@
+<svg width="800" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="800" height="200" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sun</text> <a href="2022/talks/survey" title="Results of the 2022 Emacs Survey"> <rect x="8" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(39,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="2022/talks/orgyear" title="This Year in Org"> <rect x="58" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(72,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <rect x="100" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(131,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="2022/talks/links" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <rect x="166" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(180,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> links</text></g></a> <a href="2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <rect x="216" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(230,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <rect x="400" y="15" opacity="0.8" width="50" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(448,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="2022/talks/workflows" title="Org workflows for developers"> <rect x="483" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(514,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <rect x="550" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(581,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <rect x="633" y="15" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(664,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <rect x="700" y="15" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(714,98)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="2022/talks/rde" title="rde Emacs introduction"> <rect x="100" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(131,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="2022/talks/justl" title="justl: Driving recipes within Emacs"> <rect x="175" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(189,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <rect x="208" y="100" opacity="0.8" width="50" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(256,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="2022/talks/detached" title="Getting detached from Emacs"> <rect x="400" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(414,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <rect x="458" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(472,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="2022/talks/async" title="Emacs was async before async was cool"> <rect x="516" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(547,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="2022/talks/wayland" title="Emacs should become a Wayland compositor"> <rect x="608" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(622,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <rect x="666" y="100" opacity="0.8" width="16" height="84" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(680,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="2022/talks/dbus" title="The Wheels on D-Bus"> <rect x="725" y="100" opacity="0.8" width="33" height="84" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(756,183)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(100,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(200,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(400,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(500,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(600,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(700,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="darkgray" x="0" y="183" font-size="10" text-anchor="middle"> 4</text></g></svg> \ No newline at end of file
diff --git a/2022/talks/school.md b/2022/talks/school.md
new file mode 100644
index 00000000..eaf34d95
--- /dev/null
+++ b/2022/talks/school.md
@@ -0,0 +1,102 @@
+[[!sidebar content=""]]
+[[!meta title="Back to school with Emacs"]]
+[[!meta copyright="Copyright &copy; 2022 Daniel Rösel"]]
+[[!inline pages="internal(2022/info/school-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+# Back to school with Emacs
+Daniel Rösel (ˈrøːzl̩, IRC: velocitatem, <mailto:daniel@alves.world>, <https://daniel.alves.world>)
+
+[[!inline pages="internal(2022/info/school-before)" raw="yes"]]
+
+This talk is aimed at those who would be interested in using Emacs for
+school purposes. What it will present the listeners with is a
+collection of tips and trick on how to be more efficient when taking
+notes and organizing student life. Methods should apply to a target
+audience studying at a university or high school.
+
+Outline:
+
+- **Part 1:** 5 - 10 min
+ - Present benefits of using Emacs over other software/hand-writing
+ - Present packages which support the mentioned benefits
+ - Packages used
+ - Usage and application of each package
+ - The ecosystem as a whole
+- **Part 2:** ~5 min
+ - Demonstrate the work-flow
+ - Show applications in various regions of academics
+ - External input from other users
+
+# Resources
+
+<https://gitlab.com/velocitatem/lectorg>
+# Discussion
+
+## Notes
+
+- ReOrg <https://github.com/velocitatem/reorg>
+- LectOrg <https://gitlab.com/velocitatem/lectorg>
+
+## Questions and answers
+
+- Q:regarding exporting notes from remarkable does this system works
+ with any tablet? Would love to use it with a boox max etc.
+ - A: Unfortunately, it does not (directly). The current software I
+ use makes use of OneDrive so in theory it could be integrated
+ with others.
+- Q: quiliro: is there a demo for lector?
+ - A: quiliro See <https://gitlab.com/velocitatem/lectorg>
+- Q: <quiliro> velocitatem: are you opening the pdf inside emacs?
+ - A: The PDF was being open in firefox.
+- Q:Have you tried org-noter for taking notes on pdfs?
+ - A:I have not, will make sure to check it out tho!
+- Q: How does lectorg diverge from using something like YASnippets for
+ the math insertations, etc. 
+ - A: It uses YASnippets to inser the math functions, the main idea
+ is to provide those snippets and to use them with lectorg's
+ functions to plot graphs.
+- Q: Can your notes interact with the vidoes at all? ex timestamps or
+ inserted subs, external player "mpv"
+ - A: As of now, they cannot, but that is a wonderful idea!
+- Q:  do you find that you can type fast enough / keep up with live
+ lectures using Lectorg?
+ - A: Not 100% but the package makes it easier for me to deal with
+ other things while taking notes
+-  <korkeala> velocitatem : thanks for the talk! you mentioned
+ integration with remarkable notes, could that be with other hand
+ writing software, like xjournalpp?
+ - A: I am really not certain, but im sure it could be. Since
+ reMarkable has a very proprietary cloud, the integration is a
+ bit of a hack.
+- Q: Is there a way of making latex rendering go in the background?
+ Also to lower its 
+ - A: 
+- Q: did you open that firefox from inside EXWM or is it a separate frame?
+ - Its bspwm
+- Q: "With lectorg you can easily capture the every detail without your attention wavering a single bit." What makes Lecter not waver your attention?
+ - Not 100% but the package makes it easier for me to deal with other things while taking notes
+ - It makes some actions more automated and quicker
+ - You can see some of the functions and snippets improving my speed when opening certain files or creating markup for my notes
+- how does the remarkable import works? can it be used with other tablets?
+ - Speaker: I am really not sure, but im sure it could be. Since reMarkable has a very proprietary cloud, the integration is a bit of a hack
+- how does the function graphing work?
+ - Insert new latex function with graph using `lectorg/insert-new-function`
+ - Generate graph for existing latex function with `lectorg/generate-graph-for-function`
+- I do read using nov.el and I use bookmarks. Is there a way to link the ePUB to your org documents?
+- how long have you been using Emacs? Did you find that you could take notes productively right away or did it take you a while before you reached the point where you could follow e.g. a lecture sufficiently quickly?
+ - Iv been using Emacs for about a year now. It definitely took me a while to become more productive
+- nov.el adds nov: link type
+- How you considered using something like https://mathpix.com/blog/image-to-latex-converter to speed up your workflow entering Maths equations, I wonder if an streamlined integration exists for that in Emacs already 🤔
+- I also have a remarkable, and would love to learn more about how other people integrate their hand-drawn notes into their org-mode notes :)
+- thanks velocitatem! I am considering whether to recommend it to my students; I have been using Emacs a long time and it is easy to forget how long it took to get into it ;)
+- yeah, same. Both handwritten notes and Treesitter are super interesting to me :)
+
+
+[[!inline pages="internal(2022/info/school-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/school-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/science.md b/2022/talks/science.md
new file mode 100644
index 00000000..b3fc4be9
--- /dev/null
+++ b/2022/talks/science.md
@@ -0,0 +1,167 @@
+[[!sidebar content=""]]
+[[!meta title="Writing and organizing literature notes for scientific writing"]]
+[[!meta copyright="Copyright &copy; 2022 Vidianos"]]
+[[!inline pages="internal(2022/info/science-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Writing and organizing literature notes for scientific writing
+Vidianos Giannitsis (<mailto:vidianosgiannitsis@gmail.com>)
+
+[[!inline pages="internal(2022/info/science-before)" raw="yes"]]
+
+Literature notes are a cornerstone of one's zettelkasten. Especially for scientific writing which needs to be based on bibliography, having notes on the literature you read is essential. Inspired by a chapter of "How to Take Smart Notes" by Sonke Ahrens - one of the best Zettelkasten books out there - which talks about the process of writing a scientific article, I crafted a heavily personalized workflow for writing and organizing my literature notes, which I wanted to present to you. Due to university, I have worked on assignments meant to simulate scientific articles and through them I refined this workflow to what it is today, which I am very happy with. I even wrote my own package for addressing part of this workflow, which will be a pivotal part of the talk. I have tried to not overcomplicate the talk, but a familiarity to zettelkasten and scientific writing is expected to get the most out of the talk.
+
+This talk will focus on how Emacs has aided me in scientific writing and will cover how I use various packages for this. Featured will be: Org-noter, one of my favourite emacs packages which I use to annotate articles using org-mode while reading them. I will focus primarily on its integration with my org-roam-capture-templates and how it, org-roam-bibtex and ivy-bibtex work together to very easily create and flesh out literature notes for the articles I find, but I will also briefly mention how I annotate articles. Then, how I use org-roam to then take what I learned from this literature and create permanent notes on it which I can then add easily to my Zettelkasten. And finally, how I organize both literature and permanent notes on a subject using my own project, the zetteldesk package, and how I can very easily create a first draft of my work using this. With the draft created organically through my notes, it is then almost effortless to write the final work, as it consists simply of reading the draft, making small changes and fixes and perfecting it so it is a ready product.
+
+## Links
+
+- [Zotero](https://www.zotero.org/), the app I use for capturing
+ literature I find, which is unfortunately not in Emacs as I haven't
+ figured out a good way to do this from Emacs. (P.S. if you have a
+ good workflow for doing this from inside Emacs, I would love to have
+ a discussion with you because leaving Emacs annoys me).
+
+- [Org-Roam](https://www.orgroam.com/), the bread and butter of almost
+ everything in my workflow. Org-roam creates my zettelkasten and is
+ the basis of the other packages here.
+
+- [Ivy-bibtex](https://github.com/tmalsburg/helm-bibtex), the package
+ that allows Emacs to read .bib files and do things with them,
+ allowing for bibliography management in Emacs.
+
+- [Org-roam-bibtex](https://github.com/org-roam/org-roam-bibtex).
+ Integration between the 2 packages listed above so I can easily add
+ literature notes to my Zettelkasten.
+
+- [Org-noter](https://github.com/weirdNox/org-noter), the package that
+ does all the annotating. I can't take notes on an article without
+ org-noter, its just the best way to do it.
+
+- [Zetteldesk](https://github.com/Vidianos-Giannitsis/zetteldesk.el)
+ my personal project which was inspired by making this workflow work
+ in Emacs. This package facilitates everything discussed in the last
+ part of the talk about organizing your literature.
+
+## Bio
+
+I am Vidianos Giannitsis, a 4th year chemical engineering student who loves to use Emacs. I have been using Emacs for about 2 and a half years and at this point it has become the most important part of my workflow. After seeing how awesome Emacs is, I was very inclined to learn elisp to truly customize Emacs to its limits. So I did, and at the start of 2022 I started working on a package of mine "zetteldesk.el". This package was inspired from "How to take smart notes" the well known zettelkasten book. I read something there and I was like, surely I can implement this in Emacs, can't I. And so I did.
+
+I have watched EmacsConf for the last two years and I was interested in participating in it myself. Since I recently wrote a package of mine, I thought it was a good opportunity to make a talk of my own. So I made this talk about managing literature as it is something I believe I can deliver unique information and something I have worked on a lot recently.
+# Discussion
+
+## Notes
+
+- Zettelkasten and zetteldesk
+ - <https://github.com/Vidianos-Giannitsis/zetteldesk.el>
+ - <https://github.com/Vidianos-Giannitsis/zetteldesk.el/wiki>
+ - Available on MELPA as well.
+- Org-capture--pandocs into a note-taking format
+- Karl Voit: Capturing HTML content from my Firefox is easy with
+ <https://github.com/kuanyui/copy-as-org-mode>
+- Leo Vivier's personal email address is dude@suits-do-suit-me.fr
+ ;-) Spam me!
+- link to Leo's talk from last year:
+ <https://emacsconf.org/2021/talks/erg>
+- Great talk, but I wish images in org mode would scroll smoother. It's a deal breaker for me. Does anybody know of a package that allows that?
+ - not sure but iirc emacs 29 has pixel-perfect mouse wheel scrolling instead for line-wise scrolling -- maybe that solves that?
+ - try M-x pixel-scroll-mode
+- have you looked into org-ref and specifically doi-utils? It adds a command that will download a bibtex entry for a given DOI. It even downloads the article (if possible) or to attach at pdf to it.
+- oh cool. what is the name of this package that scrolls an article? "org noter" "noder"?
+ - org-noter
+ - doctorhoo: I am using it quite intensively. The download does not work so often thanks to the journals making it difficult (I guess), but it is easy enough to add a manully downloaded one. The download of the bibtex (and assignment of a sensible key) on the other hand works very reliably.
+- This is a great demo. Thank you!
+- What is doing the org-mode presentation?
+ - its org-tree-slide-mode
+- That was excellent. Thanks very much!
+- wow that was really nice. thank you
+- thanks vidianos
+- oooh, dired icons
+- Great presentation and a nice Q&A session
+- For my part, I like seeing talks on zettelkasten !
+- zettelkasten is exciting but I ended up doing something much simpler
+- thank you again for a great presentation. very inspiring.
+
+- From the speaker: I saw a lot of kind words while scrolling here to see if there are any questions. Thanks a lot everyone! Happy to be part of this conference
+
+## Questions and answers
+
+- Q:Do you use fleeting notes as well? Do you keep them in org-roam?
+ - A:<https://github.com/Vidianos-Giannitsis/Dotfiles/blob/master/emacs/.emacs.d/libs/zettelkasten.org#fleeting-notes>
+ - To document the answer I gave live I am adding a small
+ description of it here. I do use fleeting-notes which I manage
+ with org-journal. I have a custom function
+ (org-roam-init-fleeting-note) in the link above which gives the
+ note an id (makes it an org-roam note), gives it a todo value
+ and links it to my Current Projects node. This way, the note is
+ inserted to my zettelkasten. But, when the TODO value becomes
+ DONE I have a hook that removes the ID. This is the method I use
+ for archiving fleeting notes when they are no longer needed. I
+ don't use org-roam-dailies as I am not aware of a way to
+ archive them that is this seamless.
+- Q:Does it work for PDFs only or can we use it for Word and Excel
+ files too? or epub, websites "eww" or videos like youtube?
+ - A:Leo says Org-noter does allow epub notes through an
+ extensions, and works with DocView for Office docs. Can also use
+ Pandoc
+- Q: I used to take notes on PDFs similarly in org-noter, but the
+ recent Zotero PDF reader is also very nice. Have you looked into
+ integrating the Zotero PDF reader with org-noter?
+ - A: While the program is nice the author dosn't use it becouse
+ it is not emacs nor have emacs bindings
+- Q:Great presentantion Vaidanos. Can you let us know your thoughts on
+ Zettlekasten's future?
+ - A: Zettelkasten has a great future because plaintext will never
+ go away
+ -        and orgmode is open source with a vibrant community.  Leo
+ adds: Zettelkasten popularity shot up big in 2020.
+- Q: Have you found a way to get a nice "overview of multiple notes"
+ to re-arrange them? Like physically putting many small notes on a
+ table and re-arranging them?
+ - A: Original goal of speaker's new package Zetteldesk.el is to
+ get notes
+ -        in a table and organize them. The idea is to use the
+ Zetteldesk as a scratch buffer. But making it graphical would be
+ hard.  (do check the 3rd demo of the talk if you haven't
+ already at 11:10 mins)
+ - A: The Koutliner in the GNU Hyperbole package can be used for
+ this where all notes would be organized, autonumbered and
+ automatically have a per-file unique hyperanchor ID.  You can
+ move notes/ideas around the same way you do in Org outlines. 
+ Besides collapsing and expanding trees of notes, you can also
+ clip the view to a particular number of lines per note for
+ overviews.  It supports Org tables too.
+- Q: Following up on the previous question, it seems difficult or
+ impossible to do with emacs rendering, but perhaps with similar
+ strategies as org-roam-ui one could get a Zooming User Interface for
+ manipulating the notes on a big canvas. This is a FOSS prototype:
+ <https://jermolene.com/cecily/> and this is a SaaS (proprietary)
+ one: <https://www.napkin.one/>. What are your thoughts on this? Do
+ you think it makes sense with your workflow?
+- Q: Can we use Zettlekasten for coding too? Especially when using
+ IDEs like Visual Studio and Excel?
+ - A: Not sure, speaker is not in coding beyond Emacs Lisp and
+ MATLAB. But he thinks it should be possible. Don't think it
+ breaks the principles of Zettelkasten, can make notes for
+ concepts. Leo confirms that note taking can be useful for
+ programming and problem solving. Leo says code could be good for
+ Zettelkasten "atomizing".
+ - Comment from Karl Voit: I'm not using Zettelkasten myself but
+ when I code, I'm heavily relying on my personal knowledge base
+ which also includes Python snippets and sources (in my case) as
+ I'm not a frequent programmer. So I forget the most basic stuff
+ from one session to the next when there are weeks/months
+ in-between. In the same fashion, a knowledge-base realized with
+ a Zettelkasten is something that helps you here, producing
+ better code and remembering previous
+ patterns/tricks/sources/...
+- Q: will your zetteldesktop.el be available in elpa?
+
+
+[[!inline pages="internal(2022/info/science-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/science-nav)" raw="yes"]]
+
+[[!taglink CategoryZettelkasten]] [[!taglink CategoryOrgMode]] [[!taglink CategoryOrgRoam]]
diff --git a/2022/talks/sqlite.md b/2022/talks/sqlite.md
new file mode 100644
index 00000000..89146b51
--- /dev/null
+++ b/2022/talks/sqlite.md
@@ -0,0 +1,175 @@
+[[!sidebar content=""]]
+[[!meta title="Using SQLite as a data source: a framework and an example"]]
+[[!meta copyright="Copyright &copy; 2022 Andrew Hyatt"]]
+[[!inline pages="internal(2022/info/sqlite-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Using SQLite as a data source: a framework and an example
+Andrew Hyatt (he/him)
+
+[[!inline pages="internal(2022/info/sqlite-before)" raw="yes"]]
+
+Emacs can now be built with SQLite, giving native support for reading
+and writing to a database. With this, we can start seriously
+considering a SQLite-first approach: instead of storing data on the
+filesystem, and using various ad-hoc solutions for metadata, we can
+use SQLite to store and search our data. This is essentially a
+tradeoff between the power and speed of SQLite and the universality of
+the filesystem. If we accept that this approach is useful, then a
+standard way to store information in database, may be useful and
+promote package interoperability, just as our single filesystem does.
+The triples packages is a RDF-like database for supplying such a
+flexible system for storing and retrieving data from SQLite. A sample
+application, ekg, a replacement for org-roam, is shown using this, and
+the advantages of the triple design are explained.
+
+For more information and the packages discussed here, see the
+[triples](https://github.com/ahyatt/triples) and
+[ekg](https://github.com/ahyatt/ekg) pages.
+
+# Discussion
+
+- <https://www.reddit.com/r/emacs/comments/zexv6b/using_sqlite_as_a_data_source_a_framework_and_an/>
+- <https://news.ycombinator.com/item?id=33853509>
+
+## Notes
+
+- <https://github.com/ahyatt/triples>
+- <https://github.com/ahyatt/ekg>
+- <https://www.gnu.org/software/hyperbole/man/hyperbole.html#Implicit-Buttons> -
+ discussed in the next talk could really help simplify access to your
+ triples and ekg primitives; have a look when you have time.
+- You had some delicious recipes in there. Made ME hungry!
+- Thanks, that's insightful
+
+## Questions and answers
+
+- Q:  To what extent did Datomic influence the design of triples? 
+ <https://www.datomic.com/>
+ - A: I wasn't aware of Datomics, but I think both triples and
+ Datomics are influenced by RDF & trends in Knowledge Graph
+ construction in the industry.  I took a look at that page, and
+ one interesting thing they do is (AFAICT) store edits to the
+ database instead of actual values, allowing you to reconstruct
+ the database or go forward or backward in time.  This is very
+ interesting, and I'm thinking of ways to make the database
+ safer, but not sure if I can get to such sophisticated
+ properties in this implementation. 
+- Q:built into Emacs? nice. multiple schemas (so to say
+ differentiation of "databases" (if you will so) are possible with
+ that built-in instance?
+ - A: Yes, with emacs 29. Full-featured with multiple databases,
+ transactions, etc.
+- Q:What about collaborative editing whith this? Multiple computers
+ with multiple emacs like crdt.el with org mode?
+ - A: Database are great for more async collaboration, multiple
+ people / processes can add to the repository at the same time. 
+ But I think it's not going to be a great solution for multiple
+ users modifying  the same buffer.
+- Q:What about using this on multiple computers? How would you
+ syncronize the data?  (This is a minor problem in org-roam where if
+ you share files between multiple computers, their SQLite databases
+ get out of sync and require M-x org-roam-db-sync to rebuild the
+ SQLite database.)
+ - A: This is an unsolved problem, one that I'm interested in
+ looking into.  There possibly are standardized db solutions to
+ this, but I don't yet know what they are.
+- Q: With EKG what about views like org roam node mind map view? Or
+ org mode virtual view for integration with other org packages?
+ - A: This is possible, it just needs to interface with the
+ database in a different way.  It's all graphs, so really any
+ triple library might be a good fit for this.
+- Q:  Are you planning to further develop EKG? It is highly
+ interesting to me, I do prefer SQLite over text.
+ - A: Andrew is using it; not ready for general use but quite soon
+ -- towards the end of  the month! Still in exploratory mode
+ though. Still thinking about (some of) the fundamental
+ concepts. 
+- Q: Is it then possible to combine the triples DB with some custom
+ tables in the same SQLite file? (e.g. to build a log table next to
+ the triples tables for quick query of event data)
+ - A: You could do that. AT the moment it's just one table
+ (triples). It's designed to be one table in one DB -- beware
+ of consistency issues if you add further tables, which you can
+ definitely do.
+- Q: What are your thoughts on adding a timestamp attribute to triples
+ so that the DB becomes append-only and by default you return the
+ latest fact for a subject/object pair?
+ - Q+ -> Use is to keep a record - you don´t delete? e.g. you get
+ all past addresses of a person or all past versions of a given
+ fact. Even version control for notes.
+ - A: I haven't thought of that / not seen in other triple stores
+ - A: Be ware that these DBs already take quite a bit of space
+ - A: may make synchronization easier
+- Q: can ordinary lisp data types (lists, symbols, etc) be stored in
+ the data base
+ - A: Yes, if you don't specify, it defaults to a list. Not sure
+ that was the right design choice; lists map to rows with a
+ hidden index column. emacs-sql and this also represent most
+ things as strings. 
+- Q: beyond note taking what kind of packages do you think would
+ benefit from triples library?
+ - A: Anything where you have lisp forms stored in a file would
+ probably be better implemented via a database.  And the triples
+ library makes this easy and standardized.  So, for example BBDB,
+ which is a "database" should actually be in a database.  And
+ then you might want to annotate, tag, etc, so having be in one
+ big database makes a lot of sense to me, because I think all
+ this kind of info wants to live together. 
+- Q: Are you trying to create a PIM with EKG?  What information do you
+ primarily want to manage?
+ - A: Yes, I think many uses of emacs is in line with PIM, and
+ those use-cases are a good fit for triples / ekg.  Notes,
+ people, projects, maybe even being able to integrate with org
+ and manage TODOs there as well.
+- Q: What about using other databases programs Postgres mongoDB etc..
+ [see last q too, but I guess you refer to other relational, e.g.
+ Postgresql]
+ - A: Those could work, maybe the triples library would work via
+ emacsql with those, but I haven't tested it.  I'm not sure
+ what the benefit would be, typically these database tend to be
+ simple and small, so a more full-featured DB is probably
+ overkill.  MongoDB and those kinds of row-oriented databases
+ probably wouldn't be a good fit, but I haven't tried it.
+- Q: What is your preferred reference to understand triples/graph dbs?
+ (e.g. think better about schema design)
+ - A: I know from using them / talking about them. I will come back
+ with some references!
+- Q: Will it slow down with a growth of database?
+ - A: there is a tradeoff -- triples gives you a standard schema,
+ but you lose the power of getting things in one SQL expression -
+ which makes it slow. But I have a bunch of data (2yrs of
+ org-roam usage) and it is still very fast. These limits exist,
+ but the usual rate of content creation is not large enough to
+ hit the limits.
+- Q: What are your thoughts on allowing for a "true" graph-db
+ backend? (whatever the current best free software alternative to
+ neo4j is, I guess). 
+ - A:  In my usage, the graph DBs tended to be slow and somewhat
+ clumsy in usage, we returned every time to SQL [please reword
+ if appropriate]. At the moment not a glaring need (for the
+ quantities of data people manage in Emacs).
+- Q: How hungry did you get while writing and recording this?
+ - A: I forgot that I used recipes as an example in my demo! 
+ org-roam / ekg and other things are a great way to cook better,
+ BTW.  When you make a recipe, write a org-roam daily (or in ekg,
+ an entry tagged with the date and the recipe) with notes about
+ how it went, what could be better, etc.  Then you can later see
+ the recipe and notes on it at once, which helps you further
+ refine the recipe.
+- Q: beyond note taking what kind of packages do you think would benefit from triples library
+
+Other discussions from IRC:
+
+- I like the font he's using in his org doc.
+- In some way, triples (turtle, RDF and similar things) describe a directed graph, where echa edge is like: Subject--Predicate-->Object. A datalog can describe this too (for example: with predicates like triple(S,P,O)).
+
+
+[[!inline pages="internal(2022/info/sqlite-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/sqlite-nav)" raw="yes"]]
+
+[[!taglink CategoryEmacsLisp]]
diff --git a/2022/talks/sun-close.md b/2022/talks/sun-close.md
new file mode 100644
index 00000000..8dc73050
--- /dev/null
+++ b/2022/talks/sun-close.md
@@ -0,0 +1,253 @@
+[[!sidebar content=""]]
+[[!meta title="Sunday closing remarks"]]
+[[!meta copyright="Copyright &copy; 2022 ${speakers}"]]
+[[!inline pages="internal(2022/info/sun-close-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Sunday closing remarks
+
+
+[[!inline pages="internal(2022/info/sun-close-before)" raw="yes"]]
+
+- Questions/comments related to EmacsConf 2022 as a whole?
+ <https://pad.emacsconf.org/2022>
+- Pre-recorded talks should already be up on the talk pages and at
+ <https://media.emacsconf.org> . We'll upload them to Toobnix and
+ YouTube as well in the coming weeks. (Some are already available.)
+ We'll also collect the recordings from the Q&A sessions and post
+ them. You can subscribe to the emacsconf-discuss mailing list
+ (<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss>) for
+ updates.
+ - corwin - I'll jump in at this point
+- Love the conversations and the community? Here's how to keep going:
+ - Lots of meetups both online and in person:
+ <https://www.emacswiki.org/emacs/Usergroups>
+ - Like the IRC conversations? There's an #emacs channel,
+ #org-mode, #emacs-beginners on irc.libera.chat (put #emacs in
+ the channel field on chat.emacsconf.org, or use an IRC client
+ (bandali maintains ERC =) ) )
+ - If you blog about EmacsConf or Emacs, please let me know at
+ sacha@sachachua.com so I can include it in Emacs News
+ (<https://sachachua.com/emacs-news/>) . 
+ - <https://lobste.rs/t/emacs> , <https://reddit.com/r/emacs/> ,
+ <https://reddit.com/r/orgmode/> 
+ - Mastodon: there's a lively community at <https://emacs.ch>
+- Corwin - stop here
+- Flowy - starts here
+- Want to help out with EmacsConf? Please e-mail
+ emacsconf-org@gnu.org or emacsconf-org-private@gnu.org and we will
+ assimilate you. =) Volunteers get early access to the talks and end
+ up learning a lot about Emacs along the way. You don't need to be
+ very technical; all levels of experience, interest, and availability
+ welcome.
+ - Next up: copying the pads and extracting notes from IRC so that
+ they can be added to the wiki; adding chapter markers and
+ captions for Q&A; ...
+- Would be great if the webpage timestamps could be localized to the
+ web browser's local time.
+- Thanks
+ - Thank you to all the speakers, volunteers, and participants, and
+ to all the people in our lives who make this possible.
+ - This year's conference hosts are zaeph and bandali and our
+ streamer sachac (who did not go crazy managing two streams at
+ the same time, yay Org Mode and OBS in the cloud!)
+ - Flowy - stopping here
+ - Who next? ʕ ·ᴥ·ʔ?
+ - Maybe sachac?  It's about the captioneers!
+ - Thanks to our captioning volunteers: sachac, bhavin192, Tom
+ Purl, Hannah Miller, triko, and anush, and also to the speakers
+ who captioned their own talks. Thanks to quiliro for translating
+ the meetups talk into Spanish subtitles, which you can find on
+ the talk page. 
+ - Thanks to dto for describing things in #emacsconf-accessible.
+ - Thanks to everyone who added notes and questions to the pad, and
+ especially to publicvoit and jrootabega.
+ - zaeph can take care of this from here
+ - Thanks to bhavin192 for last-minute reencoding and captioning,
+ and to his brother for lending us a beefy computer for
+ last-minute panicky reencodes.
+ - Thanks to Akshay Gaikwad for design contributions (notably the
+ next-talk slides)
+ - Thanks also to other volunteers: corwin, vetrivln, dto, jman,
+ FlowyCoder, and vetrivln who worked on all the other things that
+ are needed to make this happen.
+ - Thanks to Zen Monk Alain M. Lafon, Alex Mihov, Phil Hofmann, and
+ friends from 200ok.ch and Ardeo for organizing an in-person
+ EmacsConf satellite in Lucerne, Switzerland in their Coworking
+ Hub venue
+ - Thanks to shoshin whose music you heard today
+ - Thanks to the GNU Project and the Free Software Foundation for
+ Emacs and the mailing lists, and libera.chat for IRC community
+ support. 
+ - Thanks to Ry P for the server that we're using for OBS
+ streaming and for processing videos.
+ - Thanks so much to all the organizers and participants in
+ EmacsConf 2022! (All of you! =) You're all awesome.)
+- From chat:
+ -  <edgarvincent[m]> I'd be very happy to help.
+ -  All right! Looking forward to hearing from you - please
+ e-mail us at emacsconf-org@gnu.org
+ - <minad> Seriously, an emacsconf-mode would be great. I browsed
+ the website from eww, started vlc from eww, irced from Emacs.
+ The only thing missing was this etherpad.
+ - <edgarvincent[m]> Yes, it may sound a bit cheesy, but it is
+ nonetheless very  true: I think emacs conf does a great job of
+ bringing in very different people together and producing a great
+ feeling of togertherness.
+
+## Questions
+
+- Q: What did you use to make this? 
+ - All free/libre/open source tools:
+ - One private Org file with speaker/volunteer/talk info
+ - The talks were generally run using run-at-time,
+ org-after-todo-state-change-hook, and some TRAMP (by the
+ way, TRAMP does not like being run from timers at the
+ same time, so we shifted some talks =) )
+ - A public Org file for processes:
+ <https://emacsconf.org/2022/organizers-notebook>
+ - An ansible repo for configuration management:
+ <https://git.emacsconf.org/emacsconf-ansible/>
+ - Lots of Emacs Lisp:
+ <https://git.emacsconf.org/emacsconf-el/>
+ - TRAMP for writing files and running commands on remote
+ computers
+ - OBS for streaming, Icecast for sharing the stream with
+ viewers
+ - VNC for letting hosts and streamers connect to the same
+ display for OBS streaming
+ - screen for naming shell commands and making them easier to
+ resume and kill
+ - BigBlueButton for video Q&A
+ - Mumble for speaking on the stream as well as for backstage
+ communications
+ - ERC for Internet Relay Chat within Emacs, The Lounge for
+ web-based IRC
+ - Ikiwiki for the wiki (editing through git commits)
+ - Etherpad for collaborative note-taking
+ - ffmpeg for reencoding videos to free (patent-unencumbered)
+ formats and compressing them
+ - Captioning (<https://emacsconf.org/captioning>):
+ - OpenAI Whisper for computer-generated transcripts to be
+ reflowed and edited by captioning volunteers
+ - Some Emacs Lisp code to help with reflowing
+ (emacsconf-reflow, in
+ <https://git.emacsconf.org/emacsconf-el/>)
+ - Aeneas (<https://www.readbeyond.it/aeneas/>) for
+ synchronizing reflowed text with the audio files
+ - subed.el (<https://github.com/sachac/subed>) for editing
+ captions within Emacs (synchronizes with MPV)
+ - MPV for playing videos (config tips:
+ <https://emacsconf.org/mpv/>
+ <https://git.emacsconf.org/emacsconf-ansible/tree/roles/obs/templates/mpv.conf>)
+- Q: How do you have multiple font sizes, countdowns and clocks in
+ fundamental mode?
+ - A:
+ <https://git.emacsconf.org/emacsconf-el/tree/emacsconf-stream.el>
+ : see emacsconf-stream-display-clock-and-countdown. You can
+ propertize a string with face attributes and then insert it.
+- Q:  [what were the] participation rates (# of users) [this
+ year]?
+ - A:  High-water mark was around 350: 240 people on Gen and ~100
+ on Dev.  It's not clear how these metrics compare to prior
+ years because we ran two streams in parallel this year. (i.e. a
+ given person could be watching both streams at the same time.)
+- Q: 
+ - A:
+- Q: A great problem is having too many talks that we have split into
+ 2 tracks. What about having multiple conferences a year?
+ - A: Want to help organize another one? =)
+- Q: "emacsconf-org.el" to elpa/core? :)
+ - There's a repo, it's probably very idiosyncratic, happy to
+ chat with whoever's interested - sachac
+ - A:
+- Q: My streaming improved immensely once I implemented the mpv
+ solution. I could have benefited from a short "how to" beforehand
+ for the command line tool. 
+ - A: ooh, good point, we'll recommend that more next time
+- Q: Suggestion really-- a few setup videos that orient people to the
+ tools and conventions for participation. would be better. I think
+ y'all also need to load balance Leo-- turn him into an MC and
+ allow someone to field and queue up questions.  That way Leo would
+ not be in a hurry to get back to the next presentation. He could
+ hand off the mic to someone who could facilitate. 
+- The number of users in the chat seem to have been around the 150 count. Is this typical-- less than normal participation? Higher participation? It would be a good data point from the organizers to note.
+- are we going to get participation rates (# of users) in the closing remrks?
+- quiliro: Would it be useful for next year's EmacsConf if I volunteered to set up crdt for creating pads directly from Emacs?
+- Q: Is there an EmacsConf howto?
+ - Impressive event... I wish sachac or bandali would provide an EmacsConf howto!
+- does the Emacs survey have geographic demographics on users? might use that to inform EmacsConf schedule
+
+## Discussion
+
+- Keep up the great work for EmacsConf every year
+- what a great weekend. been using emacs for 30+ years and still learned a boatload.
+- it's so nice the community keeps things rolling forward. thanks y'all for the work of organizing all this!
+- Definitely so much new stuff
+- Got stuff to tinker with for a month or two
+- thanks to all organizers and presenters. everything so well done!
+- And besides the organizers, thanks to everyone who gave a talk this year!!
+- pretty nice talks and emacsconf in general! Thanks a lot
+- I think we can all say that we enjoyed a lot of the talks
+- this conf already goaded me into trying out 29 (building on a mac, so far. Linux boxen are next) to try the core tree sitter stuff. I need to go back and watch talks I miss and follow up on notes I already have. Love all this content!
+- thanks a lot organizers! emacs, emacs people, emacsconf - all are outstanding 8-)
+- Great emacsconf, as always! Thank you all that have been involved making it happen!
+- As a longtime Emacs user, it was great to stumble on this conference. Thanks
+- bandali sachac zaeph & team : What a treat this yearly EmacsConf, many thanks to you for your outstanding work... once again!
+- 07:25] <bandali> <3
+- some notes on how we did it in the pad
+- Meeting or rather seing yu all reinforces the belive in me that Emacs is the better computing thing. It can archive this! Thank you.
+- I had to make some decisions on which track to listen to, but that comes with the territory, I suppose. The two traks worked great.
+- Me too. It went very well!
+- emacsconf.org -- It's a domain name! It's an org-mode file! It's a domain name and an org-mode file!
+- Tracks
+ - Yeah, there were some points where I wanted to watch 2 talks at the same time as well
+ - But I really liked the 2 tracks
+ - But, I liked the fact that it gave more time for Q&As and we were more relaxed
+ - Last year was much more of a hurry
+ - This edition went extremely smoothly.
+ - I don't think that many people watched both talks at the same time.
+ - I'm not sure, I think people who watched dev would probably be interested in gen also.
+ - most people would find their preference and not jump-room
+- Stack:
+ - //git.emacsconf.org looks to be interesting!
+ - Yes! Our wiki is git based (which I think is really cool)
+- Timezones:
+ - I am in Europe and I personally like the time in which the talk is for me more than the American timezone
+ - I try to schedule all the talks based on speaker availability
+ - I wouldnt like waking up at 9 am in the weekend
+ - But I think its good both for Americans and Europeans
+ - for me it was great because I wake up 4 hours before start and go to sleep 1 hour after closing
+- I think that previewing the talks would be great to be able to make more or better questions
+ - volunteer again next year! =)
+ - sure, sachac .... it has been a great experience...even better than giving a talk! more relaxed at least
+- I loved sameer's talk even with the problems
+- I loved that 95% of the talkes had captions. that is why i could follow up with the Sameer talk
+- i was impressed about the feedback the organizers had before and during the event
+- this organization was impressive
+- thanks to you for being so active during the two days of conference!
+- even being active in chat helps make the conference feel more alive
+- wanting to experience more of the conference in Emacs
+ - I found it a bit hard to switch between Emacs, IRC, VLC and the Etherpad. Something like crdt.el would be great.
+ - Impressive techsetup and execution. Amazing that you did this with that much polish and utility. I think next thing would be an Emacs mode :P
+ - Seriously, an emacsconf-mode would be great. I browsed the website from eww, started vlc from eww, irced from Emacs. The only thing missing was this etherpad.
+ - and even my mpv was running inside Emacs....in EXWM
+ - I have top half taken by emacs split into a bunch of irc windows and the bottom split into two with etherpad on the left and the mpv on the right
+ - Yes Emacs collaboration is missing. But maybe next? I too had most in emacs. Beste.
+ - I absolutely agree. Actually, I was unconsciously expecting to access the conf from within Emacs, for some reason (well, to some extent, I did, by using empv for the videos and ement for the chat :)
+ - I had the schedule in Agenda. You could download a localized org schedule.
+ - Yes this could be more visible #feedback
+ - https://github.com/isamert/empv.el (a package which allows one to use mpv from within Emacs)
+ - Organizing and running, and attending, an online conference about Emacs, all in Emacs - take that VS Code
+- jman, FlowyCoder, bandali : I did not see you.... were you in the back end?
+ - quiliro, i was a bit more present this year actually, but mainly on the dev track rather than gen
+ - bandali was hosting the dev track so on screen here and there and various voice overs;jman and FlowyCoder were indeed running different backstage things
+
+[[!inline pages="internal(2022/info/sun-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/sun-close-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/sun-open.md b/2022/talks/sun-open.md
new file mode 100644
index 00000000..7c83247e
--- /dev/null
+++ b/2022/talks/sun-open.md
@@ -0,0 +1,23 @@
+[[!sidebar content=""]]
+[[!meta title="Sunday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2022 ${speakers}"]]
+[[!inline pages="internal(2022/info/sun-open-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Sunday opening remarks
+
+
+[[!inline pages="internal(2022/info/sun-open-before)" raw="yes"]]
+
+
+
+
+
+[[!inline pages="internal(2022/info/sun-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/sun-open-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/survey.md b/2022/talks/survey.md
new file mode 100644
index 00000000..4e1238bf
--- /dev/null
+++ b/2022/talks/survey.md
@@ -0,0 +1,160 @@
+[[!sidebar content=""]]
+[[!meta title="Results of the 2022 Emacs Survey"]]
+[[!meta copyright="Copyright &copy; 2022 Timothy"]]
+[[!inline pages="internal(2022/info/survey-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Results of the 2022 Emacs Survey
+Timothy (he/him, IRC: tecosaur)
+
+[[!inline pages="internal(2022/info/survey-before)" raw="yes"]]
+
+If I am giving this talk, then a month ago the 2022 Emacs Survey will
+have occurred! I will go through the motivations, implementation,
+results, and plans of the Emacs Survey.
+
+Outline:
+
+- A quick overview of the main results of the 2022 Emacs Survey
+- Discussion of motivation, implementation, and future plans
+
+
+# Discussion
+
+## Notes
+
+- 2020: 7000 participants in the survey (Adrien Brochard)
+- 2022: new survey framework: julia (language) + Genie Framework
+- 2022: 6600 responses (1000 partial); 115 nations; 96% male (better
+ among younger people)
+- the plots are using Makie, a Julia plotting library
+
+## From IRC
+
+- Magit
+ - magit is more popular than org mode :-O
+ - Magit was more popular in 2020 too, however the gap has narrowed in the 2022 results 😀
+ - magit is a miracle
+ - I've read about people who use Emacs for magit ONLY!
+ - magit deserves every heart given
+ - I love magit and I am not even a developer so I can only imagine how amazing it is for people who use it for actual work
+ - Especially since for programmers, which is a large chunk of emacs users, version control is probably more important than org I would assume
+ - ieure, i see why people might think that, but svn is non negotiable at work. my question was: does magit do anything useful for all merging VCS that could be included in VC?
+ - The difference between terminal git and magit is huge for me, even as someone who doesnt use it every day
+ - If your repos are mostly standard source and not dependent on huge binary assets or anything, you're missing out on better VCS first and foremost
+ - but judging by the way users extol magit, it must do something better than vc that can be applied to all merging version control systems (non locking ones). if someone can tell me what it is and i find it useful, i might add it to vc
+ - I use both VC and Magit actively and I've found it's mostly about the enhanced interactivity with Git. It's very visual and also allows you to pretty much interactively set/unset flags to various Git commands as you would on the terminal but much faster all thanks to transient.el.
+ - +1 for transient being a big part of why people find magit easier to use.
+- New versions
+ - We have to be careful about selection bias when it comes to versions used.
+ - my worry is that people on older versions are less up to date with what is going on and might not hear about the survey :/
+ - the way i see it packages don't really have to officially support versions of emacs older than the latest release
+ - unless they're big and see frequent updates for new platforms
+ - i.e. TRAMP
+ - otherwise users of older versions will just backport those packages themselves
+
+## Feedback
+
+- Survey framework
+ - oh yeah, the new framework was super pleasant to use, am a fan
+ - Liked how there was a way the responses were saved (locally?), and there was a possibility to resume answering later!
+ - from a user's perspective, the UX was amazing including download-options for my own answers. Impressive.
+ - I loved this year's platform too! so another +1 here
+- found the pie charts a little hard to follow, e.g. what color related to that package etc. Maybe add more labeling to the chart itself?
+ - on that topic, some of the colors were also very close (eg. Haskell and Java in the language graph)
+- I'd suggest that bar charts with more than 5 colors be labeled at the bar versus in the margin. (Also take mercy on the color blind)
+ - i'd suggest using a different tiled pattern for each bar instead of colors. That makes them easier to follow, especially for the color blind, or for people who cannot see colors well at night (me)
+ - Speaker: Hopefully this isn't too bad for the colour blind, I chose Paul Tol's colour schemes for that reason (among others)
+- i took part in that survey! *proud of accomplishment*
+- First, a general BIG THANK YOU for your survey!
+- nice, thanks for working on all of this
+- this is an amazing talk.
+- org mode huge, always forget how much of that pie it brings in
+- nice pie chart :)
+- lobste.rs getting bigger lately?
+- i am going to be interested in how the results differ when you factor out /r/emacs
+- the graphics are gorgeous
+- hence while I sprinkle in phrases like "within this more engaged subset of users ..." 😉
+- Hmmm, I didn't think about using Emacs as my chat / email client as counting as writing prose in Emacs. But it does.
+- (and the same with Org 😛)
+- magit applies to many mode, there is only one org-mode ;]
+- I don't think I can stop using magit
+- man who are these people filling the survey in less than 10 min?
+- Excellent talk! Thank you.
+- thanks for the talk btw, it was very interesting
+- Very informative. Nicely done!
+- Excellent work, looking forward to further analysis
+- Very nice presentation!
+- Thanks Timothy, great talk!
+- Thanks, great talk! *clapclapclap*
+- Great presentation
+- next year, I will join survey
+- Great talk and thanks for all this nice work!!
+- my compliments for your great analysis of the survey's data
+
+## Questions and answers
+
+- Q: will there be another survey next year as well?
+ - That's the plan, and the year after, etc.
+- Q: Do Emacs developers take into account the survey results? I mean,
+ they are volunteers working on what they find useful/interesting for
+ them, which is of course great.
+ - A: There's no obligation for emacs-devel or Emacs package
+ maintainers to do anything in response to the survey results,
+ but hopefully the results will be able to inform development
+ choices they make.
+- Q: are you planning to have the software used beyond Emacs surveys?
+ - A: It could well be, it's written as a general survey platform
+- Q: Is the survey software available in source code via
+ Gitlab/Github/...? What's the license?
+ - A: Yep, it's GPL-3, and the source is availible at
+ <https://git.tecosaur.net/tec/emacs-survey>
+- Q: Are the raw results available so we can run some data analysis
+ ourselves?
+ - A: Indeed! As mentioned in the talk they're publically
+ availible in a number of formats, e.g.
+ - <https://emacssurvey.org/results/3425413930.csv>
+ - <https://emacssurvey.org/results/3425413930.json>
+ - <https://emacssurvey.org/results/3425413930.db>
+- Q: Any specific reason why you chose Julia as a language to code the
+ survey (curious about it)?
+ - A: I use it a lot, and like doing so :)
+- Q: Do you have any insight on the degree of selection bias (the
+ respondents may represent a very particular segment of the overall
+ users, in terms of motivation to respond). The nb of days of
+ response after announce may indicate that respondents are very much
+ in touch with emacs news.
+ - A: We can try to look at the degree to which the survey referrer
+ (r/emacs, HN, etc.) changes the survey results, but ultimately
+ this is a hard question. At the end of the day, the way I view
+ things is we can just do our best to investigate how much of an
+ effect is seen in the results, but this is the best shot we have
+ availible.
+ - A2: That said, we can compare a few particular statistics to
+ other surveys done in a wider population to gauge how close our
+ results are to them, but that assumes that those other surveys
+ (e.g. Stack Overflow's developer survey) are themselves
+ representative of the Emacs user base, itself can be quite an
+ assumption.
+- Q: Are the pies in gnuplot or something else?
+ - A: The plots are using Makie, a Julia plotting library.
+- Q: Thoughts on an emacs package to fill out the survey? Just more
+ work for you ;)
+ - A: Hopefully more work for someone else ;)
+- Q: Is the survey framework open sourced already or still in the
+ works?
+ - A: (replied above, IIUC) it's GPL-3 and the source is available
+ at <https://git.tecosaur.net/tec/emacs-survey>
+- Q: what did you use to draw the diagram in p.7?
+ - Inkscape
+- Q: you might go into this in a second, but are there any specific questions you are looking to go into when you find the time?
+
+
+[[!inline pages="internal(2022/info/survey-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/survey-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/tramp.md b/2022/talks/tramp.md
new file mode 100644
index 00000000..cf7b5076
--- /dev/null
+++ b/2022/talks/tramp.md
@@ -0,0 +1,28 @@
+[[!sidebar content=""]]
+[[!meta title="Elisp and the TRAMP: How to NOT write code you don't have to"]]
+[[!meta copyright="Copyright &copy; 2022 Grant Shangreaux"]]
+[[!inline pages="internal(2022/info/tramp-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# CANCELLED: Elisp and the TRAMP: How to NOT write code you don't have to
+Grant Shangreaux (Shang-groo or Shang-grow, he/him, <mailto:shoshin@cicadas.surf>, <https://cicadas.surf/~shoshin>, IRC: shoshin on libera.chat, @kheya@mastodon.social, <https://matrix.to/#/@shoshin:cicadas.surf>)
+
+[[!inline pages="internal(2022/info/tramp-before)" raw="yes"]]
+
+When you have a hammer, everything looks like a nail. When you have
+Emacs, everything looks like&#x2026; what? This is a story of understanding
+a particular feature of Tramp and realizing it could be used in all
+sorts of places in Emacs-land. Some of them are truly useful, but I
+ended up in a place where applying it was going to create a non-trivial
+amount of work writing Emacs Lisp to extend EMMS.
+
+
+
+[[!inline pages="internal(2022/info/tramp-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/tramp-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/treesitter.md b/2022/talks/treesitter.md
new file mode 100644
index 00000000..317cf3f5
--- /dev/null
+++ b/2022/talks/treesitter.md
@@ -0,0 +1,121 @@
+[[!sidebar content=""]]
+[[!meta title="Tree-sitter beyond syntax highlighting"]]
+[[!meta copyright="Copyright &copy; 2022 Abin Simon"]]
+[[!inline pages="internal(2022/info/treesitter-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Tree-sitter beyond syntax highlighting
+Abin Simon (IRC: meain on libera.chat, Matrix: @meain:matrix.org, <mailto:mail@meain.io>)
+
+[[!inline pages="internal(2022/info/treesitter-before)" raw="yes"]]
+
+Tree sitter has seen a lot of development recently, but more often
+than not folks are only aware of its use for syntax highliting. The
+idea of this talk is to introduce some other usecases where they could
+benefit from tree-sitter.
+
+This talk will be an overview of the kind of things that they will be
+able to do with tree-sitter with demos but won't go in depth into how
+they would all of them. The presentation will link to the resources
+mentioned during the talk where folks can learn more about each of
+them.
+
+This session will introduce them to things like (not final list):
+
+- textobjects using tree-sitter: <https://github.com/meain/evil-textobj-tree-sitter/>
+- Folding using tree-sitter: <https://github.com/emacs-tree-sitter/ts-fold>
+- Navigating config headings: <https://blog.meain.io/2022/navigating-config-files-using-tree-sitter/>
+- Using tree-sitter for narrowing: <https://blog.meain.io/2022/more-treesitter-emacs/#narrow-to-language-level-constructs>
+- Intelligent snippets using tree-sitter: <https://blog.meain.io/2021/intelligent-snippets-treesitter/>
+- Using tree-sitter to get which-func like functionality: <https://blog.meain.io/2022/more-treesitter-emacs/#show-current-class%2Ffunction-name-in-modeline>
+- Some useful tree-sitter functions: tree-sitter-save-excursion
+
+
+# Discussion
+
+## Notes
+
+- The speaker's blog: <https://blog.meain.io/>
+- Fancy Narrow: <https://github.com/Malabarba/fancy-narrow>
+- Text objects using tree-sitter in evil-mode:
+ <https://github.com/meain/evil-textobj-tree-sitter/>
+- Notes/Slides: <https://github.com/meain/emacsconf-talk-tree-sitter>
+
+## Questions and answers
+
+- Q: What treesitter package is being used I think there is 3
+ different ones
+ - A:  Most of what is demoed here is using
+ <https://github.com/emacs-tree-sitter/elisp-tree-sitter>
+- Q: Can the folds be treated as outlines as in outline-minor-mode
+ folds?
+ - A: I don't think the package ts-fold which I showcased works
+ with outline mode, but it should be simple enough to add
+ something like that
+ (<https://github.com/emacs-tree-sitter/ts-fold>)
+- Q: Is there any benefit to use tree-sitter for sexp-based languages?
+ +1
+ - A: Being able to query for specific things like variables /
+ conditions might come in handy
+- Q:Do you have to have an LSP set up in order to use tree-sitter?
+ - A:I still use eglot for lsp. While tree-sitter help with
+ highlighting, folding, nav etc . . tree-sitter can be more
+ thought of to be working on a single file. So when I need to do
+ project wide things like jump to defenition, find reference or
+ renames lsp comes in handy.
+- Q: Is there any example configuration for the transition from
+ traditional major mode to new *-ts-major-mode? It seems that
+ configuration of major mode (xxx-mode-hook, yasnippet, etc) has to
+ been rewritten
+ - A: I am just starting to work with builtin tree-sitter, so
+ don't have much input here  unfortunately :(
+- Q: So, is there a tree-sitter language definition for elisp?
+ - A: I'm just starting to look into built-in tree sitter, but I feel like we should be able to do all of them.
+- Q: awesome stuff. i always wonder when itll appear in my fingers. sure the lib is in 29 but i guess some glue is required?
+- Q: thanks for the great talk. I have one question. Will tree sitter able to highlight syntax in sourceblocks of org files?
+ - A: there is nothing technically stopping one from enabling highlighting in config blocks. Since I don't use org, I've not really looked into how it currently is.
+- Q: So Emacs 29 includes the original tree sitter C library by Max Brunsfeld or is it a custom rewrite?
+- Q: what about the relationship between emacs-tree-sitter and treesitter in core emacs
+ - A: there are just two Emacs side implementaions for the tree-sitter lib <https://tree-sitter.github.io/tree-sitter/> . The first one is in Rust and the second in C within core
+ - A: I have not extensively tested out the builtin one, but both should be more or less the same. The builtin one is less mature as of now and has a slightly different api.
+ - A: Plus most plugins that work with tree-sitter will be working with elisp-tree-sitter only as of now
+ - I'm speaking of the the third party package. Perhaps it has been fixed. IIUC the issue is not the emacs package but rather tree-sitter itself.
+ - A: You might wanna open an issue at https://github.com/emacs-tree-sitter/tree-sitter-langs if you are having issues with tree-sitter highlighting
+- Q: biggest difference between the treesitter functionality built into Emacs 29 and the emacs-tree-sitter github package?
+- Q: Are there any sample configurations about *-ts-mode integrated with default major-mode?
+- Q: Building Emacs 29 with native tree-sitter support seem challanging any useful tip.
+ - building emacs ... tips from Xah Lee <http://xahlee.info/emacs/emacs/building_emacs_on_linux.html>
+- Q: How much of what you showed can be done with the build-in tree-sitter?
+- Q: How easy is it to hack the syntax definition?
+ - A: It is super easy once you learn a bit about tree-sitter. This is how the highlight queries looks like. <https://github.com/emacs-tree-sitter/tree-sitter-langs/blob/master/queries/python/highlights.scm> Once we have this, the tree-sitter integration can take care of the rest.
+- Q: So Emacs 29 includes the original tree sitter C library by Max Brunsfeld or is it a custom rewrite?
+ - both elisp-tree-sitter and tree-sitter in emacs core are emacs side wrappers on top of the tree-sitter lib from Max.
+- Q: What was the name of the module used for doing AST queries on the current buffer?
+ - A: for viewing and querying the tree, they are commands built into `tree-sitter-debug-mode` and `tree-sitter-query-builder`
+
+## Other IRC discussions
+
+- thanks for the great talk meain!
+- thank you for the talk
+- Great talk. Can I use this with Python? Bash?
+- Amazing stuff!!! I need that YAML thing!
+- When I am writing lisp macros I'm always having problems with the highlighting. I'm seeing this can be achieve with tree-sitter, is there a more streamlined way of doing it with treesitter - with less code?
+- thank you for tree-sitter talk, It's awesome
+- Now I definitely need to try tree-sitter
+- very inspiring talk, the future looks bright!
+- Very well done talk. Thank you.
+- I've actually added a lot of highlighting for rust mode on my editor, using tree sitter. It's very powerful once you get into it
+- with the new *-ts-mode, seems that a lot of configurations of language specific major mode have to be rewritten
+ - A: yup, there are quite a few things that being rewritten a bit like indent, highlight etc.
+- yup, previously I would just jump to top after reformatting code. These days I've been also trying https://github.com/radian-software/apheleia which has been pretty good at keeping the position by using some other methods
+- I use your tree-sitter package for a long time, It works very stable.
+- I use tree-sitter write plugin to replace paredit: https://github.com/manateelazycat/grammatical-edit
+
+[[!inline pages="internal(2022/info/treesitter-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/treesitter-nav)" raw="yes"]]
+
+[[!taglink CategoryTreeSitter]]
diff --git a/2022/talks/wayland.md b/2022/talks/wayland.md
new file mode 100644
index 00000000..9f633c8a
--- /dev/null
+++ b/2022/talks/wayland.md
@@ -0,0 +1,122 @@
+[[!meta title="Emacs should become a Wayland compositor"]]
+[[!meta copyright="Copyright &copy; 2022 Michael Bauer"]]
+[[!inline pages="internal(2022/info/wayland-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs should become a Wayland compositor
+Michael Bauer[[!sidebar content=""]]
+ (IRC: permcu, <mailto:perma-curious@posteo.de>)
+
+[[!inline pages="internal(2022/info/wayland-before)" raw="yes"]]
+[[!template id="help"
+volunteer=""
+summary="Q&A could be indexed with chapter markers"
+tags="help_with_chapter_markers"
+message="""The Q&A session for this talk does not have chapter markers yet.
+Would you like to help? See [[help_with_chapter_markers]] for more details. You can use the vidid="wayland-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to <emacsconf-submit@gnu.org>."""]]
+
+
+Since Emacs learned wayland last year, it can now become a wayland compositor.
+Emacs is already a great window manager. Let us embrace this in the wayland
+future, where managers become compositors.
+
+In this short talk I would like to convince you that this is a good idea and get
+you exciting about the possibilities. I then outline how to go about
+implementing this idea.
+
+Afterwards I would very much like to get a discussion started together.
+
+Discussions:
+
+- <https://news.ycombinator.com/item?id=33849556>
+
+# Discussion
+
+## Notes
+
+- Call to action - let Michael know if you know anyone else working on
+ something like this so they can collaborate and not duplicate
+ effort.
+- Site (coming soon): perma-curious.eu
+- I am an EXWM user and would be very happy to test your code! Looks great!
+- I know of many people quitting EXWM because of the lack of active development. Your project could be a kind of revival!
+- I would be interested to try it out. I'm on sway right now.
+- What I mean is that people are moving to other WMs which work or are planned to work with Wayland
+- sway.el might have something that could be used
+- Feedback:
+ - Thank you very much for the talk and the work.
+ - Thank you for sharing your amazing work!
+ - Yes, thank you for the talk, looks really promising
+ - thank you for the talk
+ - Thanks and great job!
+
+## Questions and answers
+
+- Q: Are you using it as a replacement of EXWM?
+ - A: No, not yet, but I'm planning to.
+- Q:Is this testable?
+ - A:
+- Q: Have you considered contributing it to emacs core? 
+ - A:
+- Q:Question: this is wayland compositor in Emacs? What different with
+ XReprarent in X11 ?
+ - A:No, I planned it, but no. Does not handle file descriptors.
+ It's a compositor that talks to Emacs. etc. I don't know what
+ XReparent is; have to skip that.
+- Q:What does it mean for emacs to be "a wayland compositor"? What
+ can the end users do with it?
+ - A:
+- Q: How would multiple monitors be handled? Separate Frames?
+ - A:
+- Q:  Could you make it so you can restart emacs without loging out;
+ or switch to non emacs buffers while emacs is blocking: these are
+ the biggest issues with EXWM? Maybe in the future with a different
+ ui for non emacs buffers.
+ - A: 
+- Q:Did this project can implement *mirror* of buffer for Emacs
+ different window?
+ - A:
+- Q:How does the single-threaded affects the project?
+ - A:
+- Q:this technology need write wayland server? Can it works with
+ Gnome3 ?
+ - A:
+- Q: Could there be a emacs-wayland-server and just connect with
+ emacsclient?
+ - A:
+- Q: When you share your code, could you provide the equivalent of an
+ .xsession script for those who are on EXWM and want to test?
+ - A:
+- Q: there have a demo to show this emacs-wayland-compositor, even it
+ buggy now? Just curious. ;)
+ - A:
+- Q: So the current limitation is that buffer mirroring doesn't respect different widths/heights?
+ - A:(answered - transcript tbd)
+- Q:Could you use some of this package with other walyand compositers
+ "probably not all of it" , sway, kde, river, gnome.
+ - A:(answered - transcript tbd)
+- Q:Will Wayland support reach feature parity with EXWM in the future?
+ Will there be other tradeoffs?
+ - A:(answered - transcript tbd)
+- Q: What is the biggest difference between Xorg and wayland that you
+ have found?
+ - A:(answered - transcript tbd)
+- Q: Did you know EAF
+ <https://github.com/emacs-eaf/emacs-application-framework> ? 
+- Q: Do you have the code available somewhere (git repo)?
+ - <https://perma-curious.eu>
+- Q: So the current limitation is that buffer mirroring doesn't respect different widths/heights?
+
+Other discussions from IRC:
+
+- If I understand correctly, this project is more like philosophy of EXWM, but it not based on X11, instead based on Wayland.
+
+
+[[!inline pages="internal(2022/info/wayland-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/wayland-nav)" raw="yes"]]
+
+
diff --git a/2022/talks/workflows.md b/2022/talks/workflows.md
new file mode 100644
index 00000000..a42db628
--- /dev/null
+++ b/2022/talks/workflows.md
@@ -0,0 +1,56 @@
+[[!sidebar content=""]]
+[[!meta title="Org workflows for developers"]]
+[[!meta copyright="Copyright &copy; 2022 George Mauer"]]
+[[!inline pages="internal(2022/info/workflows-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Org workflows for developers
+George Mauer (he/him/they/ze, IRC: gmauer, <mailto:gmauer+emacsconf@gmail.com>)
+
+[[!inline pages="internal(2022/info/workflows-before)" raw="yes"]]
+
+# Table of Contents
+
+
+
+We all know org-mode is great but much of the discussion often
+focuses on the agendas, todo lists, and project planning. These are
+all valuable. yet rarely do we talk about workflows that do work, not
+just plan it. Inspired by literate programming ideas, this talk will
+demonstrate a grab-bag of workflows developed over the years that are
+of use not only for planning, tracking, note keeping, and ops work,
+but in actual day-to-day enterprise software development.
+
+
+# Discussion
+
+## Notes
+
+- Start with all the things from howardism literate devops articles -
+ its all great and is what got me started
+ <http://howardism.org/Technical/Emacs/literate-devops.html> (he also
+ just did a talk on eshell)
+- Learning request.el, dash.el, cl-loop facility, and s.el reasonably
+ well is a pretty big 
+- there is also <https://gitlab.com/mtekman/org-tanglesync.el>
+
+- Q: are arduino blocks included in org-mode?
+ - A: I did add `arduino-mode` I think thats the only thing I did so maybe its from there
+- A: This is the bit that I'm particularly proud of btw - the ability to do dynamic scoping of variables that is driven by properties in the org outline
+- Q: how did you insert the texts (not caption)?
+ - A: in kdenlive
+
+## Feedback
+
+- liked it a lot
+- awesome talk gmauer`
+- :) It was fun captioning it.
+
+[[!inline pages="internal(2022/info/workflows-after)" raw="yes"]]
+
+[[!inline pages="internal(2022/info/workflows-nav)" raw="yes"]]
+
+[[!taglink CategoryOrgMode]] [[!taglink CategoryCoding]]