summaryrefslogblamecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier-autogen.sbv
blob: a133b61d88edefb82325720eb4ba5175576a6fa2 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                       
                                      







                                    
                                    

                       
                                   

                       
                                  

                       
                                        




                       
                                        







                                      
                                        




                            
                                       




                       
                                        










                                      
                                  




                        
                                       










                                  
                                     




                                  
                                     













                                       
                               




                           
                                      










                                       
                                       


























































                                      
                                     
















                                        
                                        

                       
             

                       
                                      

                       
                                     

                       
                        












































































                                        
                                       




                                       
                                     




                               
                                        










                                        
                                     







                                       
                                      

                       
                 






















                                       
                                   




                              
                                      

                       
                                       




                       
                                        























































                                        
                                       

















































                                        
                                        

                       
                              




                                    
                                        
















                                        
                                 










                                       
                                


































                                        
                                   

                       
                            













                                        
                                        

                       
                                       










                                     
                                      











































                                        
                               




                       
                                     




                       
                                        

                       
                                     

                       
                          

                       
                                   




                                        
                                   


































                                        
                                     

                       
                                  







                             
                                      




                       
                                        




                           
                                    

                       
                                   




                       
                                       


























































                                        
                                    




























                                        
                                

                       
                                        

                       
                                       






















                                       
                                      




                       
                                      













                                       
        




















































                                        
                                     




                               
                                      

                       
                         

                       
                                    










                                        
                                 













                                        
                                     





































                                        
                                      

                       
                                       

                       
                       




                               
                                      













                                     
                                 




                           
               




                                 
                                    










                                        
                                   






















                                        
                                        

                       
                                       
















                                        
                                       
























































































                                        
                                  




                         
                        








































                                        
                                     






















                                      
                                      




                                   
                                     




















































                                        
                        










                                        
                                        







                                        
                                       







                                 
                                        
















                                      
                                        




                       
                                        







                                   
                                













                                      
                                       




                          
                                    




                               
                                     







                                       
                                    




                       
                                      




                                       
                                        













                                    
                                       




                         
                                       

                       
                           




                               
                                  




                                      
                                   










                                      
                                        




                                        
                










                                       
                                     













                                      
                                










                                        
                
















                                        
                                   


























































                                        
                                      




                       
                                       











































                                        
                               

                       
                                    




                                       
                               






















                                        
                                      










                                        
                                    




























                                        
                                 

























                                        
                                  




                         
                                        




                                   
                                       

                       
                                    













                                    
                                   

                       
                      













                                       
                  

                       
                                

                       
                       






                                    
0:00:00.000,0:00:03.760
at the end we are right on time so I'm

0:00:02.399,0:00:04.319
sorry if you have a lot of questions

0:00:03.760,0:00:06.960
before

0:00:04.319,0:00:08.559
you had some so many questions and I

0:00:06.960,0:00:10.080
couldn't answer all of them and I'm

0:00:08.559,0:00:11.599
really happy about it but I'm also

0:00:10.080,0:00:12.719
really sad that I don't have enough time

0:00:11.599,0:00:15.040
to do so

0:00:12.719,0:00:17.119
so I'm gonna try to do a better job this

0:00:15.040,0:00:20.240
time of leaving you a little more time

0:00:17.119,0:00:22.960
for the questions so just before

0:00:20.240,0:00:24.400
a little addendum because I did screw up

0:00:22.960,0:00:27.439
in the previous presentation

0:00:24.400,0:00:28.800
you remember I tried to rename the file

0:00:27.439,0:00:31.599
and it didn't work

0:00:28.800,0:00:32.559
well it turns out uh I had two file name

0:00:31.599,0:00:34.480
baz so

0:00:32.559,0:00:36.000
my software works great thank you very

0:00:34.480,0:00:38.800
much uh

0:00:36.000,0:00:40.239
all right so now what I'm gonna do

0:00:38.800,0:00:43.040
during this presentation

0:00:40.239,0:00:44.399
is that I'm going to oops I didn't stop

0:00:43.040,0:00:47.520
my timer just give me

0:00:44.399,0:00:50.719
a little second and let's subtract

0:00:47.520,0:00:52.239
one minute okay good so

0:00:50.719,0:00:54.079
what I'm going to do right now it's a

0:00:52.239,0:00:56.879
little different from the previous

0:00:54.079,0:00:58.239
talk I've gave you and different even

0:00:56.879,0:01:00.480
from what nura gave you

0:00:58.239,0:01:02.399
there's like uh scaling the mountain as

0:01:00.480,0:01:03.359
far as difficulty is concerned and on

0:01:02.399,0:01:04.879
this one

0:01:03.359,0:01:06.799
I will be telling you about the

0:01:04.879,0:01:09.360
technical aspects of orgrim

0:01:06.799,0:01:11.119
because you know I've been telling you

0:01:09.360,0:01:13.119
about the general philosophy

0:01:11.119,0:01:14.560
of the notes and the general philosophy

0:01:13.119,0:01:16.159
of organization

0:01:14.560,0:01:18.479
but right now I really want to get into

0:01:16.159,0:01:22.640
the nitty gritty about or grow

