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