summaryrefslogtreecommitdiffstats
path: root/2024/talks/maxima.md
blob: 280d5ac86c003383dd52887ddd6b0e6b021fb1c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[[!meta title="Emacs, eev, and Maxima - now!"]]
[[!meta copyright="Copyright © 2024 Eduardo Ochs"]]
[[!inline pages="internal(2024/info/maxima-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->

# Emacs, eev, and Maxima - now!

Eduardo Ochs - IRC: edrx, <http://anggtwu.net/>, @eduardoochs on Telegram, <mailto:eduardoochs@gmail.com>

[[!inline pages="internal(2024/info/maxima-before)" raw="yes"]]
I teach Calculus in a bad campus of a good federal univeral in
Brazil. The main campus of that university is located in a big city
and has lots of resources, and I work in a small campus, that is in
a small city, and that has few resources - and we get the students
that don't get enough points in the entrance exams to go to better
places. In this presentation I will show how I've been teaching
Maxima, and Emacs, and eev, to my students.

With very few exceptions my students are "beginners" in a sense that
is inconceivable in developed countries - they're not people for
whom things like spreadsheets, Jupyter Notebooks, and VSCode are
"intuitive"... most of them have never seen a terminal in their
lives, and many of them have so little familiarity with computers
that they don't know, for example, that keyboards have a key called
F8.

It turns out that if we _define_ "beginners" in the right way -
hint: not by statistics! - then we can find a way to present Maxima,
and then Emacs and eev, that makes all sense to the "beginners" in
my classes, and that approach lets them install everything and
become (sort of) autonomous very quickly. A few students were able
to install everything - WSL, Debian, Emacs, eev, Maxima - and run
the examples in about one hour; most others took between one hour
and two hours, and some others had to plonked.

<http://anggtwu.net/emacsconf2024.html>

About the speaker:

Eduardo is the author of an Emacs package called eev, that is a way
of creating "executable notes" that apparently makes very little
sense to people in developed countries. In this talk he will show
how he has been using Emacs and eev to teach Maxima to his students
in Brazil, who - with few exceptions - have very little experience
with computers, and who are not the kind of "beginners" for whom
programs like spreadsheets and VSCode are "intuitive".

# Discussion

## Questions

- Q: I'm very happy to find and hear you though, are you on the Mastodon?
  - edrx: no, I never learned to use mastodon (yet)... what is the link?
  - All the different mastodon servers talk to each other. I'm on https://mastodon.sdf.org but there are also others
  - You sound like my friends on https://mathstodon.xyz
- Q: Seeing where you are and how active you are in software freedom, you don't happen to know my friend Gonzalo Nemmi do you?
- Q: Presumably edrx, before I was kind of wondering if eev can do anything magical with ielm, but I'm a bit new to both of those modes.
  - edrx6: I never learned ielm, it looks scary to me
  - ielm is very like slime (but superior)
  - ielm is for elisp and slime is for common lisp though, right?

## Notes and feedback

- hell yeah maxima time (and eev!!) that's what blackboards are for
- Thank you for your talk!
- Yes, thanks for your Maxima talk.
- Interesting talk edrx, thanks!
- dang i spaced out (focused on writing some elisp :) and missed this one.  i'll have to go back & review it, though i'm familiar with transducers from clojure
- Hang on I'm reading your tutorial. But the words executable logs and the bits I've mentally parsed so far look very exciting to me.
  - Sounds a little like Hyperbole or Embark
- whoa...structural navigation... for html and php. this would have been nice when I was in that every day
- edrx: I took a better look at maxima-interface. it's very interesting!!!!
  - Yeah jmbr does great stuff https://superadditive.com
- Haha, typing very slowly and with lots of mistakes is the only way I can understand
  - edrx: I type slowly and I commit mistakes all the time, so interfaces in which the lines that I type get lost - or just go to the history - look painful to me
- my friend jmbr (in cl) has https://sr.ht/~jmbr/maxima-interface/ I'm not sure if it's relevant to your experiences of wanting access to maxima's internals. Basically I guess jmbr made maxima "easy to use" by obscuring its underlying mechanisms and working more ordinarily. Maybe it's the opposite to what you want.
  - edrx: right, sounds like exactly the opposite of what I want...
  - edrx: I'm doing things like this: http://anggtwu.net/lisptree.html
- edrx: screwlisp: I missed the part of your talk in which you explained a certain way to install slime... I need to watch it later
  - Some people are saying to use Sly over Slime now.
  - I remember using sly and not being conscious of the differences for a long time
  - I couldn't make slime work with eev
  - I kinda think of SLIME as the most normal one. I know some people are true believers in lisp-mode and just an *inferior-lisp* buffer. On the other hand, the cool people are meant to use sly.
  - I guess I should rewatch Gavin Freeborn's Sly youtube video or reread the Sly info pages perhaps.
  - You might have noticed my tremendously kloodgy keyboard macro I defined at the start of my talk to pseudo-integrate ielm and an elisp file
  - The sly manual has a comparison of sly and slime: https://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users
- Yeah, I always use customize-variable on package-archives instead of writing elisp code myself in an init.el
- I think sly has stickers? I haven't used stickers myself though for debugging Common Lisp.
  - yes - here: http://anggtwu.net/emacsconf2024.html#0:35
  - stickers allow you to trace expressions with history playback
  - Try evaluating this I guess: (info "(sly) Stickers")
- I will definitely look more into eev edrx2. I often feel confused about this, wanting a buffer that is a replay of what I've been doing in my repl.
- edrx: the best way to try eev nowadays is this one: http://anggtwu.net/2024-find-tryit-links.html
  - edrx: "best" in the sense that if people don't get it running in less than 5 minutes they disappear forever

[[!inline pages="internal(2024/info/maxima-after)" raw="yes"]]

[[!inline pages="internal(2024/info/maxima-nav)" raw="yes"]]