0:01:18.479,0:01:25.759
so if we go in the git repository

0:01:22.640,0:01:27.920
this at the very core is all grown and

0:01:25.759,0:01:28.960
for some of you who have no experience

0:01:27.920,0:01:31.280
whatsoever

0:01:28.960,0:01:32.880
uh developing stuff or programming or

0:01:31.280,0:01:36.000
anything along those lines

0:01:32.880,0:01:36.720
this is how all the development around

0:01:36.000,0:01:40.000
the world

0:01:36.720,0:01:42.159
is working you have a repository a

0:01:40.000,0:01:44.399
git repository where you have all the

0:01:42.159,0:01:46.399
files all the libraries you're using

0:01:44.399,0:01:48.720
all the programs all the commands

0:01:46.399,0:01:52.240
everything is inside your files

0:01:48.720,0:01:53.759
and in a way this is the organ project

0:01:52.240,0:01:55.600
you can see that we have many files we

0:01:53.759,0:01:57.040
have organ buffer capture compat

0:01:55.600,0:02:00.399
completion dailies

0:01:57.040,0:02:02.000
etc etc so

0:02:00.399,0:02:04.079
before we dive a little deeper I just

0:02:02.000,0:02:04.640
want to give you a lay of the land so to

0:02:04.079,0:02:08.160
speak to

0:02:04.640,0:02:11.680
to know where we're heading so

0:02:08.160,0:02:15.599
orgro is built on top of old mode

0:02:11.680,0:02:17.760
and org mode gives us plenty of tools

0:02:15.599,0:02:18.800
to play around with the files I'm moving

0:02:17.760,0:02:20.080
the glass I'm

0:02:18.800,0:02:21.360
I'm starting to move my hands a little

0:02:20.080,0:02:22.959
bit you know when I get excited about

0:02:21.360,0:02:26.640
something I move my hand

0:02:22.959,0:02:29.360
and then that stuff happens so

0:02:26.640,0:02:31.360
in all chrome we have org mode and

0:02:29.360,0:02:33.360
augment gives us plenty of tools which

0:02:31.360,0:02:36.560
are incredibly useful

0:02:33.360,0:02:37.440
for writing stuff so you know we already

0:02:36.560,0:02:39.440
have the links

0:02:37.440,0:02:40.560
we already have the hierarchy which is

0:02:39.440,0:02:43.360
given by having

0:02:40.560,0:02:43.760
trees within trees within trees we have

0:02:43.360,0:02:45.760
uh

0:02:43.760,0:02:48.000
quote blocks we have babel blocks we

0:02:45.760,0:02:49.680
have so much stuff we have an arsenal of

0:02:48.000,0:02:53.519
tools that have been developed

0:02:49.680,0:02:56.640
for the last 15 years and

0:02:53.519,0:02:59.760
when you think about it all chrome just

0:02:56.640,0:03:01.360
wants to create backlinks but it sounds

0:02:59.760,0:03:02.239
something very simple but the problem is

0:03:01.360,0:03:05.519
that we need

0:03:02.239,0:03:06.400
to play nicely with all of those

0:03:05.519,0:03:09.360
intricate

0:03:06.400,0:03:10.879
pieces and the fact is it takes quite a

0:03:09.360,0:03:11.440
lot of expertise to be able to do so

0:03:10.879,0:03:14.400
because

0:03:11.440,0:03:15.200
if right now we are in the brain of all

0:03:14.400,0:03:18.959
grow

0:03:15.200,0:03:21.599
but if I show you the brain of org mode

0:03:18.959,0:03:23.280
so this is the brain of org mode and it

0:03:21.599,0:03:25.519
looks very simple like this because I

0:03:23.280,0:03:28.000
haven't entered the less folder

0:03:25.519,0:03:29.120
but I'm just going to enter it I'm going

0:03:28.000,0:03:32.000
to

0:03:29.120,0:03:32.959
zoom out a little bit don't worry if you

0:03:32.000,0:03:35.519
don't see everything

0:03:32.959,0:03:37.519
but I just want you to get a fear the

0:03:35.519,0:03:41.280
sheer feel of magnitude

0:03:37.519,0:03:42.640
that is um org mode so right now we are

0:03:41.280,0:03:43.760
in a very small size what I'm gonna do

0:03:42.640,0:03:47.519
I'm going to skip

0:03:43.760,0:03:51.040
one page okay one two

0:03:47.519,0:03:52.319
three we have let's just check how many

0:03:51.040,0:03:54.640
lines we have

0:03:52.319,0:03:56.480
okay let me just revert to a fairly

0:03:54.640,0:03:58.560
readable side

0:03:56.480,0:03:59.599
at the bottom you can see that we have

0:03:58.560,0:04:00.959
oh it's not showing because it's a

0:03:59.599,0:04:03.840
little small okay I'm just going to

0:04:00.959,0:04:06.959
resize the window a little bit

0:04:03.840,0:04:08.720
it's not showing up give me a second I

0:04:06.959,0:04:10.159
can't see how many lines I have okay so

0:04:08.720,0:04:11.840
let's do it to get away

