diff options
author | Sacha Chua <sacha@sachachua.com> | 2020-12-07 14:39:23 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2020-12-07 14:39:23 -0500 |
commit | d650b8383e89835eac7e21147a3244bfef2c8691 (patch) | |
tree | 876eb15eeb1238704b3b5bc6f58024ca846a29a7 /2020/info | |
parent | 3ffdd9c8c76a39607e0ff86999d463ffe4a6e9cb (diff) | |
parent | 2617e07bd8b06e47467a582a9307e40f222585c3 (diff) | |
download | emacsconf-wiki-d650b8383e89835eac7e21147a3244bfef2c8691.tar.xz emacsconf-wiki-d650b8383e89835eac7e21147a3244bfef2c8691.zip |
Merge branch 'master' of git.emacsconf.org:emacsconf-wiki
Diffstat (limited to '')
-rw-r--r-- | 2020/info/06-transcription.md | 183 | ||||
-rw-r--r-- | 2020/info/06.md | 4 | ||||
-rw-r--r-- | 2020/info/20.md | 1 | ||||
-rw-r--r-- | 2020/info/23.md | 24 | ||||
-rw-r--r-- | 2020/info/28.md | 1 | ||||
-rw-r--r-- | 2020/info/29.md | 1 | ||||
-rw-r--r-- | 2020/info/33.md | 25 | ||||
-rw-r--r-- | 2020/info/dm-notes.md | 13 |
8 files changed, 236 insertions, 16 deletions
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> </td><td><a href="https://gitlab.com/mplscorwin/dotfiles">Corwin's init files</a></td></tr> +</table> |