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