0:04:10.159,0:04:14.000
I'm going to go back at the beginning of

0:04:11.840,0:04:16.160
the buffer and we're going to count

0:04:14.000,0:04:17.840
how many lines we have so the bottom in

0:04:16.160,0:04:18.880
a midi buffer and the mini buffer is

0:04:17.840,0:04:22.320
this area

0:04:18.880,0:04:25.919
we have 377 lines

0:04:22.320,0:04:29.759
which means 377

0:04:25.919,0:04:31.520
libraries within org mode and mind you

0:04:29.759,0:04:32.960
that's not counting all the modules that

0:04:31.520,0:04:36.240
we have on the side which

0:04:32.960,0:04:37.360
come on top of volt mode now when you

0:04:36.240,0:04:40.639
try to think

0:04:37.360,0:04:44.400
about something so elemental

0:04:40.639,0:04:45.520
as links you have to think about how to

0:04:44.400,0:04:48.560
play well

0:04:45.520,0:04:50.000
with every single one of these modules

0:04:48.560,0:04:53.759
now obviously not

0:04:50.000,0:04:56.080
the 370 370. sometimes you know

0:04:53.759,0:04:57.680
one module it's not going to do anything

0:04:56.080,0:04:58.639
like I'm not sure op car could be doing

0:04:57.680,0:05:00.080
anything with it

0:04:58.639,0:05:03.039
but it's something that we have to keep

0:05:00.080,0:05:04.720
in mind and so

0:05:03.039,0:05:07.520
really early on when we started

0:05:04.720,0:05:10.080
developing all grown with jethro kwan my

0:05:07.520,0:05:10.639
co-maintainer you know we had this idea

0:05:10.080,0:05:13.520
that

0:05:10.639,0:05:14.639
we wanted to develop something that was

0:05:13.520,0:05:18.240
optimized

0:05:14.639,0:05:20.160
something that would you know scale very

0:05:18.240,0:05:21.600
nicely whether or not you had

0:05:20.160,0:05:24.560
you know something that would work as

0:05:21.600,0:05:27.680
fast if you had 10 files

0:05:24.560,0:05:30.880
or if you had 100 files or if you had

0:05:27.680,0:05:32.080
10 000 files and maybe more so the

0:05:30.880,0:05:34.400
problem when you do this

0:05:32.080,0:05:36.320
and I'm doing some callbacks to the talk

0:05:34.400,0:05:41.280
I gave you earlier today about

0:05:36.320,0:05:44.800
few small few big files this is many

0:05:41.280,0:05:45.919
I got confused few big files versus many

0:05:44.800,0:05:49.280
small files

0:05:45.919,0:05:51.600
the problem with this is that we need to

0:05:49.280,0:05:53.680
think about optimization from the get go

0:05:51.600,0:05:54.800
and so one of the decision we took when

0:05:53.680,0:05:59.199
we got started

0:05:54.800,0:06:02.479
with orgrum is that if I go in my

0:05:59.199,0:06:04.240
test repository so that's the one in

0:06:02.479,0:06:08.000
which we were right before

0:06:04.240,0:06:11.600
we have a file which is called orgrumdb

0:06:08.000,0:06:14.160
now if I open it it's not it's a

0:06:11.600,0:06:15.120
little garbage because uh it's a binary

0:06:14.160,0:06:18.560
but what we have

0:06:15.120,0:06:21.919
is a database with which we communicate

0:06:18.560,0:06:25.120
via sorry it's an sql database

0:06:21.919,0:06:28.479
and what this allows us to do

0:06:25.120,0:06:31.919
is we store all the information we need

0:06:28.479,0:06:34.720
inside this sql database which allows us

0:06:31.919,0:06:35.360
to speed up a lot of the operations that

0:06:34.720,0:06:37.840
are

0:06:35.360,0:06:38.479
necessary for the functioning of our

0:06:37.840,0:06:40.240
ground

0:06:38.479,0:06:41.759
so for instance if I go back to the

0:06:40.240,0:06:43.440
index file that I had before

0:06:41.759,0:06:45.680
let's just go back to who actually this

0:06:43.440,0:06:47.919
way you'll see a little more on the side

0:06:45.680,0:06:48.720
so you see that on the side we have

0:06:47.919,0:06:50.319
whoops

0:06:48.720,0:06:51.759
two links I'm not going to click on them

0:06:50.319,0:06:53.199
otherwise I'm going to open them but we

0:06:51.759,0:06:56.319
have two links

0:06:53.199,0:06:58.240
now there are many implementations of

0:06:56.319,0:07:00.800
the zettol casten method inside

0:06:58.240,0:07:02.400
Emacs and inside and with old mode but

0:07:00.800,0:07:04.639
what we've decided to do

0:07:02.400,0:07:05.520
is that every time you have a link so if

0:07:04.639,0:07:08.479
we go to

0:07:05.520,0:07:09.120
the index again here at point we have

0:07:08.479,0:07:12.400
the link

0:07:09.120,0:07:14.160
foo every time we create a link we

0:07:12.400,0:07:16.800
update our database

0:07:14.160,0:07:17.919
to say okay so we have a link in the

0:07:16.800,0:07:21.080
file

