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