1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
<!-- 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 -->
|