0:07:17.919,0:07:24.319
index which is leading to the file

0:07:21.080,0:07:27.840
fu.org and it is situated

0:07:24.319,0:07:29.840
under the heading a heading and

0:07:27.840,0:07:31.440
if you check the site buffer you see

0:07:29.840,0:07:33.120
that all this all these information

0:07:31.440,0:07:36.720
which I just highlighted to you

0:07:33.120,0:07:36.720
are present right here

0:07:42.639,0:07:46.400
oh well sorry I forgot this thank you

0:07:45.599,0:07:50.879
okay

0:07:46.400,0:07:53.039
so let's see log okay I'm going to split

0:07:50.879,0:07:54.960
actually I'm going to split like this

0:07:53.039,0:07:56.960
I'm going to go back there

0:07:54.960,0:07:58.720
the problem is that I can't show my

0:07:56.960,0:08:02.080
keystrokes at the same time as a machine

0:07:58.720,0:08:03.599
I'm showing the site buffer so I'll

0:08:02.080,0:08:05.199
keep it right now for your own

0:08:03.599,0:08:07.039
discretion anyway getting back to the

0:08:05.199,0:08:10.160
talk

0:08:07.039,0:08:12.720
so the thing is we have this

0:08:10.160,0:08:13.520
sql database and the goal is to keep it

0:08:12.720,0:08:16.400
optimized

0:08:13.520,0:08:17.039
now why is it better optimized than just

0:08:16.400,0:08:20.960
using

0:08:17.039,0:08:23.520
orgrom sorry just using default org mode

0:08:20.960,0:08:24.080
so in my talk about many big files

0:08:23.520,0:08:26.879
versus

0:08:24.080,0:08:28.080
a few I keep getting you know you got

0:08:26.879,0:08:29.120
what I was saying I'm not going to

0:08:28.080,0:08:32.240
repeat it

0:08:29.120,0:08:35.200
by the way it is uh 10 to 10.

0:08:32.240,0:08:36.399
I'm starting really to be tired now so

0:08:35.200,0:08:39.279
uh moving on to

0:08:36.399,0:08:40.800
um what did I want to show you so it was

0:08:39.279,0:08:44.959
almost yes all the elements

0:08:40.800,0:08:47.200
so what I'm going to do I'm going to

0:08:44.959,0:08:48.399
see I believe it's org element pass

0:08:47.200,0:08:51.040
buffer

0:08:48.399,0:08:51.920
so I was telling you about all elements

0:08:51.040,0:08:53.600
before

0:08:51.920,0:08:55.760
and the main command sorry the main

0:08:53.600,0:08:58.560
function that is used by org element

0:08:55.760,0:08:59.760
is pass buffer what it does and you can

0:08:58.560,0:09:01.040
see the dock string is that it

0:08:59.760,0:09:03.279
recursively passed

0:09:01.040,0:09:04.959
the buffer and return structure

0:09:03.279,0:09:06.320
structure being all the information that

0:09:04.959,0:09:07.680
we have in this buffer

0:09:06.320,0:09:09.600
so just to show you a little more we're

0:09:07.680,0:09:10.880
going to move into a scratch buffer

0:09:09.600,0:09:12.800
and what we're going to do is that we're

0:09:10.880,0:09:16.320
going to write this command

0:09:12.800,0:09:17.760
pass buffer and we're going to check the

0:09:16.320,0:09:19.600
output of this command

0:09:17.760,0:09:22.000
oh sorry not this one we're going to go

0:09:19.600,0:09:23.680
in the index so the index file you have

0:09:22.000,0:09:25.120
a title you have a heading you have a

0:09:23.680,0:09:26.880
link etc etc

0:09:25.120,0:09:28.560
so what I'm going to do I'm going to

0:09:26.880,0:09:30.800
evaluate this text

0:09:28.560,0:09:32.560
and now at the bottom in the midi buffer

0:09:30.800,0:09:36.160
in the mini buffer sorry

0:09:32.560,0:09:37.600
you see an ast an abstract

0:09:36.160,0:09:39.839
obviously don't remember what the s

0:09:37.600,0:09:42.720
stands for semantic

0:09:39.839,0:09:43.519
huh interesting anyway a representation

0:09:42.720,0:09:45.279
of the data

0:09:43.519,0:09:47.600
in a way that is exploitable by a

0:09:45.279,0:09:49.839
machine now what I'm going to do

0:09:47.600,0:09:52.000
syntax thank you so what I'm going to do

0:09:49.839,0:09:54.480
I'm going to paste it inside the buffer

0:09:52.000,0:09:56.399
in a way that is humanly readable and

0:09:54.480,0:09:58.800
you can see that we have plenty of

0:09:56.399,0:10:00.560
information we have a section which

0:09:58.800,0:10:05.040
starts at the char

0:10:00.560,0:10:07.040
1 which ends at the character 45

0:10:05.040,0:10:08.240
we have the content so he makes scratch

0:10:07.040,0:10:10.240
oh actually no

0:10:08.240,0:10:11.279
never mind I did something wrong I run

0:10:10.240,0:10:13.040
it in the wrong buffer

