diff options
Diffstat (limited to '')
-rw-r--r-- | 2020/info/16.md | 304 |
1 files changed, 303 insertions, 1 deletions
diff --git a/2020/info/16.md b/2020/info/16.md index e298e06f..dfb3ddda 100644 --- a/2020/info/16.md +++ b/2020/info/16.md @@ -1,8 +1,9 @@ # Org-roam: Presentation, Demonstration, and What's on the Horizon Leo Vivier -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.webm"]] +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.webm" subtitles="/2020/subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.vtt"]] [Download .webm video, 720p, 263MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.webm) +[View transcript](#transcript) Org-roam is a Roam replica built on top of the all-powerful Org-mode. @@ -96,3 +97,304 @@ has some notes about exporting from Org Roam to regular Org <https://karl-voit.at/2020/07/22/org-super-links/>. - "The point is to make consistency of your notes." - YouTube channel: <https://www.youtube.com/user/Zaeph>. + + +<!-- transcript: 2020/subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier.vtt --> + +<a name="transcript"></a> +# Transcript + +Leo Vivier: I'm hoping to keep this talk in 15 minutes. I'll take five +minutes of questions at the end. So, hello again! I suppose you're +starting to get pretty familiar with me and my start(?) right now. +We're getting into the nitty gritty. We started today, I told you +about how I'd ventured from being a user to being a maintainer, and +right now I'm going to get the chance to actually tell you more about +the project that I'm maintaining, which is called org-roam. So even if +I... It would have had a better impact if I didn't scroll the page, +but you know, sadly, I'm out of tea, it's getting late in Europe and +I'm starting to get tired. + +What I'm gonna do during this talk is just to do, really, a survey for +people who do not know what org-roam is about. Some of you might have, +whilst browsing Reddit, found a topic about org-roam and thought to +yourself, "Oh, that looks interesting, but you know, I have my own +workflow and I kinda don't need to change anything about it. I'm +completely fine using my very very large file. Or I'm completely fine +having my database of notes which I've been accruing for 10, 20, 30 +years or so." What I want to do during this talk is both to present to +you what org-roam is about, if you are in this group of people who do +not know what org-roam is about but would like to know more, but also +for people who have close to no experience with Emacs and Org Mode and +who have just found their way. They wanted to find the system to write +their notes, basically, and they discovered this little tool which is +called org-roam, and they'd like to know more about this. + +I've got 13 minutes to convince you to use org-roam. If we go in a +very broad strokes, what is org-roam? org-roam is a way for you to +manage backlinks inside Org Mode. The keyword in what I've just said +is links. Now there is a principle behind org-roam which is called the +Zettelkasten method, which you can see written right there. It's a +German word which means a slip box. If you remember in old libraries, +you had--actually, I believe if I scroll, I should have an example of +this. Yes. So this is a slip box. Basically, in all libraries, you +used to have all the references to the books that the library used to +have inside those boxes. They're called slip boxes because you can +insert stuff into the boxes and you can remove stuff out of the boxes. +Now if I try to summarize as simply as I may what the Zettelkasten +method is about, it's about having a way to work with your notes which +considers elements of knowledge as atoms, as something that is +individual, like a single file. You consider that in order to build +knowledge, you have to combine atoms together, so that when you have +one atom, another atom, if you link them together, you have a complex +thought or a complex molecule. Don't quote me on the chemistry, by the +way. I shall remind you I'm an English major I have no idea what I'm +talking about. + +How does it work as far as a note-taking system is concerned? To do +so, I'm just going to switch really quickly to my Emacs, if I may. So +I'm just going to screenshare onto my Emacs. Just give me a second to +get the windows all right. Okay, it's loading up. Oh no, I think +Firefox has crashed again. Okay, so you're gonna have to give me a +second. I need to figure this out. Okay. So everything is frozen right +now. Just to tell you, so you're gonna have to deal with my lovely +voice. Amin, can you confirm that if I switch to a new (tty?), you can +still hear me? So can you still hear me now? Okay. So I'm gonna have +probably to kill firefox and log in again. I'm sorry. It's gonna cost +us two minutes, but I'm gonna try to be as fast as I can. Okay (Amin: +Okay. No problem, thanks. All right. I guess no event is a good one +without one or two technical difficulties. I guess this is our share +of technical difficulties this year. No problem.) Leo: All right. +Guess who's back? It's not Britney. It's just me, sadly, so you're +gonna have to make do with me. (Amin: Welcome back.) Leo: Well, thank +you. I'm just gonna turn back on the camera, if I may. All righty. I'm +going to make myself a presenter. I'm going to share my screen with +you. So, if my calculations are correct, you should be able to see my +monitor right now. (Amin: Yep, but not your webcam feed.) Not my +webcam feed. Okay. So I'm going to stop it. Sorry for the little +delay, folks. You know, it's... The show must go on. Can you see it +now? (Amin: Not yet.) Leo: Still not? Damn it. Can I stop it? Okay, so +I'm gonna... (Amin: yeah, maybe try like sharing a webcam first.) Leo: +All right, I'm back now. So I'm going to share my webcam first. (Amin: +Okay.) Leo: All righty. So can you confirm whenever you've got my +webcam working? (Amin: Let's see. I don't see it yet, unfortunately.) +Leo: Is it loading up? (Amin: yeah, it's coming up. Yep, I can see +it.) Leo: Awesome. All right. Okay, we're back on track. I've got +still eight minutes left to do, so I might have to have a couple of +minutes to my talk, if you don't mind and shave off some questions. +(Amin: Okay, do you want to share your screen?) Leo: Okay, yeah, I'm +on my way to. All right. So please forget whatever, whichever +technical difficulties we might have had for the last three, four +minutes, but we're back on track now. + +So org-roam: what is it and how does it work? I was telling you all +about atoms and I was telling you about links, but how does it work +concretely? Right now what you're seeing on your screens is a slip +box, which is what we... the fancy word that we use to designate your +folder where all your notes are going to be living. So you have here +(and I hope you can see my cursor; yes you can)... So we have a file +which is called index.org and the good thing is, as you might have +garnered by the fact that it finishes by .org is that it is just an +Org Mode file. I can create a heading. I can create another heading. +everything works as you would expect it to. It is completely... It's +just an Org Mode file at the end of the day. Now, what can we do with +this? I've told you about links. You do know that Org Mode has links. +What we're going to do is that we're going to create a new file. We're +going to go back to our directory. What I'm going to do is that we +have a special command... Actually, let me just show you my command. +It might help you a little bit see what I'm doing. Wait, which is the +buffer... Uh... log mode? Yes. exlog. So now on the right side of the +monitor, you'll be able to see the command that I'm using. If you +don't mind, in order to have as much realistic as possible, I'm going +to make it a little bit shorter. Smaller, I should say. Is it not too +small? Yeah, I believe it's good. + +So what I'm going to do is I'm going to run a command in org-roam +which allows me to create a new note. I'm going to use my keybinding, +which is not this one, definitely, and I'm going to create a new file +which is, in a great tradition of examples in programming, I'm going +to call "foo." Right. So at the bottom--in the bottom buffer, I +should say, you are seeing the file "foo," which is, as you can see +here, a capture buffer just like you would have in Org Mode. Now what +I'm going to do is that I'm going to validate this file and now you +see that we are in the file "foo." The good thing is that I can start +writing without having to worry about anything else. I was going to +say that I'm showing off about my typing skills, but I did make +mistakes, so well, nobody's perfect, right? So now we do have this +"foo" file. We're going to go back to the index. Let's go back to the directory. +We're going to refresh the file. As you can see, we have a file which +is called "foo," and we have the index. So now what I'm going to do is +that I'm going to insert a link to this file. So we're going to run +another org-roam command which you can see here, org-roam-insert, and +I'm going to insert a link to the file "foo." As you can see, it has +now appeared. Now what I'm going to do, I'm going to save the file, +and now I'm going to show you the little thing I told you about-- +backlinks--before. I'm afraid I'm going to have to hide the commands +for now, but don't worry they'll be back. I'm going to show you the +side buffer. It is the buffer that you see on the right side of your +screen. Right now, it's telling you that index does not have any +backlinks, which is normal. But if we follow the link "foo," now you +see something different on the right side. As you can see on the left +side, we're back inside the file "foo," but on the right side, we have +something showing up: one backlink in the file "index." And under the +heading, you have the file-- sorry, the link "foo." You can just open +the link, and you will be brought exactly where it is. So that was one +thing. + +Now just to make sure that you've understood properly, I'm going to go +back to the index. I'm going to create a second file. Now I'm going to +use a command that is slightly different. Let me just show you the +commands on the right. I'm going to run the command org-roam-insert +and I'm going to enter a file which is called "bar." Again, at the +bottom, you can see that I have a new file "bar." I'm going to +validate this file. I'm going to save index.org. Now, if we go in bar, +and if I show you the links on the side, you can see that exactly the +same, we have a link. Now just to make the pictures complete, inside +the file "bar," I'm going to insert a link to "foo." I'm going to +save. I'm going to go to the file "foo." Now on the right side, you +can see that we have two backlinks. Now you're gonna tell me, yeah, +thank you, Leo, but what's the point? Well the thing is it might +sound... it might seem very simple, what I've just shown you, but +programmatically, it's a little hard to do. We have to look into your +files to make sure that every time you link your file somewhere else, +we need to track everything down. + +Now as simple as org-roam might be looking to you, thee thing is what +we try to do with org-roam is to make sure that your collection of +notes remains consistent whatever we do. An example, for instance, +right now I've told you about a file named "foo" and the file named +"bar." Let's say that for whatever reason, you decide to rename your +file "foo" to something very original. Let's just say "bar." So we +actually have a way in Emacs--in org-roam, I should say--when you +modify the title at the top of the file... So we get "foo..." I've +modified it with "baz." You can see at the bottom that right now we +haven't saved and we are still in the file "foo.org." I'm going to +save. Now what you see is a new name for the file. But you may ask, +"Wait a second, in the other file, we had a link to this file. Does it +mean that it's broken? Does it mean that we cannot access the file +anymore?" But when we go there, beginning to go in the index, so +obviously the actual description of the link hasn't been updated, but +if I show you what goes on under the hood by showing you what is +fontified, what is behind the content of the link... Actually, it +didn't work! that's why you never present live, folks, because +otherwise you're just going to show problems with the software and +that's not good. Something must have gone on, obviously. But generally +speaking, the file should have been updated. Damn. I'm showing you +bugging my software. That's not very professional, now is it? +Basically, to come back to the main idea, what we try to do with +org-roam is to make sure that everything remains consistent. We really +much love the system of organization that is behind the Zettelkasten +method. + +Now I was going, at this point of the presentation, basically, I +wanted to go back to Firefox and show you more stuff, but it's likely +that it's going to crash again. I'm not going to tempt the devil. I'm +just going to continue talking to you like that. So the Zettelkasten +method is a very organic way to write notes. If you think... I believe +as Org Mode users, we share quite a lot of features. I'm out of time. +I'm just going to take one more minute to answer this question that +I'm asking myself anyway. But if you're anything like me, you've been +through many iterations of your workflow inside Org Mode. Do I keep +all my professional stuff under one heading, or do I create a separate +file for this? You know, those types of questions on which you could +ponder for many, many hours at night, generally when you have a tight +deadline to be following. But what I've discovered by using org-roam +for taking notes about my academic projects or by taking notes on +anything worth writing about is that not having to worry about the +structure of you files, just having to worry about atoms and links, it +does wonders for the way you think about problems. It does wonders +about your creativity. And it does wonders about your ability to take +your thoughts, put them on a paper, and generally, during this process +you realize, "Oh, maybe I do not know this concept as well as I +should." But I've never had a system which brought me as much +serendipity as this system. And for those who don't know, serendipity +the ability to come up with novel ideas on the spot, contextually. So +this was just a little primer on what org-roam and the Zettelkasten is +about. + +In about 20 minutes, I'll be giving you a talk about the technical +aspects of org-roam, which I'm certain some of you will be very +interested in. Otherwise, I do have a YouTube channel where I try to +record videos where I explain to you what org-roam is about, what the +method is about. I'll just finish on this. I'm two minutes extra time, +sorry. We do know that a lot of people are interested into org-roam. I +mentioned at the very beginning of the presentation that a lot of +people discovered Emacs and org-roam and Org Mode even through +org-roam. We feel that we have a duty to introduce those people, this +new pool of people, most of whom are academic,s into the world of +Emacs and into the world of free software. Right now the thing is +we're not doing a particularly good job at writing manuals. I'm just +going to try to stop sharing my screen, because I'm nearly to the end, +and just try sharing my Firefox windows if it allows me. No, it +doesn't allow me, which is very good. That's why I won't have to to +screw things up. We know that our manual is not fully up to date, but +believe me, one of the key focus right now is making sure that within +two to three months, we have a good tutorial for people to join, and +we have good videos for people to get introduced to the topics we're +covering. And that's me done. So, thank you so much for listening and +now I'll be taking some questions. (Amin: Thank you very much, Leo. +Cheers! We have, I think, about two minutes four questions, I see a +lot of them on the pad. Would you take them?) Leo: Sure. So... Yep I'm +scrolling, I'm scrolling... Getting Things Done, that's Aldric. Still +scrolling. Okay. org-roam. Oh, wow. Okay. So we do have quite a lot of +questions. Please excuse me if I'm answering your questions really +fast, but I just want to make sure that I cover as much ground as +possible. + +"What is the functionality of org-roam-unlinked-references?" +So basically when you have a file that is not linked anywhere, this +function allows you to see... Let's say we have a file "Emacs" and +we've talked about "Emacs" in another note, but we haven't created a +link. What this command do is that it looks into your folder for every +mention of "Emacs" that is not linked to the note "Emacs," and it +prints all the results in the buffer so that you know, "okay, I've +talked about Emacs here, but I didn't create a link. Do I want to +create a link?" That's it. + +"Is it possible to use the backlinks features in regular Org buffers?" +Right now, no. It is not possible. We are having a very controlled +environment which is... I told you about this slip box folder before. +This is where we keep all the notes. The reason why we do this will be +more evident when I go through the technical presentation, but it's +because of optimization. I'll get back to you on that afterwards. + +"Do you make org-roam database accessible across computers?" No, I do +not, because I'm only using my laptop, but plenty of people have had a +lot of success doing so either by sharing the files via syncthing or +by any other method. We have a section in a manual specifying how to +do this. "How do you discover tags' links to add to your new org-roam +note?" There is something that I didn't tell you about which is called +org-roam server, which is a magnificent way to access visually the +notes that you have in your in your system. You'll have to go to the +orgroam.com website. Please go on our Github page. We show everything. +I hope what I've told you has excited you, so please go. Maybe one +more question, two more questions, just to make sure? + +"Is it possible to seamlessly link to other notes with syntax instead +of a keybinding?" Yes, we are working on this. This is a huge project +that we're doing with org-roam which is called link-ux. We're trying +to do something which is very close to Roam Research, which is the +software we're using for inspiration for org-roam. Yes, there are +going to be ways to do this in the future. I'm going to give you a +window of maybe three to four months. One last question. Uh, good on +you, thank you, well, thank you for this. + +"Is there an easy way to export several selected nodes to, say, a +LaTeX file?" LaTeX. Yes. I mean, it's Org Mode. At the very core, it +is Org Mode, so you know you don't... If you want to export to a LaTeX +file, you can... you just use the ox-latex library, which you can +access by pressing C-c C-e for export. + +All right. Is it... I believe I'm... It's all the time I had. Amin, +can you confirm this? Okay. So if you have more questions, don't +worry, I'll be in chat. I'll be answering them. I'm also on on all the +platforms we advertise on org-roam. If you want to reach me, I'm +really easy to reach. Our Github page is always open. So thank you all +for all your questions and all your energy about org-roam. It is very +exciting for me to see all this. but right now, I'll be handing off +the microphone, I should say, to Noorah, who is going to talk to you +about the academic way to use org-roam. I'll be back afterwards with +the technical talk. Thank you. (Amin: Thank you very much, Leo) Leo: +See you later, guys. + +<!-- /transcript --> |