From 8e110e52ca16433829408df9ff56afb2e2a01d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tu=E1=BA=A5n-Anh=20Nguy=E1=BB=85n?= Date: Sun, 6 Dec 2020 13:35:32 +0700 Subject: Talk 23: Update witht additions from the pad --- 2020/info/23.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to '2020/info') 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. -- 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: # 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: @@ -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 +- 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 - + - 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. - (<- bindings) + - (<- documentation) - (<- 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. -- cgit v1.2.3 From 85010a067c196423d1fc181de7884539adb3fdb0 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 6 Dec 2020 11:22:37 -0500 Subject: 2020/info/33: add Fermin's answers (received via email) --- 2020/info/33.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to '2020/info') 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) - ## 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 -- cgit v1.2.3 From 6d2282806886841e90287c1f43d5647d7537acf1 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 18:10:09 -0500 Subject: add notes/demo/etc links for dungen-mode talks --- 2020/info/06.md | 4 ++++ 2020/info/dm-notes.md | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 2020/info/dm-notes.md (limited to '2020/info') diff --git a/2020/info/06.md b/2020/info/06.md index 11aa1766..88c45560 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. +# Additional Materials + +[[!inline pages="internal(2020/info/dm-notes)" raw="yes"]] + - Actual start and end time (EST): Start: 2020-11-28T10.45.48; Q&A diff --git a/2020/info/dm-notes.md b/2020/info/dm-notes.md new file mode 100644 index 00000000..29f2525b --- /dev/null +++ b/2020/info/dm-notes.md @@ -0,0 +1,13 @@ +# Additional Materials + + + + + + + + + + + +
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mmAll demos, no overlays
demojson724mmOBS scenes
elsipwww724mmCorwin's init files
-- cgit v1.2.3 From 6799ffee7702e132fa0009a519c27a2c92fda642 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 18:21:47 -0500 Subject: fix-up dungeon note link table and add to all talks --- 2020/info/20.md | 1 + 2020/info/28.md | 1 + 2020/info/29.md | 1 + 2020/info/dm-notes.md | 16 ++++++++-------- 4 files changed, 11 insertions(+), 8 deletions(-) (limited to '2020/info') 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"]] - 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/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"]] - 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"]] *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/dm-notes.md b/2020/info/dm-notes.md index 29f2525b..1b03900c 100644 --- a/2020/info/dm-notes.md +++ b/2020/info/dm-notes.md @@ -2,12 +2,12 @@ - - - - - - - - + + + + + + + +
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mmAll demos, no overlays
demojson724mmOBS scenes
elsipwww724mmCorwin's init files
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mAll demos, no overlays
demojson274KOBS scenes
elispwww Corwin's init files
-- cgit v1.2.3 From 2b9b548cee3f34b001aef1be63766cd863b95769 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 18:23:44 -0500 Subject: remove stray column in dungeon-mode additional resources links table --- 2020/info/dm-notes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '2020/info') diff --git a/2020/info/dm-notes.md b/2020/info/dm-notes.md index 1b03900c..9d640d76 100644 --- a/2020/info/dm-notes.md +++ b/2020/info/dm-notes.md @@ -1,13 +1,13 @@ # Additional Materials - + - +
KindTargetSizeDescription
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mAll demos, no overlays
demogif724mAll demos, no overlays
demojson274KOBS scenes
elispwww Corwin's init files
-- cgit v1.2.3 From 38b705f6b0697423305dab69fac68026dce53201 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 18:25:25 -0500 Subject: tune column widths on dungeon extras table --- 2020/info/dm-notes.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to '2020/info') diff --git a/2020/info/dm-notes.md b/2020/info/dm-notes.md index 9d640d76..18b185fc 100644 --- a/2020/info/dm-notes.md +++ b/2020/info/dm-notes.md @@ -1,13 +1,13 @@ # Additional Materials - - - - - - - - - - +
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mAll demos, no overlays
demojson274KOBS scenes
elispwww Corwin's init files
+ + + + + + + + +
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet
demowebm19m"Sketch" Map and Tile editor
demowebm16mBattleboard, damage tracking
demowebm9mGame Maps, controlling fog-of-war
demogif724mAll demos, no overlays
demojson274KOBS scenes
elispwww Corwin's init files
-- cgit v1.2.3 From 145dae8d9b4dc3c83564a714b95d923bada17b69 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 18:26:27 -0500 Subject: set main table full width in dungeon-mode links table --- 2020/info/dm-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '2020/info') diff --git a/2020/info/dm-notes.md b/2020/info/dm-notes.md index 18b185fc..260ceb18 100644 --- a/2020/info/dm-notes.md +++ b/2020/info/dm-notes.md @@ -1,6 +1,6 @@ # Additional Materials - +
-- cgit v1.2.3 From 2617e07bd8b06e47467a582a9307e40f222585c3 Mon Sep 17 00:00:00 2001 From: Corwin Brust Date: Sun, 6 Dec 2020 23:37:46 -0500 Subject: trival starter kits (06): add transcription --- 2020/info/06-transcription.md | 183 ++++++++++++++++++++++++++++++++++++++++++ 2020/info/06.md | 4 +- 2 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 2020/info/06-transcription.md (limited to '2020/info') 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 88c45560..1dd97067 100644 --- a/2020/info/06.md +++ b/2020/info/06.md @@ -7,10 +7,10 @@ Corwin Brust Techniques to help new users bootstrap a more gentle introduction to Emacs, one (short) init.el file at a time. -# Additional Materials - [[!inline pages="internal(2020/info/dm-notes)" raw="yes"]] +[[!inline pages="internal(2020/info/06-transcription)" raw="yes"]] + - Actual start and end time (EST): Start: 2020-11-28T10.45.48; Q&A -- cgit v1.2.3
KindTargetSizeDescription
org, svgtar.gz25kNotes for all talks
demowebm26mCharacter Sheet