0:10:11.279,0:10:14.399
so actually what I'm going to do we're

0:10:13.040,0:10:17.519
going to run this command

0:10:14.399,0:10:21.120
with the selected window next

0:10:17.519,0:10:23.760
window okay that's a bit of live

0:10:21.120,0:10:24.640
elise writing for you right now okay so

0:10:23.760,0:10:26.240
now if I

0:10:24.640,0:10:28.480
evaluate this and paste the content of

0:10:26.240,0:10:31.600
the buffer

0:10:28.480,0:10:32.399
it is doing its bidding so now what we

0:10:31.600,0:10:34.959
have

0:10:32.399,0:10:36.720
we have a section we have the keyword

0:10:34.959,0:10:38.160
title which you see right here you have

0:10:36.720,0:10:39.920
the value

0:10:38.160,0:10:41.360
if we scroll down a little bit we have a

0:10:39.920,0:10:42.480
heading which is right here we have the

0:10:41.360,0:10:44.800
contents

0:10:42.480,0:10:46.320
which should be yes the content is not

0:10:44.800,0:10:48.079
listed exactly here but you have a

0:10:46.320,0:10:50.640
paragraph which is this

0:10:48.079,0:10:51.200
and then you have a link etc etc it is

0:10:50.640,0:10:53.839
all

0:10:51.200,0:10:54.640
uh parenthesis if you're not used to

0:10:53.839,0:10:56.320
e-list

0:10:54.640,0:10:58.640
like right now I've selected only the

0:10:56.320,0:11:00.399
content of the parenthesis link

0:10:58.640,0:11:01.680
I can move like this etcetera etcetera

0:11:00.399,0:11:03.760
I'm not it's not a needle

0:11:01.680,0:11:05.279
lessons that I'm doing right now but

0:11:03.760,0:11:08.399
basically

0:11:05.279,0:11:09.120
if we were to use the default tooling of

0:11:08.399,0:11:10.880
orgrom

0:11:09.120,0:11:12.480
org mode sorry I keep getting too

0:11:10.880,0:11:14.240
confused sorry for that

0:11:12.480,0:11:16.399
uh it would be extremely slow to do what

0:11:14.240,0:11:19.760
we're doing some people

0:11:16.399,0:11:22.240
are doing so some implementations of the

0:11:19.760,0:11:23.040
zettelkassen method inside Emacs have

0:11:22.240,0:11:26.480
opted

0:11:23.040,0:11:27.360
for this method but the problem is that

0:11:26.480,0:11:30.160
we think

0:11:27.360,0:11:30.560
that it scales poorly now some other

0:11:30.160,0:11:33.920
people

0:11:30.560,0:11:35.600
have decided to not do with a database

0:11:33.920,0:11:37.200
and what they do is that they use a tool

0:11:35.600,0:11:38.800
which is called rip grep

0:11:37.200,0:11:41.279
you might know grep which is a tool that

0:11:38.800,0:11:43.440
allows you to search

0:11:41.279,0:11:46.560
a file the content of a file for a line

0:11:43.440,0:11:49.680
so for instance if we open v term here

0:11:46.560,0:11:51.839
uh let's see so I've opened the term I

0:11:49.680,0:11:54.399
am in this repository what I'm going to

0:11:51.839,0:11:58.000
do is that I'm going to

0:11:54.399,0:12:00.480
load the content of the file uh

0:11:58.000,0:12:02.480
how am I going to do this oh um I need

0:12:00.480,0:12:06.160
to move to bash

0:12:02.480,0:12:08.000
let's do crap

0:12:06.160,0:12:09.519
for the line which links do we did we

0:12:08.000,0:12:11.600
have grep foo

0:12:09.519,0:12:13.760
inside the file is it three I can

0:12:11.600,0:12:16.880
remember okay let's do this

0:12:13.760,0:12:16.880
am I working no

0:12:18.079,0:12:22.800
let's go for four why is it eight

0:12:21.279,0:12:24.320
ah damn it oh you know what I'm just

0:12:22.800,0:12:28.240
going to copy the name

0:12:24.320,0:12:33.279
up there we go no

0:12:28.240,0:12:33.279
ah problem with live presentation always

0:12:33.680,0:12:36.720
you know what I'm struggling so I'm

0:12:34.800,0:12:38.560
going to drop this point anyway

0:12:36.720,0:12:40.000
so grep is a simple tool that allows you

0:12:38.560,0:12:42.480
to search the content of a file but

0:12:40.000,0:12:44.160
rig grep is a solution that is written

0:12:42.480,0:12:45.920
in rust and which is supposed to be

0:12:44.160,0:12:48.880
well not supposed which is far more

0:12:45.920,0:12:50.639
capable now

0:12:48.880,0:12:52.320
I'd like to talk to you about the future

0:12:50.639,0:12:54.720
of orgrim right now I've told you about

0:12:52.320,0:12:58.399
the general concept which is about using

0:12:54.720,0:13:01.519
uh this sql database and about

0:12:58.399,0:13:03.279
playing nicely with old mode but

0:13:01.519,0:13:05.200
we think that there's something great

