summaryrefslogtreecommitdiffstats
path: root/2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt')
-rw-r--r--2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt775
1 files changed, 775 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt b/2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt
new file mode 100644
index 00000000..f6f39af7
--- /dev/null
+++ b/2021/captions/emacsconf-2021-cs--one-effective-cs-grad-student-workflow--greg-coladonato--main.vtt
@@ -0,0 +1,775 @@
+WEBVTT
+
+00:00.000 --> 00:00:01.520
+My name is Greg Coladonato,
+
+00:00:01.520 --> 00:00:03.199
+and this is my presentation named
+
+00:00:03.199 --> 00:00:04.560
+One Effective Computer Science
+
+00:00:04.560 --> 00:00:06.480
+Grad Student Workflow.
+
+00:06.480 --> 00:00:07.680
+For self-introduction,
+
+00:00:07.680 --> 00:00:09.599
+I've been an Emacs user since 1989
+
+00:00:09.599 --> 00:00:11.599
+when I was an undergrad in computer science,
+
+00:00:11.599 --> 00:00:13.040
+and I'm still an Emacs user
+
+00:00:13.040 --> 00:00:15.280
+now I'm getting a master's of science
+
+00:00:15.280 --> 00:00:16.880
+in computer science.
+
+00:16.880 --> 00:00:17.760
+In my day job,
+
+00:00:17.760 --> 00:00:19.199
+I work in product management
+
+00:00:19.199 --> 00:00:20.640
+in a Silicon Valley
+
+00:00:20.640 --> 00:00:21.840
+computer vision startup,
+
+00:00:21.840 --> 00:00:22.880
+and I'm proud to say
+
+00:00:22.880 --> 00:00:25.039
+I've been submitting my first PRs
+
+00:00:25.039 --> 00:00:27.038
+to open source projects this year.
+
+00:27.039 --> 00:00:29.199
+The goals of my workflow are first
+
+00:00:29.199 --> 00:00:30.800
+to make my notes easily accessible
+
+00:00:30.800 --> 00:00:33.280
+and searchable.
+
+00:33.280 --> 00:00:34.800
+Second goal, provide a way for me
+
+00:00:34.800 --> 00:00:36.480
+to permanently remember what I learned,
+
+00:00:36.480 --> 00:00:38.879
+and thirdly, to enable conceptual linking
+
+00:38.879 --> 00:00:40.480
+between related topics and entities.
+
+00:00:40.480 --> 00:00:41.920
+I'll give examples of each of these
+
+00:00:41.920 --> 00:00:43.119
+as we go along.
+
+00:00:43.120 --> 00:00:45.120
+The requirements of my workflow:
+
+00:45.120 --> 00:00:47.920
+it needs to be tightly integrated with PDFs,
+
+00:00:47.920 --> 00:00:50.399
+as most of the documents I get from grad school
+
+00:00:50.399 --> 00:00:51.440
+are in PDF form,
+
+00:00:51.440 --> 00:00:53.760
+most of my submissions of work
+
+00:00:53.760 --> 00:00:54.719
+are in PDF form,
+
+00:00:54.719 --> 00:00:56.640
+and most research papers I have access to
+
+00:00:56.640 --> 00:00:58.399
+are in PDF form as well.
+
+00:58.399 --> 00:01:00.320
+I want my workflow to be subscription-free.
+
+00:01:00.320 --> 00:01:01.840
+I do not want to be locked into
+
+01:01.840 --> 00:01:03.120
+paying a subscription
+
+00:01:03.120 --> 00:01:04.799
+just to read my own notes.
+
+00:01:04.799 --> 00:01:06.720
+It must be future proof.
+
+00:01:06.720 --> 00:01:09.600
+I have used note-taking systems in the past
+
+01:09.600 --> 00:01:12.960
+that I now no longer have a way to decode,
+
+00:01:12.960 --> 00:01:14.640
+so they're locked into some format
+
+00:01:14.640 --> 00:01:17.200
+that I can no longer use.
+
+01:17.200 --> 00:01:19.119
+I want my notes to be version-controlled,
+
+01:19.119 --> 00:01:20.479
+so that if I make a big mistake,
+
+00:01:20.479 --> 00:01:22.080
+I can undo and revert
+
+00:01:22.080 --> 00:01:23.840
+to a prior good version,
+
+01:23.840 --> 00:01:27.680
+and I want my system to use spaced repetition,
+
+00:01:27.680 --> 00:01:29.520
+which is an advanced method
+
+00:01:29.520 --> 00:01:31.840
+of learning things over time
+
+00:01:31.840 --> 00:01:33.999
+so that you don't forget them.
+
+01:34.000 --> 00:01:36.799
+The package dependencies, in brief.
+
+00:01:36.799 --> 00:01:38.960
+org-mode, org-roam, org-roam-bibtex,
+
+00:01:38.960 --> 00:01:42.719
+pdf-tools, org-noter and org-ref.
+
+01:42.720 --> 00:01:45.119
+And now let's get on to some demos.
+
+01:45.119 --> 00:01:47.520
+Here in my browser window here
+
+00:01:47.520 --> 00:01:49.680
+is a lecture in the course
+
+00:01:49.680 --> 00:01:51.840
+I'm currently taking on deep learning.
+
+01:51.840 --> 00:01:54.240
+It's very nice that the professor
+
+01:54.240 --> 00:01:55.759
+provides slides. So this is
+
+00:01:55.759 --> 00:02:00.000
+the 54-page PDF file of the slides
+
+00:02:00.000 --> 00:02:02.079
+for the lecture. The problem is,
+
+00:02:02.079 --> 00:02:03.200
+it's hard to take notes on them.
+
+00:02:03.200 --> 00:02:04.560
+It's impossible to take notes on them
+
+00:02:04.560 --> 00:02:05.840
+here in this browser,
+
+00:02:05.840 --> 00:02:07.840
+as far as I know. So what I've done is
+
+00:02:07.840 --> 00:02:11.440
+I've incorporated these slides as a PDF
+
+02:11.440 --> 00:02:12.959
+in org-roam, which...
+
+00:02:12.959 --> 00:02:16.640
+I will now visit this file
+
+00:02:16.640 --> 00:02:19.120
+and you can bring it up alongside the PDF
+
+00:02:19.120 --> 00:02:20.560
+I was just looking at here.
+
+00:02:20.560 --> 00:02:23.200
+So what i like about this system is,
+
+02:23.200 --> 00:02:24.800
+as I'm going through and reading
+
+02:24.800 --> 00:02:26.720
+watching the video of the lecture,
+
+00:02:26.720 --> 00:02:29.599
+I'm following along in the PDF notes here,
+
+02:29.599 --> 00:02:31.680
+and I'm taking my notes alongside them.
+
+02:31.680 --> 00:02:34.400
+So here's the first part of that lecture.
+
+02:34.400 --> 00:02:36.319
+You can't see at the bottom right now,
+
+00:02:36.319 --> 00:02:38.800
+but this is one of the earlier pages.
+
+00:02:38.800 --> 00:02:42.400
+I go to the second section here
+
+00:02:42.400 --> 00:02:45.040
+and you see that my notes
+
+00:02:45.040 --> 00:02:46.640
+for this part of the lecture,
+
+02:46.640 --> 00:02:48.480
+here, my notes here...
+
+00:02:48.480 --> 00:02:49.599
+I love how the notes
+
+00:02:49.599 --> 00:02:50.959
+for different parts of the lecture
+
+00:02:50.959 --> 00:02:52.560
+are coordinated with the different parts
+
+02:52.560 --> 00:02:55.200
+of the PDF that go along with the lecture.
+
+02:55.200 --> 00:02:57.519
+Now let's go back to the top of this
+
+02:57.519 --> 00:03:01.840
+and you'll see... First, you'll see my notes
+
+03:01.840 --> 00:03:03.920
+down here. I'll go into these
+
+00:03:03.920 --> 00:03:06.319
+a little bit more shortly,
+
+00:03:06.319 --> 00:03:07.200
+but one of the things
+
+00:03:07.200 --> 00:03:08.959
+that goes along with a lecture
+
+00:03:08.959 --> 00:03:11.519
+in a grad school class is these days
+
+00:03:11.519 --> 00:03:13.680
+in computer science citations
+
+00:03:13.680 --> 00:03:14.640
+for research papers
+
+00:03:14.640 --> 00:03:16.480
+that were expected to read.
+
+03:16.480 --> 00:03:20.080
+So here's one entitled MixMatch.
+
+03:20.080 --> 00:03:22.319
+I haven't downloaded this paper yet,
+
+03:22.319 --> 00:03:24.238
+so let's go. Take a look at that.
+
+00:03:24.239 --> 00:03:26.319
+So I use a keystroke to select
+
+00:03:26.319 --> 00:03:28.480
+the title of the paper
+
+00:03:28.480 --> 00:03:30.239
+and another keybinding
+
+00:03:30.239 --> 00:03:31.440
+to search for that paper
+
+00:03:31.440 --> 00:03:33.519
+on a website called arXiv.
+
+03:33.519 --> 00:03:35.280
+arXiv, if you're not familiar--
+
+00:03:35.280 --> 00:03:36.400
+and here's a match--
+
+00:03:36.400 --> 00:03:37.680
+arXiv, if you're not familiar,
+
+00:03:37.680 --> 00:03:42.000
+is an open research server
+
+03:42.000 --> 00:03:43.760
+where researchers publish papers
+
+00:03:43.760 --> 00:03:45.040
+before they're published in journals
+
+00:03:45.040 --> 00:03:47.920
+or conferences, and they are copyright-free
+
+03:47.920 --> 00:03:50.159
+and open to anyone to read.
+
+00:03:50.159 --> 00:03:52.799
+So here is the paper I was looking for.
+
+03:52.799 --> 00:03:58.560
+I copy this link into an Org mode link,
+
+00:03:58.560 --> 00:03:59.840
+and I come back to Emacs,
+
+00:03:59.840 --> 00:04:02.400
+and now another keystroke
+
+04:02.400 --> 00:04:04.879
+will revisit that website,
+
+00:04:04.879 --> 00:04:06.400
+pull down the PDF, and pull down
+
+00:04:06.400 --> 00:04:08.400
+all the information in the bibliography
+
+00:04:08.400 --> 00:04:11.040
+and put it into a bibliography here,
+
+04:11.040 --> 00:04:13.599
+inside my local bibliography.
+
+00:04:13.599 --> 00:04:15.840
+So here's the paper I was just looking at.
+
+04:15.840 --> 00:04:17.840
+Another great thing about a lot of PDFs
+
+04:17.840 --> 00:04:20.320
+is that they have an embedded outline
+
+00:04:20.320 --> 00:04:24.160
+that you can extract via the pdf-tools package.
+
+04:24.160 --> 00:04:25.680
+So now you see on the right here:
+
+04:25.680 --> 00:04:27.360
+introduction, related work, MixMatch,
+
+04:27.360 --> 00:04:30.479
+experiments. I can go right to that section,
+
+04:30.479 --> 00:04:32.639
+and this outline knows exactly
+
+00:04:32.639 --> 00:04:33.759
+which part of the PDF
+
+00:04:33.759 --> 00:04:35.919
+corresponds to each of the parts
+
+00:04:35.919 --> 00:04:37.680
+of this outline in the paper.
+
+04:37.680 --> 00:04:40.240
+So then, when I go take notes in here,
+
+04:40.240 --> 00:04:41.280
+just like in my other notes,
+
+00:04:41.280 --> 00:04:43.040
+it'll be coordinated with the PDF
+
+00:04:43.040 --> 00:04:44.639
+that goes along with it.
+
+04:44.639 --> 00:04:48.080
+So let's quit out of here.
+
+00:04:48.080 --> 00:04:50.160
+So now that I've captured that...
+
+00:04:50.160 --> 00:04:53.199
+Uh oh, this is the same paper.
+
+04:53.199 --> 00:04:56.000
+So now here I am back in my notes.
+
+00:04:56.000 --> 00:04:58.000
+now that I've captured this paper.
+
+04:58.000 --> 00:05:02.400
+What I'm going to do is make it a link,
+
+05:02.400 --> 00:05:07.520
+so the org-roam node that I just took
+
+00:05:07.520 --> 00:05:09.600
+will be here at the top. MixMatch.
+
+05:09.600 --> 00:05:10.639
+There's a little difference.
+
+00:05:10.639 --> 00:05:13.120
+You'll see here, this m is a different case
+
+00:05:13.120 --> 00:05:16.240
+than this m, and that's one of my to-do list.
+
+00:05:16.240 --> 00:05:18.720
+I'd like to make it so that this search
+
+00:05:18.720 --> 00:05:20.320
+is a little less case-sensitive.
+
+00:05:20.320 --> 00:05:23.520
+So now I've linked this link to this paper
+
+00:05:23.520 --> 00:05:25.680
+into these notes, and now these are...
+
+00:05:25.680 --> 00:05:26.639
+you'll see a little bit later
+
+00:05:26.639 --> 00:05:29.360
+how these links can be graphed and followed
+
+00:05:29.360 --> 00:05:32.960
+and so forth. While I'm in this document,
+
+00:05:32.960 --> 00:05:33.680
+I'd like to show you
+
+00:05:33.680 --> 00:05:36.639
+that when I'm learning something
+
+05:36.639 --> 00:05:38.400
+and I learn a new fact,
+
+05:38.400 --> 00:05:40.320
+I write down what I learned
+
+00:05:40.320 --> 00:05:42.400
+in the form of a question and an answer.
+
+00:05:42.400 --> 00:05:45.039
+So you can see here, there's a question
+
+00:05:45.039 --> 00:05:46.800
+that begins with who, what, where.
+
+00:05:46.800 --> 00:05:49.360
+It begins with a w word, or how,
+
+05:49.360 --> 00:05:53.039
+or if or is, and it ends in a question mark,
+
+00:05:53.039 --> 00:05:54.960
+and then following that is another string
+
+00:05:54.960 --> 00:05:56.560
+that ends in a period.
+
+05:56.560 --> 00:05:58.240
+So I have a... I'd like to do this
+
+00:05:58.240 --> 00:05:59.280
+in Emacs as well, but I haven't
+
+00:05:59.280 --> 00:06:00.319
+worked that out yet.
+
+00:06:00.319 --> 00:06:04.639
+I have a script that will...
+
+06:04.639 --> 00:06:07.680
+Let's find a-n-k-i-f.
+
+06:07.680 --> 00:06:09.680
+Okay, I have a script that will go through
+
+00:06:09.680 --> 00:06:13.680
+all the notes in my org-roam directory
+
+06:13.680 --> 00:06:16.880
+and find all the questions.
+
+00:06:16.880 --> 00:06:20.720
+Now let's pull up the most...
+
+00:06:20.720 --> 00:06:24.319
+No, don't edit the buffer.
+
+06:24.319 --> 00:06:29.039
+Save that. Come back to here.
+
+06:29.039 --> 00:06:31.680
+So now you can see that all the questions
+
+00:06:31.680 --> 00:06:32.560
+that I've written in my notes
+
+06:32.560 --> 00:06:33.759
+have now been ANKIFIED.
+
+00:06:33.759 --> 00:06:34.880
+Now what's that mean?
+
+00:06:34.880 --> 00:06:40.960
+Anki is this program here
+
+06:40.960 --> 00:06:43.199
+which is a flashcard system
+
+00:06:43.199 --> 00:06:44.560
+based on the idea...
+
+00:06:44.560 --> 00:06:48.000
+No, let's not download that right now.
+
+00:06:48.000 --> 00:06:50.720
+This is a system that enables
+
+00:06:50.720 --> 00:06:53.120
+the easy creation of flash cards
+
+06:53.120 --> 00:06:54.479
+that show you the front,
+
+00:06:54.479 --> 00:06:55.360
+show you the back,
+
+00:06:55.360 --> 00:06:56.160
+and then you decide
+
+00:06:56.160 --> 00:07:00.000
+if you knew that question or not.
+
+07:00.000 --> 00:07:02.639
+So I don't want to spend much time on this,
+
+00:07:02.639 --> 00:07:04.639
+but everything I'm learning in a class,
+
+00:07:04.639 --> 00:07:06.800
+I write into my notes as a question
+
+00:07:06.800 --> 00:07:08.800
+that I load into this flashcard system
+
+00:07:08.800 --> 00:07:10.880
+that then I can review on a walk,
+
+00:07:10.880 --> 00:07:13.680
+or on a bus ride, or whatever,
+
+07:13.680 --> 00:07:16.400
+and stay on top of indefinitely.
+
+00:07:16.400 --> 00:07:17.440
+As long as I can continue
+
+07:17.440 --> 00:07:18.400
+to keep reviewing that,
+
+00:07:18.400 --> 00:07:20.639
+I will keep that information
+
+00:07:20.639 --> 00:07:22.319
+fresh in my mind.
+
+07:22.319 --> 00:07:24.479
+So now let's come out of these files
+
+07:24.479 --> 00:07:25.039
+back to here.
+
+00:07:25.039 --> 00:07:27.440
+So I've demoed class note PDFs,
+
+00:07:27.440 --> 00:07:29.440
+grabbing papers from arXiv,
+
+07:29.440 --> 00:07:31.199
+autogenerating the skeletons
+
+00:07:31.199 --> 00:07:32.720
+and the flashcards,
+
+00:07:32.720 --> 00:07:35.280
+and now let's see what it looks like.
+
+07:35.280 --> 00:07:40.160
+Let's visualize the connections
+
+07:40.160 --> 00:07:42.000
+between these nodes.
+
+07:42.000 --> 00:07:45.199
+So here is a graph for the file
+
+00:07:45.199 --> 00:07:46.319
+I'm reading right now:
+
+00:07:46.319 --> 00:07:49.520
+One Effective Grad Student Workflow.
+
+07:49.520 --> 00:07:53.599
+Here is the node I have a link to
+
+00:07:53.599 --> 00:07:54.639
+in my Org mode document
+
+07:54.639 --> 00:07:57.199
+on spaced repetition. We can open that
+
+00:07:57.199 --> 00:07:59.280
+and come right back to Emacs,
+
+07:59.280 --> 00:08:01.680
+and I just love that.
+
+08:01.680 --> 00:08:03.919
+For the more complicated topics,
+
+00:08:03.919 --> 00:08:05.520
+you can see connections between things
+
+00:08:05.520 --> 00:08:07.520
+that you maybe didn't realize you had,
+
+00:08:07.520 --> 00:08:10.240
+and some of the notes you've taken.
+
+00:08:10.240 --> 00:08:12.638
+And so I'm getting near the end.
+
+00:08:12.639 --> 00:08:15.120
+I just want to show some small customizations.
+
+08:15.120 --> 00:08:17.120
+I save my org mode files
+
+00:08:17.120 --> 00:08:18.479
+that are in org-roam
+
+00:08:18.479 --> 00:08:21.520
+with a year year month month date prefix,
+
+00:08:21.520 --> 00:08:24.639
+so that I can tell when the node was created
+
+00:08:24.639 --> 00:08:26.560
+I also truncate them at 30 characters,
+
+00:08:26.560 --> 00:08:27.919
+so that when I do an ls,
+
+00:08:27.919 --> 00:08:29.280
+they don't word wrap.
+
+00:08:29.280 --> 00:08:32.800
+Maybe that's OCD.
+
+08:32.800 --> 00:08:38.159
+I also use an ID format that is year month
+
+00:08:38.159 --> 00:08:40.479
+day hour month hour minute second
+
+08:40.479 --> 00:08:43.279
+rather than the full UUID format
+
+00:08:43.279 --> 00:08:44.720
+because that number up there,
+
+00:08:44.720 --> 00:08:46.160
+that ID makes sense to me
+
+00:08:46.160 --> 00:08:50.160
+and it gives me an idea of when that node--
+
+08:50.160 --> 00:08:51.040
+which you can, by the way,
+
+00:08:51.040 --> 00:08:55.040
+you can have--even one of these subheadings
+
+00:08:55.040 --> 00:08:56.240
+can be a node in org-roam.
+
+00:08:56.240 --> 00:08:57.120
+So now that you can see
+
+08:57.120 --> 00:08:59.439
+that was created right now.
+
+08:59.440 --> 00:09:00.640
+Some of the TODOs I still have
+
+00:09:00.640 --> 00:09:02.720
+in this system... We don't have to go
+
+00:09:02.720 --> 00:09:04.000
+too much into them, but I mentioned
+
+00:09:04.000 --> 00:09:07.600
+case insensitivity, and I'd like
+
+00:09:07.600 --> 00:09:10.080
+to make some improvements to org-noter.
+
+00:09:10.080 --> 00:09:12.240
+At this point, I'd just like to...
+
+09:12.240 --> 00:09:14.959
+I have a list of people I'd like to thank.
+
+00:09:14.959 --> 00:09:16.240
+I'm not gonna read the whole list out,
+
+00:09:16.240 --> 00:09:17.680
+but they're a bunch of software engineers
+
+00:09:17.680 --> 00:09:20.399
+that created great free software
+
+00:09:20.399 --> 00:09:21.519
+that's very useful to me
+
+00:09:21.519 --> 00:09:23.839
+and I use every day, so thank you to them,
+
+00:09:23.839 --> 00:09:27.080
+and thank you all for listening to my talk.
+
+00:09:27.080 --> 00:09:28.080
+[captions by sachac]