summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-12-07 14:39:23 -0500
committerSacha Chua <sacha@sachachua.com>2020-12-07 14:39:23 -0500
commitd650b8383e89835eac7e21147a3244bfef2c8691 (patch)
tree876eb15eeb1238704b3b5bc6f58024ca846a29a7 /2020
parent3ffdd9c8c76a39607e0ff86999d463ffe4a6e9cb (diff)
parent2617e07bd8b06e47467a582a9307e40f222585c3 (diff)
downloademacsconf-wiki-d650b8383e89835eac7e21147a3244bfef2c8691.tar.xz
emacsconf-wiki-d650b8383e89835eac7e21147a3244bfef2c8691.zip
Merge branch 'master' of git.emacsconf.org:emacsconf-wiki
Diffstat (limited to '')
-rw-r--r--2020.md13
-rw-r--r--2020/info/06-transcription.md183
-rw-r--r--2020/info/06.md4
-rw-r--r--2020/info/20.md1
-rw-r--r--2020/info/23.md24
-rw-r--r--2020/info/28.md1
-rw-r--r--2020/info/29.md1
-rw-r--r--2020/info/33.md25
-rw-r--r--2020/info/dm-notes.md13
9 files changed, 243 insertions, 22 deletions
diff --git a/2020.md b/2020.md
index 29929074..db73447e 100644
--- a/2020.md
+++ b/2020.md
@@ -30,12 +30,13 @@ be uploaded over the next few weeks. Please let us know of any issues!
## Participating
For audience questions specifically, we experimented with using a
-collaboratively-editable Etherpad as the primary means of collecting
-audience questions. <https://etherpad.wikimedia.org/p/emacsconf-2020>
-We also took questions from our IRC channel (`#emacsconf` on
-`chat.freenode.net`), with volunteers adding questions from that
-channel to the pad on behalf of folks who were not able to or prefer
-not to use the web-based questions pad. [[Here's the archived pad.|pad]]
+[collaboratively-editable
+Etherpad](https://etherpad.wikimedia.org/p/emacsconf-2020) as the
+primary means of collecting audience questions. We also took
+questions from our IRC channel (`#emacsconf` on `chat.freenode.net`),
+with volunteers adding questions from that channel to the pad on
+behalf of folks who were not able to or prefer not to use the
+web-based questions pad. [[Here's the archived pad.|pad]]
To follow up after the conference, please check the [[list of talks|talks]] for
the link to the individual talk page. We've added the questions and
diff --git a/2020/info/06-transcription.md b/2020/info/06-transcription.md
new file mode 100644
index 00000000..edd9f912
--- /dev/null
+++ b/2020/info/06-transcription.md
@@ -0,0 +1,183 @@
+# Transcription
+
+Following is a somewhat hasty self-transcription of my talk. Please
+don't hesitate to [mailto:corwin@bru.st](ask for clarification) or to
+add any clarifications you feel helpful back into the EmacsConf wiki.
+
+ There is a visual gimmick underlaying the initial remarks. We are
+ looking at the first (first-slide ("Welcome") showing how the org
+ markdown looks on other editors, including cygwin emacs, Notepad++,
+ Sublime, VS Code, and cygwin vim. As each is closed we see the next,
+ until we reveal GUI Emacs running org-mode in a full-both frame.
+
+My name is Corwin Brust and I will be talking about getting started
+with Emacs Today. I have been an Emacs user for a long time-
+
+First of all thanks and a huge welcome to the conference..(_15s_)
+
+On behalf of and back to the other organizers. It has been cool to
+have a peek backstage.
+
+So. I've used a lot of different editors in my time. That's about 25
+years as a professional software engineer. And most of that
+time I've been using Emacs. (~54s_)
+
+I'll talk a little bit in a minute (if I can ever find my slides)
+about how I got into Emacs, but if you've used Emacs and a lot of
+other editors for a long time, something that you notice right away is
+that you get good with it in a way that stays meaningful. You learn
+new things, those things stick with you. You learn how to- how to
+make it do new tricks and then keep doing those tricks. (~1m26s_)
+
+I want to mention this conference isn't about (whoops: "this talk")
+how to adjust your configuration specifically. I don't have a bunch
+of good code samples in here. There are a bunch of other great talks,
+especially Andrew's that I think may be aimed more at that "hey, I'm
+just getting started with Emacs what are some things to try to make it
+more comfortable for me starting?" [subject/audience? cezb]. (~2m07s_)
+
+This is about how to think about the problem space more. (_2m10s_)
+
+Hopefully a good way to warm up as we start thinking about some of the
+lightning talks later on. (I'm going to bring up my IRC buffer
+[offscreen] in case I run into time- I didn't get my stopwatch started
+for this one.) (_2m25s_)
+
+So, alright: let's dive in. (_2m30s_)
+
+We assume that we want to install packages, and maybe configure some
+features. This is particularly from the perspective of where we're
+working with a bunch of others on a team and we want to get something
+done. (_2m42s_)
+
+Some of us probably have mature Emacs workflows, others may be
+installing it for the first time. (_2m50s_)
+
+So the first questions is, you know- in that context: what's the value
+proposition? Why should I mess with my machine, my mature Emacs
+configuration, impose my way of thinking and ideas over the way
+somebody else is learning Emacs? (_3m09m_)
+
+It can be [laugh] I'm off my slides here a little bit.. (_3m13s_)
+
+It can be a little tricky to learn Emacs. One thing that helps us a
+lot is if people that we are working with can tell us, kinda,
+keystroke-for-keystroke at times what to do and explain what
+everything is doing. (_3m30s_)
+
+And using the same packages as others can really help us working
+together on a project. (_3m36s_)
+
+Speaking from my personal experience, it took me decades to get to the
+point where I was excited to program in Emacs Lisp. (_3m26s_)
+
+I've programed in a lot of programming languages, but Lisp wasn't on
+my list. I looked at my config, that I was copy-pasting around from
+generation after generation of .emacs file or re-crafting it by hand
+and from Internet searches, to get things that I needed when I would
+quickly go install Emacs to start some new job or contract, and
+quickly get though that work-flow that caused me to go install the
+program. (_4m15s_)
+
+You know, just simple little one-liners that got committed to memory
+over decades eventually just lead [me] to a sort of "hey, what's going
+on here". (_4m27s_)
+
+And I credit my good friend Jeff Goff who died earlier in 2020 for my
+lifelong love of Emacs. Perhaps Erik and I will talk a little more
+about that at another talk we have scheduled but Jeff was a huge
+influence on us in a number of ways and a huge contributer to the Raku
+programming language which is very cool. (_4m52s_)
+
+So, understanding how to make a good decision about splitting up
+configuration in a way to share it with people with really different
+uses of Emacs. That's actually a complicated topic, and I want to off
+and stare at it for a second: (_5m11s_)
+
+I think Emacs is about people, so that means it is about community.
+And community means we're going to invite disagreement. In fact that
+disagreement isn't necessarily a road-block to our project, in fact
+that some of the work our project can invite us to do is to get closer
+to each other by inviting those disagreements, by learning from people
+of different styles, and from how they argue, and thinking about why
+they have that perspective and what technical benefits that perhaps
+radical point of view might carry away. Some people are really
+aggressive arguers others are very passive and really couch their
+ideas in distancing terms, "well probably this is a good idea" or
+"please double check me". Those don't always indicate how certain a
+person is. Because we're different. We have different ways of
+communicating ideas such as certainty or excitement. (_6m23s_)
+
+When we thinking about a bunch of really diverse programmers
+approaching Emacs probably one of our first really big challenges is
+just to pick what we're going to go after. There are a number of
+existing kit installs and things like this. My argument is that you
+can get pretty far just trading files around. And maybe the more
+value conversation to have is making the hard decisions, e.g. "should
+we have vertical completion", should that be out of the box and those
+that want the traditional splayed-out over a sing line such as the
+mode line will have to add a line to their configuration. (_7m26s)
+
+The way to get there?
+
+How do we find out what works?
+
+We don't want to slow down the people who are super productive with
+Emacs, and ask them to completely break their workflows to make it
+easier for new folks, at the same time we do want to make sure those
+new people. (_7m42s_)
+
+At the same time, we do want to make sure those new people arre
+excited by Emacs and not turned off by having to learn the entire
+jungle of Emacs history in the form of it's unique technical stylings
+in terms of frames, buffers, and other unique Emacs viewpoints on
+interface concepts, especially. (_8m15s_)
+
+The encouragement here is to keep using the project team as a
+crucible. Rather than following the defaults of, um, finding the
+simplest customizations that generally work, what if we tried to look
+for fairly specific configuration that we'll expect basically all of
+our developers to be using, at least when the submit bug
+reports. (_8m48s_)
+
+In particular with this, I think that degree of experimentation can
+drive back into the Emacs development process. In the development
+mailing list.. [] In the context of Emacs development as a greater
+entity, we see this struggle. We have the sense that some things can
+"never" be change. I think one thing that can help us get there is
+evidence that says "hey, my 30-40 person team is using this set of
+bindings and here is what we learned about new Emacs users coming in
+and trying that". (10m)
+
+So let's just recap real quick: in theory Emacs works out of the
+box. That means we are free to throw it all away and start over.
+[trouble with slides, again]
+
+Our goal is to enable users- to unlock our computers, to do as much
+with them as possible. My work of encouragement is experiment with it.
+And think really specifically about how the development users may be
+different from each other, as you are configuring the development
+environment of emacs for developing on a project.
+
+That's my talk, etc, answer any questions.(_12m09s_)
+
+Do you use Emacs as a Community Building Tool? (_13m15s_)
+
+Do /i/ use Emacs a community building tool? Or *how* do I use Emacs as a
+community building tool. [amin: "it doesn't say"]
+
+Yes, absolutely. I think Emacs is an ambassador to the gnu
+tool-chain. in the fullness of time we will see an Emacs that will
+make others, Android and iOS, dream. That's why that mock us and say
+that Emacs is an operating system. It's because it could be, if cared
+for it to be. It's quite a threatening product in terms of the number
+of problem spaces it can address, how many types of users it can
+satisfy. (_13m01s_)
+
+And the things that we can do to make it robust in those environments.
+We're always thinking about the weak points but is Emacs a community
+building tool? Heck yeah. (_13m13s_)
+
+[we agree that I'll write my answers to the remaining questions, I say
+thanks more, and we're done. ps, I'll get to your question or
+comments I can find a response to within the next week, I expect]
diff --git a/2020/info/06.md b/2020/info/06.md
index 11aa1766..1dd97067 100644
--- a/2020/info/06.md
+++ b/2020/info/06.md
@@ -7,6 +7,10 @@ Corwin Brust
Techniques to help new users bootstrap a more gentle introduction to
Emacs, one (short) init.el file at a time.
+[[!inline pages="internal(2020/info/dm-notes)" raw="yes"]]
+
+[[!inline pages="internal(2020/info/06-transcription)" raw="yes"]]
+
<!-- from the pad --->
- Actual start and end time (EST): Start: 2020-11-28T10.45.48; Q&A
diff --git a/2020/info/20.md b/2020/info/20.md
index e97b21cd..38e25268 100644
--- a/2020/info/20.md
+++ b/2020/info/20.md
@@ -18,6 +18,7 @@ Finally, we'll look closely at one especially problematic macro deep
within this solution, and invite people to throw fruit^11^dhelp draw
conclusions, ask questions, and discuss.
+[[!inline pages="internal(2020/info/dm-notes)" raw="yes"]]
<!-- from the pad --->
- Actual start and end time (EST): Start 2020-11-28T16.17.32; Q&A 2020-11-28T16.34; End: 2020-11-28T16.38.32
diff --git a/2020/info/23.md b/2020/info/23.md
index 3fb67867..d2ede631 100644
--- a/2020/info/23.md
+++ b/2020/info/23.md
@@ -1,10 +1,10 @@
# Incremental Parsing with emacs-tree-sitter
Tuấn-Anh Nguyễn
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm"]]
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm"]]
[Download .webm video, 720p, 84M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm"]]
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm"]]
[Download Q&A .webm video, 720p, 153MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm)
Tree-sitter is a parser generator and an incremental parsing library.
@@ -19,8 +19,8 @@ improvements and contribution from the community.
<!-- from the pad --->
-- Actual start and end time (EST): Start: 2020-11-29T09.49.24; Q&A: 2020-11-29T10.13.56; End: 2020-11-29T10.31.44
-
+- Actual start and end time (EST): Start: 2020-11-29T09.49.24; Q&A: 2020-11-29T10.13.56; End: 2020-11-29T10.31.44
+- Slides: <https://ubolonton.org/slides/emacs-tree-sitter-emacsconf2020.pdf>
# Questions
@@ -42,7 +42,7 @@ Core library dynamic module, would be better to be included in core Emacs eventu
## Q17: Is there a link to the slides?
-Yes, will post in IRC later. (FIXME: add link here).
+Yes, will post in IRC later.
Slides: <https://ubolonton.org/slides/emacs-tree-sitter-emacsconf2020.pdf>
@@ -77,6 +77,9 @@ Custom helm code
The usual approach is hoping someone else made a precompiled version for you and download it. Otherwise you'll have to set up a development environment with mingw-msys or whatever.
+- No, both tree-sitter and tree-sitter-langs provide pre-compiled binaries for macOS, Linux, and Windows.
+
+Yes, it should work out-of-the-box on Windows, provided that Emacs was compiled with module support turned on.
## Q11: Is it possible to use this for refactoring too?
@@ -108,6 +111,7 @@ I meant the lisp and user interfaces being unified, not the implementations of t
For the time being it looks like nvim-treesitter also uses the S-exp syntax for queries so it shouldn't be too hard. See <https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/rust/highlights.scm>
+- No effort has been spent on compatibility yet. Each editor has its own existing conventions for highlighting. Having a common set of basic "capture names" is possible, and will require efforts from multiple editor communities. (Emacs and NeoVim for now. The editor that introduced tree-sitter, Atom, hasn't used these queries for highlighting.)
## Q6: Will it ever be possible to write tree-sitter grammars in a Lisp, or will JS be required?
@@ -137,13 +141,13 @@ An obstacle here is Org not having anything anywhere close to a formal grammar,
FIXME: Add link to a emacs-tree-sitter project/snippet for org-mode.
- Not sure if it is what you have in mind, but there is <https://github.com/gagbo/tree-sitter-org>
-
+ - Yes, this is it.
## Q2: Will elisp performance be more competitive with gccemacs enough to make tree-sitter in elisp more attractive? (+1)+1
-The point of this project is to reuse other people's efforts, not rewriting them.
+~~The point of this project is to reuse other people's efforts, not rewriting them.~~
-The garbage collection may still pose some problems and introduce GC latency.
+It's a possibility. In terms of probability, probably not. It's a huge amount of work. The GC latency is also a fundamental issue.
## Q1: Do you think that his package can be included into emacs/GNU ELPA?
@@ -156,8 +160,8 @@ Yes, it is just matter of paperwork.
- Project description: emacs-tree-sitter is an Emacs Lisp binding for tree-sitter, an incremental parsing library.
- <https://github.com/ubolonton/emacs-tree-sitter> (<- bindings)
+ - <https://ubolonton.github.io/emacs-tree-sitter/> (<- documentation)
- <https://tree-sitter.github.io/tree-sitter/> (<- parser)
- Regular expressions are not powerful enough.
- LSP has high latency and is resource intensive, oft.
-- Extended video version will get uploaded eventually after the event. (FIXME: add link)
-
+- An updated video version was uploaded after the event, with the missing introduction to Tree-sitter added.
diff --git a/2020/info/28.md b/2020/info/28.md
index 650084aa..10687165 100644
--- a/2020/info/28.md
+++ b/2020/info/28.md
@@ -27,6 +27,7 @@ are going in human terms, and share some things we've learned so far
from and about Emacs and the free software community working on this
project, while leaving 10-15m for questions and discussion.
+[[!inline pages="internal(2020/info/dm-notes)" raw="yes"]]
<!-- from the pad --->
- Actual start and end time (EST): Start 2020-11-29T13.34.52
diff --git a/2020/info/29.md b/2020/info/29.md
index 62b29552..42430ce0 100644
--- a/2020/info/29.md
+++ b/2020/info/29.md
@@ -68,6 +68,7 @@ Note on github:
The project is transitioning to Savannah. Please watch for
redirects/moved notices when using these links.
+[[!inline pages="internal(2020/info/dm-notes)" raw="yes"]]
<!-- from the pad --->
*This time slot was combined with the previous.* See [[28: Welcome to the Dungeon|/2020/talks/28]] for the video and notes from the pad.
diff --git a/2020/info/33.md b/2020/info/33.md
index 05766957..931fc408 100644
--- a/2020/info/33.md
+++ b/2020/info/33.md
@@ -20,32 +20,45 @@ how to start using maxima within Emacs.
# Questions
## Q9 Is it is possible to include Maxima in org files similar to jupyter notebooks? (Does ob-maxima have support for the :results graphics header argument of org-src blocks?)
-Yes it is, needs more work to be done on it.
+Yes it is, needs more work to be done on it.
+
+Fermin: Right now its not possible to include images in the files, but is a feature that I would love to implement in the future. About the ob-maxima support I'm not so sure.
## Q8 Are you planning to upstream your package into Maxima? (would be nice :)
Don't know about that, can be bit messy. No problem with doing that
though. Running tests might be tricky (CI).
+Fermin: I would love to add the package to the maxima official repository, but I don't know if I can use the gitlab CI/CD from the main repository, if the answer is yes, then It shouldn't be too much trouble.
+
## Q7 In which University do you start to use Maxima?
-University of Zaragoza -
+
+Fermin: I started using maxima in the University of Zaragoza (Spain) -
<https://en.wikipedia.org/wiki/University_of_Zaragoza>
## Q6. Is there support for images in maxima-mode?
-Not as of now.
+
+Fermin: Not yet (as of November 2020).
## Q5: Is Maxima's syntax a strict infix Lisp syntax or are there exceptions and special cases? Yes I mean Maxima itself.
+Fermin: I don't know enough about the maxima implementation to answer the question, sorry.
+
## Q4. Is Maxima easy to get into in your opinion? (has its quirks though!, mailing list is usually helpful)
-Yes, it is.
+
+Fermin: It is! I think that the learning curve is quite easy, and that the manual and documentation are great!
## Q3: Do you plan to amend ob-maxima to support named session for Maxima code blocks in org mode (e.g. begin_src maxima :session **my-maxima**)? (the current implementation supports exactly onesession named **maxima**)
-Yes, want to improve it, will start with it soon.
+
+Fermin: Yes, I want to improve in the future the maxima implementation for org-mode.
## Q2: How does Maxima compare to SageMath in Emacs? does Maxima have more support because it is written in common Lisp whereas SageMath is written in Python?
-Don't known what is SageMath.
+
+Fermin: I don't know about sagemath sorry, but I know that the lispy thing about maxima make it interesting from a hacker stand point, mostly because all the tools that Emacs have for editing Common Lisp.
## Q1: So I am an avid Octave user right now (had a MATLAB lesson in uni and so I knew the basics and it was easy to get into), what would you say are the advantages of Maxima over Octave as from my understanding they are pretty similar. I would be interested in trying it out but I am not sure if its worth it compared to Octave. (Octave is a MATLAB "clone", not meant for analytic calculations, more matrix multiplications etc.)
Don't known Octave much. Found the Octave package hard to understand.
+Fermin: They can be use for similar purposes, but I don't know enough about Octave to recommend maxima first, so I think the best thing to do is to try and see what system fit more in your needs.
+
# Notes
<http://maxima.sourceforge.net/>
diff --git a/2020/info/dm-notes.md b/2020/info/dm-notes.md
new file mode 100644
index 00000000..260ceb18
--- /dev/null
+++ b/2020/info/dm-notes.md
@@ -0,0 +1,13 @@
+# Additional Materials
+<!-- additional materials added 20121206 -->
+<table width="100%">
+<tr><td width=63>Kind</td><td width=63>Target</td><td width=63>Size</td><td><i>Description</i></td></tr>
+<tr><td width=63>org, svg</td><td width=63>tar.gz</td><td width=63>25k</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--notes--erik-elmshauser-corwin-brust.tar.gz">Notes for all talks</a></td></tr>
+<tr><td width=63>demo</td><td width=63>webm</td><td width=63>26m</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--character--erik-elmshauser-corwin-brust.webm">Character Sheet</a></td></tr>
+<tr><td width=63>demo</td><td width=63>webm</td><td width=63>19m</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--sketch--erik-elmshauser-corwin-brust.webm">"Sketch" Map and Tile editor</a></td></tr>
+<tr><td width=63>demo</td><td width=63>webm</td><td width=63>16m</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--battleboard--erik-elmshauser-corwin-brust.webm">Battleboard, damage tracking</a></td></tr>
+<tr><td width=63>demo</td><td width=63>webm</td><td width=63>9m</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--map--erik-elmshauser-corwin-brust.webm">Game Maps, controlling fog-of-war</a></td></tr>
+<tr><td width=63>demo</td><td width=63>gif</td><td width=63>724m</td><td><a href="https://cdn.dungeon-mode.net/emacsconf/emacsconf-2020-one-big.gif">All demos, no overlays</a></td></tr>
+<tr><td width=63>demo</td><td width=63>json</td><td width=63>274K</td><td><a href="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--28-welcome-to-the-dungeon--obs-scenes--erik-elmshauser-corwin-brust.json">OBS scenes</a></td></tr>
+<tr><td width=63>elisp</td><td width=63>www</td><td width=63>&nbsp;</td><td><a href="https://gitlab.com/mplscorwin/dotfiles">Corwin's init files</a></td></tr>
+</table>