0:13:03.279,0:13:08.320
that we can do about orgrim

0:13:05.200,0:13:10.320
now I've been talking with the a lot of

0:13:08.320,0:13:10.880
people who are behind org mode and you

0:13:10.320,0:13:14.000
know

0:13:10.880,0:13:16.880
they've told us do you think that

0:13:14.000,0:13:18.320
orgrom could have something to bring to

0:13:16.880,0:13:20.160
old mode let's say

0:13:18.320,0:13:21.600
backlinks is there something that we

0:13:20.160,0:13:25.600
could be doing to

0:13:21.600,0:13:27.200
import backlinks into old mode and

0:13:25.600,0:13:29.200
we thought about it with jethro and the

0:13:27.200,0:13:30.800
problem is uh

0:13:29.200,0:13:32.720
we've always tried to have an

0:13:30.800,0:13:35.360
experimental ground a very

0:13:32.720,0:13:36.320
uh can a very isolated portion of your

0:13:35.360,0:13:37.920
system

0:13:36.320,0:13:40.320
where we could track backlinks and

0:13:37.920,0:13:42.320
that's why we use um

0:13:40.320,0:13:44.880
a slipbox directory so that we only

0:13:42.320,0:13:47.040
track backlinks in one specific place

0:13:44.880,0:13:48.639
but now because there seems to be so

0:13:47.040,0:13:50.079
much interest about the method and we

0:13:48.639,0:13:52.480
have so much backing

0:13:50.079,0:13:53.120
on uh you know on github we have like

0:13:52.480,0:13:56.399
200

0:13:53.120,0:13:59.760
2 600 stars which is mind-boggling to us

0:13:56.399,0:14:02.399
because we have so much success but

0:13:59.760,0:14:03.360
we have plenty of ideas about the future

0:14:02.399,0:14:06.000
one of the key

0:14:03.360,0:14:08.480
parts of development being the writing

0:14:06.000,0:14:09.680
of an external parser for orgrim

0:14:08.480,0:14:11.839
so I've been telling you about org

0:14:09.680,0:14:15.279
element org elements runs

0:14:11.839,0:14:19.519
inside Emacs but what if

0:14:15.279,0:14:23.600
we wrote a background process

0:14:19.519,0:14:25.760
that could read a file an augment file

0:14:23.600,0:14:27.440
extract the same type of data that you

0:14:25.760,0:14:30.240
see on your screen right now

0:14:27.440,0:14:30.959
so that we could use to update a

0:14:30.240,0:14:33.279
database

0:14:30.959,0:14:34.959
so that we could use to compute the

0:14:33.279,0:14:37.360
links so that we could use it

0:14:34.959,0:14:39.519
to show you know orgrim server all the

0:14:37.360,0:14:41.360
connections between your nodes

0:14:39.519,0:14:44.320
now there is a path of improvement here

0:14:41.360,0:14:47.360
that is extremely important to us

0:14:44.320,0:14:48.639
but you know that's the technical aspect

0:14:47.360,0:14:50.079
and I'm out of time I'm just going to

0:14:48.639,0:14:51.360
take one more minute to finish on this

0:14:50.079,0:14:54.560
point

0:14:51.360,0:14:57.680
but we believe

0:14:54.560,0:14:58.399
that orgrim has the potential to be a

0:14:57.680,0:15:00.639
think tank

0:14:58.399,0:15:01.920
in a way for org mode and the way we

0:15:00.639,0:15:04.079
think about

0:15:01.920,0:15:06.079
note-taking in general I've stressed a

0:15:04.079,0:15:10.240
great deal in my first presentation

0:15:06.079,0:15:12.480
sorry the one I did before neura that

0:15:10.240,0:15:14.639
all chrome is really great as a way to

0:15:12.480,0:15:17.600
think organically about knowledge

0:15:14.639,0:15:19.279
and honestly we kind of want to put the

0:15:17.600,0:15:22.079
theory into practice with orgrim

0:15:19.279,0:15:23.440
we are holding something which has the

0:15:22.079,0:15:25.120
potential to be

0:15:23.440,0:15:27.279
a great factor of innovation for the

0:15:25.120,0:15:29.600
future whether it be or org mode

0:15:27.279,0:15:31.440
or even for software in general you know

0:15:29.600,0:15:34.880
the way to think about

0:15:31.440,0:15:37.440
build nodes of knowledge in a way

0:15:34.880,0:15:38.240
and the way to represent all those ids

0:15:37.440,0:15:40.560
with the graph

0:15:38.240,0:15:41.600
the way to basically have a note-taking

0:15:40.560,0:15:43.360
system that

0:15:41.600,0:15:45.839
corresponds to the research that

0:15:43.360,0:15:49.120
corresponds to the way you think

0:15:45.839,0:15:51.839
so yeah I believe we are

0:15:49.120,0:15:53.519
really excited about this and if you

0:15:51.839,0:15:55.360
want to keep track of the development of

0:15:53.519,0:15:57.600
all chrome

0:15:55.360,0:15:59.279
I on my youtube channel which is already

0:15:57.600,0:16:02.639
linked a little earlier

0:15:59.279,0:16:04.240
inside this present inside the pad sorry

