summaryrefslogblamecommitdiffstats
path: root/2023/info/unentangling-after.md
blob: 6d11c30e3b58711f993d783a77fe26567dd9d9c1 (plain) (tree)
1
2
3


                                                                

































































































































































































                                                                                                                                                                                              
                                                                                                                                                                                                                   


                                            
<!-- Automatically generated by emacsconf-publish-after-page -->


<a name="unentangling-mainVideo-transcript"></a>
# Transcript (unedited)

[[!template text="""Hello, I'm Alexey Bochkarev, and I'm talking about""" start="00:00:00.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""unentangling projects and repositories,""" start="00:00:04.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""or maybe entangling them, depending on how you look at that.""" start="00:00:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So that's going to be a short workflow note.""" start="00:00:12.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I work as a researcher,""" start="00:00:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so there are three main components to my work, I guess.""" start="00:00:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""First, I think, so I try to come up with new ideas,""" start="00:00:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and that usually results in some collection of notes I have.""" start="00:00:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Second, I try things out, so it usually means that I write code.""" start="00:00:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And third, I communicate, so I prepare papers,""" start="00:00:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""presentations, memos, and so on and so forth.""" start="00:00:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And so the workflow problem I had is""" start="00:00:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""sometimes all this does not really fit""" start="00:00:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""into a concept of a single repository per project,""" start="00:00:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so I might want to have, for example,""" start="00:00:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""a source code in one repository, and then I would like to have a paper""" start="00:00:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""in another one, and then I want to have a collection of notes somewhere""" start="00:01:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""unrelated to those two. And yeah,""" start="00:01:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Emacs is pretty good at supporting your workflows, and I figured I should""" start="00:01:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""share what I use and what works for me.""" start="00:01:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So,""" start="00:01:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""from the technical perspective, things are""" start="00:01:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""pretty easy, so I use a collection of pretty standard components""" start="00:01:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""of Emacs, so it's a projectile org-mode with its capture templates and other""" start="00:01:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""things. Then I sustain a collection of notes in something""" start="00:01:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that is called org-roam, which is, well, essentially, it's a glorified""" start="00:01:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""collection of org-mode files. Then I use directory""" start="00:01:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""local variables, maybe a ctext to jump through the source code,""" start="00:01:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and very, very little Elisp glue to make this""" start="00:01:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""all work, but that's not really rocket science.""" start="00:01:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So that's the workflow I would like to talk about today.""" start="00:01:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So, what I mean by all that,""" start="00:02:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it's pretty straightforward to make""" start="00:02:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it easy to jump around a single repository in Emacs.""" start="00:02:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Now, I have Doom Emacs, but that's not really specific to Doom.""" start="00:02:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""That'll work in any Emacs configuration.""" start="00:02:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Well, kbindings might be""" start="00:02:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""different, but that's not the point, I guess, for the workflow. So, if I hit space""" start="00:02:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""two times, I have all the list of files within my project.""" start="00:02:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So, if I create a couple of custom shortcuts,""" start="00:02:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so if I press a magic button,""" start="00:02:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""hyperlp, don't worry about hyperkey, so I want it to have a""" start="00:02:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""modifier key all to myself, so that would, no program""" start="00:02:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""on my computer would use that except Emacs, and Emacs would""" start="00:02:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""use that only when I tell it to, so I have a hyperkey instead of caps lock, that's pretty easy""" start="00:02:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to do in GNU Linux system. So,""" start="00:02:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""when I press this magic keys, I have a menu that's a normal""" start="00:03:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""kbinding, yeah, essentially in Emacs, and""" start="00:03:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""if I hit, for example, R, I end up in a readme file within""" start="00:03:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""this specific repository I was sitting in, right, so if I want to document something""" start="00:03:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""real quick, I go to the readme file. Then I could have, I could""" start="00:03:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""go to a changelog file, right, so I have a list of changes""" start="00:03:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and the way it works, usually, for example, if I'm working on some code,""" start="00:03:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I created a couple of dummy files in there, so""" start="00:03:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I'm working on some code, and then I implemented something, and I can""" start="00:03:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""just use the org mode capture""" start="00:03:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""mechanisms to keep track of what""" start="00:03:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I want to discuss with colleagues next time, for example, I could just hit""" start="00:03:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""capture repo specific changelog entry""" start="00:03:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and I implemented a feature""" start="00:03:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and I can continue working""" start="00:03:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""without this context switching, and then if I want to go to the changelog,""" start="00:04:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""well, it is there, and next time I talk""" start="00:04:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to the colleagues about the source code, I can open the changelog and go through entries one by one""" start="00:04:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and discuss what I have implemented last time.""" start="00:04:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I could go to project specific""" start="00:04:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to, sorry, to repo specific to-do list, and I have""" start="00:04:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""a list of to-dos that would live within a repository, and""" start="00:04:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""for example, I could have a high-level structure here,""" start="00:04:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""work distribution between team members and other things that sort of face""" start="00:04:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""the world, so to speak, and of course,""" start="00:04:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""there are very many ways to jump through the source code conveniently,""" start="00:04:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I ended up not using language servers, I used a special program called""" start="00:04:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""ctags, and so the way it works is just I call""" start="00:04:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""projectile regenerate tags, and it creates the special""" start="00:04:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""tags file within the repository,""" start="00:04:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and then I can, again, run""" start="00:05:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I usually just hit a single keystroke,""" start="00:05:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and here is all the symbols that are there in my""" start="00:05:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""source code, regardless of the language, right, so I can jump to the main function""" start="00:05:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and that'll be a C++ file, or I could go to the super function, which I""" start="00:05:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""had in my Python file, and this comes in pretty convenient if I have""" start="00:05:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""a mixture of languages, so sometimes I can have some algorithm-specific code""" start="00:05:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""in Julia, and then I can have some Python glue within the same""" start="00:05:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""source code repository, and it makes it really convenient to jump""" start="00:05:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""between all of those, right,""" start="00:05:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""but I have a few problems here,""" start="00:05:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""just to give you a little bit of context, for example, here is the""" start="00:05:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""a real project that corresponds to a real paper,""" start="00:05:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I have a single note about that project,""" start="00:05:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""where I keep all the things related to that project here, but that's a private""" start="00:05:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""note, so for example, again, I hit a special key that""" start="00:06:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""invokes my org-roam function that gives me a menu of my""" start="00:06:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""notes, and so here is the paper,""" start="00:06:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""essentially, and I can have a paper timeline, and I can""" start="00:06:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""have a list of all the dates, what happened to the paper, with links""" start="00:06:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to my email, right, so for example, if I hit this link,""" start="00:06:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that'll open a specific email, and that doesn't work outside of my""" start="00:06:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""computer, it doesn't make any sense to keep it in the outer world-facing""" start="00:06:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""repository, for example, so that's something to myself, right, sometimes I want""" start="00:06:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to have, like, this list of""" start="00:06:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""working notes, right, that contain, like, for example,""" start="00:06:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I might produce this kind of things for internal discussion, right,""" start="00:06:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it has some marks, it has some margin notes, and things like that,""" start="00:06:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""maybe, again, health-based ideas that may or may not end up""" start="00:06:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""in a repository, in a final paper, or in a source code,""" start="00:06:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""but still I want to have it somewhere, and""" start="00:07:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""well, long story short, I need a project folder""" start="00:07:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that would be unrelated to the source code, or""" start="00:07:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to the source code repository, or to the paper itself,""" start="00:07:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""or a final report, right, and one way,""" start="00:07:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""as usual, there are multiple ways to achieve that, I suppose, and one way to do that""" start="00:07:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""is, so, I create""" start="00:07:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""a special folder within my org-roam""" start="00:07:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""storage, so it's a special folder outside of any""" start="00:07:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""repositories that got backed up to my hard drive, with""" start="00:07:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""certain redundancy, but I don't really need, like, version control, full-blown""" start="00:07:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""version control for that, I'm okay with just having a couple of backups, right, so""" start="00:07:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""this is the folder you see here, so pkb stands for personal knowledge""" start="00:07:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""base, and I have a folder, project notes in there, right, so""" start="00:07:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and, how does it work, so I have a""" start="00:07:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""folder per project in there, essentially, and here I can""" start="00:08:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""have all the stuff that is, that kind of belongs to me, and I""" start="00:08:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""do not publish it anywhere, and then""" start="00:08:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""for example, a source code""" start="00:08:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""repository knows about that folder, and a paper repository""" start="00:08:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""knows about that folder, and anything else that might live in separate""" start="00:08:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""places all over my system can know about that folder, and how do I achieve that,""" start="00:08:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""well, essentially, this is one of the use cases for the directory""" start="00:08:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""local variables, right, so, for example,""" start="00:08:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""how does it work from the user perspective, so if I hit a special""" start="00:08:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""key, oh, sorry, if I hit a special key""" start="00:08:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that would be open project""" start="00:08:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and then, for example,""" start="00:08:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""org mode file, right, so this is my personal notes about the emacs conf, not""" start="00:08:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""specifically about this very talk, but I can have, you know,""" start="00:08:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""half-baked ideas here, again, presentation tools, and things like that,""" start="00:09:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and how does that happen if we try to""" start="00:09:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""look at the code, the elisp magic here, what""" start="00:09:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""is happening is, it's just a couple lines of code, in fact, so""" start="00:09:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""let me just press control, help""" start="00:09:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""key, and so the key I was""" start="00:09:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""pressing is open project org mode file, and so""" start="00:09:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""what we see here, there is a single, so it's just a call to a find""" start="00:09:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""file function, so I open that file, and there is a special function that""" start="00:09:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""figures out what is the, like, umbrella""" start="00:09:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""project notes file, and that's, again, that's very easy, so""" start="00:09:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""essentially, if a variable describing this""" start="00:09:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""the name for that project is defined, then""" start="00:09:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I use that as my project folder name, if not, I take the project name from the""" start="00:09:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""project towel, and well, that's pretty much it,""" start="00:09:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and how do I define this""" start="00:10:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""variable is, essentially, there is this""" start="00:10:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""magical file in a folder called dear locals elisp,""" start="00:10:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and I just put it there, and then, whenever I""" start="00:10:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""go into that folder, or any of its children folders, I get this""" start="00:10:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""variable defined, and that's pretty much it, that's how""" start="00:10:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it works for me.""" start="00:10:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I guess one thing that I wanted to emphasize""" start="00:10:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""specifically about that is, of course, it's""" start="00:10:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""time tracking, right, so what I find especially important when I work in""" start="00:10:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""something, and I want to clock time, I usually do not want""" start="00:10:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""this information to be in a source code repository or in a paper repository""" start="00:10:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""because other people I work with will not be particularly happy about that""" start="00:10:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""especially if most of them do not use Emacs, and they will see""" start="00:10:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""this long list of org clocked data, and that doesn't look""" start="00:10:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""nice in a plain text format, so what I usually""" start="00:11:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""do if I want to clock in some time, and then later analyze what I've""" start="00:11:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""been spending time on, so I go to my org mode file""" start="00:11:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and I go to my current project""" start="00:11:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to-dos, and I clock in there, and that's""" start="00:11:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""how it works, so again""" start="00:11:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""what comes in handy if I hit ctrl-o, I just go""" start="00:11:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""back to the file I jumped from, so that's also""" start="00:11:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""pretty handy, so again, no rocket science in there""" start="00:11:35.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so I create a directory local variable that helps me""" start="00:11:39.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to figure out what umbrella project does""" start="00:11:43.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""this particular folder belongs to, and this way""" start="00:11:47.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I make Emacs aware of, for example, facts like so this""" start="00:11:51.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""source code belongs to that project, and this repository with the paper""" start="00:11:55.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""also belongs to that project, and I can have capture templates""" start="00:11:59.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that would save my notes into my private notes""" start="00:12:03.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""file, and my to-dos go to my private note files""" start="00:12:07.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and so on and so forth, so I find it pretty simple, but""" start="00:12:11.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that really helps to reduce this context""" start="00:12:15.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""switching, and I don't believe it allows me to save time""" start="00:12:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""but that probably helps me to stay focused, and this""" start="00:12:23.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""is what is really important, I believe, so thank you""" start="00:12:27.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""very much, and if you have any comments or suggestions to that, please do jump""" start="00:12:31.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""into the discussion, yeah, after the talk, thank you.""" start="00:12:35.000" video="mainVideo-unentangling" id="subtitle"]]

Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20unentangling%3A%20%28Un%29entangling%20projects%20and%20repos)


<!-- End of emacsconf-publish-after-page -->