summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv1707
1 files changed, 1707 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv b/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv
new file mode 100644
index 00000000..46e06548
--- /dev/null
+++ b/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv
@@ -0,0 +1,1707 @@
+0:00:01.680,0:00:08.000
+you are now unmuted
+
+0:00:04.480,0:00:11.280
+okay can you guys hear me yeah
+
+0:00:08.000,0:00:14.480
+can you guys hear me sir yep i can and
+
+0:00:11.280,0:00:17.199
+we're live so take it away okay
+
+0:00:14.480,0:00:18.400
+so um hello everyone my name is ferming
+
+0:00:17.199,0:00:20.960
+i'm a programmer
+
+0:00:18.400,0:00:22.400
+a math student from spain i've been
+
+0:00:20.960,0:00:24.960
+using me e-max for
+
+0:00:22.400,0:00:26.000
+two years now more or less and today i'm
+
+0:00:24.960,0:00:28.320
+going to talk about
+
+0:00:26.000,0:00:29.199
+a maxima computer algebra system in 2
+
+0:00:28.320,0:00:32.239
+max
+
+0:00:29.199,0:00:34.239
+so let's talk about what is maxima
+
+0:00:32.239,0:00:36.079
+well maxim is a system for manipulation
+
+0:00:34.239,0:00:37.920
+of symbolic and numerical expression
+
+0:00:36.079,0:00:39.440
+and it's similar in some regard to
+
+0:00:37.920,0:00:42.160
+octave
+
+0:00:39.440,0:00:45.039
+and it's also free software is derived
+
+0:00:42.160,0:00:47.120
+from the maxima from the 60 from the m80
+
+0:00:45.039,0:00:48.320
+and it's written in common lisp which is
+
+0:00:47.120,0:00:50.719
+a language that i really
+
+0:00:48.320,0:00:51.600
+like i enjoy writing it so for me it's a
+
+0:00:50.719,0:00:55.039
+plus
+
+0:00:51.600,0:00:57.039
+okay so let's talk about the initial
+
+0:00:55.039,0:00:59.280
+support for maxima when i first started
+
+0:00:57.039,0:01:00.320
+using it i looked for support into emacs
+
+0:00:59.280,0:01:03.120
+and i found that
+
+0:01:00.320,0:01:04.640
+there's two major modes in the main
+
+0:01:03.120,0:01:07.200
+repository of maxima
+
+0:01:04.640,0:01:09.280
+for remax the first one is imaxima which
+
+0:01:07.200,0:01:12.000
+i don't know too much about it
+
+0:01:09.280,0:01:13.439
+and the second one is maxima dot l which
+
+0:01:12.000,0:01:16.640
+is the one i took first
+
+0:01:13.439,0:01:18.080
+and it was pretty nice has like a major
+
+0:01:16.640,0:01:21.280
+mode a minor mode
+
+0:01:18.080,0:01:23.040
+a nice ripple but it also has some
+
+0:01:21.280,0:01:25.040
+disadvantage
+
+0:01:23.040,0:01:26.479
+and the first one is that is quite
+
+0:01:25.040,0:01:29.600
+outdated i think
+
+0:01:26.479,0:01:30.960
+it was from the 2007
+
+0:01:29.600,0:01:33.280
+so it's not tested with the current
+
+0:01:30.960,0:01:35.520
+email version and the second one
+
+0:01:33.280,0:01:36.320
+is that it doesn't use modern e-max
+
+0:01:35.520,0:01:38.640
+capability
+
+0:01:36.320,0:01:40.479
+i'm talking for example about the last
+
+0:01:38.640,0:01:44.720
+or more latex preview
+
+0:01:40.479,0:01:46.079
+from the last a max 27.1 i think
+
+0:01:44.720,0:01:47.920
+and that's why is that they know
+
+0:01:46.079,0:01:49.600
+integrated with common third party
+
+0:01:47.920,0:01:51.520
+extension i'm talking about company for
+
+0:01:49.600,0:01:55.360
+example third party
+
+0:01:51.520,0:01:57.280
+yeah you know the alpa melba packages
+
+0:01:55.360,0:01:58.719
+so uh this stock is going to be divided
+
+0:01:57.280,0:02:00.799
+in two parts the first one is going to
+
+0:01:58.719,0:02:03.040
+be how i maximize my date today
+
+0:02:00.799,0:02:03.840
+in max exercise don't worry it's going
+
+0:02:03.040,0:02:06.000
+to be
+
+0:02:03.840,0:02:07.680
+quite easy and the second one is going
+
+0:02:06.000,0:02:10.560
+to be why for the package
+
+0:02:07.680,0:02:13.200
+and the list improvement that i did and
+
+0:02:10.560,0:02:14.480
+a couple of things more maybe the future
+
+0:02:13.200,0:02:16.720
+and where's the package right now if you
+
+0:02:14.480,0:02:19.440
+can use it so
+
+0:02:16.720,0:02:21.360
+let's talk about the workflow so right
+
+0:02:19.440,0:02:23.040
+out of the box it has like an
+
+0:02:21.360,0:02:24.400
+orimal support i didn't write this it
+
+0:02:23.040,0:02:27.680
+was already
+
+0:02:24.400,0:02:30.319
+in emacs
+
+0:02:27.680,0:02:32.720
+so that's pretty nice let's go with a
+
+0:02:30.319,0:02:34.480
+simple example
+
+0:02:32.720,0:02:36.000
+okay so this is an array of three
+
+0:02:34.480,0:02:37.920
+equations and three variables
+
+0:02:36.000,0:02:39.840
+so it's a system that can be solved and
+
+0:02:37.920,0:02:42.560
+the solution is unique
+
+0:02:39.840,0:02:44.120
+um so we're going to solve it right
+
+0:02:42.560,0:02:47.519
+let's go
+
+0:02:44.120,0:02:48.080
+solutions okay here's how you define a
+
+0:02:47.519,0:02:52.400
+variable
+
+0:02:48.080,0:02:52.400
+in it's called solve okay
+
+0:02:52.640,0:03:00.400
+it's called implicit explicit
+
+0:02:56.480,0:03:03.680
+sorry okay and now an array of
+
+0:03:00.400,0:03:05.760
+our variables actually okay
+
+0:03:03.680,0:03:07.599
+so first of all we have to send this
+
+0:03:05.760,0:03:10.400
+variable to the maxima
+
+0:03:07.599,0:03:11.200
+repo with we can do that with ctrl c
+
+0:03:10.400,0:03:14.480
+control c
+
+0:03:11.200,0:03:19.200
+or with the maxima send line
+
+0:03:14.480,0:03:20.560
+okay so let's um let's put the maxima
+
+0:03:19.200,0:03:23.680
+buffer right here
+
+0:03:20.560,0:03:25.360
+okay let's so um
+
+0:03:23.680,0:03:27.040
+right now we can get the solution like
+
+0:03:25.360,0:03:29.360
+this so we call already
+
+0:03:27.040,0:03:30.239
+uh we call this line right now control
+
+0:03:29.360,0:03:31.920
+sequence to c
+
+0:03:30.239,0:03:33.440
+as you can see we get like an array
+
+0:03:31.920,0:03:36.080
+inside an array because
+
+0:03:33.440,0:03:38.799
+uh let's see why we get this so we can
+
+0:03:36.080,0:03:42.239
+call maxima
+
+0:03:38.799,0:03:44.879
+help a point this will open a
+
+0:03:42.239,0:03:46.000
+dock um buffer with all information
+
+0:03:44.879,0:03:48.799
+about the
+
+0:03:46.000,0:03:51.360
+solve function so we can see that this
+
+0:03:48.799,0:03:54.560
+list of solution equations
+
+0:03:51.360,0:03:56.640
+you can see it okay so but we no we know
+
+0:03:54.560,0:03:58.239
+that this system only have one solution
+
+0:03:56.640,0:04:00.400
+so we're only interested in the first
+
+0:03:58.239,0:04:02.080
+one we can do this like pretty easily
+
+0:04:00.400,0:04:05.120
+just to take the first one
+
+0:04:02.080,0:04:06.640
+we can send it to the buffer so this is
+
+0:04:05.120,0:04:09.280
+quite easy example as you can see
+
+0:04:06.640,0:04:10.400
+they have to completion much of the help
+
+0:04:09.280,0:04:12.319
+facilities that we have
+
+0:04:10.400,0:04:14.720
+we can also get information about the
+
+0:04:12.319,0:04:17.440
+symbol for example maxima
+
+0:04:14.720,0:04:17.840
+symbol doc and we get in the and now you
+
+0:04:17.440,0:04:19.840
+can see
+
+0:04:17.840,0:04:20.959
+correctly in the mini buffer all the
+
+0:04:19.840,0:04:24.080
+possible
+
+0:04:20.959,0:04:28.000
+um parameter of the function
+
+0:04:24.080,0:04:31.440
+right so let's continue
+
+0:04:28.000,0:04:34.880
+okay so let's go to a more well
+
+0:04:31.440,0:04:38.560
+complicated example to say oops
+
+0:04:34.880,0:04:42.400
+okay so we have this
+
+0:04:38.560,0:04:43.919
+equation and we want to go from -1 to 5
+
+0:04:42.400,0:04:46.400
+i want to show in a nice
+
+0:04:43.919,0:04:47.759
+graph right first of all we begin
+
+0:04:46.400,0:04:51.759
+sending this line to the
+
+0:04:47.759,0:04:54.880
+maxima ripple hold it button again
+
+0:04:51.759,0:04:56.960
+okay um so this is not ideal if you want
+
+0:04:54.880,0:05:00.160
+to write down this equation because
+
+0:04:56.960,0:05:03.039
+it's quite messy what is when so
+
+0:05:00.160,0:05:04.479
+uh what's thing are where so we can call
+
+0:05:03.039,0:05:07.520
+the function maxima
+
+0:05:04.479,0:05:10.240
+let's say insert form okay
+
+0:05:07.520,0:05:11.280
+and this is more easy this basically put
+
+0:05:10.240,0:05:14.240
+text behind
+
+0:05:11.280,0:05:15.120
+and led or mode to render it and this is
+
+0:05:14.240,0:05:19.039
+quite easy to
+
+0:05:15.120,0:05:22.560
+write down you can use it like in every
+
+0:05:19.039,0:05:23.199
+expression so um first we have to call a
+
+0:05:22.560,0:05:27.280
+library
+
+0:05:23.199,0:05:29.199
+let's load the library library draw
+
+0:05:27.280,0:05:31.520
+we have also completion for local
+
+0:05:29.199,0:05:35.039
+variable and local
+
+0:05:31.520,0:05:38.240
+libraries sorry let me try to finish
+
+0:05:35.039,0:05:40.320
+draw okay and we send the line
+
+0:05:38.240,0:05:42.240
+so right now we have a leverage and we
+
+0:05:40.320,0:05:43.600
+should even have auto completion for the
+
+0:05:42.240,0:05:47.039
+library function
+
+0:05:43.600,0:05:50.400
+okay we have let's call draw2d
+
+0:05:47.039,0:05:51.199
+and now we can call implicit we should
+
+0:05:50.400,0:05:54.400
+have
+
+0:05:51.199,0:05:57.520
+okay and we can i mean put the variable
+
+0:05:54.400,0:05:58.639
+of equations we put the first variable d
+
+0:05:57.520,0:06:02.319
+minus
+
+0:05:58.639,0:06:05.280
+five d five five
+
+0:06:02.319,0:06:06.639
+the v variable the minus five and the
+
+0:06:05.280,0:06:09.680
+five
+
+0:06:06.639,0:06:11.759
+okay it should be all all good so let me
+
+0:06:09.680,0:06:14.639
+try to send it
+
+0:06:11.759,0:06:16.639
+okay you cannot see it right now because
+
+0:06:14.639,0:06:19.360
+i'm just sharing the maxima screen let
+
+0:06:16.639,0:06:23.520
+me try to change that
+
+0:06:19.360,0:06:27.199
+okay um
+
+0:06:23.520,0:06:27.199
+okay can you plot hello
+
+0:06:31.520,0:06:35.440
+okay so this is basically the graph that
+
+0:06:33.919,0:06:38.800
+i can upload generates
+
+0:06:35.440,0:06:41.039
+uh right now it's not integrated into
+
+0:06:38.800,0:06:42.240
+into the maximum package but it's a work
+
+0:06:41.039,0:06:46.000
+in progress
+
+0:06:42.240,0:06:50.160
+so let's go back to emacs
+
+0:06:46.000,0:06:53.520
+uh where are you okay there you are okay
+
+0:06:50.160,0:06:56.639
+okay so um
+
+0:06:53.520,0:06:57.759
+let's continue so uh this is some of the
+
+0:06:56.639,0:07:00.000
+things that you can use
+
+0:06:57.759,0:07:01.919
+for your day-to-day programming in
+
+0:07:00.000,0:07:05.680
+maxima
+
+0:07:01.919,0:07:05.680
+let's go now with the
+
+0:07:05.759,0:07:08.880
+okay as you can see this is just text
+
+0:07:07.360,0:07:11.199
+that is render
+
+0:07:08.880,0:07:13.440
+okay let's go within a slide this is how
+
+0:07:11.199,0:07:14.400
+i use maxima a simple example you don't
+
+0:07:13.440,0:07:16.240
+want to
+
+0:07:14.400,0:07:17.919
+talk too much about it because everyone
+
+0:07:16.240,0:07:19.680
+use the package in a different way
+
+0:07:17.919,0:07:21.039
+so right now i'm going to talk about the
+
+0:07:19.680,0:07:23.520
+original package and
+
+0:07:21.039,0:07:25.120
+the way i change it right so the
+
+0:07:23.520,0:07:27.840
+documentation
+
+0:07:25.120,0:07:29.680
+of the original was great but for me it
+
+0:07:27.840,0:07:31.840
+wasn't embedded in the code
+
+0:07:29.680,0:07:33.599
+it was something sometimes hard to read
+
+0:07:31.840,0:07:36.319
+like it was like a big
+
+0:07:33.599,0:07:37.039
+chunk of comment it gave me all the
+
+0:07:36.319,0:07:40.400
+information
+
+0:07:37.039,0:07:44.240
+like um for me that's too much i prefer
+
+0:07:40.400,0:07:45.360
+a cohesive small comment and then a big
+
+0:07:44.240,0:07:47.759
+redmi will order
+
+0:07:45.360,0:07:48.960
+all the links and information so that's
+
+0:07:47.759,0:07:52.080
+one of the first thing i
+
+0:07:48.960,0:07:52.560
+change um then also completion i'm a big
+
+0:07:52.080,0:07:55.759
+fan
+
+0:07:52.560,0:07:58.639
+i'm used to slime so i'm i love
+
+0:07:55.759,0:08:00.160
+great auto completion so um the first
+
+0:07:58.639,0:08:01.840
+thing that i noticed that well
+
+0:08:00.160,0:08:04.479
+it uses an absolute function i don't
+
+0:08:01.840,0:08:07.039
+know if you can see correctly okay
+
+0:08:04.479,0:08:08.800
+comment dynamic is deprecated and it
+
+0:08:07.039,0:08:10.720
+also have like this
+
+0:08:08.800,0:08:12.720
+variable which is maximus symbol which
+
+0:08:10.720,0:08:16.160
+is basically a big
+
+0:08:12.720,0:08:19.280
+list of all the possible completions so
+
+0:08:16.160,0:08:20.960
+if i load the library it's not aware of
+
+0:08:19.280,0:08:23.039
+the new symbols or even if i
+
+0:08:20.960,0:08:24.240
+create a variable it's not loaded so
+
+0:08:23.039,0:08:26.160
+it's not dynamic
+
+0:08:24.240,0:08:28.319
+so i want the first thing i want is
+
+0:08:26.160,0:08:31.680
+dynamic completion right
+
+0:08:28.319,0:08:34.159
+so i improve it which wasn't that hard
+
+0:08:31.680,0:08:36.080
+i first of all create maximum completion
+
+0:08:34.159,0:08:38.479
+which we're going to see in a moment
+
+0:08:36.080,0:08:39.200
+and then it changes completion region so
+
+0:08:38.479,0:08:41.039
+this is the
+
+0:08:39.200,0:08:43.760
+improved version but the good thing is
+
+0:08:41.039,0:08:45.839
+like i decoupled the completion function
+
+0:08:43.760,0:08:47.600
+so i make that you can use it on your
+
+0:08:45.839,0:08:50.800
+own so you get a prefix
+
+0:08:47.600,0:08:52.560
+which is um like
+
+0:08:50.800,0:08:55.040
+the thing that you're going to also
+
+0:08:52.560,0:08:56.959
+complete you get the inferior process
+
+0:08:55.040,0:08:58.959
+which i'm going to talk about later but
+
+0:08:56.959,0:08:59.760
+basically it's a maxima process you can
+
+0:08:58.959,0:09:01.760
+work with
+
+0:08:59.760,0:09:03.040
+and you get an optional argument which
+
+0:09:01.760,0:09:06.399
+is fuzzy finding
+
+0:09:03.040,0:09:07.200
+okay so you can easily send a block here
+
+0:09:06.399,0:09:10.399
+what
+
+0:09:07.200,0:09:11.440
+uh with the propos which is a maxima
+
+0:09:10.399,0:09:13.839
+command that gets you
+
+0:09:11.440,0:09:14.959
+all the auto completion and then you
+
+0:09:13.839,0:09:18.240
+process the
+
+0:09:14.959,0:09:20.480
+the output and you return a list
+
+0:09:18.240,0:09:21.600
+of possible completion this function can
+
+0:09:20.480,0:09:24.800
+be easily put into
+
+0:09:21.600,0:09:26.640
+company as you can see you just
+
+0:09:24.800,0:09:28.560
+get maximum auxiliary inferior process
+
+0:09:26.640,0:09:32.080
+is a process that just
+
+0:09:28.560,0:09:35.360
+uses sorry i have of
+
+0:09:32.080,0:09:36.480
+all the apropos and the get that symbol
+
+0:09:35.360,0:09:39.440
+it's like uh
+
+0:09:36.480,0:09:41.360
+like you say auxiliary let's help me uh
+
+0:09:39.440,0:09:43.680
+for that dirty stuff
+
+0:09:41.360,0:09:44.640
+so and process manipulation let's talk
+
+0:09:43.680,0:09:46.959
+about
+
+0:09:44.640,0:09:47.920
+how the maxima process was in the
+
+0:09:46.959,0:09:50.720
+beginning
+
+0:09:47.920,0:09:52.560
+so at first it was just one process and
+
+0:09:50.720,0:09:54.560
+you send all of the things there
+
+0:09:52.560,0:09:56.320
+and you move the processor here and
+
+0:09:54.560,0:09:58.160
+there and
+
+0:09:56.320,0:09:59.600
+there was a global state right so all
+
+0:09:58.160,0:10:02.000
+the function depends on
+
+0:09:59.600,0:10:05.120
+variable global variables and i don't
+
+0:10:02.000,0:10:07.680
+like that approach i prefer more like a
+
+0:10:05.120,0:10:09.519
+shirt to say functional like you sense
+
+0:10:07.680,0:10:12.000
+one of things and you return
+
+0:10:09.519,0:10:13.440
+something so it's not like a void
+
+0:10:12.000,0:10:16.399
+function so to say
+
+0:10:13.440,0:10:18.079
+so i change it recipe uh well this is
+
+0:10:16.399,0:10:20.959
+the maxima start function now
+
+0:10:18.079,0:10:22.560
+let's just create a startup process with
+
+0:10:20.959,0:10:23.680
+this function which is maxima make
+
+0:10:22.560,0:10:26.880
+inferior
+
+0:10:23.680,0:10:30.000
+so this function just gets a name
+
+0:10:26.880,0:10:31.519
+and it return a process of maxima and
+
+0:10:30.000,0:10:32.240
+you can then manipulate it the way you
+
+0:10:31.519,0:10:35.600
+want
+
+0:10:32.240,0:10:36.800
+let's see a better version so this is
+
+0:10:35.600,0:10:39.200
+the opposite right this
+
+0:10:36.800,0:10:41.760
+remove an inferior process and delete
+
+0:10:39.200,0:10:43.440
+the process and kill the buffer
+
+0:10:41.760,0:10:45.519
+right so let's give an example because
+
+0:10:43.440,0:10:46.399
+this you can see pretty easily in this
+
+0:10:45.519,0:10:50.079
+example
+
+0:10:46.399,0:10:51.519
+so i want to go to the scratch buffer
+
+0:10:50.079,0:10:54.399
+which i think you can see it better
+
+0:10:51.519,0:10:55.760
+okay so this is the way you can get a
+
+0:10:54.399,0:10:58.320
+process with your name
+
+0:10:55.760,0:11:00.880
+and save it into a variable right let's
+
+0:10:58.320,0:11:02.880
+execute this so as you can see well
+
+0:11:00.880,0:11:03.920
+i don't know if you can see big you get
+
+0:11:02.880,0:11:05.839
+a process
+
+0:11:03.920,0:11:07.040
+let's go to it the process called my
+
+0:11:05.839,0:11:09.519
+maxima
+
+0:11:07.040,0:11:10.079
+as the buffer right and if we can you
+
+0:11:09.519,0:11:12.240
+can send
+
+0:11:10.079,0:11:14.959
+stuff to the process right we can call
+
+0:11:12.240,0:11:16.880
+maximus in block get a block of valid
+
+0:11:14.959,0:11:17.760
+maxima code and just pass the variable
+
+0:11:16.880,0:11:20.800
+the process
+
+0:11:17.760,0:11:21.519
+and we send code to the process right we
+
+0:11:20.800,0:11:23.440
+can
+
+0:11:21.519,0:11:25.760
+this is useful if you have some
+
+0:11:23.440,0:11:28.480
+expensive computation that you want
+
+0:11:25.760,0:11:29.680
+to process laser to say so the process
+
+0:11:28.480,0:11:32.640
+can manage it
+
+0:11:29.680,0:11:33.920
+and when you get the results correctly
+
+0:11:32.640,0:11:34.399
+you can also get the result from the
+
+0:11:33.920,0:11:35.920
+process
+
+0:11:34.399,0:11:38.000
+i mean i don't put it here but quite
+
+0:11:35.920,0:11:41.200
+easy and then you
+
+0:11:38.000,0:11:42.079
+removed in favor which is the way to get
+
+0:11:41.200,0:11:43.600
+rid of the process
+
+0:11:42.079,0:11:45.279
+and the buffer so if we call this
+
+0:11:43.600,0:11:48.399
+function we should get rid of the
+
+0:11:45.279,0:11:49.920
+this process and it works the processing
+
+0:11:48.399,0:11:54.160
+is no longer
+
+0:11:49.920,0:11:56.160
+i'm happy to continue so um
+
+0:11:54.160,0:11:57.680
+other things that improve the package on
+
+0:11:56.160,0:11:59.760
+my commitment during time
+
+0:11:57.680,0:12:01.360
+i'm going good okay another thing that i
+
+0:11:59.760,0:12:02.560
+did to the package was to add
+
+0:12:01.360,0:12:04.959
+continue integration and continue
+
+0:12:02.560,0:12:06.320
+delivery right so the package didn't
+
+0:12:04.959,0:12:09.440
+have any tests
+
+0:12:06.320,0:12:12.959
+and the code was a little bit messy so
+
+0:12:09.440,0:12:16.560
+i add integration a test
+
+0:12:12.959,0:12:19.519
+and test with the test simple framework
+
+0:12:16.560,0:12:20.560
+from rocky bursting the maintainer of
+
+0:12:19.519,0:12:23.279
+real
+
+0:12:20.560,0:12:24.079
+good which is a great package by the way
+
+0:12:23.279,0:12:25.920
+um
+
+0:12:24.079,0:12:28.079
+yeah this is one example of the process
+
+0:12:25.920,0:12:29.760
+so right now because um
+
+0:12:28.079,0:12:31.680
+the infrastructure of the process
+
+0:12:29.760,0:12:33.680
+management is decoupled
+
+0:12:31.680,0:12:35.200
+so i can test it pretty easily this is
+
+0:12:33.680,0:12:37.519
+the test function of the
+
+0:12:35.200,0:12:39.519
+inferior running so i can check if an
+
+0:12:37.519,0:12:41.440
+inferior is running right now
+
+0:12:39.519,0:12:43.200
+and i can just delete it after and get
+
+0:12:41.440,0:12:45.279
+the results
+
+0:12:43.200,0:12:46.959
+and i also did some integration with the
+
+0:12:45.279,0:12:48.639
+party packages the first one company of
+
+0:12:46.959,0:12:50.880
+course i love auto completion
+
+0:12:48.639,0:12:53.839
+the second one was hormone that was
+
+0:12:50.880,0:12:56.880
+already there and latex with the
+
+0:12:53.839,0:13:00.079
+um or logic insert form
+
+0:12:56.880,0:13:02.959
+and with poly mode because um let me
+
+0:13:00.079,0:13:03.680
+evaluate this maxima can understand lisp
+
+0:13:02.959,0:13:06.959
+code
+
+0:13:03.680,0:13:10.000
+well more or less it has like a
+
+0:13:06.959,0:13:11.279
+function so to say that you can send a
+
+0:13:10.000,0:13:13.600
+list command to the
+
+0:13:11.279,0:13:14.480
+maxima rebel and you can understand it
+
+0:13:13.600,0:13:17.839
+in some way so
+
+0:13:14.480,0:13:20.959
+we can go to the maxima poly
+
+0:13:17.839,0:13:22.800
+only maxima right you enable polymaxima
+
+0:13:20.959,0:13:25.519
+and it creates a polymode
+
+0:13:22.800,0:13:26.399
+which this is lisp code and this is
+
+0:13:25.519,0:13:28.639
+maxima code
+
+0:13:26.399,0:13:30.560
+so we can send this to the maxima ripple
+
+0:13:28.639,0:13:34.240
+we come to c control r which
+
+0:13:30.560,0:13:37.760
+it sends the um the current
+
+0:13:34.240,0:13:40.160
+um area region sorry
+
+0:13:37.760,0:13:41.839
+and we define a variable which is called
+
+0:13:40.160,0:13:44.000
+test and as we can see we have the
+
+0:13:41.839,0:13:47.360
+variable test right here so you can
+
+0:13:44.000,0:13:48.079
+program in lisp and you can send it to
+
+0:13:47.360,0:13:50.399
+maxima
+
+0:13:48.079,0:13:51.920
+so this is pretty good pretty nice um
+
+0:13:50.399,0:13:55.040
+working integration with
+
+0:13:51.920,0:13:57.120
+the slime mode and with swank so you can
+
+0:13:55.040,0:13:59.120
+actually have a completion of
+
+0:13:57.120,0:14:00.959
+a function inside the maximal list
+
+0:13:59.120,0:14:02.800
+package but
+
+0:14:00.959,0:14:04.399
+this is going to take quite a while
+
+0:14:02.800,0:14:07.360
+because it's not trivial
+
+0:14:04.399,0:14:09.440
+so um we're the feature of maxima right
+
+0:14:07.360,0:14:11.519
+now well we have fonts highlighting
+
+0:14:09.440,0:14:14.480
+smart indentation uh it was already in
+
+0:14:11.519,0:14:16.880
+the package but now it's quite better
+
+0:14:14.480,0:14:18.160
+great help functions right now i can
+
+0:14:16.880,0:14:20.800
+find the recommendation quite
+
+0:14:18.160,0:14:22.160
+fast and currently the menu integration
+
+0:14:20.800,0:14:23.120
+this is quite basic it needs to be a
+
+0:14:22.160,0:14:25.199
+little bit improved
+
+0:14:23.120,0:14:26.720
+uh latex support also completion the
+
+0:14:25.199,0:14:28.480
+company and maximizer process
+
+0:14:26.720,0:14:29.120
+integration and mini buffer i didn't
+
+0:14:28.480,0:14:32.880
+show you
+
+0:14:29.120,0:14:34.639
+but basically if you call global maxima
+
+0:14:32.880,0:14:36.720
+minor mode you have the minor mode you
+
+0:14:34.639,0:14:38.399
+call maxima mini buffer
+
+0:14:36.720,0:14:40.720
+how are you okay mini buffer you can
+
+0:14:38.399,0:14:42.720
+basically just write simple maxima
+
+0:14:40.720,0:14:45.920
+command and it will give you the result
+
+0:14:42.720,0:14:48.959
+this is like a permanent version of um
+
+0:14:45.920,0:14:50.560
+calc so you can do it you write the
+
+0:14:48.959,0:14:52.320
+command and you get the output uh way
+
+0:14:50.560,0:14:56.079
+more to come i have like a list
+
+0:14:52.320,0:14:58.880
+of issues that i put enhancement a new
+
+0:14:56.079,0:15:01.199
+feature that i'm going to develop
+
+0:14:58.880,0:15:03.120
+so uh the future under presence of the
+
+0:15:01.199,0:15:06.880
+package well the package is right now
+
+0:15:03.120,0:15:10.720
+melpa a melba stable um
+
+0:15:06.880,0:15:13.360
+in this 0.7.6 version
+
+0:15:10.720,0:15:15.279
+and i'm planning to include into the
+
+0:15:13.360,0:15:16.720
+known canoe alpha
+
+0:15:15.279,0:15:18.959
+this is the url of the package by the
+
+0:15:16.720,0:15:20.079
+way so you can if you go to metapod you
+
+0:15:18.959,0:15:22.160
+put maxima and
+
+0:15:20.079,0:15:23.199
+you can download it it doesn't have too
+
+0:15:22.160,0:15:26.639
+much dependencies
+
+0:15:23.199,0:15:27.120
+you aware of that um and thank you very
+
+0:15:26.639,0:15:28.720
+much
+
+0:15:27.120,0:15:30.959
+uh this is going to be my talk these are
+
+0:15:28.720,0:15:33.519
+my uh information
+
+0:15:30.959,0:15:34.000
+this is my gitlab this is my page which
+
+0:15:33.519,0:15:37.120
+i don't
+
+0:15:34.000,0:15:40.240
+love too much and this is my email
+
+0:15:37.120,0:15:41.839
+so um thank you very much and i will be
+
+0:15:40.240,0:15:44.720
+answering some questions right now
+
+0:15:41.839,0:15:44.720
+and happy hacking
+
+0:15:45.600,0:15:52.720
+you are now unmuted thank you very much
+
+0:15:49.600,0:15:55.759
+vermin for the great talk um okay yeah
+
+0:15:52.720,0:15:58.800
+let's see if you have any questions
+
+0:15:55.759,0:16:01.759
+uh yeah i'm reading like this um
+
+0:15:58.800,0:16:04.079
+so i'm a buddy october usually right now
+
+0:16:01.759,0:16:04.079
+okay
+
+0:16:04.560,0:16:08.639
+maxima over october yep there are a
+
+0:16:06.880,0:16:11.519
+couple questions
+
+0:16:08.639,0:16:12.160
+wow maxima we're okay i don't want to i
+
+0:16:11.519,0:16:13.940
+don't know
+
+0:16:12.160,0:16:15.680
+october that much um
+
+0:16:13.940,0:16:17.839
+[Music]
+
+0:16:15.680,0:16:18.880
+like i use it like a couple of times but
+
+0:16:17.839,0:16:24.000
+i'm not happy
+
+0:16:18.880,0:16:27.120
+and i found the octave packets to be
+
+0:16:24.000,0:16:31.519
+quite a little bit harder to understand
+
+0:16:27.120,0:16:33.839
+and also that
+
+0:16:31.519,0:16:35.680
+it didn't have too much features like i
+
+0:16:33.839,0:16:37.839
+prefer the maximum used to
+
+0:16:35.680,0:16:38.880
+maybe octave is better i don't i'm not
+
+0:16:37.839,0:16:40.800
+100 sure
+
+0:16:38.880,0:16:42.079
+i know that you can use it for similar
+
+0:16:40.800,0:16:45.920
+stuff but
+
+0:16:42.079,0:16:45.920
+that's it so sorry
+
+0:16:47.120,0:16:54.079
+okay i'm in a little bit of a rush sorry
+
+0:16:50.959,0:16:56.399
+let me drink a little blue okay
+
+0:16:54.079,0:16:56.399
+okay
+
+0:17:00.639,0:17:08.000
+okay how does maxima compare to sagemath
+
+0:17:05.280,0:17:08.000
+in imax
+
+0:17:08.959,0:17:17.439
+i mean i don't know what is sage
+
+0:17:13.360,0:17:18.079
+math i'm sorry um so i cannot answer
+
+0:17:17.439,0:17:21.839
+your question
+
+0:17:18.079,0:17:25.039
+with your question i think um
+
+0:17:21.839,0:17:26.720
+sorry but i mean maxima is ready in
+
+0:17:25.039,0:17:28.000
+combo list that's just a preference for
+
+0:17:26.720,0:17:31.120
+me because i like
+
+0:17:28.000,0:17:35.520
+lisp dialect and common lisp is
+
+0:17:31.120,0:17:35.520
+interesting um
+
+0:17:36.400,0:17:42.720
+yeah do you plan to
+
+0:17:40.480,0:17:43.840
+i mean a maximum organization for maxima
+
+0:17:42.720,0:17:47.360
+code block
+
+0:17:43.840,0:17:50.720
+yes i want to improve the um
+
+0:17:47.360,0:17:52.000
+of maxima package but i didn't have
+
+0:17:50.720,0:17:54.400
+enough time and i want to
+
+0:17:52.000,0:17:57.200
+clear a little bit of the code because
+
+0:17:54.400,0:17:57.200
+still right now
+
+0:17:58.000,0:18:02.080
+the code is quite messy in some areas
+
+0:18:00.080,0:18:03.520
+because i pretty much implement first
+
+0:18:02.080,0:18:05.600
+the base function i want to
+
+0:18:03.520,0:18:07.120
+build on top of so right now it's quite
+
+0:18:05.600,0:18:07.919
+usable but i still have something that i
+
+0:18:07.120,0:18:11.120
+want to improve
+
+0:18:07.919,0:18:14.799
+so when i finish that i will
+
+0:18:11.120,0:18:16.640
+improve the normal version i think
+
+0:18:14.799,0:18:18.640
+it's maximizing to get into into your
+
+0:18:16.640,0:18:21.200
+opinion yes i
+
+0:18:18.640,0:18:21.919
+i think that the creator of maxima like
+
+0:18:21.200,0:18:26.400
+have this
+
+0:18:21.919,0:18:26.400
+lisp mine and probably
+
+0:18:26.640,0:18:30.559
+that they if you go to a symbol you get
+
+0:18:29.520,0:18:33.520
+all the information
+
+0:18:30.559,0:18:36.480
+and that reflects that you can actually
+
+0:18:33.520,0:18:40.000
+write your program of maxima into
+
+0:18:36.480,0:18:40.799
+um into lisp literally because they have
+
+0:18:40.000,0:18:42.480
+a command
+
+0:18:40.799,0:18:44.880
+so i think that is quite easy to get
+
+0:18:42.480,0:18:48.240
+into some university use it for
+
+0:18:44.880,0:18:51.200
+um first um
+
+0:18:48.240,0:18:53.039
+years so it's quite easy and i think
+
+0:18:51.200,0:18:56.640
+with my package you can use it
+
+0:18:53.039,0:18:58.960
+like pretty pretty easily just create a
+
+0:18:56.640,0:19:00.880
+file and you can start typing and
+
+0:18:58.960,0:19:04.400
+maximize quite easy to install also
+
+0:19:00.880,0:19:07.600
+so i think yeah it's crazy and
+
+0:19:04.400,0:19:10.080
+the page should restart i don't know why
+
+0:19:07.600,0:19:10.080
+sorry
+
+0:19:18.320,0:19:25.440
+strict in fixed lisp syntax
+
+0:19:22.559,0:19:26.240
+you're talking about the maxima itself
+
+0:19:25.440,0:19:27.760
+syntax
+
+0:19:26.240,0:19:30.160
+or i don't understand the question
+
+0:19:27.760,0:19:30.160
+correctly
+
+0:19:32.240,0:19:35.440
+well i'm going to go to the next
+
+0:19:33.679,0:19:37.360
+question is there
+
+0:19:35.440,0:19:38.880
+support for images in maximum mode not
+
+0:19:37.360,0:19:43.840
+right now
+
+0:19:38.880,0:19:43.840
+the way i want to implement some imax
+
+0:19:45.280,0:19:51.280
+things uh is there support for
+
+0:19:49.120,0:19:53.360
+but right now it doesn't have like a if
+
+0:19:51.280,0:19:55.600
+you could want to have a new plot
+
+0:19:53.360,0:19:56.720
+um inside you buffer right now it's not
+
+0:19:55.600,0:19:59.360
+possible so
+
+0:19:56.720,0:20:01.200
+that's the thing that i maximized that
+
+0:19:59.360,0:20:03.520
+maxima.l still doesn't
+
+0:20:01.200,0:20:04.720
+do which university you start to use
+
+0:20:03.520,0:20:08.799
+maxima um
+
+0:20:04.720,0:20:11.840
+in this aragosa university from spain
+
+0:20:08.799,0:20:12.640
+they used to maximize the um thing in
+
+0:20:11.840,0:20:16.400
+the engineer
+
+0:20:12.640,0:20:18.320
+and in the math also so i'm 100 sure
+
+0:20:16.400,0:20:19.679
+right now but when i started
+
+0:20:18.320,0:20:22.559
+are you planning to option your package
+
+0:20:19.679,0:20:25.440
+into maxima um i don't know about that
+
+0:20:22.559,0:20:26.320
+because uh maybe can be a little bit
+
+0:20:25.440,0:20:30.720
+messy
+
+0:20:26.320,0:20:32.960
+um because the maxima ripple is more
+
+0:20:30.720,0:20:33.360
+built around like maxima itself and they
+
+0:20:32.960,0:20:37.600
+don't
+
+0:20:33.360,0:20:42.240
+update the interfaces that much
+
+0:20:37.600,0:20:45.360
+i have no problem like it's okay it just
+
+0:20:42.240,0:20:46.320
+you have to um if you want to push you
+
+0:20:45.360,0:20:48.480
+can push in other
+
+0:20:46.320,0:20:49.520
+repository i mean it's just changed the
+
+0:20:48.480,0:20:52.880
+file another way
+
+0:20:49.520,0:20:54.080
+but also the test um is going to be a
+
+0:20:52.880,0:20:55.200
+little bit harder because i think
+
+0:20:54.080,0:20:59.120
+they're using
+
+0:20:55.200,0:21:01.200
+search for and i'm using
+
+0:20:59.120,0:21:02.159
+git lab continue integration within the
+
+0:21:01.200,0:21:06.799
+jury
+
+0:21:02.159,0:21:09.679
+so yeah i don't think that now unmuted
+
+0:21:06.799,0:21:09.679
+yeah it will be nice
+
+0:21:10.799,0:21:14.840
+okay um it's possible to include
+
+0:21:12.799,0:21:16.480
+maximizing or false similar to jupiter
+
+0:21:14.840,0:21:19.919
+notebooks
+
+0:21:16.480,0:21:23.280
+um i mean you can uh use maximize your
+
+0:21:19.919,0:21:26.320
+or files and you have maximum l mod
+
+0:21:23.280,0:21:31.520
+integrated and you can like create put
+
+0:21:26.320,0:21:34.400
+that code into a buffer and then
+
+0:21:31.520,0:21:36.159
+uh edited correctly but it is now not it
+
+0:21:34.400,0:21:37.679
+doesn't have like all the features like
+
+0:21:36.159,0:21:40.480
+other languages because
+
+0:21:37.679,0:21:42.320
+right now uh as my understanding is
+
+0:21:40.480,0:21:45.440
+quite basic so i still have some
+
+0:21:42.320,0:21:47.679
+still needs some some stuff some work
+
+0:21:45.440,0:21:47.679
+around
+
+0:21:47.919,0:21:51.760
+okay i think that's it
+
+0:21:52.320,0:21:55.440
+you are now unmuted
+
+0:21:56.320,0:22:01.919
+yep so that's it uh thank you very much
+
+0:21:59.600,0:22:04.640
+fermin for your live talk and for you
+
+0:22:01.919,0:22:07.679
+know the live q a
+
+0:22:04.640,0:22:09.840
+thank you all amazing uh max conf
+
+0:22:07.679,0:22:10.720
+cheers thank you it's thanks to you all
+
+0:22:09.840,0:22:16.240
+you guys
+
+0:22:10.720,0:22:16.240
+it's awesome okay thank you cheers bye
+
+0:22:16.840,0:22:19.840
+bye
+