0:16:02.639,0:16:06.079
I do have a youtube channel where I try

0:16:04.240,0:16:09.519
to present novelties

0:16:06.079,0:16:11.519
or the new stuff inside um orgrim

0:16:09.519,0:16:13.360
but I also be recording videos about the

0:16:11.519,0:16:15.519
technical aspects about the direction

0:16:13.360,0:16:18.000
that we're taking with orgrim

0:16:15.519,0:16:18.560
and if you want to talk with us we are

0:16:18.000,0:16:22.160
always

0:16:18.560,0:16:23.680
available either on isc channel orgrom

0:16:22.160,0:16:25.279
I believe there's a dash between org and

0:16:23.680,0:16:27.279
rome but also

0:16:25.279,0:16:29.440
on the discourse and I'll be putting all

0:16:27.279,0:16:31.199
the links inside the conversation

0:16:29.440,0:16:32.880
and that's me done so thank you for

0:16:31.199,0:16:34.560
listening and now I'll be taking

0:16:32.880,0:16:37.360
three minutes of questions so as to be

0:16:34.560,0:16:39.920
right on time

0:16:37.360,0:16:41.120
mini thanks for your awesome talk leo

0:16:39.920,0:16:43.040
thank you

0:16:41.120,0:16:44.959
so I'm just refreshing the page and I'm

0:16:43.040,0:16:49.279
going to scroll down to my

0:16:44.959,0:16:49.279
talk if I can find the right section

0:16:49.600,0:16:52.720
let me just scroll a little bit

0:16:53.120,0:16:57.120
uh reproducible Emacs no I think it's

0:16:55.600,0:16:59.279
slower

0:16:57.120,0:17:00.639
god we have so many questions so at the

0:16:59.279,0:17:01.120
same time I'm pissed because I can't

0:17:00.639,0:17:02.639
find it

0:17:01.120,0:17:05.360
but I'm really really impressed by the

0:17:02.639,0:17:07.760
number of questions that we had oh yeah

0:17:05.360,0:17:08.260
um which is about I think about line 600

0:17:07.760,0:17:09.919
or so

0:17:08.260,0:17:13.199
[Music]

0:17:09.919,0:17:16.400
yes got it splendid

0:17:13.199,0:17:18.160
so um the questions so why not run a

0:17:16.400,0:17:19.919
background Emacs for passing instead of

0:17:18.160,0:17:22.559
implementing a new parser

0:17:19.919,0:17:24.480
so I believe we've had this question uh

0:17:22.559,0:17:27.600
I was giving a similar talk

0:17:24.480,0:17:31.679
earlier this week and this week

0:17:27.600,0:17:33.280
I'm not french this week sorry and

0:17:31.679,0:17:35.679
someone asked me this question and the

0:17:33.280,0:17:38.320
thing is running a background Emacs

0:17:35.679,0:17:40.400
process you know it sounds great

0:17:38.320,0:17:41.760
but it's also very limited because all

0:17:40.400,0:17:45.520
the problems we have

0:17:41.760,0:17:48.160
about concurrency about threads in Emacs

0:17:45.520,0:17:49.200
well yes we can forward all our calls to

0:17:48.160,0:17:51.760
background Emacs

0:17:49.200,0:17:52.240
just like uh you know when you export a

0:17:51.760,0:17:56.400
file

0:17:52.240,0:17:57.840
with uh um sorry

0:17:56.400,0:17:58.799
I mean could you mute microphone when

0:17:57.840,0:18:01.520
you're speaking it's a little hard for

0:17:58.799,0:18:03.600
me to concentrate

0:18:01.520,0:18:04.640
that's fine don't worry you are now uh

0:18:03.600,0:18:06.960
so um

0:18:04.640,0:18:07.679
dammit where was I I'm sorry the

0:18:06.960,0:18:09.280
question yes

0:18:07.679,0:18:11.840
so basically forwarding all the

0:18:09.280,0:18:13.039
questions uh sorry all our queries to uh

0:18:11.840,0:18:16.000
background Emacs

0:18:13.039,0:18:17.960
that is what uh org export is doing like

0:18:16.000,0:18:20.799
you have the ability to

0:18:17.960,0:18:22.080
asynchronously export latex documents

0:18:20.799,0:18:24.480
odt documents from

0:18:22.080,0:18:26.000
org mode and it uses a very minimal

0:18:24.480,0:18:28.240
version of Emacs to do that but the

0:18:26.000,0:18:30.320
problem is that we think that it's not

0:18:28.240,0:18:33.039
going to scale as well as a true

0:18:30.320,0:18:34.480
genuine background process and since we

0:18:33.039,0:18:36.000
have been talking a lot

0:18:34.480,0:18:38.160
as far as the old mode development is

0:18:36.000,0:18:40.640
concerned about

0:18:38.160,0:18:41.760
writing a proper parser writing a proper

0:18:40.640,0:18:43.440
documentation

0:18:41.760,0:18:46.000
for the passing of old mode file and

0:18:43.440,0:18:48.400
writing a proper document standard

0:18:46.000,0:18:50.000
that says okay this is how the old mode

0:18:48.400,0:18:52.000
format works you know to

0:18:50.000,0:18:55.120
basically have a way to not fall into

0:18:52.000,0:18:56.559
the traps of markdown which has many

0:18:55.120,0:18:58.480
many standards

0:18:56.559,0:19:00.000
we need to think about this and we

0:18:58.480,0:19:01.360
believe that all grown has

0:19:00.000,0:19:03.120
the ability to think about these

0:19:01.360,0:19:04.640
questions and as a

0:19:03.120,0:19:06.400
as a person I'm also really interested

0:19:04.640,0:19:07.840
about this so

0:19:06.400,0:19:10.160
I can take the question I mean so don't

0:19:07.840,0:19:11.760
worry about feeding them to me so how

0:19:10.160,0:19:13.679
often does the

0:19:11.760,0:19:14.799
db index get updated in order to contain

0:19:13.679,0:19:17.360
changes within the

0:19:14.799,0:19:19.440
files so we have two ways either we

0:19:17.360,0:19:22.160
update as soon as you save a file

0:19:19.440,0:19:23.600
or we have a timer which is an idle

0:19:22.160,0:19:25.600
timer which waits okay

0:19:23.600,0:19:26.960
the user has not imputed inputted

0:19:25.600,0:19:29.360
anything in the last

0:19:26.960,0:19:30.080
five seconds so it's time to queue a

0:19:29.360,0:19:33.039
database

0:19:30.080,0:19:33.919
passing a rebuild of the data not a an

0:19:33.039,0:19:37.120
incrementation

0:19:33.919,0:19:38.799
of the database I should say so

0:19:37.120,0:19:40.320
did you ever think of uh I believe I

0:19:38.799,0:19:42.240
have one more one more minutes and then

0:19:40.320,0:19:43.440
I'll hand it to the other folks

0:19:42.240,0:19:45.440
do you ever think of opening up or

0:19:43.440,0:19:47.200
designing the sqldb as a general all

0:19:45.440,0:19:48.160
speed up tool outside of orgrom so that

0:19:47.200,0:19:49.919
other libraries

0:19:48.160,0:19:51.679
that do execute complex queries are able

0:19:49.919,0:19:52.960
to use it well

0:19:51.679,0:19:54.640
a lot of people have been working on

0:19:52.960,0:19:56.480
this and I believe alpha papa has been

0:19:54.640,0:19:57.679
thinking quite a lot about this you know

0:19:56.480,0:20:01.120
all ql

0:19:57.679,0:20:03.679
is the ql stands for language

0:20:01.120,0:20:04.720
and I I can't remember now what's uh

0:20:03.679,0:20:08.080
what's the backend

0:20:04.720,0:20:10.080
is for all ql but the idea is relatively

0:20:08.080,0:20:13.039
relatively the same you know it's about

0:20:10.080,0:20:14.880
finding ways to optimize the way we

0:20:13.039,0:20:16.640
store the data about an old mode file

0:20:14.880,0:20:20.400
and how we retrieve it

0:20:16.640,0:20:22.159
and sql for us seems to seem to be a

0:20:20.400,0:20:24.240
good idea now obviously

0:20:22.159,0:20:26.080
maybe we could do something about old

0:20:24.240,0:20:27.360
mode but the problem is I think a

0:20:26.080,0:20:30.799
background process

0:20:27.360,0:20:32.960
is not necessarily um in

0:20:30.799,0:20:34.000
the core mentality of old mode but it's

0:20:32.960,0:20:36.080
definitely a

0:20:34.000,0:20:37.679
something that we could suggest uh when

0:20:36.080,0:20:40.960
we are a little more mature because well

0:20:37.679,0:20:41.679
orgrom was started last february and so

0:20:40.960,0:20:44.480
it's a fairly

0:20:41.679,0:20:45.840
young project in a way so uh I see

0:20:44.480,0:20:48.400
plenty more questions but

0:20:45.840,0:20:50.559
I'm out of time folks so I'm not sure uh

0:20:48.400,0:20:52.559
the other speaker is probably ready

0:20:50.559,0:20:54.000
so what I'll do is I'll probably try to

0:20:52.559,0:20:55.360
answer your questions when I get the

0:20:54.000,0:20:58.960
time inside the pad

0:20:55.360,0:21:01.039
but feel free to ping me on isc

0:20:58.960,0:21:02.320
or on the different channels we have

0:21:01.039,0:21:04.000
foreground and

0:21:02.320,0:21:05.520
I answer them with you know as much

0:21:04.000,0:21:07.600
energy as I can gather

0:21:05.520,0:21:08.880
all right thank you so much you are now

0:21:07.600,0:21:11.760
unmuted

0:21:08.880,0:21:13.120
thank you again very much leo and that

0:21:11.760,0:21:14.000
was me done for today so you'll see me

0:21:13.120,0:21:15.840
at the end but I'm

0:21:14.000,0:21:17.840
officially done and I am free of

0:21:15.840,0:21:22.640
thoughts I can focus on

0:21:17.840,0:21:27.760
sleeping probably awesome

0:21:22.640,0:21:27.760
all right see you guys later bye bye