From 7f3a538c7cd21cf5e5633f2cff8c5d3e2594e3a3 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Tue, 10 Dec 2024 10:42:51 -0500 Subject: improve transcript formatting --- 2024/info/blee-after.md | 3 +- 2024/info/casual-after.md | 75 +++++++------------------ 2024/info/color-after.md | 27 +++------ 2024/info/emacs30-after.md | 47 ++++------------ 2024/info/guile-after.md | 3 +- 2024/info/gypsum-after.md | 3 +- 2024/info/hyperbole-after.md | 31 +++-------- 2024/info/hyperdrive-after.md | 3 +- 2024/info/julia-after.md | 3 +- 2024/info/learning-after.md | 71 ++++++------------------ 2024/info/links-after.md | 3 +- 2024/info/literate-after.md | 63 ++++++--------------- 2024/info/maxima-after.md | 3 +- 2024/info/mcclim-after.md | 19 ++----- 2024/info/org-update-after.md | 115 ++++++++++---------------------------- 2024/info/p-search-after.md | 51 +++++------------ 2024/info/papers-after.md | 51 +++++------------ 2024/info/pgmacs-after.md | 47 ++++------------ 2024/info/project-after.md | 79 +++++++------------------- 2024/info/regex-after.md | 3 +- 2024/info/rust-after.md | 123 +++++++++++------------------------------ 2024/info/sat-open-after.md | 3 +- 2024/info/secrets-after.md | 35 +++--------- 2024/info/sharing-after.md | 79 +++++++------------------- 2024/info/shell-after.md | 59 +++++--------------- 2024/info/students-after.md | 3 +- 2024/info/sun-close-after.md | 3 +- 2024/info/sun-open-after.md | 3 +- 2024/info/transducers-after.md | 100 +++++++++------------------------ 2024/info/water-after.md | 35 +++--------- 2024/info/writing-after.md | 47 ++++------------ 31 files changed, 305 insertions(+), 885 deletions(-) (limited to '2024') diff --git a/2024/info/blee-after.md b/2024/info/blee-after.md index 3174b2b5..3ede5348 100644 --- a/2024/info/blee-after.md +++ b/2024/info/blee-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Greetings. Salaam. This is Mohsen Banan.""" start="00:00:03.659" video="mainVideo-blee" id="subtitle"]] [[!template text="""I am a software and internet engineer.""" start="00:00:08.400" video="mainVideo-blee" id="subtitle"]] diff --git a/2024/info/casual-after.md b/2024/info/casual-after.md index dcb00363..24d64e34 100644 --- a/2024/info/casual-after.md +++ b/2024/info/casual-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""introduction""" start="00:00:00.000" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Hello, my name is Charles Choi and welcome to my talk:""" start="00:00:00.000" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""introduction""" start="00:00:00.000" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Hello, my name is Charles Choi and welcome to my talk:""" start="00:00:00.000" video="mainVideo-casual" id="subtitle"]] [[!template text=""""Reimagining the Emacs user experience with Casual Suite."""" start="00:00:05.080" video="mainVideo-casual" id="subtitle"]] [[!template text="""Casual Suite is a set of opinionated user interfaces to""" start="00:00:11.360" video="mainVideo-casual" id="subtitle"]] [[!template text="""different modes offered in Emacs. Before I get into""" start="00:00:14.920" video="mainVideo-casual" id="subtitle"]] @@ -18,9 +15,7 @@ [[!template text="""run a command directly with a pre-assigned""" start="00:00:34.082" video="mainVideo-casual" id="subtitle"]] [[!template text="""key binding, finally, use a mouse menu if it's available.""" start="00:00:36.404" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Recall vs recognition""" start="00:00:43.800" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""From human-computer interface research, there is a""" start="00:00:43.800" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Recall vs recognition""" start="00:00:43.800" video="mainVideo-casual" id="subtitle"]]
[[!template text="""From human-computer interface research, there is a""" start="00:00:43.800" video="mainVideo-casual" id="subtitle"]] [[!template text="""concept of recall versus recognition in user interface""" start="00:00:46.720" video="mainVideo-casual" id="subtitle"]] [[!template text="""design. Let's show their distinction by example. A common""" start="00:00:50.800" video="mainVideo-casual" id="subtitle"]] [[!template text="""recall interface is password entry. Absent any historical""" start="00:00:56.600" video="mainVideo-casual" id="subtitle"]] @@ -46,9 +41,7 @@ [[!template text="""use it. I can only deal with so much cognitive load and""" start="00:02:23.200" video="mainVideo-casual" id="subtitle"]] [[!template text="""physically straining key bindings. So, what to do about it?""" start="00:02:28.640" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Emacs with keyboard-driven menus""" start="00:02:34.800" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Let's bring back an old ideal.""" start="00:02:34.800" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Emacs with keyboard-driven menus""" start="00:02:34.800" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Let's bring back an old ideal.""" start="00:02:34.800" video="mainVideo-casual" id="subtitle"]] [[!template text="""Keyboard-driven menus have been around since TTY video""" start="00:02:36.160" video="mainVideo-casual" id="subtitle"]] [[!template text="""terminals with mainframes. If you're old enough to recall""" start="00:02:42.360" video="mainVideo-casual" id="subtitle"]] [[!template text="""working with such interfaces, these terms will seem""" start="00:02:47.360" video="mainVideo-casual" id="subtitle"]] @@ -66,26 +59,20 @@ [[!template text="""and mouse menus. They all can happily coexist. Emacs is""" start="00:03:36.640" video="mainVideo-casual" id="subtitle"]] [[!template text="""large. It can contain multitudes.""" start="00:03:41.080" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Transient""" start="00:03:43.400" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Conveniently, Emacs has a built-in library for building""" start="00:03:43.400" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Transient""" start="00:03:43.400" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Conveniently, Emacs has a built-in library for building""" start="00:03:43.400" video="mainVideo-casual" id="subtitle"]] [[!template text="""such menus. It's called Transient, and it's been around""" start="00:03:49.880" video="mainVideo-casual" id="subtitle"]] [[!template text="""since Emacs 28. Developed primarily by Jonas Bernoulli as a""" start="00:03:53.840" video="mainVideo-casual" id="subtitle"]] [[!template text="""UI toolkit for Magit, Transient has an essential feature""" start="00:03:59.320" video="mainVideo-casual" id="subtitle"]] [[!template text="""for building great keyboard-driven interfaces.""" start="00:04:03.200" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""A Transient menu can be pinned""" start="00:04:08.200" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""A transient menu can be pinned and their state updated as""" start="00:04:08.200" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""A Transient menu can be pinned""" start="00:04:08.200" video="mainVideo-casual" id="subtitle"]]
[[!template text="""A transient menu can be pinned and their state updated as""" start="00:04:08.200" video="mainVideo-casual" id="subtitle"]] [[!template text="""commands are issued from them. This lets us build""" start="00:04:11.920" video="mainVideo-casual" id="subtitle"]] [[!template text="""interfaces that reflect internal state changes made by""" start="00:04:15.240" video="mainVideo-casual" id="subtitle"]] [[!template text="""commands issued from the user. This is great because many""" start="00:04:18.400" video="mainVideo-casual" id="subtitle"]] [[!template text="""modes have stateful behavior, and guess what? Emacs has a lot""" start="00:04:21.920" video="mainVideo-casual" id="subtitle"]] [[!template text="""of modes.""" start="00:04:26.600" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Modes are apps, really""" start="00:04:29.303" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""If you think about it, Emacs modes are akin to the""" start="00:04:29.303" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Modes are apps, really""" start="00:04:29.303" video="mainVideo-casual" id="subtitle"]]
[[!template text="""If you think about it, Emacs modes are akin to the""" start="00:04:29.303" video="mainVideo-casual" id="subtitle"]] [[!template text="""ecosystem of apps that we see today, but with far less""" start="00:04:32.000" video="mainVideo-casual" id="subtitle"]] [[!template text="""structure and packaging. A mode, like an app, focuses on""" start="00:04:35.080" video="mainVideo-casual" id="subtitle"]] [[!template text="""delivering specific behavior to the user. There are many""" start="00:04:39.320" video="mainVideo-casual" id="subtitle"]] @@ -94,9 +81,7 @@ [[!template text="""1,000 of them. It's frustrating to know that these commands""" start="00:04:50.680" video="mainVideo-casual" id="subtitle"]] [[!template text="""are there, but I really can't access them via recall.""" start="00:04:54.880" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Transient all the modes!""" start="00:04:59.527" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""So I decided to do something about it, and that was to transient""" start="00:04:59.527" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Transient all the modes!""" start="00:04:59.527" video="mainVideo-casual" id="subtitle"]]
[[!template text="""So I decided to do something about it, and that was to transient""" start="00:04:59.527" video="mainVideo-casual" id="subtitle"]] [[!template text="""all the modes, or at least the most major ones. This past""" start="00:05:05.080" video="mainVideo-casual" id="subtitle"]] [[!template text="""summer, I had the time and resources to start building""" start="00:05:10.000" video="mainVideo-casual" id="subtitle"]] [[!template text="""Transient interfaces for modes that I wanted to more""" start="00:05:12.680" video="mainVideo-casual" id="subtitle"]] @@ -104,9 +89,7 @@ [[!template text="""definition, it seemed like a good fit for the vibe that I""" start="00:05:22.320" video="mainVideo-casual" id="subtitle"]] [[!template text="""wanted these interfaces to embody.""" start="00:05:25.520" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Casual design principles""" start="00:05:28.040" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Design principles that I embraced up front were""" start="00:05:28.040" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Casual design principles""" start="00:05:28.040" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Design principles that I embraced up front were""" start="00:05:28.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""handcrafted information architecture and layout. This is""" start="00:05:35.000" video="mainVideo-casual" id="subtitle"]] [[!template text="""largely an exercise in mapping a mode's command set to a""" start="00:05:38.240" video="mainVideo-casual" id="subtitle"]] [[!template text="""hierarchical menu structure. I wanted these menus to make""" start="00:05:41.800" video="mainVideo-casual" id="subtitle"]] @@ -119,9 +102,7 @@ [[!template text="""beholden to them. In all of the above, I've gone out of my way""" start="00:06:10.200" video="mainVideo-casual" id="subtitle"]] [[!template text="""to make clear that my design decisions are opinionated.""" start="00:06:14.920" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Casual design conventions""" start="00:06:17.960" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Using casual.""" start="00:06:17.960" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Casual design conventions""" start="00:06:17.960" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Using casual.""" start="00:06:17.960" video="mainVideo-casual" id="subtitle"]] [[!template text="""To reinforce habit, a common key binding is used per mode to""" start="00:06:21.720" video="mainVideo-casual" id="subtitle"]] [[!template text="""raise a main menu. This key binding is left to user""" start="00:06:30.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""preference. For me, that binding is C-o.""" start="00:06:33.800" video="mainVideo-casual" id="subtitle"]] @@ -132,9 +113,7 @@ [[!template text="""As of this writing, there are 11 modes supported by Casual,""" start="00:06:58.480" video="mainVideo-casual" id="subtitle"]] [[!template text="""with several more on the way.""" start="00:07:02.320" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Casual Dired""" start="00:07:04.366" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Let's look at the Casual menu""" start="00:07:04.366" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Casual Dired""" start="00:07:04.366" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Let's look at the Casual menu""" start="00:07:04.366" video="mainVideo-casual" id="subtitle"]] [[!template text="""for Dired to highlight the design conventions previously""" start="00:07:05.720" video="mainVideo-casual" id="subtitle"]] [[!template text="""mentioned.""" start="00:07:12.480" video="mainVideo-casual" id="subtitle"]] [[!template text="""In a Dired Emacs window, the user can invoke their preferred""" start="00:07:13.560" video="mainVideo-casual" id="subtitle"]] @@ -165,9 +144,7 @@ [[!template text="""symbols to denote required input and submenus""" start="00:09:02.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""respectively.""" start="00:09:05.880" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Casual EditKit""" start="00:09:06.640" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Some commands are more global or non-mode specific in""" start="00:09:06.640" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Casual EditKit""" start="00:09:06.640" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Some commands are more global or non-mode specific in""" start="00:09:06.640" video="mainVideo-casual" id="subtitle"]] [[!template text="""nature. A great deal of these commands relate to editing,""" start="00:09:13.920" video="mainVideo-casual" id="subtitle"]] [[!template text="""which I find to be a prime motivation for using Emacs. Let's""" start="00:09:18.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""examine one such menu that supports this.""" start="00:09:23.240" video="mainVideo-casual" id="subtitle"]] @@ -189,9 +166,7 @@ [[!template text="""section. Note that register commands can be accessed from""" start="00:10:32.200" video="mainVideo-casual" id="subtitle"]] [[!template text="""here.""" start="00:10:35.720" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""EditKit demo""" start="00:10:36.200" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Okay, enough screenshots. Let's look at Casual in action""" start="00:10:36.200" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""EditKit demo""" start="00:10:36.200" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Okay, enough screenshots. Let's look at Casual in action""" start="00:10:36.200" video="mainVideo-casual" id="subtitle"]] [[!template text="""with a demo of the EditKit menus. Let's start our demo of""" start="00:10:42.440" video="mainVideo-casual" id="subtitle"]] [[!template text="""casual-editkit with raising the menu, which is bound to""" start="00:10:48.440" video="mainVideo-casual" id="subtitle"]] [[!template text="""C-o. You'll see the menu pop up here. In""" start="00:10:54.440" video="mainVideo-casual" id="subtitle"]] @@ -202,9 +177,7 @@ [[!template text="""deleting the text. You'll see also that there is a submenu""" start="00:11:20.240" video="mainVideo-casual" id="subtitle"]] [[!template text="""for rectangle operations. Let's first...""" start="00:11:24.280" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Marking and moving""" start="00:11:31.997" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Let's actually dig through and look at what's in the Mark submenu.""" start="00:11:31.997" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Marking and moving""" start="00:11:31.997" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Let's actually dig through and look at what's in the Mark submenu.""" start="00:11:31.997" video="mainVideo-casual" id="subtitle"]] [[!template text="""You'll see that there are increments of text in which you can""" start="00:11:37.407" video="mainVideo-casual" id="subtitle"]] [[!template text="""mark. You can mark a word, a sentence, a paragraph, and""" start="00:11:42.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""balanced expression. If we go back, you'll see a similar""" start="00:11:45.240" video="mainVideo-casual" id="subtitle"]] @@ -221,9 +194,7 @@ [[!template text="""menus in Casual Edit Kit, you'll see that here. Let's press""" start="00:12:43.040" video="mainVideo-casual" id="subtitle"]] [[!template text="""RET to dismiss that.""" start="00:12:47.920" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Rectangles""" start="00:12:53.140" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Let's actually look at some rectangle operations here.""" start="00:12:53.140" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Rectangles""" start="00:12:53.140" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Let's actually look at some rectangle operations here.""" start="00:12:53.140" video="mainVideo-casual" id="subtitle"]] [[!template text="""In this case, we have a list with""" start="00:12:58.644" video="mainVideo-casual" id="subtitle"]] [[!template text="""items x, y, and z. Let's say we wanted to prefix each item""" start="00:13:01.760" video="mainVideo-casual" id="subtitle"]] [[!template text="""here with a string. We'll say we want to put in there""" start="00:13:08.520" video="mainVideo-casual" id="subtitle"]] @@ -238,18 +209,14 @@ [[!template text="""enough, that's in there.""" start="00:13:54.800" video="mainVideo-casual" id="subtitle"]] [[!template text="""We can have access to a number of rectangle commands here.""" start="00:13:58.120" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Numbering""" start="00:14:04.976" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""If we wanted to, let's say, number, we can go through that same""" start="00:14:04.976" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Numbering""" start="00:14:04.976" video="mainVideo-casual" id="subtitle"]]
[[!template text="""If we wanted to, let's say, number, we can go through that same""" start="00:14:04.976" video="mainVideo-casual" id="subtitle"]] [[!template text="""operation here, define a region, a rectangle region that""" start="00:14:11.600" video="mainVideo-casual" id="subtitle"]] [[!template text="""is, and press n. You'll see that it has incremented a""" start="00:14:16.720" video="mainVideo-casual" id="subtitle"]] [[!template text="""number for each item in that rectangle region. We can also""" start="00:14:22.680" video="mainVideo-casual" id="subtitle"]] [[!template text="""tap u to undo these operations""" start="00:14:28.640" video="mainVideo-casual" id="subtitle"]] [[!template text="""and leave that at that.""" start="00:14:32.469" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Sorting""" start="00:14:36.600" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Sorting. If we select a region here, And we go back. You'll""" start="00:14:36.600" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Sorting""" start="00:14:36.600" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Sorting. If we select a region here, And we go back. You'll""" start="00:14:36.600" video="mainVideo-casual" id="subtitle"]] [[!template text="""see that the sort submenu is now enabled. Sorting won't work""" start="00:14:47.240" video="mainVideo-casual" id="subtitle"]] [[!template text="""unless you have a region started. That's one of the nice""" start="00:14:52.400" video="mainVideo-casual" id="subtitle"]] [[!template text="""things about transient is that it allows you to visually""" start="00:14:56.240" video="mainVideo-casual" id="subtitle"]] @@ -276,18 +243,14 @@ [[!template text="""want to check or use the value 2 and press n. Sure enough,""" start="00:16:52.120" video="mainVideo-casual" id="subtitle"]] [[!template text="""that region is sorted with respect to the second column.""" start="00:16:58.680" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Casual has transformed my user experience with Emacs""" start="00:17:04.340" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Before Casual, so many powerful Emacs commands were not""" start="00:17:04.340" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Casual has transformed my user experience with Emacs""" start="00:17:04.340" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Before Casual, so many powerful Emacs commands were not""" start="00:17:04.340" video="mainVideo-casual" id="subtitle"]] [[!template text="""available to me because they were too hard to recall or I""" start="00:17:12.160" video="mainVideo-casual" id="subtitle"]] [[!template text="""could not discover them. Making Casual has changed that,""" start="00:17:15.560" video="mainVideo-casual" id="subtitle"]] [[!template text="""letting me reimagine more positively my user experience""" start="00:17:19.880" video="mainVideo-casual" id="subtitle"]] [[!template text="""with Emacs. If you're interested in any of what I've shown""" start="00:17:24.360" video="mainVideo-casual" id="subtitle"]] [[!template text="""today, I invite you to try out Casual.""" start="00:17:29.200" video="mainVideo-casual" id="subtitle"]] -[[!template new="1" text="""Thanks and acknowledgements""" start="00:17:34.451" video="mainVideo-casual" id="subtitle"]] - -[[!template text="""Before I leave, my thanks and acknowledgments""" start="00:17:34.451" video="mainVideo-casual" id="subtitle"]] +
[[!template new="1" text="""Thanks and acknowledgements""" start="00:17:34.451" video="mainVideo-casual" id="subtitle"]]
[[!template text="""Before I leave, my thanks and acknowledgments""" start="00:17:34.451" video="mainVideo-casual" id="subtitle"]] [[!template text="""go out to the following people.""" start="00:17:37.033" video="mainVideo-casual" id="subtitle"]] [[!template text="""First, to Jonas Bernoulli for making Transient and Magit.""" start="00:17:38.680" video="mainVideo-casual" id="subtitle"]] [[!template text="""Casual would not be possible without your work. Next, to""" start="00:17:43.400" video="mainVideo-casual" id="subtitle"]] diff --git a/2024/info/color-after.md b/2024/info/color-after.md index 824d4a0c..5b65e3b4 100644 --- a/2024/info/color-after.md +++ b/2024/info/color-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-color" id="subtitle"]] - -[[!template text="""Hi, EmacsConf. This is "Colour your Emacs with ease".""" start="00:00:00.000" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-color" id="subtitle"]]
[[!template text="""Hi, EmacsConf. This is "Colour your Emacs with ease".""" start="00:00:00.000" video="mainVideo-color" id="subtitle"]] [[!template text="""I'm Ryota Sawada, and today's agenda is:""" start="00:00:11.328" video="mainVideo-color" id="subtitle"]] [[!template text="""start with a brief introduction.""" start="00:00:14.849" video="mainVideo-color" id="subtitle"]] [[!template text="""I will be talking about colours quite a bit.""" start="00:00:16.650" video="mainVideo-color" id="subtitle"]] @@ -23,9 +20,7 @@ [[!template text="""case with the presentation today. I'm Ryota Sawada and I'm""" start="00:00:47.640" video="mainVideo-color" id="subtitle"]] [[!template text="""available at rytswd at usual places.""" start="00:00:52.560" video="mainVideo-color" id="subtitle"]] -[[!template new="1" text="""What colour do you like?""" start="00:00:58.668" video="mainVideo-color" id="subtitle"]] - -[[!template text="""What colour do you like?""" start="00:00:58.668" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""What colour do you like?""" start="00:00:58.668" video="mainVideo-color" id="subtitle"]]
[[!template text="""What colour do you like?""" start="00:00:58.668" video="mainVideo-color" id="subtitle"]] [[!template text="""You might be able to tell I like orange. That's""" start="00:01:01.291" video="mainVideo-color" id="subtitle"]] [[!template text="""the colour that I use often.""" start="00:01:05.000" video="mainVideo-color" id="subtitle"]] [[!template text="""Emacs gives me all the control I want,""" start="00:01:07.857" video="mainVideo-color" id="subtitle"]] @@ -65,9 +60,7 @@ [[!template text="""and any general code. That led me to the journey of""" start="00:03:33.520" video="mainVideo-color" id="subtitle"]] [[!template text="""creating my own theme.""" start="00:03:37.960" video="mainVideo-color" id="subtitle"]] -[[!template new="1" text="""Colour spaces: HSL, LCH , and more""" start="00:03:42.120" video="mainVideo-color" id="subtitle"]] - -[[!template text="""But before going to the theme, I need to talk about colour""" start="00:03:42.120" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""Colour spaces: HSL, LCH , and more""" start="00:03:42.120" video="mainVideo-color" id="subtitle"]]
[[!template text="""But before going to the theme, I need to talk about colour""" start="00:03:42.120" video="mainVideo-color" id="subtitle"]] [[!template text="""spaces. sRGB, standard RGB, is probably something that""" start="00:03:44.680" video="mainVideo-color" id="subtitle"]] [[!template text="""many people are familiar with. HSL is for hue, saturation,""" start="00:03:49.080" video="mainVideo-color" id="subtitle"]] [[!template text="""lightness. LCH is for luminance or lightness, chroma, and""" start="00:03:53.440" video="mainVideo-color" id="subtitle"]] @@ -110,9 +103,7 @@ [[!template text="""that are worth looking at when it comes to creating""" start="00:06:22.100" video="mainVideo-color" id="subtitle"]] [[!template text="""shades.""" start="00:06:24.280" video="mainVideo-color" id="subtitle"]] -[[!template new="1" text="""color.el and ct.el""" start="00:06:25.885" video="mainVideo-color" id="subtitle"]] - -[[!template text="""How do you create shades? Color.el and ct.el are""" start="00:06:25.885" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""color.el and ct.el""" start="00:06:25.885" video="mainVideo-color" id="subtitle"]]
[[!template text="""How do you create shades? Color.el and ct.el are""" start="00:06:25.885" video="mainVideo-color" id="subtitle"]] [[!template text="""great solutions. You can create shades and different""" start="00:06:29.760" video="mainVideo-color" id="subtitle"]] [[!template text="""colours based on RGB and hex. You can see in the red example""" start="00:06:33.200" video="mainVideo-color" id="subtitle"]] [[!template text="""here, FF0000 is a bright red. You can darken it by providing""" start="00:06:37.800" video="mainVideo-color" id="subtitle"]] @@ -138,9 +129,7 @@ [[!template text="""other colours, it might be worth looking at LCH variant""" start="00:08:00.200" video="mainVideo-color" id="subtitle"]] [[!template text="""rather than other colour spaces.""" start="00:08:04.178" video="mainVideo-color" id="subtitle"]] -[[!template new="1" text="""Hasliberg theme""" start="00:08:08.400" video="mainVideo-color" id="subtitle"]] - -[[!template text="""With that, let's have a look at Hasliberg theme.""" start="00:08:08.400" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""Hasliberg theme""" start="00:08:08.400" video="mainVideo-color" id="subtitle"]]
[[!template text="""With that, let's have a look at Hasliberg theme.""" start="00:08:08.400" video="mainVideo-color" id="subtitle"]] [[!template text="""This is a theme that I created personally""" start="00:08:11.204" video="mainVideo-color" id="subtitle"]] [[!template text="""and the name is based on the Swiss Alps""" start="00:08:13.708" video="mainVideo-color" id="subtitle"]] [[!template text="""and with the following ideas in mind. It focuses""" start="00:08:16.410" video="mainVideo-color" id="subtitle"]] @@ -186,9 +175,7 @@ [[!template text="""based colour where all the base colours are set up with a""" start="00:10:56.160" video="mainVideo-color" id="subtitle"]] [[!template text="""greenish colour setup.""" start="00:11:00.840" video="mainVideo-color" id="subtitle"]] -[[!template new="1" text="""Wrap up""" start="00:11:06.240" video="mainVideo-color" id="subtitle"]] - -[[!template text="""With that, I would like to wrap up with a few ideas when""" start="00:11:06.240" video="mainVideo-color" id="subtitle"]] +
[[!template new="1" text="""Wrap up""" start="00:11:06.240" video="mainVideo-color" id="subtitle"]]
[[!template text="""With that, I would like to wrap up with a few ideas when""" start="00:11:06.240" video="mainVideo-color" id="subtitle"]] [[!template text="""adjusting themes and working with colours. Maybe consider""" start="00:11:10.400" video="mainVideo-color" id="subtitle"]] [[!template text="""using CIELAB, CIELUV, or OKLab-based colour spaces that""" start="00:11:13.760" video="mainVideo-color" id="subtitle"]] [[!template text="""would give you different shades which are easier to work""" start="00:11:19.360" video="mainVideo-color" id="subtitle"]] diff --git a/2024/info/emacs30-after.md b/2024/info/emacs30-after.md index 07401dab..d0631fa7 100644 --- a/2024/info/emacs30-after.md +++ b/2024/info/emacs30-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Hello, and welcome to Emacs 30 Highlights at EmacsConf 2024.""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Hello, and welcome to Emacs 30 Highlights at EmacsConf 2024.""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""Before I begin, I'd like to thank the organizers""" start="00:00:06.100" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""and everyone involved for putting this all together.""" start="00:00:08.866" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""While this talk is being pre-recorded,""" start="00:00:11.800" video="mainVideo-emacs30" id="subtitle"]] @@ -42,9 +39,7 @@ [[!template text="""So without further ado,""" start="00:01:34.533" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""let's begin taking a look at new features in Emacs 30.""" start="00:01:36.866" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Android""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""The biggest one, and the one I want to mention first,""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Android""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""The biggest one, and the one I want to mention first,""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""is Android support, native Android support.""" start="00:01:44.733" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""As you can see here, Emacs has been ported""" start="00:01:49.066" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""to the Android operating system.""" start="00:01:51.866" video="mainVideo-emacs30" id="subtitle"]] @@ -155,9 +150,7 @@ [[!template text="""for which-key which has a number of options""" start="00:07:39.133" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""which you might or might not be interested in.""" start="00:07:41.966" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""EditorConfig""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Next up, Emacs 30 has built-in EditorConfig support.""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""EditorConfig""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Next up, Emacs 30 has built-in EditorConfig support.""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""If you have not heard of EditorConfig before,""" start="00:07:50.900" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""I believe I've linked to it down here somewhere.""" start="00:07:53.666" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""Ah, there it is, EditorConfig.""" start="00:07:56.640" video="mainVideo-emacs30" id="subtitle"]] @@ -186,9 +179,7 @@ [[!template text="""then it will respect those rules""" start="00:09:23.641" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""without having to do anything else.""" start="00:09:25.321" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""use-package integration with package-vc""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Next up, use-package integration with package-vc.""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""use-package integration with package-vc""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Next up, use-package integration with package-vc.""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""For those not familiar with either of the two,""" start="00:09:33.568" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""or at least one of the two,""" start="00:09:36.534" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""use-package is a popular configuration macro.""" start="00:09:37.534" video="mainVideo-emacs30" id="subtitle"]] @@ -260,9 +251,7 @@ [[!template text="""which one might not necessarily realize directly,""" start="00:13:04.400" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""but will hopefully improve your experience with Emacs.""" start="00:13:07.033" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""JSON""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""First up in this list is a new JSON parser.""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""JSON""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""First up in this list is a new JSON parser.""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""Let's maybe show the source code for that one:""" start="00:13:15.166" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""not json.el, json.c. The history of JSON parsing in Emacs""" start="00:13:21.960" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""started with Emacs 23 with the addition of json.el.""" start="00:13:39.566" video="mainVideo-emacs30" id="subtitle"]] @@ -307,9 +296,7 @@ [[!template text="""installed on their system or not when they want""" start="00:15:47.666" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""to take advantage of this accelerated JSON parsing.""" start="00:15:50.466" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Native compilation""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Next up, another behind-the-scenes feature""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Native compilation""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Next up, another behind-the-scenes feature""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""is that if you build Emacs on your own from source,""" start="00:16:00.400" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""you might know that if you wanted""" start="00:16:06.407" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""to use native compilation,""" start="00:16:07.800" video="mainVideo-emacs30" id="subtitle"]] @@ -337,9 +324,7 @@ [[!template text="""with a few smaller features, a few smaller highlights.""" start="00:17:16.300" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""Maybe we can go back to the listing here. Here we have it.""" start="00:17:19.500" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Tree-sitter""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""There are a few new major modes""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Tree-sitter""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""There are a few new major modes""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""based on the tree-sitter library.""" start="00:17:32.866" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""tree-sitter is this parser library""" start="00:17:34.366" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""which has been integrated into Emacs 29.""" start="00:17:37.940" video="mainVideo-emacs30" id="subtitle"]] @@ -353,9 +338,7 @@ [[!template text="""using regular expressions in traditional major modes.""" start="00:18:06.266" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""So, a few new major modes which you can try out here.""" start="00:18:10.400" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Completion preview mode""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Another interesting feature is the completion-preview-mode.""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Completion preview mode""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Another interesting feature is the completion-preview-mode.""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""We can maybe try it out here in the scratch buffer.""" start="00:18:20.066" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""If I enable completion-preview-mode...""" start="00:18:23.000" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""This is a non-global minor mode,""" start="00:18:28.300" video="mainVideo-emacs30" id="subtitle"]] @@ -378,9 +361,7 @@ [[!template text="""and it hints to the options which I have""" start="00:19:26.160" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""and allows me to complete them quickly.""" start="00:19:30.033" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""package-isolate""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Another small feature is the package-isolate command.""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""package-isolate""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Another small feature is the package-isolate command.""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""What this does is it will start""" start="00:19:38.000" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""or it will prompt me for packages""" start="00:19:40.033" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""I have installed in my system""" start="00:19:42.833" video="mainVideo-emacs30" id="subtitle"]] @@ -414,9 +395,7 @@ [[!template text="""you have with a package. And if I close this, it's closed""" start="00:21:10.600" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""and everything's thrown away.""" start="00:21:14.900" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Reindenting""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Last up, a nice feature I think""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Reindenting""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Last up, a nice feature I think""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""a lot of people will appreciate is,""" start="00:21:19.033" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""if you are familiar with... Let's open a text buffer.""" start="00:21:20.966" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""The M-q key is traditionally bound to fill-paragraph.""" start="00:21:24.300" video="mainVideo-emacs30" id="subtitle"]] @@ -451,9 +430,7 @@ [[!template text="""which a lot of people can appreciate.""" start="00:23:08.666" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""It's one of those niceties which comes from time to time.""" start="00:23:11.100" video="mainVideo-emacs30" id="subtitle"]] -[[!template new="1" text="""Wrapping up""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]] - -[[!template text="""Right, so that was my overview""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]] +
[[!template new="1" text="""Wrapping up""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Right, so that was my overview""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""of what's going to be new in Emacs 30.""" start="00:23:20.666" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""I hope that most people could take away""" start="00:23:22.633" video="mainVideo-emacs30" id="subtitle"]] [[!template text="""something from this presentation""" start="00:23:24.433" video="mainVideo-emacs30" id="subtitle"]] diff --git a/2024/info/guile-after.md b/2024/info/guile-after.md index 7b20a4dd..947345b5 100644 --- a/2024/info/guile-after.md +++ b/2024/info/guile-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello everyone, I'm Robin Templeton,""" start="00:00:00.000" video="mainVideo-guile" id="subtitle"]] [[!template text="""and I'm going to talk about Emacs Beguiled""" start="00:00:03.083" video="mainVideo-guile" id="subtitle"]] diff --git a/2024/info/gypsum-after.md b/2024/info/gypsum-after.md index 10d9f6c2..33f399f0 100644 --- a/2024/info/gypsum-after.md +++ b/2024/info/gypsum-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hi, my name is Ramin Honary,""" start="00:00:00.000" video="mainVideo-gypsum" id="subtitle"]] [[!template text="""and I'm here to talk to you today""" start="00:00:02.781" video="mainVideo-gypsum" id="subtitle"]] diff --git a/2024/info/hyperbole-after.md b/2024/info/hyperbole-after.md index 5a523a86..68a9d1ba 100644 --- a/2024/info/hyperbole-after.md +++ b/2024/info/hyperbole-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""Hi, Emacs Conference. I'm Mats Lidell. I'm the maintainer""" start="00:00:00.000" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""Hi, Emacs Conference. I'm Mats Lidell. I'm the maintainer""" start="00:00:00.000" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""of the GNU Hyperbole, together with the author, Bob""" start="00:00:08.240" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Weiner. The title of the talk is Fun Things with GNU""" start="00:00:13.400" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Hyperbole. With that, I intend to cover a different set of""" start="00:00:19.760" video="mainVideo-hyperbole" id="subtitle"]] @@ -15,9 +12,7 @@ [[!template text="""tutorial of Hyperbole.""" start="00:00:33.320" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""For that, you have to look for other sources.""" start="00:00:36.855" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""The action key and the assist key""" start="00:00:41.299" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""This is a short talk, so let's get started with""" start="00:00:41.299" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""The action key and the assist key""" start="00:00:41.299" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""This is a short talk, so let's get started with""" start="00:00:41.299" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""the first thing. We're going to talk about scrolling and""" start="00:00:45.040" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""with the subtitle using the end of line. If you're new to""" start="00:00:50.880" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Hyperbole, you need to know about the action key and assist""" start="00:00:56.240" video="mainVideo-hyperbole" id="subtitle"]] @@ -36,9 +31,7 @@ [[!template text="""top of the window, but if I at the top of the window hit""" start="00:02:10.400" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""M-RET again it scrolls.""" start="00:02:16.160" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""Composing an e-mail""" start="00:02:22.840" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""Now over to the next thing.""" start="00:02:22.840" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Composing an e-mail""" start="00:02:22.840" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""Now over to the next thing.""" start="00:02:22.840" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""So next thing is to compose an email from an address""" start="00:02:27.800" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""of the style of username@domain. Let's look into""" start="00:02:34.560" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""that. Here I have entered the file in the Emacs""" start="00:02:42.600" video="mainVideo-hyperbole" id="subtitle"]] @@ -52,9 +45,7 @@ [[!template text="""there so just to demonstrate it works in a buffer the same""" start="00:03:33.720" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""way.""" start="00:03:38.120" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""Inserting implicit links""" start="00:03:44.600" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""The next fun thing is insert implicit link. I'm going to give""" start="00:03:44.600" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Inserting implicit links""" start="00:03:44.600" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""The next fun thing is insert implicit link. I'm going to give""" start="00:03:44.600" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""you an example with email how to share an implicit link with""" start="00:03:51.080" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""someone. An implicit link is a text pattern, just as we saw""" start="00:03:56.280" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""with the email address, something that Hyperbole""" start="00:04:02.360" video="mainVideo-hyperbole" id="subtitle"]] @@ -80,9 +71,7 @@ [[!template text="""the receiver has a similar setup with Emacs, et cetera, that""" start="00:05:55.600" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""link will work there as well.""" start="00:06:00.040" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""Window grid""" start="00:06:03.411" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""Hi, Emacs Conference. It's a""" start="00:06:03.411" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Window grid""" start="00:06:03.411" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""Hi, Emacs Conference. It's a""" start="00:06:03.411" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""new recording day, the sun is shining, I'm wearing a new""" start="00:06:05.880" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""t-shirt but we're still cracking on with fun things in""" start="00:06:09.640" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Hyperbole. Our next subject is window grid. With""" start="00:06:14.360" video="mainVideo-hyperbole" id="subtitle"]] @@ -138,9 +127,7 @@ [[!template text="""hit C-h h and window, and yank in the configuration. Boom,""" start="00:11:09.920" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""there is the grid again.""" start="00:11:15.080" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""Select a thing""" start="00:11:19.720" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""We're reaching the end of the talk. The last fun thing I want to""" start="00:11:19.720" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Select a thing""" start="00:11:19.720" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""We're reaching the end of the talk. The last fun thing I want to""" start="00:11:19.720" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""talk about is the Hyperbole support for select a thing.""" start="00:11:23.320" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""We'll show some use of selections together with web search.""" start="00:11:27.640" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Here I have brought up the GNU General Public License for""" start="00:11:33.440" video="mainVideo-hyperbole" id="subtitle"]] @@ -154,9 +141,7 @@ [[!template text="""that's a convenient way to extend your searches--your""" start="00:12:22.360" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""selections, rather--in a buffer.""" start="00:12:26.160" video="mainVideo-hyperbole" id="subtitle"]] -[[!template new="1" text="""Web search""" start="00:12:33.818" video="mainVideo-hyperbole" id="subtitle"]] - -[[!template text="""Looking at selections, how you can use that from web search...""" start="00:12:33.818" video="mainVideo-hyperbole" id="subtitle"]] +
[[!template new="1" text="""Web search""" start="00:12:33.818" video="mainVideo-hyperbole" id="subtitle"]]
[[!template text="""Looking at selections, how you can use that from web search...""" start="00:12:33.818" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""Let's mark some text and then hit C-c /, which is bound""" start="00:12:38.199" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""for the web search. Here you see the Hyperbole menu system again.""" start="00:12:44.322" video="mainVideo-hyperbole" id="subtitle"]] [[!template text="""It's slightly customized with things that I use, but the basic""" start="00:12:48.543" video="mainVideo-hyperbole" id="subtitle"]] diff --git a/2024/info/hyperdrive-after.md b/2024/info/hyperdrive-after.md index 6b310e62..13534e9f 100644 --- a/2024/info/hyperdrive-after.md +++ b/2024/info/hyperdrive-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello, welcome to this talk on hyperdrive.el. I'm Joseph""" start="00:00:00.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Turner presenting on behalf of ushin, a tiny independent""" start="00:00:03.920" video="mainVideo-hyperdrive" id="subtitle"]] diff --git a/2024/info/julia-after.md b/2024/info/julia-after.md index a582216f..1e87ff7d 100644 --- a/2024/info/julia-after.md +++ b/2024/info/julia-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello, I'm very excited to tell you""" start="00:00:00.000" video="mainVideo-julia" id="subtitle"]] [[!template text="""about shared philosophies""" start="00:00:02.360" video="mainVideo-julia" id="subtitle"]] diff --git a/2024/info/learning-after.md b/2024/info/learning-after.md index b4c399b1..8d20694a 100644 --- a/2024/info/learning-after.md +++ b/2024/info/learning-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.300" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Oh, wow!""" start="00:00:00.300" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.300" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Oh, wow!""" start="00:00:00.300" video="mainVideo-learning" id="subtitle"]] [[!template text="""I'm gonna tell you about how I'm learning this new thing…""" start="00:00:00.924" video="mainVideo-learning" id="subtitle"]] [[!template text="""Okay…""" start="00:00:07.790" video="mainVideo-learning" id="subtitle"]] [[!template text="""Hey dude, I am recording, okay? So, I'll call you back""" start="00:00:11.840" video="mainVideo-learning" id="subtitle"]] @@ -35,17 +32,13 @@ [[!template text="""“When we think we know, we cease to learn.”""" start="00:01:29.590" video="mainVideo-learning" id="subtitle"]] [[!template text="""That was his quote.""" start="00:01:32.674" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What is a skill?""" start="00:01:35.350" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""What is a skill?""" start="00:01:35.350" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What is a skill?""" start="00:01:35.350" video="mainVideo-learning" id="subtitle"]]
[[!template text="""What is a skill?""" start="00:01:35.350" video="mainVideo-learning" id="subtitle"]] [[!template text="""A skill is the knowledge and the ability""" start="00:01:36.540" video="mainVideo-learning" id="subtitle"]] [[!template text="""that enables you to do something well.""" start="00:01:39.507" video="mainVideo-learning" id="subtitle"]] [[!template text="""There's the knowledge first and the ability""" start="00:01:43.157" video="mainVideo-learning" id="subtitle"]] [[!template text="""and you have to do it well.""" start="00:01:45.607" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Why should you learn a new skill?""" start="00:01:47.424" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Right. So why should you learn a new skill?""" start="00:01:47.424" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Why should you learn a new skill?""" start="00:01:47.424" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Right. So why should you learn a new skill?""" start="00:01:47.424" video="mainVideo-learning" id="subtitle"]] [[!template text="""Now if you can pause this video,""" start="00:01:50.824" video="mainVideo-learning" id="subtitle"]] [[!template text="""watching streaming part of the video,""" start="00:01:53.674" video="mainVideo-learning" id="subtitle"]] [[!template text="""then come up with your own reasons.""" start="00:01:55.524" video="mainVideo-learning" id="subtitle"]] @@ -55,9 +48,7 @@ [[!template text="""Look good or cool in your community or peer group""" start="00:02:04.390" video="mainVideo-learning" id="subtitle"]] [[!template text="""or someone forced you to.""" start="00:02:08.640" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What skills should you learn?""" start="00:02:11.040" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now, what skills should you learn?""" start="00:02:11.040" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What skills should you learn?""" start="00:02:11.040" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now, what skills should you learn?""" start="00:02:11.040" video="mainVideo-learning" id="subtitle"]] [[!template text="""Ok, there could be a whole list.""" start="00:02:14.574" video="mainVideo-learning" id="subtitle"]] [[!template text="""Let me take a stab at some of the ones""" start="00:02:16.674" video="mainVideo-learning" id="subtitle"]] [[!template text="""that I think could be cool: bungee jumping,""" start="00:02:19.529" video="mainVideo-learning" id="subtitle"]] @@ -68,9 +59,7 @@ [[!template text="""So you could list your own skills that you have to learn,""" start="00:02:31.240" video="mainVideo-learning" id="subtitle"]] [[!template text="""you want to learn.""" start="00:02:34.390" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What stops you from learning new skills?""" start="00:02:35.974" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""But what stops you from learning new skills?""" start="00:02:35.974" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What stops you from learning new skills?""" start="00:02:35.974" video="mainVideo-learning" id="subtitle"]]
[[!template text="""But what stops you from learning new skills?""" start="00:02:35.974" video="mainVideo-learning" id="subtitle"]] [[!template text="""The most common reason that I've heard""" start="00:02:39.140" video="mainVideo-learning" id="subtitle"]] [[!template text="""in the past is lack of time.""" start="00:02:41.230" video="mainVideo-learning" id="subtitle"]] [[!template text="""“Oh Bala, I have to do so many things.”""" start="00:02:42.790" video="mainVideo-learning" id="subtitle"]] @@ -86,9 +75,7 @@ [[!template text="""I can pass on the link later to you.""" start="00:03:10.174" video="mainVideo-learning" id="subtitle"]] [[!template text="""You can watch this, my own version of the story.""" start="00:03:12.257" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Empty your teacup""" start="00:03:16.274" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""The ultimate truth in this story""" start="00:03:16.274" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Empty your teacup""" start="00:03:16.274" video="mainVideo-learning" id="subtitle"]]
[[!template text="""The ultimate truth in this story""" start="00:03:16.274" video="mainVideo-learning" id="subtitle"]] [[!template text="""or the moral in this story is that""" start="00:03:18.790" video="mainVideo-learning" id="subtitle"]] [[!template text="""we are filled with preconceived ideas""" start="00:03:21.057" video="mainVideo-learning" id="subtitle"]] [[!template text="""and the Zen master in the story says,""" start="00:03:23.957" video="mainVideo-learning" id="subtitle"]] @@ -120,9 +107,7 @@ [[!template text="""Great. Now that you have emptied your tea cup,""" start="00:04:35.640" video="mainVideo-learning" id="subtitle"]] [[!template text="""I'm going to tell you the origin of these ideas.""" start="00:04:38.160" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Getting Things Done""" start="00:04:40.424" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""These come from “Getting Things Done” by David Allen.""" start="00:04:40.424" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Getting Things Done""" start="00:04:40.424" video="mainVideo-learning" id="subtitle"]]
[[!template text="""These come from “Getting Things Done” by David Allen.""" start="00:04:40.424" video="mainVideo-learning" id="subtitle"]] [[!template text="""It's a great book. I've read it multiple times. Fantastic.""" start="00:04:43.090" video="mainVideo-learning" id="subtitle"]] [[!template text="""And he says, your mind is for having ideas,""" start="00:04:46.657" video="mainVideo-learning" id="subtitle"]] [[!template text="""not holding them.""" start="00:04:50.390" video="mainVideo-learning" id="subtitle"]] @@ -166,9 +151,7 @@ [[!template text="""I know, I know some of you have 55,000 emails in your inbox.""" start="00:06:27.090" video="mainVideo-learning" id="subtitle"]] [[!template text="""How am I going to process all of them?""" start="00:06:31.540" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Archive""" start="00:06:33.724" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Well, Tiago Forte, whose method""" start="00:06:33.724" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Archive""" start="00:06:33.724" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Well, Tiago Forte, whose method""" start="00:06:33.724" video="mainVideo-learning" id="subtitle"]] [[!template text="""I'm going to be also talking about, says:""" start="00:06:36.540" video="mainVideo-learning" id="subtitle"]] [[!template text="""Archive them all and pull out the top 100, okay?""" start="00:06:39.257" video="mainVideo-learning" id="subtitle"]] [[!template text="""The last latest 100 and process that.""" start="00:06:42.707" video="mainVideo-learning" id="subtitle"]] @@ -194,9 +177,7 @@ [[!template text="""Don't want it right in front of you.""" start="00:07:29.820" video="mainVideo-learning" id="subtitle"]] [[!template text="""That's the only thing here, right?""" start="00:07:31.090" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Multiple steps""" start="00:07:33.290" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now another question that pops in your head is:""" start="00:07:33.290" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Multiple steps""" start="00:07:33.290" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now another question that pops in your head is:""" start="00:07:33.290" video="mainVideo-learning" id="subtitle"]] [[!template text="""What if something that requires multiple steps, right?""" start="00:07:35.257" video="mainVideo-learning" id="subtitle"]] [[!template text="""not all steps are created… not all tasks are created alike,""" start="00:07:38.907" video="mainVideo-learning" id="subtitle"]] [[!template text="""There are multiple steps to a task.""" start="00:07:43.074" video="mainVideo-learning" id="subtitle"]] @@ -255,9 +236,7 @@ [[!template text="""Write down all the tasks associated with this project.""" start="00:09:56.524" video="mainVideo-learning" id="subtitle"]] [[!template text="""That's going to be how you handle it, right?""" start="00:10:00.524" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Multiple projects""" start="00:10:02.874" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now, what if you have multiple projects?""" start="00:10:02.874" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Multiple projects""" start="00:10:02.874" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now, what if you have multiple projects?""" start="00:10:02.874" video="mainVideo-learning" id="subtitle"]] [[!template text="""Not many of us have only one project.""" start="00:10:05.490" video="mainVideo-learning" id="subtitle"]] [[!template text="""In fact, many of us have multiple projects.""" start="00:10:08.157" video="mainVideo-learning" id="subtitle"]] [[!template text="""What do we do in that situation?""" start="00:10:09.807" video="mainVideo-learning" id="subtitle"]] @@ -271,9 +250,7 @@ [[!template text="""That's the immediate thing that has to be done""" start="00:10:32.390" video="mainVideo-learning" id="subtitle"]] [[!template text="""to take this project forward, okay?""" start="00:10:34.990" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What if the project stops before completion?""" start="00:10:37.874" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""What if the project stops before completion?""" start="00:10:37.874" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What if the project stops before completion?""" start="00:10:37.874" video="mainVideo-learning" id="subtitle"]]
[[!template text="""What if the project stops before completion?""" start="00:10:37.874" video="mainVideo-learning" id="subtitle"]] [[!template text="""There are possibilities sometimes you lose interest,""" start="00:10:40.440" video="mainVideo-learning" id="subtitle"]] [[!template text="""sometimes your collaborator loses interest.""" start="00:10:43.024" video="mainVideo-learning" id="subtitle"]] [[!template text="""What do you do in those situations?""" start="00:10:45.124" video="mainVideo-learning" id="subtitle"]] @@ -291,9 +268,7 @@ [[!template text="""Move this particular project that's abandoned or stopped""" start="00:11:15.509" video="mainVideo-learning" id="subtitle"]] [[!template text="""somewhere in between to that folder.""" start="00:11:18.769" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What if you successfully complete the project?""" start="00:11:20.974" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now, there's a possibility you might successfully complete.""" start="00:11:20.974" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What if you successfully complete the project?""" start="00:11:20.974" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now, there's a possibility you might successfully complete.""" start="00:11:20.974" video="mainVideo-learning" id="subtitle"]] [[!template text="""I hope all your projects end up being successful.""" start="00:11:23.640" video="mainVideo-learning" id="subtitle"]] [[!template text="""But there are quite a few which will end up in this,""" start="00:11:27.190" video="mainVideo-learning" id="subtitle"]] [[!template text="""quite a few which will end up abandoned as well.""" start="00:11:30.224" video="mainVideo-learning" id="subtitle"]] @@ -316,9 +291,7 @@ [[!template text="""and you can access all of them at one shot.""" start="00:12:13.824" video="mainVideo-learning" id="subtitle"]] [[!template text="""That's the advantage.""" start="00:12:16.174" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What if the project is ongoing and doesn't really end?""" start="00:12:18.140" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""What if the project is ongoing and doesn't really end?""" start="00:12:18.140" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What if the project is ongoing and doesn't really end?""" start="00:12:18.140" video="mainVideo-learning" id="subtitle"]]
[[!template text="""What if the project is ongoing and doesn't really end?""" start="00:12:18.140" video="mainVideo-learning" id="subtitle"]] [[!template text="""That doesn't seem to have a deadline or an ending point.""" start="00:12:20.790" video="mainVideo-learning" id="subtitle"]] [[!template text="""That's called an Area. This is now an Area.""" start="00:12:24.190" video="mainVideo-learning" id="subtitle"]] [[!template text="""Examples of Areas: gardening, paying bills, never stops,""" start="00:12:27.157" video="mainVideo-learning" id="subtitle"]] @@ -330,9 +303,7 @@ [[!template text="""and under them you can have those areas, okay,""" start="00:12:47.324" video="mainVideo-learning" id="subtitle"]] [[!template text="""and have a todo [file] in each of those folders.""" start="00:12:50.990" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""What if you forget to visit the TODO files?""" start="00:12:54.320" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now what if we forget to visit the todo files""" start="00:12:54.320" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""What if you forget to visit the TODO files?""" start="00:12:54.320" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now what if we forget to visit the todo files""" start="00:12:54.320" video="mainVideo-learning" id="subtitle"]] [[!template text="""which in my case often happens?""" start="00:12:57.024" video="mainVideo-learning" id="subtitle"]] [[!template text="""I forget to visit those todo files""" start="00:12:58.974" video="mainVideo-learning" id="subtitle"]] [[!template text="""and see what the task net needs to be done.""" start="00:13:01.040" video="mainVideo-learning" id="subtitle"]] @@ -407,9 +378,7 @@ [[!template text="""see how much is there a balance between all of these.""" start="00:15:56.757" video="mainVideo-learning" id="subtitle"]] [[!template text="""These are some questions you can answer.""" start="00:15:59.724" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Planning for the future""" start="00:16:02.740" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now that you know how to manage them now...""" start="00:16:02.740" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Planning for the future""" start="00:16:02.740" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now that you know how to manage them now...""" start="00:16:02.740" video="mainVideo-learning" id="subtitle"]] [[!template text="""So far we have looked at the now,""" start="00:16:04.890" video="mainVideo-learning" id="subtitle"]] [[!template text="""how do you plan for the future?""" start="00:16:06.840" video="mainVideo-learning" id="subtitle"]] [[!template text="""like really into the future?""" start="00:16:08.290" video="mainVideo-learning" id="subtitle"]] @@ -465,9 +434,7 @@ [[!template text="""You can pause this video and build your own nine windows""" start="00:18:32.639" video="mainVideo-learning" id="subtitle"]] [[!template text="""to plan for the future.""" start="00:18:34.990" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""Summary""" start="00:18:36.957" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""So in summary, you need to empty your teacup""" start="00:18:36.957" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""Summary""" start="00:18:36.957" video="mainVideo-learning" id="subtitle"]]
[[!template text="""So in summary, you need to empty your teacup""" start="00:18:36.957" video="mainVideo-learning" id="subtitle"]] [[!template text="""before engaging with the work in front of you.""" start="00:18:40.007" video="mainVideo-learning" id="subtitle"]] [[!template text="""Use the PARA structure: projects, area,""" start="00:18:43.040" video="mainVideo-learning" id="subtitle"]] [[!template text="""resources and archives.""" start="00:18:45.390" video="mainVideo-learning" id="subtitle"]] @@ -478,9 +445,7 @@ [[!template text="""and of course, apply PARA to your future plans""" start="00:18:57.640" video="mainVideo-learning" id="subtitle"]] [[!template text="""to plan for those as well, ok?""" start="00:19:00.440" video="mainVideo-learning" id="subtitle"]] -[[!template new="1" text="""References""" start="00:19:03.210" video="mainVideo-learning" id="subtitle"]] - -[[!template text="""Now, these are the references I have used.""" start="00:19:03.210" video="mainVideo-learning" id="subtitle"]] +
[[!template new="1" text="""References""" start="00:19:03.210" video="mainVideo-learning" id="subtitle"]]
[[!template text="""Now, these are the references I have used.""" start="00:19:03.210" video="mainVideo-learning" id="subtitle"]] [[!template text="""heavily borrowed upon Tiago Fortes' PARA,""" start="00:19:04.840" video="mainVideo-learning" id="subtitle"]] [[!template text="""David Allen's “Getting Things Done”""" start="00:19:07.640" video="mainVideo-learning" id="subtitle"]] [[!template text="""and Tasshin's way to implement this in Emacs and Org Mode.""" start="00:19:09.240" video="mainVideo-learning" id="subtitle"]] diff --git a/2024/info/links-after.md b/2024/info/links-after.md index 4e1d6829..2ee31635 100644 --- a/2024/info/links-after.md +++ b/2024/info/links-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello. My name is Abhinav, and I'm going""" start="00:00:00.560" video="mainVideo-links" id="subtitle"]] [[!template text="""to talk about unlocking linked data in Org""" start="00:00:02.560" video="mainVideo-links" id="subtitle"]] diff --git a/2024/info/literate-after.md b/2024/info/literate-after.md index e0a1e330..3da0700d 100644 --- a/2024/info/literate-after.md +++ b/2024/info/literate-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Can you believe it's been a decade since I started""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Can you believe it's been a decade since I started""" start="00:00:00.000" video="mainVideo-literate" id="subtitle"]] [[!template text="""pontificating on literate programming?""" start="00:00:09.360" video="mainVideo-literate" id="subtitle"]] [[!template text="""I am Howard Abrams. In 2015, I spoke at this EmacsConf""" start="00:00:12.359" video="mainVideo-literate" id="subtitle"]] [[!template text="""where I described my challenges I called Literate DevOps.""" start="00:00:17.543" video="mainVideo-literate" id="subtitle"]] @@ -32,9 +29,7 @@ [[!template text="""talk and re-pitch Literate Programming in the 24th and a""" start="00:01:27.920" video="mainVideo-literate" id="subtitle"]] [[!template text="""Half Century!""" start="00:01:32.920" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Do I still literate?""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""People often ask if I still program that way.""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Do I still literate?""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]]
[[!template text="""People often ask if I still program that way.""" start="00:01:35.253" video="mainVideo-literate" id="subtitle"]] [[!template text="""I guess they want to know if there's any long-term benefits,""" start="00:01:36.654" video="mainVideo-literate" id="subtitle"]] [[!template text="""for many of our tools and our workflows, while initially""" start="00:01:42.760" video="mainVideo-literate" id="subtitle"]] [[!template text="""tantalizing, often don't last. But yes, when I sit down to""" start="00:01:45.920" video="mainVideo-literate" id="subtitle"]] @@ -57,9 +52,7 @@ [[!template text="""larger, so I guess it's not huge. Come on, it's still""" start="00:02:58.120" video="mainVideo-literate" id="subtitle"]] [[!template text="""significant.""" start="00:03:03.640" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Advantages""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Advantages? Look who I'm talking to. I'm sure""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Advantages""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Advantages? Look who I'm talking to. I'm sure""" start="00:03:06.332" video="mainVideo-literate" id="subtitle"]] [[!template text="""you know the advantages, but indulge me. I feel that one""" start="00:03:09.800" video="mainVideo-literate" id="subtitle"]] [[!template text="""advantage of literate programming, especially with large""" start="00:03:14.280" video="mainVideo-literate" id="subtitle"]] [[!template text="""code bases, is how you can organize and manage the""" start="00:03:16.800" video="mainVideo-literate" id="subtitle"]] @@ -81,9 +74,7 @@ [[!template text="""that GitHub repo where you stole, I mean, became inspired to""" start="00:04:20.880" video="mainVideo-literate" id="subtitle"]] [[!template text="""write your code.""" start="00:04:25.520" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Disadvantages""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Literate programming may push the boundaries of our""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Disadvantages""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Literate programming may push the boundaries of our""" start="00:04:28.720" video="mainVideo-literate" id="subtitle"]] [[!template text="""workflows and revealing some abrasion, but we aren't""" start="00:04:34.280" video="mainVideo-literate" id="subtitle"]] [[!template text="""solely working with Org. We have the flexibility of a Lisp""" start="00:04:38.120" video="mainVideo-literate" id="subtitle"]] [[!template text="""engine to file down those rough parts. You may have your""" start="00:04:41.240" video="mainVideo-literate" id="subtitle"]] @@ -98,9 +89,7 @@ [[!template text="""the state between my Org file and the source code. I want""" start="00:05:15.720" video="mainVideo-literate" id="subtitle"]] [[!template text="""to be able to jump around my code just as easily.""" start="00:05:20.800" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Ease of typing""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Let me explain more. I've created some templates using""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Ease of typing""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Let me explain more. I've created some templates using""" start="00:05:24.133" video="mainVideo-literate" id="subtitle"]] [[!template text="""yasnippet. Since I was used to the old org-tempo feature,""" start="00:05:28.655" video="mainVideo-literate" id="subtitle"]] [[!template text="""my habit has all the snippets starting with a""" start="00:05:34.680" video="mainVideo-literate" id="subtitle"]] [[!template text="""< character. I'm not sure if I should demonstrate all of them""" start="00:05:37.146" video="mainVideo-literate" id="subtitle"]] @@ -113,9 +102,7 @@ [[!template text="""My point here is to pay attention to what slows you down or""" start="00:06:11.680" video="mainVideo-literate" id="subtitle"]] [[!template text="""hinders you from getting the advantages you want.""" start="00:06:15.160" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Keep tangled code sync'd""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Do you ever forget to tangle your code? You can append this""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Keep tangled code sync'd""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Do you ever forget to tangle your code? You can append this""" start="00:06:24.720" video="mainVideo-literate" id="subtitle"]] [[!template text="""code to the bottom of your Org file so that it gets tangled""" start="00:06:28.400" video="mainVideo-literate" id="subtitle"]] [[!template text="""every time you save. I've written a function so I can visit""" start="00:06:31.520" video="mainVideo-literate" id="subtitle"]] [[!template text="""that tangled file and then return. I've grouped all my""" start="00:06:36.160" video="mainVideo-literate" id="subtitle"]] @@ -130,9 +117,7 @@ [[!template text="""Org file. Personally, I don't like this. My source of truth""" start="00:07:11.480" video="mainVideo-literate" id="subtitle"]] [[!template text="""is the Org file, and I tangle as a one-way diode.""" start="00:07:16.880" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Code evaluation""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Often a block of code will reference a variable""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Code evaluation""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Often a block of code will reference a variable""" start="00:07:22.501" video="mainVideo-literate" id="subtitle"]] [[!template text="""or call a function to find in another block of code.""" start="00:07:25.604" video="mainVideo-literate" id="subtitle"]] [[!template text="""In my original literate DevOps talk,""" start="00:07:29.047" video="mainVideo-literate" id="subtitle"]] [[!template text="""I discussed how to use the output from one block into""" start="00:07:31.509" video="mainVideo-literate" id="subtitle"]] @@ -147,9 +132,7 @@ [[!template text="""code block sends it into the REPL, and now I can work with my""" start="00:08:07.960" video="mainVideo-literate" id="subtitle"]] [[!template text="""code blocks interactively. (That's not quite right.)""" start="00:08:11.400" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Has that block been eval'd?""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""I primarily hack on Emacs Lisp, and textual changes to""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Has that block been eval'd?""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]]
[[!template text="""I primarily hack on Emacs Lisp, and textual changes to""" start="00:08:19.960" video="mainVideo-literate" id="subtitle"]] [[!template text="""variables, functions, or macros--unless you habitually""" start="00:08:24.040" video="mainVideo-literate" id="subtitle"]] [[!template text="""type C-c C-c--may not represent the state of your""" start="00:08:28.200" video="mainVideo-literate" id="subtitle"]] [[!template text="""machine. A similar effect happens in any language that""" start="00:08:31.680" video="mainVideo-literate" id="subtitle"]] @@ -162,17 +145,13 @@ [[!template text="""load a file. I'm not sure that's a good policy. I mean, have""" start="00:08:58.280" video="mainVideo-literate" id="subtitle"]] [[!template text="""you not written a bug?""" start="00:09:02.360" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Evaluating code in a subtree""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""Since this function right here""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Evaluating code in a subtree""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]]
[[!template text="""Since this function right here""" start="00:09:05.239" video="mainVideo-literate" id="subtitle"]] [[!template text="""evaluates only visible blocks, we can limit what Emacs""" start="00:09:08.560" video="mainVideo-literate" id="subtitle"]] [[!template text="""evaluates to a single Org mode section. For instance, with""" start="00:09:12.040" video="mainVideo-literate" id="subtitle"]] [[!template text="""the cursor in one section, I can evaluate just the blocks in""" start="00:09:18.800" video="mainVideo-literate" id="subtitle"]] [[!template text="""that header section.""" start="00:09:23.760" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Evaluating code from a distance""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""If I can see a block, why clumsily""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Evaluating code from a distance""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]]
[[!template text="""If I can see a block, why clumsily""" start="00:09:26.872" video="mainVideo-literate" id="subtitle"]] [[!template text="""navigate to it when I can extend the avy project to just jump to""" start="00:09:29.400" video="mainVideo-literate" id="subtitle"]] [[!template text="""it? For instance, let's pull this file up. I can jump to any of""" start="00:09:33.080" video="mainVideo-literate" id="subtitle"]] [[!template text="""the four blocks.""" start="00:09:40.480" video="mainVideo-literate" id="subtitle"]] @@ -186,9 +165,7 @@ [[!template text="""from a distance. I apologize for the previous terrible""" start="00:10:17.840" video="mainVideo-literate" id="subtitle"]] [[!template text="""examples, but I'm quite pleased with this feature.""" start="00:10:22.360" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Navigating by headers""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""As I mentioned earlier, in a large code base, we organize code by""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Navigating by headers""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]]
[[!template text="""As I mentioned earlier, in a large code base, we organize code by""" start="00:10:26.020" video="mainVideo-literate" id="subtitle"]] [[!template text="""library or module, and each file contains a class composed""" start="00:10:30.120" video="mainVideo-literate" id="subtitle"]] [[!template text="""of methods, functions, variables, fields, et cetera.""" start="00:10:33.840" video="mainVideo-literate" id="subtitle"]] [[!template text="""Literate programming in Org files allows me to add a""" start="00:10:37.120" video="mainVideo-literate" id="subtitle"]] @@ -205,9 +182,7 @@ [[!template text="""then some Lisp to parse the output. Unless someone has""" start="00:11:20.040" video="mainVideo-literate" id="subtitle"]] [[!template text="""already done this, I should package this up on MELPA.""" start="00:11:24.560" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Navigating by function names""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""What about jumping directly to the definition of a function,""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Navigating by function names""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]]
[[!template text="""What about jumping directly to the definition of a function,""" start="00:11:26.794" video="mainVideo-literate" id="subtitle"]] [[!template text="""variable, or what have you? We can use Emacs's built-in xref""" start="00:11:32.200" video="mainVideo-literate" id="subtitle"]] [[!template text="""library, but these functions don't understand that the""" start="00:11:36.800" video="mainVideo-literate" id="subtitle"]] [[!template text="""source code is in Org files. When I started using Emacs""" start="00:11:39.880" video="mainVideo-literate" id="subtitle"]] @@ -237,9 +212,7 @@ [[!template text="""query or scanning the language based on the nearest code""" start="00:13:34.480" video="mainVideo-literate" id="subtitle"]] [[!template text="""block. I think I'm babbling.""" start="00:13:37.720" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Why literate programming?""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""In true geek fashion, I dived into the details before""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Why literate programming?""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]]
[[!template text="""In true geek fashion, I dived into the details before""" start="00:13:40.480" video="mainVideo-literate" id="subtitle"]] [[!template text="""answering some better questions. In my original Literate""" start="00:13:47.200" video="mainVideo-literate" id="subtitle"]] [[!template text="""DevOps talk, I explained the advantages of initially""" start="00:13:52.080" video="mainVideo-literate" id="subtitle"]] [[!template text="""writing down your thoughts, your plans, goals... the""" start="00:13:55.480" video="mainVideo-literate" id="subtitle"]] @@ -250,9 +223,7 @@ [[!template text="""first-class citizen doesn't excuse bad code. You want""" start="00:14:14.760" video="mainVideo-literate" id="subtitle"]] [[!template text="""something more from both your code and your prose.""" start="00:14:18.800" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""LP prose isn't comments""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""The prose of your literate program isn't""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""LP prose isn't comments""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]]
[[!template text="""The prose of your literate program isn't""" start="00:14:23.166" video="mainVideo-literate" id="subtitle"]] [[!template text="""just regurgitation of the code in the block.""" start="00:14:25.587" video="mainVideo-literate" id="subtitle"]] [[!template text="""You want something more helpful.""" start="00:14:28.668" video="mainVideo-literate" id="subtitle"]] [[!template text="""You're really writing a research paper to yourself.""" start="00:14:31.528" video="mainVideo-literate" id="subtitle"]] @@ -263,9 +234,7 @@ [[!template text="""and my response is little more than a link""" start="00:14:48.681" video="mainVideo-literate" id="subtitle"]] [[!template text="""to my online repo that I've rendered as a website.""" start="00:14:51.042" video="mainVideo-literate" id="subtitle"]] -[[!template new="1" text="""Summary""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]] - -[[!template text="""I'm out of time. I hope this has been interesting""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]] +
[[!template new="1" text="""Summary""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]]
[[!template text="""I'm out of time. I hope this has been interesting""" start="00:14:55.800" video="mainVideo-literate" id="subtitle"]] [[!template text="""philosophically as well as practically, as I think""" start="00:15:01.200" video="mainVideo-literate" id="subtitle"]] [[!template text="""literate programming is the cat's meow. I'm afraid this""" start="00:15:04.360" video="mainVideo-literate" id="subtitle"]] [[!template text="""summary slide is about my home-baked solutions that fit my""" start="00:15:08.560" video="mainVideo-literate" id="subtitle"]] diff --git a/2024/info/maxima-after.md b/2024/info/maxima-after.md index f497e641..204b6622 100644 --- a/2024/info/maxima-after.md +++ b/2024/info/maxima-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hi! My name is Eduardo Ochs. I'm the author of""" start="00:00:00.000" video="mainVideo-maxima" id="subtitle"]] [[!template text="""an obscure package called eev and I""" start="00:00:03.000" video="mainVideo-maxima" id="subtitle"]] diff --git a/2024/info/mcclim-after.md b/2024/info/mcclim-after.md index 4a86a585..7ac893dd 100644 --- a/2024/info/mcclim-after.md +++ b/2024/info/mcclim-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:01.750" video="mainVideo-mcclim" id="subtitle"]] - -[[!template text="""Welcome everyone to my EmacsConf presentation,""" start="00:00:01.750" video="mainVideo-mcclim" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:01.750" video="mainVideo-mcclim" id="subtitle"]]
[[!template text="""Welcome everyone to my EmacsConf presentation,""" start="00:00:01.750" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""where we're going to look at Lisp's vdemo[??] app from 1978,""" start="00:00:15.370" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""but done in modern Elisp.""" start="00:00:22.139" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""Then we're going to look at getting inferior-lisp working,""" start="00:00:28.460" video="mainVideo-mcclim" id="subtitle"]] @@ -54,9 +51,7 @@ [[!template text="""and the keyboard macro, alright.""" start="00:03:13.661" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""What was basically happening...""" start="00:03:20.190" video="mainVideo-mcclim" id="subtitle"]] -[[!template new="1" text="""Calendar""" start="00:03:21.702" video="mainVideo-mcclim" id="subtitle"]] - -[[!template text="""So the demo application in this case is""" start="00:03:21.702" video="mainVideo-mcclim" id="subtitle"]] +
[[!template new="1" text="""Calendar""" start="00:03:21.702" video="mainVideo-mcclim" id="subtitle"]]
[[!template text="""So the demo application in this case is""" start="00:03:21.702" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""a scheduling application.""" start="00:03:25.356" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""And so you can imagine improvising a calendar like this""" start="00:03:28.792" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""if you weren't existingly using an""" start="00:03:34.731" video="mainVideo-mcclim" id="subtitle"]] @@ -262,9 +257,7 @@ [[!template text="""how to get started with Lisp.""" start="00:19:06.762" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""So I'm just going to try and do everything here and now.""" start="00:19:09.765" video="mainVideo-mcclim" id="subtitle"]] -[[!template new="1" text="""Inferior Lisp and McCLIM""" start="00:19:12.802" video="mainVideo-mcclim" id="subtitle"]] - -[[!template text="""And this is the second piece of my three pieces,""" start="00:19:12.802" video="mainVideo-mcclim" id="subtitle"]] +
[[!template new="1" text="""Inferior Lisp and McCLIM""" start="00:19:12.802" video="mainVideo-mcclim" id="subtitle"]]
[[!template text="""And this is the second piece of my three pieces,""" start="00:19:12.802" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""so let's just get inferior lisp and McCLIM happening.""" start="00:19:18.407" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""We normally use slime Superior Lisp Interaction Mode""" start="00:19:22.928" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""for Emacs, which we could get from Emacs's package manager.""" start="00:19:29.318" video="mainVideo-mcclim" id="subtitle"]] @@ -404,9 +397,7 @@ [[!template text="""We could accept an expression. foo bar baz.""" start="00:28:54.316" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""return "foo bar baz 123" because that's what I wrote.""" start="00:29:05.350" video="mainVideo-mcclim" id="subtitle"]] -[[!template new="1" text="""Putting things together""" start="00:29:10.964" video="mainVideo-mcclim" id="subtitle"]] - -[[!template text="""And now the kind of pièce de résistance""" start="00:29:10.964" video="mainVideo-mcclim" id="subtitle"]] +
[[!template new="1" text="""Putting things together""" start="00:29:10.964" video="mainVideo-mcclim" id="subtitle"]]
[[!template text="""And now the kind of pièce de résistance""" start="00:29:10.964" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""of putting those things together.""" start="00:29:14.820" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""Let's just run over to our scratch buffer.""" start="00:29:17.555" video="mainVideo-mcclim" id="subtitle"]] [[!template text="""Oh, or our ielm thing, right?""" start="00:29:22.226" video="mainVideo-mcclim" id="subtitle"]] diff --git a/2024/info/org-update-after.md b/2024/info/org-update-after.md index 6488e8c9..7985b304 100644 --- a/2024/info/org-update-after.md +++ b/2024/info/org-update-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Hello, everyone. My name is Ihor Radchenko,""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Hello, everyone. My name is Ihor Radchenko,""" start="00:00:00.000" video="mainVideo-org-update" id="subtitle"]] [[!template text="""and I'm the new official Org Mode maintainer.""" start="00:00:03.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Today, I'll briefly introduce myself""" start="00:00:07.320" video="mainVideo-org-update" id="subtitle"]] [[!template text="""and then share my ideas about the future of""" start="00:00:09.680" video="mainVideo-org-update" id="subtitle"]] @@ -31,9 +28,7 @@ [[!template text="""and the community ideas.""" start="00:01:03.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Let me first pass the word to Bastien.""" start="00:01:07.560" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Message from Bastien Guerry""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Hello, everyone. Ihor Radchenko is the new Org Mode""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Message from Bastien Guerry""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Hello, everyone. Ihor Radchenko is the new Org Mode""" start="00:01:14.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""maintainer.""" start="00:01:17.600" video="mainVideo-org-update" id="subtitle"]] [[!template text="""He's been acting as such for a couple of years now,""" start="00:01:18.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""and I'm really glad he's finally agreed to take on the""" start="00:01:21.040" video="mainVideo-org-update" id="subtitle"]] @@ -73,9 +68,7 @@ [[!template text="""happy user. Thanks everyone for all these years of fun and""" start="00:03:08.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""learning.""" start="00:03:11.560" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""My step-by-step journey to Org maintenance""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Now back to my talk. Let me start by briefly introducing""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""My step-by-step journey to Org maintenance""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Now back to my talk. Let me start by briefly introducing""" start="00:03:15.920" video="mainVideo-org-update" id="subtitle"]] [[!template text="""myself. I'm actually not a programmer. By training, I'm a""" start="00:03:20.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""material scientist. and I only started using Emacs and""" start="00:03:23.960" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Org Mode and naturally doing programming (because that's""" start="00:03:27.520" video="mainVideo-org-update" id="subtitle"]] @@ -103,9 +96,7 @@ [[!template text="""become a maintainer, or not a maintainer as you wish.""" start="00:05:02.400" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Enough about me.""" start="00:05:07.680" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Priorities for Org maintenance""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Let's talk about what I think should happen with""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Priorities for Org maintenance""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Let's talk about what I think should happen with""" start="00:05:09.241" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Org Mode and what my goals on Org Mode is. The first and top""" start="00:05:13.360" video="mainVideo-org-update" id="subtitle"]] [[!template text="""priority for me is the basics. The basics, the""" start="00:05:18.860" video="mainVideo-org-update" id="subtitle"]] [[!template text="""code-based stability.""" start="00:05:25.200" video="mainVideo-org-update" id="subtitle"]] @@ -158,18 +149,14 @@ [[!template text="""them should come from the community.""" start="00:08:05.300" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Now let's go into the details.""" start="00:08:09.464" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Modular Org""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""The code base. As a bit of motivation, I would like""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Modular Org""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""The code base. As a bit of motivation, I would like""" start="00:08:11.767" video="mainVideo-org-update" id="subtitle"]] [[!template text="""to share this email from Richard Stallman, who a couple of""" start="00:08:15.720" video="mainVideo-org-update" id="subtitle"]] [[!template text="""years ago asked about improving Org mode by making it""" start="00:08:19.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""more modular. That's directly asking about improving the""" start="00:08:27.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""foundations of the code. That's what I think is""" start="00:08:32.840" video="mainVideo-org-update" id="subtitle"]] [[!template text="""an important direction as well. Here's an example.""" start="00:08:35.640" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Slim down large Org libraries""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""We have a lot of really, really large org libraries,""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Slim down large Org libraries""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""We have a lot of really, really large org libraries,""" start="00:08:41.590" video="mainVideo-org-update" id="subtitle"]] [[!template text="""like org.el, which is like one megabyte or something large,""" start="00:08:45.313" video="mainVideo-org-update" id="subtitle"]] [[!template text="""org-agenda, org-table, org-list,""" start="00:08:49.377" video="mainVideo-org-update" id="subtitle"]] [[!template text="""a number of files which are really,""" start="00:08:51.559" video="mainVideo-org-update" id="subtitle"]] @@ -196,9 +183,7 @@ [[!template text="""libraries. It's still work in progress, so there's a lot of""" start="00:09:52.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""room for improvement in this area.""" start="00:09:54.840" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Upstream generic Org libraries""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Another direction which is""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Upstream generic Org libraries""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Another direction which is""" start="00:10:00.000" video="mainVideo-org-update" id="subtitle"]] [[!template text="""somewhat reasonable in relation to splitting things down""" start="00:10:04.600" video="mainVideo-org-update" id="subtitle"]] [[!template text="""is that some libraries are really generic in Org Mode,""" start="00:10:09.800" video="mainVideo-org-update" id="subtitle"]] [[!template text="""because Org Mode often has a functionality""" start="00:10:15.160" video="mainVideo-org-update" id="subtitle"]] @@ -223,9 +208,7 @@ [[!template text="""but in general, there is a lot of""" start="00:11:14.005" video="mainVideo-org-update" id="subtitle"]] [[!template text="""work that may be done and may be discussed in the future.""" start="00:11:18.960" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Use modern Emacs APIs and libraries""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""The third part about the basics is making use of the new Emacs""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Use modern Emacs APIs and libraries""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""The third part about the basics is making use of the new Emacs""" start="00:11:25.400" video="mainVideo-org-update" id="subtitle"]] [[!template text="""libraries. Org Mode in general is quite well written in terms""" start="00:11:31.480" video="mainVideo-org-update" id="subtitle"]] [[!template text="""of Emacs integration. We do support many of the Emacs""" start="00:11:36.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""features and libraries which are generic. However, in more""" start="00:11:40.040" video="mainVideo-org-update" id="subtitle"]] @@ -253,9 +236,7 @@ [[!template text="""And some more generic library: select thingatpt.""" start="00:13:01.000" video="mainVideo-org-update" id="subtitle"]] [[!template text="""That's about using external APIs.""" start="00:13:09.320" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Improve Org parser APIs""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Now about the internal Org APIs.""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Improve Org parser APIs""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Now about the internal Org APIs.""" start="00:13:13.257" video="mainVideo-org-update" id="subtitle"]] [[!template text="""One important, probably one of the most important""" start="00:13:18.558" video="mainVideo-org-update" id="subtitle"]] [[!template text="""parts of Org is the parser, how Org itself understands the""" start="00:13:19.440" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Org files. The situation is that we have two parsers in""" start="00:13:23.260" video="mainVideo-org-update" id="subtitle"]] @@ -280,9 +261,7 @@ [[!template text="""eventually be used everywhere""" start="00:14:41.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""so that everything is consistent.""" start="00:14:42.750" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Improve Org babel APIs""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""The second important API is the Org babel.""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Improve Org babel APIs""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""The second important API is the Org babel.""" start="00:14:45.731" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Currently, Org babel does have some API,""" start="00:14:50.360" video="mainVideo-org-update" id="subtitle"]] [[!template text="""but first, it's not well documented.""" start="00:14:54.415" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Second, it's sometimes awkwardly""" start="00:14:56.196" video="mainVideo-org-update" id="subtitle"]] @@ -301,9 +280,7 @@ [[!template text="""I hope it can progress further.""" start="00:15:51.600" video="mainVideo-org-update" id="subtitle"]] [[!template text="""For now, it already progressed quite far.""" start="00:15:53.601" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Beyond Org code and Emacs: third-party packages, apps, parsers""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""That's all about the basics, the underlying""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Beyond Org code and Emacs: third-party packages, apps, parsers""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""That's all about the basics, the underlying""" start="00:15:57.380" video="mainVideo-org-update" id="subtitle"]] [[!template text="""backbone of the Org codebase. Let's move to the second""" start="00:15:59.960" video="mainVideo-org-update" id="subtitle"]] [[!template text="""important direction which is""" start="00:16:04.800" video="mainVideo-org-update" id="subtitle"]] [[!template text="""the third-party packages and basically the parsers""" start="00:16:09.520" video="mainVideo-org-update" id="subtitle"]] @@ -311,9 +288,7 @@ [[!template text="""because I want to have a call for contribution at the end.""" start="00:16:18.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""For third-party packages, I would like to remind you that""" start="00:16:23.920" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""org-contrib""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Org mode used to have something called org-contrib as a""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""org-contrib""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Org mode used to have something called org-contrib as a""" start="00:16:31.200" video="mainVideo-org-update" id="subtitle"]] [[!template text="""part of Org mode, which is a collection of small libraries,""" start="00:16:34.240" video="mainVideo-org-update" id="subtitle"]] [[!template text="""small packages that didn't have a proper""" start="00:16:39.800" video="mainVideo-org-update" id="subtitle"]] [[!template text="""copyright assignment basically,""" start="00:16:44.080" video="mainVideo-org-update" id="subtitle"]] @@ -333,9 +308,7 @@ [[!template text="""the maintainer, because otherwise""" start="00:17:31.992" video="mainVideo-org-update" id="subtitle"]] [[!template text="""there will be not much progress in these libraries.""" start="00:17:34.455" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Org orphanage""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""As a natural extension of this and inspired by""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Org orphanage""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""As a natural extension of this and inspired by""" start="00:17:37.820" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Tarsius's Emacs Orphanage idea, we also maintain a small""" start="00:17:40.720" video="mainVideo-org-update" id="subtitle"]] [[!template text="""page basically listing the libraries, some others like""" start="00:17:46.200" video="mainVideo-org-update" id="subtitle"]] [[!template text="""packages, Emacs packages that are not really maintained.""" start="00:17:50.360" video="mainVideo-org-update" id="subtitle"]] @@ -347,9 +320,7 @@ [[!template text="""Elisp hacker and you want to help something for Org Mode,""" start="00:18:12.840" video="mainVideo-org-update" id="subtitle"]] [[!template text="""you can check that page and see where you can help.""" start="00:18:18.120" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Mobile apps and parsers""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Now away from Emacs, or mobile apps.""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Mobile apps and parsers""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Now away from Emacs, or mobile apps.""" start="00:18:25.840" video="mainVideo-org-update" id="subtitle"]] [[!template text="""We have quite a lot of mobile apps at this point.""" start="00:18:29.880" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Unfortunately, it's very hard""" start="00:18:33.949" video="mainVideo-org-update" id="subtitle"]] [[!template text="""for me and many other Elisp contributors to contribute to""" start="00:18:35.760" video="mainVideo-org-update" id="subtitle"]] @@ -378,9 +349,7 @@ [[!template text="""I mentioned that we want to submit to IETF, which means that""" start="00:20:14.580" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Org markup will become the actual registered format.""" start="00:20:19.000" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Long-standing syntax problems""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""But before we do that and thus fix Org markup in stone,""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Long-standing syntax problems""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""But before we do that and thus fix Org markup in stone,""" start="00:20:23.869" video="mainVideo-org-update" id="subtitle"]] [[!template text="""because it's very hard to change things in the IETF,""" start="00:20:31.280" video="mainVideo-org-update" id="subtitle"]] [[!template text="""it's important to address important problems,""" start="00:20:34.615" video="mainVideo-org-update" id="subtitle"]] [[!template text="""existing problems with Org syntax.""" start="00:20:38.837" video="mainVideo-org-update" id="subtitle"]] @@ -407,9 +376,7 @@ [[!template text="""probably should redesign it eventually, maybe in""" start="00:21:47.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""backwards-compatible way, but we will see how it goes.""" start="00:21:50.480" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""New syntax features""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Another part is not just fixing the edge cases or problems,""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""New syntax features""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Another part is not just fixing the edge cases or problems,""" start="00:21:56.240" video="mainVideo-org-update" id="subtitle"]] [[!template text="""it's the completely new syntax features. That's probably""" start="00:22:00.640" video="mainVideo-org-update" id="subtitle"]] [[!template text="""done after we submit to IETF. But there are important things""" start="00:22:04.040" video="mainVideo-org-update" id="subtitle"]] [[!template text="""that people often request, like time zone support in""" start="00:22:07.960" video="mainVideo-org-update" id="subtitle"]] @@ -436,9 +403,7 @@ [[!template text="""Please do participate in these discussions""" start="00:23:25.611" video="mainVideo-org-update" id="subtitle"]] [[!template text="""if you have ideas.""" start="00:23:26.772" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""New features I hope to see in Org""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""The last direction is the""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""New features I hope to see in Org""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""The last direction is the""" start="00:23:30.503" video="mainVideo-org-update" id="subtitle"]] [[!template text="""new features. In general, I welcome all kinds of good""" start="00:23:32.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""features, but there are certain things which I explicitly""" start="00:23:36.320" video="mainVideo-org-update" id="subtitle"]] [[!template text="""want to see and I hope to see submitted. If you are""" start="00:23:39.560" video="mainVideo-org-update" id="subtitle"]] @@ -478,16 +443,12 @@ [[!template text="""contributing. Just write the mailing list about your""" start="00:25:47.840" video="mainVideo-org-update" id="subtitle"]] [[!template text="""interest and we can start from there.""" start="00:25:50.040" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Org community""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Now, the important part is, you see,""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Org community""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Now, the important part is, you see,""" start="00:25:54.073" video="mainVideo-org-update" id="subtitle"]] [[!template text="""I keep asking people like,""" start="00:25:57.456" video="mainVideo-org-update" id="subtitle"]] [[!template text="""please contribute, please contribute,""" start="00:25:58.636" video="mainVideo-org-update" id="subtitle"]] [[!template text="""but who should contribute?""" start="00:25:59.800" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Org community forums - Org mailing list""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""So I want to improve communication between the""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Org community forums - Org mailing list""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""So I want to improve communication between the""" start="00:26:01.358" video="mainVideo-org-update" id="subtitle"]] [[!template text="""community and the mailing list. Now, people often""" start="00:26:03.800" video="mainVideo-org-update" id="subtitle"]] [[!template text="""discuss new features or ideas on all kinds of places like""" start="00:26:12.480" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Reddit, Mastodon, like all kinds of Matrix/IRC chats,""" start="00:26:16.800" video="mainVideo-org-update" id="subtitle"]] @@ -507,9 +468,7 @@ [[!template text="""submit a patch to work or at least email about this link""" start="00:27:08.120" video="mainVideo-org-update" id="subtitle"]] [[!template text="""to the mailing list.""" start="00:27:13.026" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Org mailing list - world""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Of course, not everyone likes to use mailing lists""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Org mailing list - world""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Of course, not everyone likes to use mailing lists""" start="00:27:17.160" video="mainVideo-org-update" id="subtitle"]] [[!template text="""or don't have a good setup to do it,""" start="00:27:21.055" video="mainVideo-org-update" id="subtitle"]] [[!template text="""or even don't want to read""" start="00:27:23.810" video="mainVideo-org-update" id="subtitle"]] [[!template text="""everything on Org mailing list, because there are things""" start="00:27:25.560" video="mainVideo-org-update" id="subtitle"]] @@ -552,9 +511,7 @@ [[!template text="""casually reading. That would be nice if someone""" start="00:29:56.120" video="mainVideo-org-update" id="subtitle"]] [[!template text="""knowledgeable of CSS could help with this.""" start="00:29:59.080" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Contribute ideas!""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""Again, I cannot emphasize more that most of the Org ideas of""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Contribute ideas!""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""Again, I cannot emphasize more that most of the Org ideas of""" start="00:30:05.580" video="mainVideo-org-update" id="subtitle"]] [[!template text="""the new features are coming from people,""" start="00:30:12.200" video="mainVideo-org-update" id="subtitle"]] [[!template text="""but often they are known either by someone""" start="00:30:16.975" video="mainVideo-org-update" id="subtitle"]] [[!template text="""submitting a patch to the mailing list or""" start="00:30:23.222" video="mainVideo-org-update" id="subtitle"]] @@ -569,9 +526,7 @@ [[!template text="""We can discuss some related to Org mode topics""" start="00:30:51.386" video="mainVideo-org-update" id="subtitle"]] [[!template text="""in open-end list, just like on an ordinary forum.""" start="00:30:54.930" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""How much can a single person do?""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""I would like to end my talk with the call for contributions.""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""How much can a single person do?""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""I would like to end my talk with the call for contributions.""" start="00:31:01.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Let me explain a little bit, because you saw now I shared many""" start="00:31:08.440" video="mainVideo-org-update" id="subtitle"]] [[!template text="""many ideas and I do spend a lot of time on Org Mode. In fact,""" start="00:31:13.640" video="mainVideo-org-update" id="subtitle"]] [[!template text="""for the last year, I was spending like""" start="00:31:19.320" video="mainVideo-org-update" id="subtitle"]] @@ -581,9 +536,7 @@ [[!template text="""there is no way I can handle""" start="00:31:29.901" video="mainVideo-org-update" id="subtitle"]] [[!template text="""everything by myself.""" start="00:31:31.480" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Contribute code!""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""We really, really need more people to contribute""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Contribute code!""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""We really, really need more people to contribute""" start="00:31:35.000" video="mainVideo-org-update" id="subtitle"]] [[!template text="""so that Org mode keeps moving forward.""" start="00:31:38.552" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Again, I just shared ideas,""" start="00:31:43.634" video="mainVideo-org-update" id="subtitle"]] [[!template text="""but I have so many more.""" start="00:31:45.080" video="mainVideo-org-update" id="subtitle"]] @@ -614,9 +567,7 @@ [[!template text="""important contributions for Org Mode.""" start="00:32:53.320" video="mainVideo-org-update" id="subtitle"]] [[!template text="""All other types are less important, really.""" start="00:32:56.213" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Why contribute?""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""I want to spend a couple of slides""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Why contribute?""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""I want to spend a couple of slides""" start="00:33:02.080" video="mainVideo-org-update" id="subtitle"]] [[!template text="""trying to motivate you to contribute.""" start="00:33:03.960" video="mainVideo-org-update" id="subtitle"]] [[!template text="""If you ever considered contributing""" start="00:33:07.720" video="mainVideo-org-update" id="subtitle"]] [[!template text="""or if you ever wished to have some""" start="00:33:11.129" video="mainVideo-org-update" id="subtitle"]] @@ -671,9 +622,7 @@ [[!template text="""The key point is that we always welcome new contributors.""" start="00:35:29.300" video="mainVideo-org-update" id="subtitle"]] [[!template text="""The more contributions to Org Mode is better.""" start="00:35:35.160" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Benefits for code contributors""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""To increase the motivation,""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Benefits for code contributors""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""To increase the motivation,""" start="00:35:40.240" video="mainVideo-org-update" id="subtitle"]] [[!template text="""I'll just try to show some benefits""" start="00:35:41.520" video="mainVideo-org-update" id="subtitle"]] [[!template text="""of contributing to Org Mode and free software in general.""" start="00:35:44.920" video="mainVideo-org-update" id="subtitle"]] [[!template text="""It can be actually useful for your CV if you're a programmer.""" start="00:35:49.480" video="mainVideo-org-update" id="subtitle"]] @@ -710,9 +659,7 @@ [[!template text="""you can just request this""" start="00:37:33.524" video="mainVideo-org-update" id="subtitle"]] [[!template text="""and we can share a part of the donations to you.""" start="00:37:34.920" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Contributing as non-programmer""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""For non-programmers, we also have a lot of work to do.""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Contributing as non-programmer""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""For non-programmers, we also have a lot of work to do.""" start="00:37:41.420" video="mainVideo-org-update" id="subtitle"]] [[!template text="""There's a lot of stuff we can do on the Org wiki,""" start="00:37:45.200" video="mainVideo-org-update" id="subtitle"]] [[!template text="""especially with CSS styles,""" start="00:37:47.093" video="mainVideo-org-update" id="subtitle"]] [[!template text="""with updating articles,""" start="00:37:48.755" video="mainVideo-org-update" id="subtitle"]] @@ -728,9 +675,7 @@ [[!template text="""that new users have no idea about certain things.""" start="00:38:16.810" video="mainVideo-org-update" id="subtitle"]] [[!template text="""I can just omit those without being aware.""" start="00:38:20.912" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Got no free time, but still want to help?""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""The final slide I would go to come back is about""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Got no free time, but still want to help?""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""The final slide I would go to come back is about""" start="00:38:30.440" video="mainVideo-org-update" id="subtitle"]] [[!template text="""donations. Again, most important is contributing code,""" start="00:38:33.320" video="mainVideo-org-update" id="subtitle"]] [[!template text="""but I do hope that donations can""" start="00:38:37.920" video="mainVideo-org-update" id="subtitle"]] [[!template text="""increase the number of contributors.""" start="00:38:42.880" video="mainVideo-org-update" id="subtitle"]] @@ -741,9 +686,7 @@ [[!template text="""over the long time. If you cannot contribute by other means,""" start="00:39:00.080" video="mainVideo-org-update" id="subtitle"]] [[!template text="""it would be appreciated to contribute money.""" start="00:39:07.836" video="mainVideo-org-update" id="subtitle"]] -[[!template new="1" text="""Thank you""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]] - -[[!template text="""We came to the end of my talk.""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]] +
[[!template new="1" text="""Thank you""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""We came to the end of my talk.""" start="00:39:12.997" video="mainVideo-org-update" id="subtitle"]] [[!template text="""Thank you for your attention.""" start="00:39:14.818" video="mainVideo-org-update" id="subtitle"]] [[!template text="""If you have any questions, please feel free to ask.""" start="00:39:16.278" video="mainVideo-org-update" id="subtitle"]] [[!template text="""I think we can even discuss further""" start="00:39:19.699" video="mainVideo-org-update" id="subtitle"]] diff --git a/2024/info/p-search-after.md b/2024/info/p-search-after.md index b6aa194a..779ffbb2 100644 --- a/2024/info/p-search-after.md +++ b/2024/info/p-search-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Search in daily workflows""" start="00:00:00.000" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""Hello, my name is Zachary Romero, and today I'll be going""" start="00:00:00.000" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Search in daily workflows""" start="00:00:00.000" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""Hello, my name is Zachary Romero, and today I'll be going""" start="00:00:00.000" video="mainVideo-p-search" id="subtitle"]] [[!template text="""over p-search, a local search engine in Emacs.""" start="00:00:03.400" video="mainVideo-p-search" id="subtitle"]] [[!template text="""Search these days is everywhere in software, from text editors,""" start="00:00:08.116" video="mainVideo-p-search" id="subtitle"]] [[!template text="""to IDEs, to most online websites. These tools tend to fall""" start="00:00:12.399" video="mainVideo-p-search" id="subtitle"]] @@ -28,9 +25,7 @@ [[!template text="""online services such as Google, GitHub,""" start="00:01:15.640" video="mainVideo-p-search" id="subtitle"]] [[!template text="""SourceGraph for code.""" start="00:01:18.766" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Problems with editor search tools""" start="00:01:24.200" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""The kind of search feature that editors""" start="00:01:24.200" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Problems with editor search tools""" start="00:01:24.200" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""The kind of search feature that editors""" start="00:01:24.200" video="mainVideo-p-search" id="subtitle"]] [[!template text="""usually have have a lot of downsides to them. For one, a lot""" start="00:01:28.840" video="mainVideo-p-search" id="subtitle"]] [[!template text="""of times you don't know the exact search string you're""" start="00:01:36.720" video="mainVideo-p-search" id="subtitle"]] [[!template text="""searching for. Some complicated term like this""" start="00:01:38.840" video="mainVideo-p-search" id="subtitle"]] @@ -68,9 +63,7 @@ [[!template text="""100 times more relevant? These tools usually don't provide""" start="00:03:43.096" video="mainVideo-p-search" id="subtitle"]] [[!template text="""such information.""" start="00:03:52.280" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Information retrieval""" start="00:03:58.233" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""There's a field called information retrieval,""" start="00:03:58.233" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Information retrieval""" start="00:03:58.233" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""There's a field called information retrieval,""" start="00:03:58.233" video="mainVideo-p-search" id="subtitle"]] [[!template text="""and this deals with this exact problem.""" start="00:04:00.395" video="mainVideo-p-search" id="subtitle"]] [[!template text="""You have lots of data you're searching for.""" start="00:04:02.617" video="mainVideo-p-search" id="subtitle"]] [[!template text="""How do you construct a search query?""" start="00:04:04.719" video="mainVideo-p-search" id="subtitle"]] @@ -82,9 +75,7 @@ [[!template text="""searching in Emacs, then drawing inspiration from this""" start="00:04:28.160" video="mainVideo-p-search" id="subtitle"]] [[!template text="""field is necessary.""" start="00:04:31.880" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Search engine in Emacs: the index""" start="00:04:34.296" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""The first aspect of information retrieval is the index.""" start="00:04:34.296" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Search engine in Emacs: the index""" start="00:04:34.296" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""The first aspect of information retrieval is the index.""" start="00:04:34.296" video="mainVideo-p-search" id="subtitle"]] [[!template text="""The reverse index is what search engines use to find results really fast.""" start="00:04:41.384" video="mainVideo-p-search" id="subtitle"]] [[!template text="""Essentially, it's a map of search term""" start="00:04:46.609" video="mainVideo-p-search" id="subtitle"]] [[!template text="""to locations where that term is located.""" start="00:04:51.455" video="mainVideo-p-search" id="subtitle"]] @@ -111,18 +102,14 @@ [[!template text="""Definitely, it can search a few pretty big size""" start="00:06:15.960" video="mainVideo-p-search" id="subtitle"]] [[!template text="""repositories.""" start="00:06:19.240" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Search engine in Emacs: Ranking""" start="00:06:21.757" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""Next main task. We decided not to use an""" start="00:06:21.757" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Search engine in Emacs: Ranking""" start="00:06:21.757" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""Next main task. We decided not to use an""" start="00:06:21.757" video="mainVideo-p-search" id="subtitle"]] [[!template text="""index. Next task is how do we rank search results? So there's""" start="00:06:24.800" video="mainVideo-p-search" id="subtitle"]] [[!template text="""two main algorithms that are used these days. The first""" start="00:06:29.960" video="mainVideo-p-search" id="subtitle"]] [[!template text="""one is tf-idf, which stands for term frequency, inverse""" start="00:06:33.440" video="mainVideo-p-search" id="subtitle"]] [[!template text="""target frequency. Then there's BM25, which is sort of a""" start="00:06:36.520" video="mainVideo-p-search" id="subtitle"]] [[!template text="""modified tf-idf algorithm.""" start="00:06:43.040" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""tf-idf: term-frequency x inverse-document-frequency""" start="00:06:43.553" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""tf-idf, without going into""" start="00:06:43.553" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""tf-idf: term-frequency x inverse-document-frequency""" start="00:06:43.553" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""tf-idf, without going into""" start="00:06:43.553" video="mainVideo-p-search" id="subtitle"]] [[!template text="""too much detail, essentially multiplies two terms. One""" start="00:06:45.680" video="mainVideo-p-search" id="subtitle"]] [[!template text="""is the term frequency, and then you multiply it by the""" start="00:06:49.160" video="mainVideo-p-search" id="subtitle"]] [[!template text="""inverse document frequency. The term frequency is a""" start="00:06:51.880" video="mainVideo-p-search" id="subtitle"]] @@ -140,9 +127,7 @@ [[!template text="""few documents, they're weighted a lot more. So the more""" start="00:07:35.680" video="mainVideo-p-search" id="subtitle"]] [[!template text="""those rare words occur, they boost the score higher.""" start="00:07:37.680" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""BM25""" start="00:07:41.160" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""BM25 is a modification of this. It's essentially TF, it's""" start="00:07:41.160" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""BM25""" start="00:07:41.160" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""BM25 is a modification of this. It's essentially TF, it's""" start="00:07:41.160" video="mainVideo-p-search" id="subtitle"]] [[!template text="""essentially the previous one, except it dampens out terms""" start="00:07:48.840" video="mainVideo-p-search" id="subtitle"]] [[!template text="""that occur more often. Imagine you have a bunch of""" start="00:07:53.120" video="mainVideo-p-search" id="subtitle"]] [[!template text="""documents. One has a term 10 times, one has a term, that same""" start="00:07:55.440" video="mainVideo-p-search" id="subtitle"]] @@ -156,9 +141,7 @@ [[!template text="""we can combine this together and create a simple search""" start="00:08:36.800" video="mainVideo-p-search" id="subtitle"]] [[!template text="""mechanism.""" start="00:08:40.080" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Searching with p-search""" start="00:08:41.200" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""Here we're in the directory for the Emacs source code.""" start="00:08:41.200" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Searching with p-search""" start="00:08:41.200" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""Here we're in the directory for the Emacs source code.""" start="00:08:41.200" video="mainVideo-p-search" id="subtitle"]] [[!template text="""Let's say we want to search for the display code. We""" start="00:08:47.440" video="mainVideo-p-search" id="subtitle"]] [[!template text="""run the p-search command, starting the search engine. It""" start="00:08:53.480" video="mainVideo-p-search" id="subtitle"]] [[!template text="""opens up. We notice it has three sections, the candidate""" start="00:08:58.680" video="mainVideo-p-search" id="subtitle"]] @@ -184,9 +167,7 @@ [[!template text="""these results and make sense of it.""" start="00:10:31.280" video="mainVideo-p-search" id="subtitle"]] [[!template text="""So that's p-search in a nutshell.""" start="00:10:34.320" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Flight AF 447""" start="00:10:41.457" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""Next, I wanted to talk about the story of Flight 447.""" start="00:10:41.457" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Flight AF 447""" start="00:10:41.457" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""Next, I wanted to talk about the story of Flight 447.""" start="00:10:41.457" video="mainVideo-p-search" id="subtitle"]] [[!template text="""Flight 447 going from Rio de Janeiro to Paris""" start="00:10:45.983" video="mainVideo-p-search" id="subtitle"]] [[!template text="""crashed somewhere in the Atlantic Ocean""" start="00:10:49.327" video="mainVideo-p-search" id="subtitle"]] [[!template text="""on June 1st, 2009, killing everyone on board.""" start="00:10:51.510" video="mainVideo-p-search" id="subtitle"]] @@ -259,9 +240,7 @@ [[!template text="""search. In the end, the wreckage was found at a point close to""" start="00:15:57.000" video="mainVideo-p-search" id="subtitle"]] [[!template text="""the center here, thus validating this methodology.""" start="00:16:02.000" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Modifying priors""" start="00:16:06.771" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""We can see the power of this Bayesian search methodology""" start="00:16:06.771" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Modifying priors""" start="00:16:06.771" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""We can see the power of this Bayesian search methodology""" start="00:16:06.771" video="mainVideo-p-search" id="subtitle"]] [[!template text="""in the way that we could take information from all the sources we had.""" start="00:16:10.333" video="mainVideo-p-search" id="subtitle"]] [[!template text="""We could draw analogies to similar situations.""" start="00:16:14.000" video="mainVideo-p-search" id="subtitle"]] [[!template text="""We can quantify these, combine them into a model,""" start="00:16:19.238" video="mainVideo-p-search" id="subtitle"]] @@ -322,9 +301,7 @@ [[!template text="""list of results that's tailor-made to the thing you're""" start="00:20:35.160" video="mainVideo-p-search" id="subtitle"]] [[!template text="""searching for.""" start="00:20:37.640" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Importance""" start="00:20:40.405" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""There's a couple of other features I""" start="00:20:40.405" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Importance""" start="00:20:40.405" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""There's a couple of other features I""" start="00:20:40.405" video="mainVideo-p-search" id="subtitle"]] [[!template text="""want to go through. One thing is that each of these priors,""" start="00:20:41.640" video="mainVideo-p-search" id="subtitle"]] [[!template text="""you can specify the importance. In other words, how""" start="00:20:49.080" video="mainVideo-p-search" id="subtitle"]] [[!template text="""important is this particular piece of information to your""" start="00:20:55.840" video="mainVideo-p-search" id="subtitle"]] @@ -337,9 +314,7 @@ [[!template text="""the word display in it are rated much higher.""" start="00:21:28.080" video="mainVideo-p-search" id="subtitle"]] [[!template text="""With this, we're able to fine-tune the results that we get.""" start="00:21:28.129" video="mainVideo-p-search" id="subtitle"]] -[[!template new="1" text="""Complement or inverse""" start="00:21:38.560" video="mainVideo-p-search" id="subtitle"]] - -[[!template text="""Another thing you can do is that you can add the complement or""" start="00:21:38.560" video="mainVideo-p-search" id="subtitle"]] +
[[!template new="1" text="""Complement or inverse""" start="00:21:38.560" video="mainVideo-p-search" id="subtitle"]]
[[!template text="""Another thing you can do is that you can add the complement or""" start="00:21:38.560" video="mainVideo-p-search" id="subtitle"]] [[!template text="""the inverse of certain queries. Let's say you want to""" start="00:21:45.640" video="mainVideo-p-search" id="subtitle"]] [[!template text="""search for display, but you don't want it to contain the word""" start="00:21:49.760" video="mainVideo-p-search" id="subtitle"]] [[!template text="""frame. With the complement option on, when we create this""" start="00:21:53.240" video="mainVideo-p-search" id="subtitle"]] diff --git a/2024/info/papers-after.md b/2024/info/papers-after.md index efe19c26..a1a69fd8 100644 --- a/2024/info/papers-after.md +++ b/2024/info/papers-after.md @@ -1,22 +1,17 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Okay. Hi, everyone. My name is Vincent. I'm a PhD student in""" start="00:00:00.000" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Okay. Hi, everyone. My name is Vincent. I'm a PhD student in""" start="00:00:00.000" video="mainVideo-papers" id="subtitle"]] [[!template text="""Nanzan University, Japan. Today I'm going to present to""" start="00:00:04.800" video="mainVideo-papers" id="subtitle"]] [[!template text="""you how I'm using Org notes and Org Roam to write academic""" start="00:00:07.440" video="mainVideo-papers" id="subtitle"]] [[!template text="""papers. The slides I'm going to present here are available""" start="00:00:11.800" video="mainVideo-papers" id="subtitle"]] [[!template text="""in the Git repository, so you can check them later""" start="00:00:15.000" video="mainVideo-papers" id="subtitle"]] [[!template text="""if you want to.""" start="00:00:17.306" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""What?""" start="00:00:20.130" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Firstly what are we talking about here?""" start="00:00:20.130" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""What?""" start="00:00:20.130" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Firstly what are we talking about here?""" start="00:00:20.130" video="mainVideo-papers" id="subtitle"]] [[!template text="""So in general, it's possible, if you have any Org nodes,""" start="00:00:21.911" video="mainVideo-papers" id="subtitle"]] [[!template text="""to export them as LaTeX. Given some extra configuration,""" start="00:00:26.693" video="mainVideo-papers" id="subtitle"]] [[!template text="""it's possible, basically, to reproduce any LaTeX setup""" start="00:00:31.316" video="mainVideo-papers" id="subtitle"]] @@ -32,9 +27,7 @@ [[!template text="""org-roam and to present what are the configuration I'm""" start="00:01:13.040" video="mainVideo-papers" id="subtitle"]] [[!template text="""using to be able to achieve that. Why do that?""" start="00:01:16.960" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Why?""" start="00:01:21.377" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""In general, like I said, I'm using that""" start="00:01:21.377" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Why?""" start="00:01:21.377" video="mainVideo-papers" id="subtitle"]]
[[!template text="""In general, like I said, I'm using that""" start="00:01:21.377" video="mainVideo-papers" id="subtitle"]] [[!template text="""as part of my writing system, so in""" start="00:01:23.038" video="mainVideo-papers" id="subtitle"]] [[!template text="""having org-roam notes that can be exported as a document""" start="00:01:26.640" video="mainVideo-papers" id="subtitle"]] [[!template text="""make for a great workflow in my opinion. It makes Org even""" start="00:01:30.240" video="mainVideo-papers" id="subtitle"]] @@ -50,9 +43,7 @@ [[!template text="""to all the tools you are used to like Magit or Projectile and""" start="00:02:09.480" video="mainVideo-papers" id="subtitle"]] [[!template text="""whatnot.""" start="00:02:13.360" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Challenges""" start="00:02:16.215" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""However, to quote one of the funniest recent""" start="00:02:16.215" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Challenges""" start="00:02:16.215" video="mainVideo-papers" id="subtitle"]]
[[!template text="""However, to quote one of the funniest recent""" start="00:02:16.215" video="mainVideo-papers" id="subtitle"]] [[!template text="""video about Emacs: "[With LaTeX,] I used to spend hours trying to""" start="00:02:18.600" video="mainVideo-papers" id="subtitle"]] [[!template text="""get the image on the right page. Now I use Org Mode LaTeX and""" start="00:02:23.000" video="mainVideo-papers" id="subtitle"]] [[!template text="""just accept it's impossible." Like all the jokes in that""" start="00:02:25.600" video="mainVideo-papers" id="subtitle"]] @@ -74,9 +65,7 @@ [[!template text="""with some packages that are in conflict, so there is""" start="00:03:29.240" video="mainVideo-papers" id="subtitle"]] [[!template text="""that to be taken in mind.""" start="00:03:33.200" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Basic Org to PDF""" start="00:03:35.320" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""In general, if you have a Org note, you can simply export it""" start="00:03:35.320" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Basic Org to PDF""" start="00:03:35.320" video="mainVideo-papers" id="subtitle"]]
[[!template text="""In general, if you have a Org note, you can simply export it""" start="00:03:35.320" video="mainVideo-papers" id="subtitle"]] [[!template text="""with a C-c C-e and l o with the menu that appears. I can""" start="00:03:41.520" video="mainVideo-papers" id="subtitle"]] [[!template text="""show that briefly: C-e, then you have the menu. You can select""" start="00:03:46.200" video="mainVideo-papers" id="subtitle"]] [[!template text="""l and o to export. That works very well. In general,""" start="00:03:49.480" video="mainVideo-papers" id="subtitle"]] @@ -85,9 +74,7 @@ [[!template text="""links, it's going to be exported in a way that looks decent.""" start="00:03:59.960" video="mainVideo-papers" id="subtitle"]] [[!template text="""That's what we are starting with.""" start="00:04:03.560" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""How to LaTeX properly, though?""" start="00:04:08.061" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""However, if you want to make a publication,""" start="00:04:08.061" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""How to LaTeX properly, though?""" start="00:04:08.061" video="mainVideo-papers" id="subtitle"]]
[[!template text="""However, if you want to make a publication,""" start="00:04:08.061" video="mainVideo-papers" id="subtitle"]] [[!template text="""if you have a template that you receive""" start="00:04:11.544" video="mainVideo-papers" id="subtitle"]] [[!template text="""from a conference or whatnot, you want to be able to adapt""" start="00:04:13.480" video="mainVideo-papers" id="subtitle"]] [[!template text="""your Org notes to be able to export it exactly the way you""" start="00:04:17.480" video="mainVideo-papers" id="subtitle"]] @@ -96,9 +83,7 @@ [[!template text="""be careful with when you try to work with templates and""" start="00:04:25.920" video="mainVideo-papers" id="subtitle"]] [[!template text="""exporting to LaTeX.""" start="00:04:29.880" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""LaTeX-specific headers""" start="00:04:32.304" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Firstly, you have headers. So basically,""" start="00:04:32.304" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""LaTeX-specific headers""" start="00:04:32.304" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Firstly, you have headers. So basically,""" start="00:04:32.304" video="mainVideo-papers" id="subtitle"]] [[!template text="""this allows to add LaTeX elements that are going""" start="00:04:34.526" video="mainVideo-papers" id="subtitle"]] [[!template text="""to be at the top of the file. You're going to have the title.""" start="00:04:37.120" video="mainVideo-papers" id="subtitle"]] [[!template text="""You're going to have your extra packages here. You're going""" start="00:04:41.560" video="mainVideo-papers" id="subtitle"]] @@ -106,9 +91,7 @@ [[!template text="""the part that you're going to adjust to make it look like the""" start="00:04:46.960" video="mainVideo-papers" id="subtitle"]] [[!template text=""".tex template that you receive.""" start="00:04:50.480" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Using a formatting class file""" start="00:04:54.625" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Then you have the formatting class file. That's a .cls file""" start="00:04:54.625" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Using a formatting class file""" start="00:04:54.625" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Then you have the formatting class file. That's a .cls file""" start="00:04:54.625" video="mainVideo-papers" id="subtitle"]] [[!template text="""that you would receive as a part of the template.""" start="00:04:58.626" video="mainVideo-papers" id="subtitle"]] [[!template text="""This one is used instead of the typical doc class like article.""" start="00:05:01.787" video="mainVideo-papers" id="subtitle"]] [[!template text="""The way I'm using them is to add an entry,""" start="00:05:08.148" video="mainVideo-papers" id="subtitle"]] @@ -118,9 +101,7 @@ [[!template text="""case, I'm going to have a apris.cls next to my Org note,""" start="00:05:22.720" video="mainVideo-papers" id="subtitle"]] [[!template text="""and it's going to be able to to use it.""" start="00:05:26.403" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Using a different LaTeX command""" start="00:05:31.395" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""A third element is, in some cases,""" start="00:05:31.395" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Using a different LaTeX command""" start="00:05:31.395" video="mainVideo-papers" id="subtitle"]]
[[!template text="""A third element is, in some cases,""" start="00:05:31.395" video="mainVideo-papers" id="subtitle"]] [[!template text="""you might want to use a different LaTeX compiler to build""" start="00:05:33.600" video="mainVideo-papers" id="subtitle"]] [[!template text="""your project, to build your notes. That can be done per""" start="00:05:38.360" video="mainVideo-papers" id="subtitle"]] [[!template text="""file, per note, in my opinion, that's the most flexible way,""" start="00:05:41.720" video="mainVideo-papers" id="subtitle"]] @@ -132,9 +113,7 @@ [[!template text="""that works very well. When you add that, you need to""" start="00:06:06.080" video="mainVideo-papers" id="subtitle"]] [[!template text="""reload your file, though. Something to keep in mind.""" start="00:06:08.960" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""References links for bibliography""" start="00:06:13.138" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Lastly, you have the bibliography. When you have a reference,""" start="00:06:13.138" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""References links for bibliography""" start="00:06:13.138" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Lastly, you have the bibliography. When you have a reference,""" start="00:06:13.138" video="mainVideo-papers" id="subtitle"]] [[!template text="""when you want to put a reference, you can use the""" start="00:06:17.000" video="mainVideo-papers" id="subtitle"]] [[!template text="""org-roam-bibtex package that needs to be installed. Then you""" start="00:06:19.880" video="mainVideo-papers" id="subtitle"]] [[!template text="""have some configuration to to be set so you have the bibtex""" start="00:06:23.720" video="mainVideo-papers" id="subtitle"]] @@ -150,18 +129,14 @@ [[!template text="""for the bibliography. Again you put which of the""" start="00:07:01.320" video="mainVideo-papers" id="subtitle"]] [[!template text="""reference file you want to use.""" start="00:07:06.480" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Examples""" start="00:07:09.720" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""With all of that, I'm going to show some examples. Here I""" start="00:07:09.720" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Examples""" start="00:07:09.720" video="mainVideo-papers" id="subtitle"]]
[[!template text="""With all of that, I'm going to show some examples. Here I""" start="00:07:09.720" video="mainVideo-papers" id="subtitle"]] [[!template text="""have an Org note that I used as the file to be exported into a""" start="00:07:15.560" video="mainVideo-papers" id="subtitle"]] [[!template text="""publication. You can see up front, I set all my headers""" start="00:07:21.760" video="mainVideo-papers" id="subtitle"]] [[!template text="""package. I have some extra package I put. I have the class""" start="00:07:26.720" video="mainVideo-papers" id="subtitle"]] [[!template text="""that is something that is next to it. You can see in the""" start="00:07:30.520" video="mainVideo-papers" id="subtitle"]] [[!template text="""files, I have the apris.cls just here.""" start="00:07:35.840" video="mainVideo-papers" id="subtitle"]] -[[!template new="1" text="""Tags""" start="00:07:41.240" video="mainVideo-papers" id="subtitle"]] - -[[!template text="""Also, with all of that, you can also add tags. I""" start="00:07:41.240" video="mainVideo-papers" id="subtitle"]] +
[[!template new="1" text="""Tags""" start="00:07:41.240" video="mainVideo-papers" id="subtitle"]]
[[!template text="""Also, with all of that, you can also add tags. I""" start="00:07:41.240" video="mainVideo-papers" id="subtitle"]] [[!template text="""didn't explain that, but you can also ignore some""" start="00:07:47.120" video="mainVideo-papers" id="subtitle"]] [[!template text="""sections. That's quite convenient as well. Here we""" start="00:07:49.400" video="mainVideo-papers" id="subtitle"]] [[!template text="""have some section, and if you want to add a bibliography,""" start="00:07:52.720" video="mainVideo-papers" id="subtitle"]] diff --git a/2024/info/pgmacs-after.md b/2024/info/pgmacs-after.md index 384b6942..8f049941 100644 --- a/2024/info/pgmacs-after.md +++ b/2024/info/pgmacs-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:01.260" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Hi, this is a short presentation about PGmacs,""" start="00:00:01.260" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:01.260" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Hi, this is a short presentation about PGmacs,""" start="00:00:01.260" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""which is a browsing and editing interface for""" start="00:00:04.180" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Postgres databases.""" start="00:00:07.100" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""My name is Eric Marsden, and I'm the""" start="00:00:08.920" video="mainVideo-pgmacs" id="subtitle"]] @@ -38,9 +35,7 @@ [[!template text="""and from Emacs Lisp types and Postgres types for""" start="00:01:20.300" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""you.""" start="00:01:24.180" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Demo""" start="00:01:26.710" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Probably the best is to jump straight into""" start="00:01:26.710" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Demo""" start="00:01:26.710" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Probably the best is to jump straight into""" start="00:01:26.710" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""a demo of PGmacs.""" start="00:01:29.170" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""When we connect to a database, we see""" start="00:01:31.210" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""up the top of the buffer, some information""" start="00:01:34.130" video="mainVideo-pgmacs" id="subtitle"]] @@ -95,9 +90,7 @@ [[!template text="""we can look at what is in this""" start="00:03:50.380" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""table.""" start="00:03:52.880" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Deletion""" start="00:03:53.960" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Okay, there is only one row of information""" start="00:03:53.960" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Deletion""" start="00:03:53.960" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Okay, there is only one row of information""" start="00:03:53.960" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""that doesn't seem very important, so let's delete""" start="00:03:56.600" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""that.""" start="00:03:59.280" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Let's now delete the table with DEL.""" start="00:04:02.160" video="mainVideo-pgmacs" id="subtitle"]] @@ -126,9 +119,7 @@ [[!template text="""and then really delete them, expunge them, as""" start="00:05:06.560" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""in Dired, with x.""" start="00:05:09.680" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Export""" start="00:05:12.880" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""We can export this table in CSV format,""" start="00:05:12.880" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Export""" start="00:05:12.880" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""We can export this table in CSV format,""" start="00:05:12.880" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""thanks to this little button up here.""" start="00:05:16.480" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Here we have our table conveniently formatted as""" start="00:05:19.860" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""CSV.""" start="00:05:22.760" video="mainVideo-pgmacs" id="subtitle"]] @@ -138,9 +129,7 @@ [[!template text="""Okay, here's the JSON for one of the""" start="00:05:37.810" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""rows in the table.""" start="00:05:40.230" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""HStore""" start="00:05:42.250" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Now let's look at a table that contains""" start="00:05:42.250" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""HStore""" start="00:05:42.250" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Now let's look at a table that contains""" start="00:05:42.250" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""a column of type HStore.""" start="00:05:44.270" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""This is a Postgres-specific key-value map.""" start="00:05:46.430" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Then the attributes column is of type""" start="00:05:49.110" video="mainVideo-pgmacs" id="subtitle"]] @@ -152,17 +141,13 @@ [[!template text="""Likewise, for the JSON type parameter, we can""" start="00:06:05.410" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""update using a widget-based interface.""" start="00:06:08.390" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Connecting to a different database""" start="00:06:11.510" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Let's connect to a different database.""" start="00:06:11.510" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Connecting to a different database""" start="00:06:11.510" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Let's connect to a different database.""" start="00:06:11.510" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""We do that with a M-x pgmacs, and""" start="00:06:14.490" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""then enter our username and password.""" start="00:06:18.910" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Here we have the list of tables present""" start="00:06:27.310" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""in this database.""" start="00:06:29.390" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""SchemaSpy""" start="00:06:31.110" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""PGmacs has some support for running the SchemaSpy""" start="00:06:31.110" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""SchemaSpy""" start="00:06:31.110" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""PGmacs has some support for running the SchemaSpy""" start="00:06:31.110" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""utility, which generates a graphical representation of the""" start="00:06:33.690" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""relationships between tables in this database, which can""" start="00:06:37.950" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""be useful when you're discovering the database.""" start="00:06:41.710" video="mainVideo-pgmacs" id="subtitle"]] @@ -187,9 +172,7 @@ [[!template text="""which we can follow.""" start="00:07:28.780" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""That's, of course, AC/DC.""" start="00:07:30.080" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Convenience queries""" start="00:07:32.620" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""And finally, PGmacs has some convenience queries that""" start="00:07:32.620" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Convenience queries""" start="00:07:32.620" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""And finally, PGmacs has some convenience queries that""" start="00:07:32.620" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""allows us to list the procedures which are""" start="00:07:35.720" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""defined in this database.""" start="00:07:38.280" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Here we have the built-in procedures, mostly""" start="00:07:40.260" video="mainVideo-pgmacs" id="subtitle"]] @@ -205,9 +188,7 @@ [[!template text="""settings also, and update them if we have""" start="00:08:08.850" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""the rights to do that.""" start="00:08:16.650" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Emacs as an application development platform""" start="00:08:18.850" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""Now I'm preaching to the converted, but Emacs""" start="00:08:18.850" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Emacs as an application development platform""" start="00:08:18.850" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""Now I'm preaching to the converted, but Emacs""" start="00:08:18.850" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""is a really great application development platform.""" start="00:08:21.650" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""PGmacs is currently around 3000 lines of code.""" start="00:08:25.510" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""A first point of comparison, PGCLI, which is""" start="00:08:29.630" video="mainVideo-pgmacs" id="subtitle"]] @@ -236,9 +217,7 @@ [[!template text="""on the Emacs development platform, is that the""" start="00:09:29.350" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""application is easy for the user to extend.""" start="00:09:32.430" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Extending pgmacs""" start="00:09:36.250" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""To illustrate that, previously we were looking at""" start="00:09:36.250" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Extending pgmacs""" start="00:09:36.250" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""To illustrate that, previously we were looking at""" start="00:09:36.250" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""a table of temperature measurements.""" start="00:09:38.690" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""Imagine we want to highlight rows in this""" start="00:09:42.070" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""table, which look anomalous, where the value looks""" start="00:09:44.510" video="mainVideo-pgmacs" id="subtitle"]] @@ -283,9 +262,7 @@ [[!template text="""search on, I can use my D shortcut""" start="00:11:41.580" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""and see some web results concerning the cell.""" start="00:11:45.380" video="mainVideo-pgmacs" id="subtitle"]] -[[!template new="1" text="""Conclusion""" start="00:11:49.400" video="mainVideo-pgmacs" id="subtitle"]] - -[[!template text="""So to conclude, the source and installation instructions""" start="00:11:49.400" video="mainVideo-pgmacs" id="subtitle"]] +
[[!template new="1" text="""Conclusion""" start="00:11:49.400" video="mainVideo-pgmacs" id="subtitle"]]
[[!template text="""So to conclude, the source and installation instructions""" start="00:11:49.400" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""for PGmacs are available on GitHub.""" start="00:11:53.880" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""It requires Emacs 29.""" start="00:11:56.680" video="mainVideo-pgmacs" id="subtitle"]] [[!template text="""There is a prebuilt container image which you""" start="00:11:59.260" video="mainVideo-pgmacs" id="subtitle"]] diff --git a/2024/info/project-after.md b/2024/info/project-after.md index eca2de19..c85fa07b 100644 --- a/2024/info/project-after.md +++ b/2024/info/project-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-project" id="subtitle"]] - -[[!template text="""Good morning. I'm Blaine Mooers. I'm an associate""" start="00:00:00.000" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-project" id="subtitle"]]
[[!template text="""Good morning. I'm Blaine Mooers. I'm an associate""" start="00:00:00.000" video="mainVideo-project" id="subtitle"]] [[!template text="""professor of biochemistry and physiology at the""" start="00:00:10.000" video="mainVideo-project" id="subtitle"]] [[!template text="""University of Oklahoma Health Sciences in Oklahoma City.""" start="00:00:12.400" video="mainVideo-project" id="subtitle"]] [[!template text="""I'm going to be talking about the utilization of Org mode to""" start="00:00:15.080" video="mainVideo-project" id="subtitle"]] @@ -39,9 +36,7 @@ [[!template text="""drugs. In this case, the drugs are being used to treat lung""" start="00:02:12.200" video="mainVideo-project" id="subtitle"]] [[!template text="""cancer.""" start="00:02:16.520" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Starting a new writing project""" start="00:02:20.080" video="mainVideo-project" id="subtitle"]] - -[[!template text="""When I start a new writing project, I will assign it a number.""" start="00:02:20.080" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Starting a new writing project""" start="00:02:20.080" video="mainVideo-project" id="subtitle"]]
[[!template text="""When I start a new writing project, I will assign it a number.""" start="00:02:20.080" video="mainVideo-project" id="subtitle"]] [[!template text="""In this case, I'm developing a review article about the""" start="00:02:24.920" video="mainVideo-project" id="subtitle"]] [[!template text="""detection of crystals in images collected with""" start="00:02:29.640" video="mainVideo-project" id="subtitle"]] [[!template text="""microscopes like the image in the upper left.""" start="00:02:32.480" video="mainVideo-project" id="subtitle"]] @@ -66,9 +61,7 @@ [[!template text="""It's inspired by LaTeX, but it's written in Rust, and""" start="00:03:58.160" video="mainVideo-project" id="subtitle"]] [[!template text="""it's extremely fast.""" start="00:04:04.080" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""The writing log""" start="00:04:05.480" video="mainVideo-project" id="subtitle"]] - -[[!template text="""My writing process involves having the writing log at the""" start="00:04:05.480" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""The writing log""" start="00:04:05.480" video="mainVideo-project" id="subtitle"]]
[[!template text="""My writing process involves having the writing log at the""" start="00:04:05.480" video="mainVideo-project" id="subtitle"]] [[!template text="""center of the process. That's where I began the writing""" start="00:04:11.800" video="mainVideo-project" id="subtitle"]] [[!template text="""project. On the right, I have the manuscript and all its""" start="00:04:14.480" video="mainVideo-project" id="subtitle"]] [[!template text="""components highlighted in yellow. On the right,""" start="00:04:19.680" video="mainVideo-project" id="subtitle"]] @@ -76,9 +69,7 @@ [[!template text="""its components highlighted in yellow. On the left, I have""" start="00:04:29.840" video="mainVideo-project" id="subtitle"]] [[!template text="""the annotated bibliography.""" start="00:04:33.200" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Starting the research paper""" start="00:04:36.960" video="mainVideo-project" id="subtitle"]] - -[[!template text="""When I start a research paper, I will do this after I have""" start="00:04:36.960" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Starting the research paper""" start="00:04:36.960" video="mainVideo-project" id="subtitle"]]
[[!template text="""When I start a research paper, I will do this after I have""" start="00:04:36.960" video="mainVideo-project" id="subtitle"]] [[!template text="""built up a strong idea from various sources, and then I'll""" start="00:04:42.200" video="mainVideo-project" id="subtitle"]] [[!template text="""sit down and go through a series of steps outlined in the""" start="00:04:49.640" video="mainVideo-project" id="subtitle"]] [[!template text="""writing log to develop that central hypothesis into""" start="00:04:54.920" video="mainVideo-project" id="subtitle"]] @@ -90,9 +81,7 @@ [[!template text="""Likewise, the discussion points address the central""" start="00:05:19.480" video="mainVideo-project" id="subtitle"]] [[!template text="""hypothesis.""" start="00:05:22.720" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Outline""" start="00:05:25.310" video="mainVideo-project" id="subtitle"]] - -[[!template text="""When I'm done developing that introduction""" start="00:05:25.310" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Outline""" start="00:05:25.310" video="mainVideo-project" id="subtitle"]]
[[!template text="""When I'm done developing that introduction""" start="00:05:25.310" video="mainVideo-project" id="subtitle"]] [[!template text="""in, say, three or four hours, I'll have an outline in hand. At""" start="00:05:27.920" video="mainVideo-project" id="subtitle"]] [[!template text="""least for the results and discussion section, the outline""" start="00:05:33.440" video="mainVideo-project" id="subtitle"]] [[!template text="""will be detailed down to at least a sub-heading level.""" start="00:05:38.200" video="mainVideo-project" id="subtitle"]] @@ -102,9 +91,7 @@ [[!template text="""exploration of the literature continues, new ideas will""" start="00:05:58.120" video="mainVideo-project" id="subtitle"]] [[!template text="""flow in to the manuscript through the log file.""" start="00:06:01.360" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Another kind of writing log - accountability""" start="00:06:11.440" video="mainVideo-project" id="subtitle"]] - -[[!template text="""You've probably heard of another kind of writing log, which""" start="00:06:11.440" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Another kind of writing log - accountability""" start="00:06:11.440" video="mainVideo-project" id="subtitle"]]
[[!template text="""You've probably heard of another kind of writing log, which""" start="00:06:11.440" video="mainVideo-project" id="subtitle"]] [[!template text="""is more of an accountability tool, a tool you use to hold""" start="00:06:13.520" video="mainVideo-project" id="subtitle"]] [[!template text="""yourself accountable in terms of your commitment to work on""" start="00:06:16.720" video="mainVideo-project" id="subtitle"]] [[!template text="""your writing projects.""" start="00:06:20.600" video="mainVideo-project" id="subtitle"]] @@ -121,9 +108,7 @@ [[!template text="""possibility of them taking a peek at my Google sheet, and that""" start="00:07:06.960" video="mainVideo-project" id="subtitle"]] [[!template text="""possibility I found to be highly motivating.""" start="00:07:14.320" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Reducing switching costs""" start="00:07:17.458" video="mainVideo-project" id="subtitle"]] - -[[!template text="""As you can see, on July 24th, 2023, I worked on five different writing""" start="00:07:17.458" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Reducing switching costs""" start="00:07:17.458" video="mainVideo-project" id="subtitle"]]
[[!template text="""As you can see, on July 24th, 2023, I worked on five different writing""" start="00:07:17.458" video="mainVideo-project" id="subtitle"]] [[!template text="""projects. This would not have been possible if it had not""" start="00:07:22.600" video="mainVideo-project" id="subtitle"]] [[!template text="""been for having five separate writing logs where I could""" start="00:07:25.960" video="mainVideo-project" id="subtitle"]] [[!template text="""figure out where I had started and where I would report the""" start="00:07:29.400" video="mainVideo-project" id="subtitle"]] @@ -131,9 +116,7 @@ [[!template text="""switching to another writing project. The writing log""" start="00:07:36.960" video="mainVideo-project" id="subtitle"]] [[!template text="""helps reduce switching costs between projects.""" start="00:07:41.200" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Motivation""" start="00:07:46.480" video="mainVideo-project" id="subtitle"]] - -[[!template text="""My motivation for developing this project-specific log""" start="00:07:46.480" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Motivation""" start="00:07:46.480" video="mainVideo-project" id="subtitle"]]
[[!template text="""My motivation for developing this project-specific log""" start="00:07:46.480" video="mainVideo-project" id="subtitle"]] [[!template text="""that I'm presenting here is to support clearer thinking""" start="00:07:57.960" video="mainVideo-project" id="subtitle"]] [[!template text="""about the science that I'm trying to do, hopefully leading""" start="00:08:02.960" video="mainVideo-project" id="subtitle"]] [[!template text="""to better science, as well as accelerating the completion""" start="00:08:06.880" video="mainVideo-project" id="subtitle"]] @@ -159,9 +142,7 @@ [[!template text="""problem. I think my writing log is a successful solution to""" start="00:09:26.040" video="mainVideo-project" id="subtitle"]] [[!template text="""that problem.""" start="00:09:29.760" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Overview of the writing log""" start="00:09:31.520" video="mainVideo-project" id="subtitle"]] - -[[!template text="""This is an overview of the writing log in Org mode. It has""" start="00:09:31.520" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Overview of the writing log""" start="00:09:31.520" video="mainVideo-project" id="subtitle"]]
[[!template text="""This is an overview of the writing log in Org mode. It has""" start="00:09:31.520" video="mainVideo-project" id="subtitle"]] [[!template text="""various components. I don't have time to go through all of""" start="00:09:39.920" video="mainVideo-project" id="subtitle"]] [[!template text="""them in detail, but you can see its structure. We get this""" start="00:09:42.960" video="mainVideo-project" id="subtitle"]] [[!template text="""summary view when you open up the file. You have this in the""" start="00:09:48.680" video="mainVideo-project" id="subtitle"]] @@ -170,18 +151,14 @@ [[!template text="""normally, I'm just going to go straight to the daily log.""" start="00:10:08.080" video="mainVideo-project" id="subtitle"]] [[!template text="""In this case, it starts on line 944.""" start="00:10:11.440" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""LaTeX preamble in opened drawer""" start="00:10:17.295" video="mainVideo-project" id="subtitle"]] - -[[!template text="""I don't have to scroll all the way down to it,""" start="00:10:17.295" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""LaTeX preamble in opened drawer""" start="00:10:17.295" video="mainVideo-project" id="subtitle"]]
[[!template text="""I don't have to scroll all the way down to it,""" start="00:10:17.295" video="mainVideo-project" id="subtitle"]] [[!template text="""because thanks to the support""" start="00:10:19.256" video="mainVideo-project" id="subtitle"]] [[!template text="""for folding of these sections in Org mode, if I open up the""" start="00:10:21.240" video="mainVideo-project" id="subtitle"]] [[!template text="""drawer labeled :PREAMBLE:, you can see that I have imported a""" start="00:10:27.320" video="mainVideo-project" id="subtitle"]] [[!template text="""number of LaTeX packages to enhance the format of the PDF""" start="00:10:31.320" video="mainVideo-project" id="subtitle"]] [[!template text="""file that is upon export.""" start="00:10:38.880" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Informative header""" start="00:10:42.668" video="mainVideo-project" id="subtitle"]] - -[[!template text="""I have commands that are listed""" start="00:10:42.668" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Informative header""" start="00:10:42.668" video="mainVideo-project" id="subtitle"]]
[[!template text="""I have commands that are listed""" start="00:10:42.668" video="mainVideo-project" id="subtitle"]] [[!template text="""below at the bottom for providing a fancy header. This""" start="00:10:44.320" video="mainVideo-project" id="subtitle"]] [[!template text="""header has the current date as well as a running title and the""" start="00:10:49.000" video="mainVideo-project" id="subtitle"]] [[!template text="""current page number and total number of pages. You can see""" start="00:10:54.520" video="mainVideo-project" id="subtitle"]] @@ -204,9 +181,7 @@ [[!template text="""template, which helps support making that annotated""" start="00:12:12.920" video="mainVideo-project" id="subtitle"]] [[!template text="""bibliography far more relevant and interesting.""" start="00:12:16.360" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Four workflows""" start="00:12:21.400" video="mainVideo-project" id="subtitle"]] - -[[!template text="""This shows a list of four workflows that I'm going to""" start="00:12:21.400" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Four workflows""" start="00:12:21.400" video="mainVideo-project" id="subtitle"]]
[[!template text="""This shows a list of four workflows that I'm going to""" start="00:12:21.400" video="mainVideo-project" id="subtitle"]] [[!template text="""discuss, since I don't have time to go through each""" start="00:12:28.080" video="mainVideo-project" id="subtitle"]] [[!template text="""of the items. Obviously, project initiation""" start="00:12:32.600" video="mainVideo-project" id="subtitle"]] [[!template text="""occurs on day one. If I have a three- or four-hour block of time,""" start="00:12:36.280" video="mainVideo-project" id="subtitle"]] @@ -222,9 +197,7 @@ [[!template text="""of more or less appendix material that could be included in""" start="00:13:18.520" video="mainVideo-project" id="subtitle"]] [[!template text="""the writing log to help get these things done.""" start="00:13:21.800" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Project initiation workflow""" start="00:13:28.080" video="mainVideo-project" id="subtitle"]] - -[[!template text="""This shows a project initiation section of the workflow.""" start="00:13:28.080" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Project initiation workflow""" start="00:13:28.080" video="mainVideo-project" id="subtitle"]]
[[!template text="""This shows a project initiation section of the workflow.""" start="00:13:28.080" video="mainVideo-project" id="subtitle"]] [[!template text="""I go through a series of sections that include advice""" start="00:13:31.680" video="mainVideo-project" id="subtitle"]] [[!template text="""about what I need to do to complete each section. The""" start="00:13:39.120" video="mainVideo-project" id="subtitle"]] [[!template text="""rationale section asks me like, why are you doing this? Why""" start="00:13:45.720" video="mainVideo-project" id="subtitle"]] @@ -243,9 +216,7 @@ [[!template text="""submission, so that you're prepared to move quickly if the""" start="00:14:48.000" video="mainVideo-project" id="subtitle"]] [[!template text="""article is rejected.""" start="00:14:55.960" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Daily workflow""" start="00:14:56.960" video="mainVideo-project" id="subtitle"]] - -[[!template text="""This shows the daily workflow section. Each entry has a""" start="00:14:56.960" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Daily workflow""" start="00:14:56.960" video="mainVideo-project" id="subtitle"]]
[[!template text="""This shows the daily workflow section. Each entry has a""" start="00:14:56.960" video="mainVideo-project" id="subtitle"]] [[!template text="""date. I sometimes annotate the dated entries with a small""" start="00:15:04.640" video="mainVideo-project" id="subtitle"]] [[!template text="""phrase to highlight certain events. Within a given entry,""" start="00:15:09.440" video="mainVideo-project" id="subtitle"]] [[!template text="""I'll have a list of accomplishments. That's sort of the bare""" start="00:15:14.480" video="mainVideo-project" id="subtitle"]] @@ -275,9 +246,7 @@ [[!template text="""section there too for the incubation of new ideas for new""" start="00:16:58.400" video="mainVideo-project" id="subtitle"]] [[!template text="""projects.""" start="00:17:04.240" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Metadata and metacognition""" start="00:17:05.751" video="mainVideo-project" id="subtitle"]] - -[[!template text="""So this kind of metadata and metacognition about""" start="00:17:05.751" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Metadata and metacognition""" start="00:17:05.751" video="mainVideo-project" id="subtitle"]]
[[!template text="""So this kind of metadata and metacognition about""" start="00:17:05.751" video="mainVideo-project" id="subtitle"]] [[!template text="""the project are often stored in commented out regions or in""" start="00:17:09.640" video="mainVideo-project" id="subtitle"]] [[!template text="""comments, like MS Word documents. These are often stripped""" start="00:17:13.760" video="mainVideo-project" id="subtitle"]] [[!template text="""out in the rush to submit the manuscript, and they're quite""" start="00:17:18.040" video="mainVideo-project" id="subtitle"]] @@ -287,9 +256,7 @@ [[!template text="""writing log provides ample room for the safe storage of such""" start="00:17:38.280" video="mainVideo-project" id="subtitle"]] [[!template text="""information, such knowledge.""" start="00:17:42.840" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Periodic assessment workflow""" start="00:17:48.885" video="mainVideo-project" id="subtitle"]] - -[[!template text="""Then periodically, every several months or weeks,""" start="00:17:48.885" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Periodic assessment workflow""" start="00:17:48.885" video="mainVideo-project" id="subtitle"]]
[[!template text="""Then periodically, every several months or weeks,""" start="00:17:48.885" video="mainVideo-project" id="subtitle"]] [[!template text="""we'll carry out an assessment of""" start="00:17:53.667" video="mainVideo-project" id="subtitle"]] [[!template text="""the project. We go through a checklist for the completion of""" start="00:17:55.160" video="mainVideo-project" id="subtitle"]] [[!template text="""the manuscript. We also have a timeline with milestones""" start="00:18:02.120" video="mainVideo-project" id="subtitle"]] @@ -307,9 +274,7 @@ [[!template text="""Other such existential questions""" start="00:18:49.351" video="mainVideo-project" id="subtitle"]] [[!template text="""are important to ask from time to time.""" start="00:18:55.215" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Project closeout workflow""" start="00:18:56.960" video="mainVideo-project" id="subtitle"]] - -[[!template text="""Then finally, the project closeout workflow.""" start="00:18:56.960" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Project closeout workflow""" start="00:18:56.960" video="mainVideo-project" id="subtitle"]]
[[!template text="""Then finally, the project closeout workflow.""" start="00:18:56.960" video="mainVideo-project" id="subtitle"]] [[!template text="""So this is in the form of a checklist.""" start="00:19:03.634" video="mainVideo-project" id="subtitle"]] [[!template text="""This checklist in the main template""" start="00:19:06.478" video="mainVideo-project" id="subtitle"]] [[!template text="""is already included, but you could include it from an""" start="00:19:09.080" video="mainVideo-project" id="subtitle"]] @@ -322,9 +287,7 @@ [[!template text="""protocols and the updated protocols will be available to""" start="00:19:43.000" video="mainVideo-project" id="subtitle"]] [[!template text="""all log files across all projects.""" start="00:19:46.400" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Conclusions""" start="00:19:49.640" video="mainVideo-project" id="subtitle"]] - -[[!template text="""In conclusion, this project-specific log file helps""" start="00:19:49.640" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Conclusions""" start="00:19:49.640" video="mainVideo-project" id="subtitle"]]
[[!template text="""In conclusion, this project-specific log file helps""" start="00:19:49.640" video="mainVideo-project" id="subtitle"]] [[!template text="""narrow the focus on one project. It provides space to harbor""" start="00:19:56.320" video="mainVideo-project" id="subtitle"]] [[!template text="""the thinking about that project, and it helps support the""" start="00:20:02.760" video="mainVideo-project" id="subtitle"]] [[!template text="""project initiation and sustain its momentum and""" start="00:20:08.680" video="mainVideo-project" id="subtitle"]] @@ -333,9 +296,7 @@ [[!template text="""forgetting, the fear of losing momentum, which inhibits us""" start="00:20:27.400" video="mainVideo-project" id="subtitle"]] [[!template text="""working on more than one project in a given day.""" start="00:20:31.440" video="mainVideo-project" id="subtitle"]] -[[!template new="1" text="""Acknowledgements""" start="00:20:34.520" video="mainVideo-project" id="subtitle"]] - -[[!template text="""I would like to thank my friends at the Oklahoma Data Science""" start="00:20:34.520" video="mainVideo-project" id="subtitle"]] +
[[!template new="1" text="""Acknowledgements""" start="00:20:34.520" video="mainVideo-project" id="subtitle"]]
[[!template text="""I would like to thank my friends at the Oklahoma Data Science""" start="00:20:34.520" video="mainVideo-project" id="subtitle"]] [[!template text="""Workshop. We hold this workshop every third Friday at noon""" start="00:20:42.560" video="mainVideo-project" id="subtitle"]] [[!template text="""central time by Zoom. It's open to participation by people""" start="00:20:47.800" video="mainVideo-project" id="subtitle"]] [[!template text="""from all around the world. Send me an email if you are""" start="00:20:53.760" video="mainVideo-project" id="subtitle"]] diff --git a/2024/info/regex-after.md b/2024/info/regex-after.md index 6684d362..6d3b1a32 100644 --- a/2024/info/regex-after.md +++ b/2024/info/regex-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello, I'm Danny McClanahan. This is EmacsConf 2024. And""" start="00:00:00.000" video="mainVideo-regex" id="subtitle"]] [[!template text="""this presentation is ostensibly about Emacs Regex""" start="00:00:13.360" video="mainVideo-regex" id="subtitle"]] diff --git a/2024/info/rust-after.md b/2024/info/rust-after.md index 80d3afd5..4031d4c4 100644 --- a/2024/info/rust-after.md +++ b/2024/info/rust-after.md @@ -1,21 +1,16 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Rune""" start="00:00:00.000" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Hello, EmacsConf. My name is Troy Hinckley, and this is my""" start="00:00:00.000" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Rune""" start="00:00:00.000" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Hello, EmacsConf. My name is Troy Hinckley, and this is my""" start="00:00:00.000" video="mainVideo-rust" id="subtitle"]] [[!template text="""talk on Rune, a Rust implementation in Emacs. We strive to be""" start="00:00:05.120" video="mainVideo-rust" id="subtitle"]] [[!template text="""bug compatible with Emacs, so you can use the same Elisp.""" start="00:00:08.760" video="mainVideo-rust" id="subtitle"]] [[!template text="""It's still a fairly early stage experimental project, and""" start="00:00:11.840" video="mainVideo-rust" id="subtitle"]] [[!template text="""we have some basic things implemented.""" start="00:00:14.880" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""The Emacs core""" start="00:00:17.082" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Before I get started, I want to talk a bit more""" start="00:00:17.082" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""The Emacs core""" start="00:00:17.082" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Before I get started, I want to talk a bit more""" start="00:00:17.082" video="mainVideo-rust" id="subtitle"]] [[!template text="""about what the core is.""" start="00:00:19.947" video="mainVideo-rust" id="subtitle"]] [[!template text="""So the Emacs core, it includes the runtime, the interpreter,""" start="00:00:21.848" video="mainVideo-rust" id="subtitle"]] [[!template text="""garbage collector, everything used to run the code.""" start="00:00:24.560" video="mainVideo-rust" id="subtitle"]] @@ -32,9 +27,7 @@ [[!template text="""support, we've added color emoji, and there's work right""" start="00:00:50.440" video="mainVideo-rust" id="subtitle"]] [[!template text="""now to add a new garbage collector to Emacs as well.""" start="00:00:52.760" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Why create this?""" start="00:00:57.168" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Why create this project? Emacs has a long history.""" start="00:00:57.168" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Why create this?""" start="00:00:57.168" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Why create this project? Emacs has a long history.""" start="00:00:57.168" video="mainVideo-rust" id="subtitle"]] [[!template text="""It has a lot of users. It needs to support a big community.""" start="00:01:01.072" video="mainVideo-rust" id="subtitle"]] [[!template text="""Because of that, it has to be very conservative""" start="00:01:04.536" video="mainVideo-rust" id="subtitle"]] [[!template text="""about what things it can allow into the project.""" start="00:01:06.838" video="mainVideo-rust" id="subtitle"]] @@ -55,9 +48,7 @@ [[!template text="""performance. It has a really good regex engine. It's known""" start="00:01:49.320" video="mainVideo-rust" id="subtitle"]] [[!template text="""for its non-copy I/O as well.""" start="00:01:51.840" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""How does this compare to other projects?""" start="00:01:55.865" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""How does this compare to other""" start="00:01:55.865" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""How does this compare to other projects?""" start="00:01:55.865" video="mainVideo-rust" id="subtitle"]]
[[!template text="""How does this compare to other""" start="00:01:55.865" video="mainVideo-rust" id="subtitle"]] [[!template text="""Rust and Emacs projects, whether there's been a couple? The""" start="00:01:57.480" video="mainVideo-rust" id="subtitle"]] [[!template text="""first is Remacs. This project was the first. It took an""" start="00:01:59.920" video="mainVideo-rust" id="subtitle"]] [[!template text="""outside-in approach. Basically you could take a C""" start="00:02:02.800" video="mainVideo-rust" id="subtitle"]] @@ -82,9 +73,7 @@ [[!template text="""as well as some new renderers to Emacs.""" start="00:02:55.809" video="mainVideo-rust" id="subtitle"]] [[!template text="""This is no longer actively developed though.""" start="00:02:58.231" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Multi-threading""" start="00:03:01.315" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""In this project, one of the big focuses we have is""" start="00:03:01.315" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Multi-threading""" start="00:03:01.315" video="mainVideo-rust" id="subtitle"]]
[[!template text="""In this project, one of the big focuses we have is""" start="00:03:01.315" video="mainVideo-rust" id="subtitle"]] [[!template text="""on multi-threading. The C core itself is, everything is""" start="00:03:04.080" video="mainVideo-rust" id="subtitle"]] [[!template text="""designed around being single-threaded, all the data""" start="00:03:07.560" video="mainVideo-rust" id="subtitle"]] [[!template text="""structures and everything like that. Rust has a great""" start="00:03:09.960" video="mainVideo-rust" id="subtitle"]] @@ -97,18 +86,14 @@ [[!template text="""concurrency safe. which is what we've done here,""" start="00:03:28.040" video="mainVideo-rust" id="subtitle"]] [[!template text="""and that was relatively easy to do.""" start="00:03:30.481" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Multi-threading elisp""" start="00:03:32.441" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""But adding it to Elisp is the hard part,""" start="00:03:32.441" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Multi-threading elisp""" start="00:03:32.441" video="mainVideo-rust" id="subtitle"]]
[[!template text="""But adding it to Elisp is the hard part,""" start="00:03:32.441" video="mainVideo-rust" id="subtitle"]] [[!template text="""because we've got to come up with a good model""" start="00:03:34.782" video="mainVideo-rust" id="subtitle"]] [[!template text="""for Lisp, and Elisp is just a giant ball""" start="00:03:36.503" video="mainVideo-rust" id="subtitle"]] [[!template text="""of mutable state. We need to find some""" start="00:03:39.625" video="mainVideo-rust" id="subtitle"]] [[!template text="""way to tame that so we can make workable concurrency""" start="00:03:41.480" video="mainVideo-rust" id="subtitle"]] [[!template text="""out of it. There's really two ways you can do this.""" start="00:03:44.567" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""No-GIL method""" start="00:03:47.648" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""One is what I call the no-GIL method.""" start="00:03:47.648" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""No-GIL method""" start="00:03:47.648" video="mainVideo-rust" id="subtitle"]]
[[!template text="""One is what I call the no-GIL method.""" start="00:03:47.648" video="mainVideo-rust" id="subtitle"]] [[!template text="""This is what Python is doing, where""" start="00:03:49.269" video="mainVideo-rust" id="subtitle"]] [[!template text="""you take all of your data structures, you make them""" start="00:03:51.400" video="mainVideo-rust" id="subtitle"]] [[!template text="""concurrency safe, and then you just leave it up to the""" start="00:03:53.920" video="mainVideo-rust" id="subtitle"]] @@ -126,9 +111,7 @@ [[!template text="""have anything mutating any part of the data from any thread,""" start="00:04:26.280" video="mainVideo-rust" id="subtitle"]] [[!template text="""even if you can't have memory unsafety per se.""" start="00:04:29.040" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Actors""" start="00:04:32.638" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other option is actors,""" start="00:04:32.638" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Actors""" start="00:04:32.638" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other option is actors,""" start="00:04:32.638" video="mainVideo-rust" id="subtitle"]] [[!template text="""which are a really known way to approach this,""" start="00:04:34.739" video="mainVideo-rust" id="subtitle"]] [[!template text="""where you trade some of that flexibility that you get""" start="00:04:36.640" video="mainVideo-rust" id="subtitle"]] [[!template text="""with fully concurrent for more control and. Code and""" start="00:04:39.080" video="mainVideo-rust" id="subtitle"]] @@ -136,9 +119,7 @@ [[!template text="""but data has to be passed along channels between different""" start="00:04:45.840" video="mainVideo-rust" id="subtitle"]] [[!template text="""actors.""" start="00:04:50.600" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Multi-threading elisp (functions)""" start="00:04:51.252" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""We want the functions to be shared, and this""" start="00:04:51.252" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Multi-threading elisp (functions)""" start="00:04:51.252" video="mainVideo-rust" id="subtitle"]]
[[!template text="""We want the functions to be shared, and this""" start="00:04:51.252" video="mainVideo-rust" id="subtitle"]] [[!template text="""should be pretty easy because we don't mutate functions""" start="00:04:52.920" video="mainVideo-rust" id="subtitle"]] [[!template text="""like we do data, except when we do. In Lisp, functions are""" start="00:04:55.160" video="mainVideo-rust" id="subtitle"]] [[!template text="""just lists like anything else. So you can mutate them""" start="00:05:00.120" video="mainVideo-rust" id="subtitle"]] @@ -154,9 +135,7 @@ [[!template text="""can't mutate the inside of a function. This enables them""" start="00:05:29.240" video="mainVideo-rust" id="subtitle"]] [[!template text="""to be safely shared across threads.""" start="00:05:32.240" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Caveats""" start="00:05:34.680" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""However, there are some caveats to this.""" start="00:05:34.680" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Caveats""" start="00:05:34.680" video="mainVideo-rust" id="subtitle"]]
[[!template text="""However, there are some caveats to this.""" start="00:05:34.680" video="mainVideo-rust" id="subtitle"]] [[!template text="""For example, some functions actually do""" start="00:05:36.401" video="mainVideo-rust" id="subtitle"]] [[!template text="""need to mutate their own data. The example that we run into is""" start="00:05:38.160" video="mainVideo-rust" id="subtitle"]] [[!template text="""cl-generic. It uses a method cache. So it has to be able to""" start="00:05:41.440" video="mainVideo-rust" id="subtitle"]] @@ -165,9 +144,7 @@ [[!template text="""more of these we're gonna run into the future where this is""" start="00:05:50.800" video="mainVideo-rust" id="subtitle"]] [[!template text="""needed behavior to be able to mutate a function.""" start="00:05:53.160" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Multi-threading elisp (data)""" start="00:05:57.090" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Okay, so functions are pretty easy.""" start="00:05:57.090" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Multi-threading elisp (data)""" start="00:05:57.090" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Okay, so functions are pretty easy.""" start="00:05:57.090" video="mainVideo-rust" id="subtitle"]] [[!template text="""They just can be shared between""" start="00:05:59.811" video="mainVideo-rust" id="subtitle"]] [[!template text="""threads, but data can't be immutable, at least not into the""" start="00:06:00.920" video="mainVideo-rust" id="subtitle"]] [[!template text="""model that Emacs currently has. We have two different""" start="00:06:05.160" video="mainVideo-rust" id="subtitle"]] @@ -183,9 +160,7 @@ [[!template text="""the different variables that are gonna be accessed inside""" start="00:06:33.120" video="mainVideo-rust" id="subtitle"]] [[!template text="""that other thread and put those in when you call it.""" start="00:06:34.880" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Copy values to other threads on demands""" start="00:06:38.249" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other option we're using is we're copying values to the""" start="00:06:38.249" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Copy values to other threads on demands""" start="00:06:38.249" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other option we're using is we're copying values to the""" start="00:06:38.249" video="mainVideo-rust" id="subtitle"]] [[!template text="""other threads on demand. If you're running a thread, it""" start="00:06:40.960" video="mainVideo-rust" id="subtitle"]] [[!template text="""tries to look up a variable. It doesn't have any value for""" start="00:06:43.440" video="mainVideo-rust" id="subtitle"]] [[!template text="""that variable. It will go back and ask the main thread and it""" start="00:06:45.760" video="mainVideo-rust" id="subtitle"]] @@ -194,9 +169,7 @@ [[!template text="""code and it'll take care of handling all the data transfer""" start="00:06:53.400" video="mainVideo-rust" id="subtitle"]] [[!template text="""for you.""" start="00:06:55.640" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Multi-threading elisp (buffers)""" start="00:06:57.884" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""But we don't want to be copying around is buffers,""" start="00:06:57.884" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Multi-threading elisp (buffers)""" start="00:06:57.884" video="mainVideo-rust" id="subtitle"]]
[[!template text="""But we don't want to be copying around is buffers,""" start="00:06:57.884" video="mainVideo-rust" id="subtitle"]] [[!template text="""because they can be really large. In this case, we have a""" start="00:07:00.360" video="mainVideo-rust" id="subtitle"]] [[!template text="""mutex. Each thread could only have one current buffer that""" start="00:07:04.200" video="mainVideo-rust" id="subtitle"]] [[!template text="""it has an exclusive lock to. This comes with some""" start="00:07:07.600" video="mainVideo-rust" id="subtitle"]] @@ -224,9 +197,7 @@ [[!template text="""solution to that yet, but it's something we're still""" start="00:08:08.200" video="mainVideo-rust" id="subtitle"]] [[!template text="""working on.""" start="00:08:09.600" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Would this actually be useful?""" start="00:08:11.903" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The question is, would this actually be""" start="00:08:11.903" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Would this actually be useful?""" start="00:08:11.903" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The question is, would this actually be""" start="00:08:11.903" video="mainVideo-rust" id="subtitle"]] [[!template text="""useful for doing real work inside Emacs? I would say,""" start="00:08:13.080" video="mainVideo-rust" id="subtitle"]] [[!template text="""yes, there's a lot of things you can do with this. You could""" start="00:08:15.960" video="mainVideo-rust" id="subtitle"]] [[!template text="""handle process output in the background. You can do syntax""" start="00:08:17.960" video="mainVideo-rust" id="subtitle"]] @@ -241,9 +212,7 @@ [[!template text="""trade-offs that we've made here. Okay. That's talking""" start="00:08:42.200" video="mainVideo-rust" id="subtitle"]] [[!template text="""about multi-threading.""" start="00:08:46.040" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Precise garbage collection""" start="00:08:46.919" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other thing we're going to talk""" start="00:08:46.919" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Precise garbage collection""" start="00:08:46.919" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other thing we're going to talk""" start="00:08:46.919" video="mainVideo-rust" id="subtitle"]] [[!template text="""about is precise garbage collection. In Rune, we have a""" start="00:08:47.600" video="mainVideo-rust" id="subtitle"]] [[!template text="""safe, precise garbage collection because of the Rust type""" start="00:08:51.320" video="mainVideo-rust" id="subtitle"]] [[!template text="""system. Let's look at what the problem is with garbage""" start="00:08:54.440" video="mainVideo-rust" id="subtitle"]] @@ -255,9 +224,7 @@ [[!template text="""collected, and then we try and return it.""" start="00:09:11.920" video="mainVideo-rust" id="subtitle"]] [[!template text="""It's no longer valid.""" start="00:09:13.537" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""How Emacs used to deal with roots""" start="00:09:16.537" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Let's look at how Emacs used to deal with this""" start="00:09:16.537" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""How Emacs used to deal with roots""" start="00:09:16.537" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Let's look at how Emacs used to deal with this""" start="00:09:16.537" video="mainVideo-rust" id="subtitle"]] [[!template text="""problem way back in the day. There was a system called gcpro""" start="00:09:19.040" video="mainVideo-rust" id="subtitle"]] [[!template text="""or GC Protect, which is basically designed that every time a""" start="00:09:22.560" video="mainVideo-rust" id="subtitle"]] [[!template text="""value needed to survive past a garbage collection point,""" start="00:09:26.320" video="mainVideo-rust" id="subtitle"]] @@ -287,9 +254,7 @@ [[!template text="""rooted. It's a huge source of bugs and very hard to""" start="00:10:33.640" video="mainVideo-rust" id="subtitle"]] [[!template text="""maintain.""" start="00:10:37.360" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Conservative stack scanning""" start="00:10:38.713" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Emacs decided to go with a different path,""" start="00:10:38.713" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Conservative stack scanning""" start="00:10:38.713" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Emacs decided to go with a different path,""" start="00:10:38.713" video="mainVideo-rust" id="subtitle"]] [[!template text="""which we call conservative stack scanning. Basically,""" start="00:10:40.120" video="mainVideo-rust" id="subtitle"]] [[!template text="""the garbage collector just looks at the stack and all the""" start="00:10:42.400" video="mainVideo-rust" id="subtitle"]] [[!template text="""registers and any data inside there that looks like it could""" start="00:10:45.240" video="mainVideo-rust" id="subtitle"]] @@ -298,9 +263,7 @@ [[!template text="""but it also comes with some trade-offs,""" start="00:10:54.712" video="mainVideo-rust" id="subtitle"]] [[!template text="""mostly that your objects are no longer movable.""" start="00:10:56.114" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Movable objects""" start="00:11:00.157" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Why would we want movable objects in Emacs?""" start="00:11:00.157" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Movable objects""" start="00:11:00.157" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Why would we want movable objects in Emacs?""" start="00:11:00.157" video="mainVideo-rust" id="subtitle"]] [[!template text="""There's a couple of different reasons. One is compaction.""" start="00:11:03.080" video="mainVideo-rust" id="subtitle"]] [[!template text="""You can take all your heap, you can pack that on down because""" start="00:11:05.840" video="mainVideo-rust" id="subtitle"]] [[!template text="""you can coalesce all your objects together. Another is that""" start="00:11:08.200" video="mainVideo-rust" id="subtitle"]] @@ -332,9 +295,7 @@ [[!template text="""are pointed to from the stack or from the registers that have""" start="00:12:31.600" video="mainVideo-rust" id="subtitle"]] [[!template text="""to become immovable.""" start="00:12:35.520" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""How Rust makes precise GC easy""" start="00:12:38.829" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Let's look at how Rust makes precise""" start="00:12:38.829" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""How Rust makes precise GC easy""" start="00:12:38.829" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Let's look at how Rust makes precise""" start="00:12:38.829" video="mainVideo-rust" id="subtitle"]] [[!template text="""garbage collection easy. Here I have some Rust code to""" start="00:12:41.040" video="mainVideo-rust" id="subtitle"]] [[!template text="""show kind of how the lifetime system works and what we call""" start="00:12:44.440" video="mainVideo-rust" id="subtitle"]] [[!template text="""XOR mutability, where we can only have one mutable""" start="00:12:47.280" video="mainVideo-rust" id="subtitle"]] @@ -365,9 +326,7 @@ [[!template text="""really, really powerful. It's really easy because the""" start="00:14:07.480" video="mainVideo-rust" id="subtitle"]] [[!template text="""type system will catch it all for us.""" start="00:14:10.000" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Other Rust niceties: proc macro""" start="00:14:13.227" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""There's some other Rust niceties I want to kind of""" start="00:14:13.227" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Other Rust niceties: proc macro""" start="00:14:13.227" video="mainVideo-rust" id="subtitle"]]
[[!template text="""There's some other Rust niceties I want to kind of""" start="00:14:13.227" video="mainVideo-rust" id="subtitle"]] [[!template text="""talk through that are useful, but""" start="00:14:15.148" video="mainVideo-rust" id="subtitle"]] [[!template text="""are not, you know, star features. One is proc macros. You""" start="00:14:16.800" video="mainVideo-rust" id="subtitle"]] [[!template text="""can see up on the top, you can see how you declare a function""" start="00:14:21.080" video="mainVideo-rust" id="subtitle"]] @@ -393,9 +352,7 @@ [[!template text="""it makes the functions really easy to call from each other""" start="00:15:09.120" video="mainVideo-rust" id="subtitle"]] [[!template text="""and really easy to write as well.""" start="00:15:11.440" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""sum types""" start="00:15:14.560" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""Another thing that's really nice is sum types.""" start="00:15:14.560" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""sum types""" start="00:15:14.560" video="mainVideo-rust" id="subtitle"]]
[[!template text="""Another thing that's really nice is sum types.""" start="00:15:14.560" video="mainVideo-rust" id="subtitle"]] [[!template text="""In the C core, if I wanted to get a""" start="00:15:18.524" video="mainVideo-rust" id="subtitle"]] [[!template text="""string out of an object, I would first need to check that it's""" start="00:15:21.040" video="mainVideo-rust" id="subtitle"]] [[!template text="""a string and then dereference it as a string. But if it's not a""" start="00:15:23.760" video="mainVideo-rust" id="subtitle"]] @@ -412,24 +369,18 @@ [[!template text="""really exist. We can just match on it and we can get out the""" start="00:15:54.240" video="mainVideo-rust" id="subtitle"]] [[!template text="""values that we need, which is really, really powerful.""" start="00:15:56.880" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Regex""" start="00:16:01.041" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""So there's some other Rust niceties as well working with here.""" start="00:16:01.041" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Regex""" start="00:16:01.041" video="mainVideo-rust" id="subtitle"]]
[[!template text="""So there's some other Rust niceties as well working with here.""" start="00:16:01.041" video="mainVideo-rust" id="subtitle"]] [[!template text="""One is the regex engine inside Rust is really fast, high""" start="00:16:03.640" video="mainVideo-rust" id="subtitle"]] [[!template text="""performance. We are using that for the Elixir regex""" start="00:16:07.800" video="mainVideo-rust" id="subtitle"]] [[!template text="""engine to give it high performance and worst-case""" start="00:16:10.960" video="mainVideo-rust" id="subtitle"]] [[!template text="""guarantees.""" start="00:16:14.880" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Parsers""" start="00:16:16.052" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other is that Rust has a lot of really good""" start="00:16:16.052" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Parsers""" start="00:16:16.052" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other is that Rust has a lot of really good""" start="00:16:16.052" video="mainVideo-rust" id="subtitle"]] [[!template text="""parsers for things like JSON that are no copy parsers that""" start="00:16:18.600" video="mainVideo-rust" id="subtitle"]] [[!template text="""are high performance. We can use those inside Rune as""" start="00:16:21.560" video="mainVideo-rust" id="subtitle"]] [[!template text="""well.""" start="00:16:24.720" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Other changes: GUI first, terminal second""" start="00:16:27.210" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""There's a handful of other changes we're working on""" start="00:16:27.210" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Other changes: GUI first, terminal second""" start="00:16:27.210" video="mainVideo-rust" id="subtitle"]]
[[!template text="""There's a handful of other changes we're working on""" start="00:16:27.210" video="mainVideo-rust" id="subtitle"]] [[!template text="""that are not Rust-specific, but we'd like to see. The first is""" start="00:16:29.440" video="mainVideo-rust" id="subtitle"]] [[!template text="""being GUI first, terminal second. This means two things.""" start="00:16:33.120" video="mainVideo-rust" id="subtitle"]] [[!template text="""First is that we have all of our key bindings. Right now""" start="00:16:36.760" video="mainVideo-rust" id="subtitle"]] @@ -440,9 +391,7 @@ [[!template text="""blocked. It should be independent of that. Your GUI can""" start="00:16:52.560" video="mainVideo-rust" id="subtitle"]] [[!template text="""still continue to operate when Lisp is running.""" start="00:16:55.200" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Off-screen cursor""" start="00:16:58.919" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other is the ability to have an off-screen cursor""" start="00:16:58.919" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Off-screen cursor""" start="00:16:58.919" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other is the ability to have an off-screen cursor""" start="00:16:58.919" video="mainVideo-rust" id="subtitle"]] [[!template text="""so that you can be typing on something,""" start="00:17:01.280" video="mainVideo-rust" id="subtitle"]] [[!template text="""you can scroll up and down and the point""" start="00:17:02.700" video="mainVideo-rust" id="subtitle"]] [[!template text="""doesn't have to follow you where you lose your place where""" start="00:17:04.320" video="mainVideo-rust" id="subtitle"]] @@ -451,16 +400,12 @@ [[!template text="""to where it was before, like it works in most applications.""" start="00:17:11.200" video="mainVideo-rust" id="subtitle"]] [[!template text="""And this can be optional.""" start="00:17:13.880" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Image flow""" start="00:17:16.305" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The other is image flow. We want it""" start="00:17:16.305" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Image flow""" start="00:17:16.305" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The other is image flow. We want it""" start="00:17:16.305" video="mainVideo-rust" id="subtitle"]] [[!template text="""so that you can easily flow images and you can have large""" start="00:17:18.080" video="mainVideo-rust" id="subtitle"]] [[!template text="""images and scroll past them without jumping and you can flow""" start="00:17:20.880" video="mainVideo-rust" id="subtitle"]] [[!template text="""text around images.""" start="00:17:23.160" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Testing""" start="00:17:24.440" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""How are we testing this project? Because there's a lot of""" start="00:17:24.440" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Testing""" start="00:17:24.440" video="mainVideo-rust" id="subtitle"]]
[[!template text="""How are we testing this project? Because there's a lot of""" start="00:17:24.440" video="mainVideo-rust" id="subtitle"]] [[!template text="""things that you could get wrong here. One thing we're doing""" start="00:17:29.800" video="mainVideo-rust" id="subtitle"]] [[!template text="""is we're using ERT. Emacs ships with over 7,000 built-in""" start="00:17:33.160" video="mainVideo-rust" id="subtitle"]] [[!template text="""tests--Elisp tests. We are using this test suite to test""" start="00:17:38.040" video="mainVideo-rust" id="subtitle"]] @@ -483,9 +428,7 @@ [[!template text="""to handwrite a whole bunch of different cases to test things""" start="00:18:29.040" video="mainVideo-rust" id="subtitle"]] [[!template text="""and say, where are these two functions different?""" start="00:18:31.640" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Status""" start="00:18:36.345" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""So the current status: we already have a multi-threaded Elixir""" start="00:18:36.345" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Status""" start="00:18:36.345" video="mainVideo-rust" id="subtitle"]]
[[!template text="""So the current status: we already have a multi-threaded Elixir""" start="00:18:36.345" video="mainVideo-rust" id="subtitle"]] [[!template text="""interpreter and bytecode engine inside there. There's no""" start="00:18:39.360" video="mainVideo-rust" id="subtitle"]] [[!template text="""actual text editor in there yet, but the primitives are""" start="00:18:43.000" video="mainVideo-rust" id="subtitle"]] [[!template text="""there. Like you can insert text, move point around,""" start="00:18:45.680" video="mainVideo-rust" id="subtitle"]] @@ -496,18 +439,14 @@ [[!template text="""inside there. There's a lot of low-hanging fruit inside this""" start="00:19:01.280" video="mainVideo-rust" id="subtitle"]] [[!template text="""area to still be implemented.""" start="00:19:04.120" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""Next directions""" start="00:19:07.247" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""The next directions we're""" start="00:19:07.247" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""Next directions""" start="00:19:07.247" video="mainVideo-rust" id="subtitle"]]
[[!template text="""The next directions we're""" start="00:19:07.247" video="mainVideo-rust" id="subtitle"]] [[!template text="""working on is we're optimizing the GC. We want to make it""" start="00:19:07.720" video="mainVideo-rust" id="subtitle"]] [[!template text="""generational. Like I said, right now, it's just a simple""" start="00:19:11.960" video="mainVideo-rust" id="subtitle"]] [[!template text="""semi-spaced copying GC. We want to add a proper GUI. We need""" start="00:19:13.840" video="mainVideo-rust" id="subtitle"]] [[!template text="""to implement text properties, overlays, process and job""" start="00:19:17.360" video="mainVideo-rust" id="subtitle"]] [[!template text="""control, all that goodness right there.""" start="00:19:19.600" video="mainVideo-rust" id="subtitle"]] -[[!template new="1" text="""How to get involved""" start="00:19:22.739" video="mainVideo-rust" id="subtitle"]] - -[[!template text="""How can you get involved? This is hosted on GitHub.""" start="00:19:22.739" video="mainVideo-rust" id="subtitle"]] +
[[!template new="1" text="""How to get involved""" start="00:19:22.739" video="mainVideo-rust" id="subtitle"]]
[[!template text="""How can you get involved? This is hosted on GitHub.""" start="00:19:22.739" video="mainVideo-rust" id="subtitle"]] [[!template text="""You can come on over.""" start="00:19:25.379" video="mainVideo-rust" id="subtitle"]] [[!template text="""If you have any ideas about how to implement something or""" start="00:19:26.425" video="mainVideo-rust" id="subtitle"]] [[!template text="""something you'd like to see done, go ahead and just open an""" start="00:19:28.640" video="mainVideo-rust" id="subtitle"]] diff --git a/2024/info/sat-open-after.md b/2024/info/sat-open-after.md index ff358a1a..0144c8a0 100644 --- a/2024/info/sat-open-after.md +++ b/2024/info/sat-open-after.md @@ -1,8 +1,7 @@ -
-# Transcript (unedited) +

Transcript (unedited)

[[!template text="""Welcome to EmacsConf 2024, where we have fun""" start="00:00:00.007" video="mainVideo-sat-open" id="subtitle"]] [[!template text="""exploring how much we can do with a text editor.""" start="00:00:03.485" video="mainVideo-sat-open" id="subtitle"]] diff --git a/2024/info/secrets-after.md b/2024/info/secrets-after.md index 9df13293..6f9dda89 100644 --- a/2024/info/secrets-after.md +++ b/2024/info/secrets-after.md @@ -1,13 +1,10 @@ -
-# Transcript (unedited) +

Transcript (unedited)

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""Yeah, my talk is committing""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yeah, my talk is committing""" start="00:00:00.000" video="mainVideo-secrets" id="subtitle"]] [[!template text="""secrets with Git via SOPS mode. So what is SOPS? SOPS""" start="00:00:01.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""came originally from Mozilla, and their acronym was Secret""" start="00:00:10.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Operations, so S-O-P-S. It's a utility that allows you to""" start="00:00:15.070" video="mainVideo-secrets" id="subtitle"]] @@ -62,9 +59,7 @@ [[!template text="""here's all the links. I haven't uploaded""" start="00:03:14.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""this yet, but yeah, that is my talk.""" start="00:03:19.110" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q&A technical issues""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""[Leo] Okay. Thank you, Jonathan.""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q&A technical issues""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""[Leo] Okay. Thank you, Jonathan.""" start="00:03:23.310" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Let me just make sure. So everything you've mentioned""" start="00:03:27.771" video="mainVideo-secrets" id="subtitle"]] [[!template text="""about putting stuff available to everyone,""" start="00:03:32.693" video="mainVideo-secrets" id="subtitle"]] [[!template text="""we'll make sure that everything""" start="00:03:34.888" video="mainVideo-secrets" id="subtitle"]] @@ -127,18 +122,14 @@ [[!template text="""All right, everything is working. I'm not touching""" start="00:07:29.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""anything. So. Cool.""" start="00:07:36.910" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: Can you describe some potential interactive uses for this within Emacs?""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""Yeah, I'll just start with the top. Can""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: Can you describe some potential interactive uses for this within Emacs?""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yeah, I'll just start with the top. Can""" start="00:07:39.188" video="mainVideo-secrets" id="subtitle"]] [[!template text="""you describe some potential interactive uses for this with""" start="00:07:43.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""an Emacs? Um, I'm, I'm not actually sure what this means.""" start="00:07:47.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Could we, could you add some more context maybe? Or, um,""" start="00:07:52.790" video="mainVideo-secrets" id="subtitle"]] [[!template text="""I think we'll maybe come back to that one. I'm not sure what,""" start="00:08:01.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""uh, potential interactive uses mean, but.""" start="00:08:03.550" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: Is this saved in the repo or file as \"run sops here\" or is the encrypted blob in the git repo?""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""Yep. Uh, is this""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: Is this saved in the repo or file as \"run sops here\" or is the encrypted blob in the git repo?""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Yep. Uh, is this""" start="00:08:08.532" video="mainVideo-secrets" id="subtitle"]] [[!template text="""saved in the repo or file as run SOPs here? Oh, encrypted.""" start="00:08:10.430" video="mainVideo-secrets" id="subtitle"]] [[!template text="""They're saved as just text files so that you can do""" start="00:08:18.750" video="mainVideo-secrets" id="subtitle"]] [[!template text="""SOPs and encrypt like a binary. I think in the end,""" start="00:08:24.830" video="mainVideo-secrets" id="subtitle"]] @@ -156,9 +147,7 @@ [[!template text="""So don't stress too much about the actual answers being written.""" start="00:09:05.783" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Okay. All right. So I'll go to the third one.""" start="00:09:09.030" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: How do you decide whether to use SOPS or other solutions such as pass-cli?""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""How do you decide""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: How do you decide whether to use SOPS or other solutions such as pass-cli?""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""How do you decide""" start="00:09:12.067" video="mainVideo-secrets" id="subtitle"]] [[!template text="""whether to use SOPS or other solutions such as pass-cli?""" start="00:09:13.190" video="mainVideo-secrets" id="subtitle"]] [[!template text="""The biggest use case that I've been using it recently is,""" start="00:09:18.950" video="mainVideo-secrets" id="subtitle"]] [[!template text="""Bitbucket has a way to... In a repository,""" start="00:09:24.470" video="mainVideo-secrets" id="subtitle"]] @@ -175,9 +164,7 @@ [[!template text="""what did it go to, and just things like that.""" start="00:10:10.943" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You can use it anytime you'd want to commit them.""" start="00:10:16.590" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: One limitation with guix (similar package manager to nix) is there is no great way of storing secrets in the store, would SOPS be useful for this?""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""One limitation with GUIX is there's no great way to store""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: One limitation with guix (similar package manager to nix) is there is no great way of storing secrets in the store, would SOPS be useful for this?""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""One limitation with GUIX is there's no great way to store""" start="00:10:23.630" video="mainVideo-secrets" id="subtitle"]] [[!template text="""secrets in the store. Yeah, I think, sorry... Let me. One""" start="00:10:32.030" video="mainVideo-secrets" id="subtitle"]] [[!template text="""limitation of GUIX is there's no way to store secrets in the""" start="00:10:36.870" video="mainVideo-secrets" id="subtitle"]] [[!template text="""store. Would SOPS be useful for this?""" start="00:10:40.190" video="mainVideo-secrets" id="subtitle"]] @@ -191,9 +178,7 @@ [[!template text="""environment file for the container, and then""" start="00:11:03.830" video="mainVideo-secrets" id="subtitle"]] [[!template text="""pass it in. I think it'd be a great choice there.""" start="00:11:06.630" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: Wacky question: what happens in sops-mode if you encrypt the already encrypted file as if it was plaintext?""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""A wacky question. What happens in sops mode if you""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: Wacky question: what happens in sops-mode if you encrypt the already encrypted file as if it was plaintext?""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""A wacky question. What happens in sops mode if you""" start="00:11:11.983" video="mainVideo-secrets" id="subtitle"]] [[!template text="""encrypt an already encrypted file as if it was plain text?""" start="00:11:17.070" video="mainVideo-secrets" id="subtitle"]] [[!template text="""You know, I might have actually accidentally did that""" start="00:11:21.710" video="mainVideo-secrets" id="subtitle"]] [[!template text="""today. I didn't actually see the resulting file. But that's""" start="00:11:24.950" video="mainVideo-secrets" id="subtitle"]] @@ -205,9 +190,7 @@ [[!template text="""Yeah, probably. I'm going to go back up to the""" start="00:11:44.843" video="mainVideo-secrets" id="subtitle"]] [[!template text="""top one.""" start="00:11:48.870" video="mainVideo-secrets" id="subtitle"]] -[[!template new="1" text="""Q: can you describe some potential interactive uses for this within Emacs""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]] - -[[!template text="""Can you describe some potential interactive uses""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]] +
[[!template new="1" text="""Q: can you describe some potential interactive uses for this within Emacs""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]]
[[!template text="""Can you describe some potential interactive uses""" start="00:11:49.439" video="mainVideo-secrets" id="subtitle"]] [[!template text="""for this within Emacs? Is there some other activity that""" start="00:11:52.470" video="mainVideo-secrets" id="subtitle"]] [[!template text="""would enable or it would be enabled with SOPS decryption""" start="00:11:57.350" video="mainVideo-secrets" id="subtitle"]] [[!template text="""first, like an IT configuration task.""" start="00:12:01.910" video="mainVideo-secrets" id="subtitle"]] diff --git a/2024/info/sharing-after.md b/2024/info/sharing-after.md index 2a6a01e1..b697bd46 100644 --- a/2024/info/sharing-after.md +++ b/2024/info/sharing-after.md @@ -1,22 +1,17 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Hey, I'm Gopar""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Hey, I'm Gopar""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]] [[!template text="""and today I'm going to talk about""" start="00:00:01.266" video="mainVideo-sharing" id="subtitle"]] [[!template text="""being an Emacs influencer""" start="00:00:03.245" video="mainVideo-sharing" id="subtitle"]] [[!template text="""and try to convince you to be one too.""" start="00:00:04.733" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Hopefully that goes well.""" start="00:00:07.100" video="mainVideo-sharing" id="subtitle"]] [[!template text="""If not, we'll see at the end of the talk.""" start="00:00:08.500" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Knowledge grows when it is shared""" start="00:00:12.466" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""But first, I want to share something,""" start="00:00:12.466" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Knowledge grows when it is shared""" start="00:00:12.466" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""But first, I want to share something,""" start="00:00:12.466" video="mainVideo-sharing" id="subtitle"]] [[!template text="""and that is: that knowledge grows when it is shared.""" start="00:00:14.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""This is usually how I end my videos.""" start="00:00:17.533" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Some of you may be familiar with this.""" start="00:00:19.533" video="mainVideo-sharing" id="subtitle"]] @@ -27,9 +22,7 @@ [[!template text="""With that being said,""" start="00:00:33.500" video="mainVideo-sharing" id="subtitle"]] [[!template text="""there's only one question I want to ask you.""" start="00:00:34.400" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""When's the last time you shared something?""" start="00:00:36.333" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""That is: what is the last time you shared something?""" start="00:00:36.333" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""When's the last time you shared something?""" start="00:00:36.333" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""That is: what is the last time you shared something?""" start="00:00:36.333" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Now, the sharing of knowledge""" start="00:00:39.333" video="mainVideo-sharing" id="subtitle"]] [[!template text="""doesn't just have to be about Emacs.""" start="00:00:41.366" video="mainVideo-sharing" id="subtitle"]] [[!template text="""It can just be about other things that you learn in life.""" start="00:00:43.000" video="mainVideo-sharing" id="subtitle"]] @@ -44,9 +37,7 @@ [[!template text="""on how to share all that Emacs knowledge""" start="00:01:02.666" video="mainVideo-sharing" id="subtitle"]] [[!template text="""that is locked up inside you guys' brain.""" start="00:01:04.733" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Sharing Emacs""" start="00:01:07.200" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""So sharing Emacs, how can we do that?""" start="00:01:07.200" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Sharing Emacs""" start="00:01:07.200" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""So sharing Emacs, how can we do that?""" start="00:01:07.200" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Well, there's a few ways.""" start="00:01:09.300" video="mainVideo-sharing" id="subtitle"]] [[!template text="""We can do meetups and conferences, aka EmacsConf,""" start="00:01:10.800" video="mainVideo-sharing" id="subtitle"]] [[!template text="""like we're doing now. So hopefully one of you guys""" start="00:01:13.700" video="mainVideo-sharing" id="subtitle"]] @@ -90,9 +81,7 @@ [[!template text="""But yeah, these are just some of the ways""" start="00:02:36.900" video="mainVideo-sharing" id="subtitle"]] [[!template text="""that we can share Emacs. So how do we get started?""" start="00:02:38.666" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""My background""" start="00:02:41.566" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Well, before we get started,""" start="00:02:41.566" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""My background""" start="00:02:41.566" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Well, before we get started,""" start="00:02:41.566" video="mainVideo-sharing" id="subtitle"]] [[!template text="""I want to talk about my credentials, right?""" start="00:02:42.733" video="mainVideo-sharing" id="subtitle"]] [[!template text="""I mean, who is this guy""" start="00:02:44.666" video="mainVideo-sharing" id="subtitle"]] [[!template text="""that you're just listening in this little square""" start="00:02:45.733" video="mainVideo-sharing" id="subtitle"]] @@ -104,9 +93,7 @@ [[!template text="""that I kind of understand the flow of all of""" start="00:03:00.366" video="mainVideo-sharing" id="subtitle"]] [[!template text="""at least the simple way of doing it, which I want to share.""" start="00:03:03.333" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Why you should make Emacs videos (or other formats)""" start="00:03:06.766" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""So right now you're probably thinking,""" start="00:03:06.766" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Why you should make Emacs videos (or other formats)""" start="00:03:06.766" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""So right now you're probably thinking,""" start="00:03:06.766" video="mainVideo-sharing" id="subtitle"]] [[!template text="""OK, I get that you want to sell us""" start="00:03:08.766" video="mainVideo-sharing" id="subtitle"]] [[!template text="""on the whole video making formats""" start="00:03:11.000" video="mainVideo-sharing" id="subtitle"]] [[!template text="""or you know sharing just Emacs in general,""" start="00:03:12.933" video="mainVideo-sharing" id="subtitle"]] @@ -124,9 +111,7 @@ [[!template text="""So I want to, you know, dispel all that and just tell you that,""" start="00:03:39.066" video="mainVideo-sharing" id="subtitle"]] [[!template text="""hey, it doesn't matter.""" start="00:03:43.200" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Beginners""" start="00:03:44.100" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""So for beginners, you guys are in a beautiful place,""" start="00:03:44.100" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Beginners""" start="00:03:44.100" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""So for beginners, you guys are in a beautiful place,""" start="00:03:44.100" video="mainVideo-sharing" id="subtitle"]] [[!template text="""which is that you have a clean slate.""" start="00:03:48.333" video="mainVideo-sharing" id="subtitle"]] [[!template text="""So the way I imagine is that every Emacs user""" start="00:03:51.366" video="mainVideo-sharing" id="subtitle"]] [[!template text="""is presented[??] upon themselves,""" start="00:03:55.266" video="mainVideo-sharing" id="subtitle"]] @@ -168,9 +153,7 @@ [[!template text="""You're kind of forced to learn,""" start="00:05:19.533" video="mainVideo-sharing" id="subtitle"]] [[!template text="""which is always encouraged.""" start="00:05:20.800" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Intermediate""" start="00:05:22.966" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""For intermediates now, you might be saying,""" start="00:05:22.966" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Intermediate""" start="00:05:22.966" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""For intermediates now, you might be saying,""" start="00:05:22.966" video="mainVideo-sharing" id="subtitle"]] [[!template text="""hey, I'm a little past intermediate.""" start="00:05:25.933" video="mainVideo-sharing" id="subtitle"]] [[!template text="""I'm sorry, past beginner,""" start="00:05:28.400" video="mainVideo-sharing" id="subtitle"]] [[!template text="""but I don't feel confident enough to share.""" start="00:05:30.066" video="mainVideo-sharing" id="subtitle"]] @@ -185,9 +168,7 @@ [[!template text="""These are just two things out of a plethora.""" start="00:05:51.133" video="mainVideo-sharing" id="subtitle"]] [[!template text="""of items that you can talk about.""" start="00:05:54.266" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Advanced""" start="00:05:56.133" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""For my advanced folks, you guys are in a position""" start="00:05:56.133" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Advanced""" start="00:05:56.133" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""For my advanced folks, you guys are in a position""" start="00:05:56.133" video="mainVideo-sharing" id="subtitle"]] [[!template text="""where you guys know more about the Emacs internals.""" start="00:05:59.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""You might have read the source code.""" start="00:06:02.933" video="mainVideo-sharing" id="subtitle"]] [[!template text="""You might know a Emacs manual section pretty well""" start="00:06:05.133" video="mainVideo-sharing" id="subtitle"]] @@ -199,9 +180,7 @@ [[!template text="""for creating packages, the troubles that you face, you know,""" start="00:06:17.400" video="mainVideo-sharing" id="subtitle"]] [[!template text="""the things that you learn, things like that.""" start="00:06:20.166" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Impostor syndrome""" start="00:06:22.866" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Now that I've given a little bit of examples""" start="00:06:22.866" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Impostor syndrome""" start="00:06:22.866" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Now that I've given a little bit of examples""" start="00:06:22.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""for each of these tiers, there's probably still""" start="00:06:25.166" video="mainVideo-sharing" id="subtitle"]] [[!template text="""something going on in each of you guys' mind,""" start="00:06:27.400" video="mainVideo-sharing" id="subtitle"]] [[!template text="""which is something all of us get to face,""" start="00:06:30.400" video="mainVideo-sharing" id="subtitle"]] @@ -229,9 +208,7 @@ [[!template text="""but I believe that if you have it,""" start="00:07:24.500" video="mainVideo-sharing" id="subtitle"]] [[!template text="""it's because you're doing something right.""" start="00:07:26.066" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Process for recording""" start="00:07:28.466" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Okay, now that we've gotten""" start="00:07:28.466" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Process for recording""" start="00:07:28.466" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Okay, now that we've gotten""" start="00:07:28.466" video="mainVideo-sharing" id="subtitle"]] [[!template text="""that out of the way, what's the process for recording?""" start="00:07:29.566" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Well, it's actually a lot simpler than you think.""" start="00:07:32.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""There's three steps, and one of them""" start="00:07:34.800" video="mainVideo-sharing" id="subtitle"]] @@ -267,9 +244,7 @@ [[!template text="""or as complicated as you want,""" start="00:08:42.500" video="mainVideo-sharing" id="subtitle"]] [[!template text="""which I'll go over later at the end.""" start="00:08:44.266" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Details: recording""" start="00:08:46.400" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Let's go over details for recording.""" start="00:08:46.400" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Details: recording""" start="00:08:46.400" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Let's go over details for recording.""" start="00:08:46.400" video="mainVideo-sharing" id="subtitle"]] [[!template text="""For recording, thankfully, all OSes,""" start="00:08:50.133" video="mainVideo-sharing" id="subtitle"]] [[!template text="""or at least the major OSes, have free recording software,""" start="00:08:53.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""or you can go a little fancy and get paid [software],""" start="00:08:56.500" video="mainVideo-sharing" id="subtitle"]] @@ -290,9 +265,7 @@ [[!template text="""that I've come along or encountered along the way.""" start="00:09:32.100" video="mainVideo-sharing" id="subtitle"]] [[!template text="""When it comes to recording,""" start="00:09:35.333" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Tips: Recording""" start="00:09:36.700" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""I do have some tips that might help you out.""" start="00:09:36.700" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Tips: Recording""" start="00:09:36.700" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I do have some tips that might help you out.""" start="00:09:36.700" video="mainVideo-sharing" id="subtitle"]] [[!template text="""At least, if I could go back in time,""" start="00:09:38.966" video="mainVideo-sharing" id="subtitle"]] [[!template text="""this is what I would tell myself: that""" start="00:09:40.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""audio quality matter matters.""" start="00:09:43.366" video="mainVideo-sharing" id="subtitle"]] @@ -395,9 +368,7 @@ [[!template text="""Everything in life, you know, practice""" start="00:13:29.300" video="mainVideo-sharing" id="subtitle"]] [[!template text="""and it will get better. All right now .""" start="00:13:31.066" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Details: Editing""" start="00:13:33.440" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Editing, well, like I mentioned,""" start="00:13:33.440" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Details: Editing""" start="00:13:33.440" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Editing, well, like I mentioned,""" start="00:13:33.440" video="mainVideo-sharing" id="subtitle"]] [[!template text="""this is not always going to be necessary,""" start="00:13:34.853" video="mainVideo-sharing" id="subtitle"]] [[!template text="""depending on your style.""" start="00:13:36.940" video="mainVideo-sharing" id="subtitle"]] [[!template text="""There's some Youtube Emacs creators""" start="00:13:37.895" video="mainVideo-sharing" id="subtitle"]] @@ -423,9 +394,7 @@ [[!template text="""But yeah, I would say DaVinci Resolve""" start="00:14:33.000" video="mainVideo-sharing" id="subtitle"]] [[!template text="""is a pretty solid choice.""" start="00:14:35.500" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Tips: Editing""" start="00:14:38.320" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Okay, what about the tips for editing?""" start="00:14:38.320" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Tips: Editing""" start="00:14:38.320" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Okay, what about the tips for editing?""" start="00:14:38.320" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Well, most of them are pretty straightforward.""" start="00:14:40.966" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Just learn enough to get going, like in all things.""" start="00:14:42.866" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Like if you have a band practice""" start="00:14:46.040" video="mainVideo-sharing" id="subtitle"]] @@ -453,9 +422,7 @@ [[!template text="""as I said about recording videos, just do it in batch.""" start="00:15:37.800" video="mainVideo-sharing" id="subtitle"]] [[!template text="""You can also just batch edit as well.""" start="00:15:41.533" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Details: Uploading""" start="00:15:44.000" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""Uploading, the final step. YouTube,""" start="00:15:44.000" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Details: Uploading""" start="00:15:44.000" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Uploading, the final step. YouTube,""" start="00:15:44.000" video="mainVideo-sharing" id="subtitle"]] [[!template text="""if you do end up using YouTube""" start="00:15:48.066" video="mainVideo-sharing" id="subtitle"]] [[!template text="""which is the most popular choice for uploading videos,""" start="00:15:49.600" video="mainVideo-sharing" id="subtitle"]] [[!template text="""is that the uploading process""" start="00:15:52.500" video="mainVideo-sharing" id="subtitle"]] @@ -465,9 +432,7 @@ [[!template text="""but it can be a little complicated""" start="00:16:01.000" video="mainVideo-sharing" id="subtitle"]] [[!template text="""depending on what you want to do.""" start="00:16:04.120" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Tips: Uploading""" start="00:16:06.820" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""What are my tips for uploading?""" start="00:16:06.820" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Tips: Uploading""" start="00:16:06.820" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""What are my tips for uploading?""" start="00:16:06.820" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Well, first of all, at minimum,""" start="00:16:09.100" video="mainVideo-sharing" id="subtitle"]] [[!template text="""you need to have a descriptive title""" start="00:16:10.900" video="mainVideo-sharing" id="subtitle"]] [[!template text="""and a description of what you talk about in the video,""" start="00:16:13.300" video="mainVideo-sharing" id="subtitle"]] @@ -516,9 +481,7 @@ [[!template text="""might knock it out of the park""" start="00:18:03.100" video="mainVideo-sharing" id="subtitle"]] [[!template text="""with what I'm going to talk about next.""" start="00:18:04.300" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Your secret sauce""" start="00:18:06.166" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""That is your secret sauce. This is your ultimate weapon""" start="00:18:06.166" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Your secret sauce""" start="00:18:06.166" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""That is your secret sauce. This is your ultimate weapon""" start="00:18:06.166" video="mainVideo-sharing" id="subtitle"]] [[!template text="""as to get viewers, to get subscribers, you know,""" start="00:18:10.900" video="mainVideo-sharing" id="subtitle"]] [[!template text="""to get anybody that wants""" start="00:18:13.500" video="mainVideo-sharing" id="subtitle"]] [[!template text="""to watch your... to reach a higher audience.""" start="00:18:14.766" video="mainVideo-sharing" id="subtitle"]] @@ -542,9 +505,7 @@ [[!template text="""I believe I painted this in a pretty good light,""" start="00:19:00.200" video="mainVideo-sharing" id="subtitle"]] [[!template text="""at least personal opinion.""" start="00:19:03.800" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""Cons of YouTube""" start="00:19:04.933" video="mainVideo-sharing" id="subtitle"]] - -[[!template text="""But like everything, every good also has a bad.""" start="00:19:04.933" video="mainVideo-sharing" id="subtitle"]] +
[[!template new="1" text="""Cons of YouTube""" start="00:19:04.933" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""But like everything, every good also has a bad.""" start="00:19:04.933" video="mainVideo-sharing" id="subtitle"]] [[!template text="""Nothing is always perfect.""" start="00:19:07.933" video="mainVideo-sharing" id="subtitle"]] [[!template text="""That's also the same for Youtube.""" start="00:19:09.700" video="mainVideo-sharing" id="subtitle"]] [[!template text="""What are the bads of Youtube?""" start="00:19:11.666" video="mainVideo-sharing" id="subtitle"]] diff --git a/2024/info/shell-after.md b/2024/info/shell-after.md index 83b3c4eb..024d2488 100644 --- a/2024/info/shell-after.md +++ b/2024/info/shell-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:02.940" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Welcome to Emacs as a Shell, a talk by Christopher Howard for""" start="00:00:02.940" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:02.940" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Welcome to Emacs as a Shell, a talk by Christopher Howard for""" start="00:00:02.940" video="mainVideo-shell" id="subtitle"]] [[!template text="""Emacs Conference 2024.""" start="00:00:08.720" video="mainVideo-shell" id="subtitle"]] [[!template text="""In this talk, I would like to explore, or advocate for, a""" start="00:00:13.800" video="mainVideo-shell" id="subtitle"]] [[!template text="""particular perspective. I want to encourage people to""" start="00:00:18.400" video="mainVideo-shell" id="subtitle"]] @@ -16,9 +13,7 @@ [[!template text="""that allows us to do most of the things that we might""" start="00:00:31.120" video="mainVideo-shell" id="subtitle"]] [[!template text="""otherwise want to do from a shell.""" start="00:00:33.920" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""What do I mean by shell?""" start="00:00:37.881" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""What do I mean by shell? By""" start="00:00:37.881" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""What do I mean by shell?""" start="00:00:37.881" video="mainVideo-shell" id="subtitle"]]
[[!template text="""What do I mean by shell? By""" start="00:00:37.881" video="mainVideo-shell" id="subtitle"]] [[!template text="""shell, I mean basically an interface that allows us to""" start="00:00:40.840" video="mainVideo-shell" id="subtitle"]] [[!template text="""interact with the rest of our system by entering commands.""" start="00:00:45.440" video="mainVideo-shell" id="subtitle"]] [[!template text="""That definition is, perhaps, a little too broad, and so I""" start="00:00:50.680" video="mainVideo-shell" id="subtitle"]] @@ -32,9 +27,7 @@ [[!template text="""least providing most of the functionality that we expect""" start="00:01:25.560" video="mainVideo-shell" id="subtitle"]] [[!template text="""from a shell.""" start="00:01:28.880" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""What I do not mean""" start="00:01:38.560" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Before further expanding on this idea, I must emphasize""" start="00:01:38.560" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""What I do not mean""" start="00:01:38.560" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Before further expanding on this idea, I must emphasize""" start="00:01:38.560" video="mainVideo-shell" id="subtitle"]] [[!template text="""what I do not mean. First of all, I am not talking about""" start="00:01:42.760" video="mainVideo-shell" id="subtitle"]] [[!template text="""running Bash, or some other external shell, from within""" start="00:01:47.160" video="mainVideo-shell" id="subtitle"]] [[!template text="""Emacs, although this is certainly possible. I am arguing,""" start="00:01:51.440" video="mainVideo-shell" id="subtitle"]] @@ -77,9 +70,7 @@ [[!template text="""mind the ideas of Emacs as a shell versus the Emacs shell,""" start="00:04:37.080" video="mainVideo-shell" id="subtitle"]] [[!template text="""though the latter is an important part of the former.""" start="00:04:43.880" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""What is a shell?""" start="00:04:50.160" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Let's get back to the fundamental idea of what is a shell. In""" start="00:04:50.160" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""What is a shell?""" start="00:04:50.160" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Let's get back to the fundamental idea of what is a shell. In""" start="00:04:50.160" video="mainVideo-shell" id="subtitle"]] [[!template text="""the broadest definition, a shell is an interface which""" start="00:04:55.400" video="mainVideo-shell" id="subtitle"]] [[!template text="""allows you to interact with your operating system through""" start="00:04:59.160" video="mainVideo-shell" id="subtitle"]] [[!template text="""commands. However, from a historical perspective, there""" start="00:05:02.280" video="mainVideo-shell" id="subtitle"]] @@ -138,9 +129,7 @@ [[!template text="""can do most of the things that we might otherwise do with our""" start="00:09:21.714" video="mainVideo-shell" id="subtitle"]] [[!template text="""shell.""" start="00:09:25.681" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Launching external processes""" start="00:09:26.912" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Let us give some examples. First, can Emacs launch""" start="00:09:26.912" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Launching external processes""" start="00:09:26.912" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Let us give some examples. First, can Emacs launch""" start="00:09:26.912" video="mainVideo-shell" id="subtitle"]] [[!template text="""external commands? Of course. Now, there are something""" start="00:09:32.514" video="mainVideo-shell" id="subtitle"]] [[!template text="""like a half-dozen different ways to do that within Emacs, and""" start="00:09:36.681" video="mainVideo-shell" id="subtitle"]] [[!template text="""some are more convenient than others. From any Elisp""" start="00:09:40.447" video="mainVideo-shell" id="subtitle"]] @@ -166,9 +155,7 @@ [[!template text="""This is cheating, of course, but it might be useful or convenient""" start="00:11:43.940" video="mainVideo-shell" id="subtitle"]] [[!template text="""in some scenarios.""" start="00:11:48.600" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Environment variables""" start="00:11:57.300" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Regarding environment variables, Emacs can read and""" start="00:11:57.300" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Environment variables""" start="00:11:57.300" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Regarding environment variables, Emacs can read and""" start="00:11:57.300" video="mainVideo-shell" id="subtitle"]] [[!template text="""manipulate the environment variables, which in turn get""" start="00:12:01.900" video="mainVideo-shell" id="subtitle"]] [[!template text="""passed on to processes which it launches. The""" start="00:12:05.400" video="mainVideo-shell" id="subtitle"]] [[!template text="""general-purpose interactive commands for this are""" start="00:12:09.660" video="mainVideo-shell" id="subtitle"]] @@ -194,9 +181,7 @@ [[!template text="""actually run in a separate buffer, but the output will go to""" start="00:14:25.281" video="mainVideo-shell" id="subtitle"]] [[!template text="""the Eshell buffer.""" start="00:14:31.181" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Processes""" start="00:14:54.400" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""We can run the interactive command list-processes to see""" start="00:14:54.400" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Processes""" start="00:14:54.400" video="mainVideo-shell" id="subtitle"]]
[[!template text="""We can run the interactive command list-processes to see""" start="00:14:54.400" video="mainVideo-shell" id="subtitle"]] [[!template text="""all the processes running for our current Emacs session.""" start="00:14:59.581" video="mainVideo-shell" id="subtitle"]] [[!template text="""In Eshell, we can run the command "jobs" to get the same list.""" start="00:15:11.747" video="mainVideo-shell" id="subtitle"]] [[!template text="""This will show the process name, process buffer name,""" start="00:15:17.647" video="mainVideo-shell" id="subtitle"]] @@ -208,9 +193,7 @@ [[!template text="""process, "continue" to resume the process, and "interrupt" or""" start="00:15:52.981" video="mainVideo-shell" id="subtitle"]] [[!template text="""kill to terminate the process.""" start="00:15:58.381" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Redirecting and pipelining input and output""" start="00:17:00.180" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Regarding redirecting and pipelining input and output,""" start="00:17:00.180" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Redirecting and pipelining input and output""" start="00:17:00.180" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Regarding redirecting and pipelining input and output,""" start="00:17:00.180" video="mainVideo-shell" id="subtitle"]] [[!template text="""Eshell does support redirection similar to Bash, so you can""" start="00:17:04.814" video="mainVideo-shell" id="subtitle"]] [[!template text="""overwrite and append to files and some other objects. Input""" start="00:17:11.614" video="mainVideo-shell" id="subtitle"]] [[!template text="""redirection is not yet implemented, but it is on the Eshell""" start="00:17:17.047" video="mainVideo-shell" id="subtitle"]] @@ -241,9 +224,7 @@ [[!template text="""construct. See the Eshell info manual, section 3.7, for""" start="00:19:59.640" video="mainVideo-shell" id="subtitle"]] [[!template text="""more details.""" start="00:20:06.520" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Scripts""" start="00:20:09.440" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""And if you wish to write a script entirely in Eshell syntax,""" start="00:20:09.440" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Scripts""" start="00:20:09.440" video="mainVideo-shell" id="subtitle"]]
[[!template text="""And if you wish to write a script entirely in Eshell syntax,""" start="00:20:09.440" video="mainVideo-shell" id="subtitle"]] [[!template text="""and store it in a separate file, this is possible with recent""" start="00:20:13.840" video="mainVideo-shell" id="subtitle"]] [[!template text="""versions of Emacs.""" start="00:20:18.560" video="mainVideo-shell" id="subtitle"]] [[!template text="""Here's an example of a brief script that I wrote.""" start="00:20:31.840" video="mainVideo-shell" id="subtitle"]] @@ -254,9 +235,7 @@ [[!template text="""additional scripting power. We will discuss this a little""" start="00:20:55.080" video="mainVideo-shell" id="subtitle"]] [[!template text="""more later.""" start="00:20:58.760" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""File system management""" start="00:21:11.780" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Regarding file system management. In Emacs, many of the""" start="00:21:11.780" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""File system management""" start="00:21:11.780" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Regarding file system management. In Emacs, many of the""" start="00:21:11.780" video="mainVideo-shell" id="subtitle"]] [[!template text="""common file system operations are available as""" start="00:21:16.760" video="mainVideo-shell" id="subtitle"]] [[!template text="""interactive commands. For example, M-x cd, to change your""" start="00:21:20.240" video="mainVideo-shell" id="subtitle"]] [[!template text="""buffer's current working directory, and other M-x commands""" start="00:21:26.760" video="mainVideo-shell" id="subtitle"]] @@ -281,9 +260,7 @@ [[!template text="""This transparently works through SSH and some other""" start="00:23:23.180" video="mainVideo-shell" id="subtitle"]] [[!template text="""protocols that you can specify.""" start="00:23:27.840" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Networking""" start="00:23:43.560" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""Regarding networking features, I don't have a lot of""" start="00:23:43.560" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Networking""" start="00:23:43.560" video="mainVideo-shell" id="subtitle"]]
[[!template text="""Regarding networking features, I don't have a lot of""" start="00:23:43.560" video="mainVideo-shell" id="subtitle"]] [[!template text="""interesting things to say about this at the present, so I'll""" start="00:23:48.160" video="mainVideo-shell" id="subtitle"]] [[!template text="""skip through this quickly. But if you do a little research,""" start="00:23:51.640" video="mainVideo-shell" id="subtitle"]] [[!template text="""you will see that Emacs has a lot of functionality relating""" start="00:23:54.920" video="mainVideo-shell" id="subtitle"]] @@ -293,9 +270,7 @@ [[!template text="""browsing. And of course, you can run the usual standard""" start="00:24:14.400" video="mainVideo-shell" id="subtitle"]] [[!template text="""networking commands for your system through Eshell.""" start="00:24:20.600" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""A brief tour of Eshell""" start="00:24:30.120" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""So having put forward the main arguments for this talk, I""" start="00:24:30.120" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""A brief tour of Eshell""" start="00:24:30.120" video="mainVideo-shell" id="subtitle"]]
[[!template text="""So having put forward the main arguments for this talk, I""" start="00:24:30.120" video="mainVideo-shell" id="subtitle"]] [[!template text="""would like to take some time now to give a brief tour of a few of""" start="00:24:33.760" video="mainVideo-shell" id="subtitle"]] [[!template text="""the features of Eshell, the Emacs shell. It bears""" start="00:24:38.200" video="mainVideo-shell" id="subtitle"]] [[!template text="""emphasizing that Eshell is not a drop-in replacement for""" start="00:24:43.800" video="mainVideo-shell" id="subtitle"]] @@ -380,9 +355,7 @@ [[!template text="""So that covers the brief tour of Eshell features.""" start="00:34:11.260" video="mainVideo-shell" id="subtitle"]] [[!template text="""And that basically ends my talk.""" start="00:34:17.760" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Login shell""" start="00:34:21.128" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""However, a handful of""" start="00:34:21.128" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Login shell""" start="00:34:21.128" video="mainVideo-shell" id="subtitle"]]
[[!template text="""However, a handful of""" start="00:34:21.128" video="mainVideo-shell" id="subtitle"]] [[!template text="""viewers might be wondering, is it possible to set Emacs to be""" start="00:34:22.381" video="mainVideo-shell" id="subtitle"]] [[!template text="""my login shell to completely replace bash in your login""" start="00:34:28.720" video="mainVideo-shell" id="subtitle"]] [[!template text="""experience? The answer is yes, but in practice there are""" start="00:34:37.640" video="mainVideo-shell" id="subtitle"]] @@ -408,9 +381,7 @@ [[!template text="""and start Emacs and run that Emacs session until your next""" start="00:36:21.800" video="mainVideo-shell" id="subtitle"]] [[!template text="""reboot, then it probably isn't worth the bother.""" start="00:36:25.680" video="mainVideo-shell" id="subtitle"]] -[[!template new="1" text="""Resources""" start="00:36:36.980" video="mainVideo-shell" id="subtitle"]] - -[[!template text="""So thank you for listening to my talk, Emacs as a Shell, by""" start="00:36:36.980" video="mainVideo-shell" id="subtitle"]] +
[[!template new="1" text="""Resources""" start="00:36:36.980" video="mainVideo-shell" id="subtitle"]]
[[!template text="""So thank you for listening to my talk, Emacs as a Shell, by""" start="00:36:36.980" video="mainVideo-shell" id="subtitle"]] [[!template text="""Christopher Howard for Emacs Conference 2024.""" start="00:36:42.000" video="mainVideo-shell" id="subtitle"]] [[!template text="""At the bottom of this page, you can see a link to the""" start="00:36:46.860" video="mainVideo-shell" id="subtitle"]] [[!template text="""repository containing the brief amount of code that was""" start="00:36:51.520" video="mainVideo-shell" id="subtitle"]] diff --git a/2024/info/students-after.md b/2024/info/students-after.md index 482b0df7..9a448289 100644 --- a/2024/info/students-after.md +++ b/2024/info/students-after.md @@ -1,8 +1,7 @@ -
-# Transcript +

Transcript

[[!template text="""Hello, my name is Daniel Pinkston. I'm in my last year of high""" start="00:00:00.000" video="mainVideo-students" id="subtitle"]] [[!template text="""school, about to go to university. About two and a half years""" start="00:00:04.640" video="mainVideo-students" id="subtitle"]] diff --git a/2024/info/sun-close-after.md b/2024/info/sun-close-after.md index 26516c55..42f4560a 100644 --- a/2024/info/sun-close-after.md +++ b/2024/info/sun-close-after.md @@ -1,8 +1,7 @@ -
-# Transcript (unedited) +

Transcript (unedited)

[[!template text="""Hi again everyone, this is Leo, and I'm very sorry that I""" start="00:00:00.007" video="mainVideo-sun-close" id="subtitle"]] [[!template text="""couldn't stick around to the very end of EmacsConf 2024.""" start="00:00:03.046" video="mainVideo-sun-close" id="subtitle"]] diff --git a/2024/info/sun-open-after.md b/2024/info/sun-open-after.md index e726151b..f11c7849 100644 --- a/2024/info/sun-open-after.md +++ b/2024/info/sun-open-after.md @@ -1,8 +1,7 @@ -
-# Transcript (unedited) +

Transcript (unedited)

[[!template text="""Welcome to the second day of EmacsConf 2024.""" start="00:00:00.007" video="mainVideo-sun-open" id="subtitle"]] [[!template text="""Today we have one track of talks,""" start="00:00:03.446" video="mainVideo-sun-open" id="subtitle"]] diff --git a/2024/info/transducers-after.md b/2024/info/transducers-after.md index 47a78c63..f48b41d4 100644 --- a/2024/info/transducers-after.md +++ b/2024/info/transducers-after.md @@ -1,14 +1,10 @@ -
+

Transcript

-# Transcript - -[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Hi everyone, this is EmacsConf 2024. I'm Colin, and today""" start="00:00:00.000" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Hi everyone, this is EmacsConf 2024. I'm Colin, and today""" start="00:00:00.000" video="mainVideo-transducers" id="subtitle"]] [[!template text="""I'll be talking about transducers.""" start="00:00:10.800" video="mainVideo-transducers" id="subtitle"]] [[!template text="""After introducing them, I'll share a bit of history about""" start="00:00:17.320" video="mainVideo-transducers" id="subtitle"]] [[!template text="""transducers and the problems that they solve, some basics""" start="00:00:21.880" video="mainVideo-transducers" id="subtitle"]] @@ -17,9 +13,7 @@ [[!template text="""use them in the wild, and then some other discussions about""" start="00:00:32.400" video="mainVideo-transducers" id="subtitle"]] [[!template text="""issues that they have.""" start="00:00:36.960" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""What are transducers?""" start="00:00:41.520" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Okay, let's get right in. What are transducers?""" start="00:00:41.520" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""What are transducers?""" start="00:00:41.520" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Okay, let's get right in. What are transducers?""" start="00:00:41.520" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Transducers are a way to do streaming iteration with a""" start="00:00:46.400" video="mainVideo-transducers" id="subtitle"]] [[!template text="""modern API.""" start="00:00:49.680" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Who are transducers for, and thereby, who is""" start="00:00:55.680" video="mainVideo-transducers" id="subtitle"]] @@ -57,9 +51,7 @@ [[!template text="""science, one being cache validation and the other being""" start="00:03:21.880" video="mainVideo-transducers" id="subtitle"]] [[!template text="""naming things.""" start="00:03:25.760" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Common issues""" start="00:03:27.590" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""I've identified five other problems that""" start="00:03:27.590" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Common issues""" start="00:03:27.590" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""I've identified five other problems that""" start="00:03:27.590" video="mainVideo-transducers" id="subtitle"]] [[!template text="""come up when we're trying to deal with collections of data,""" start="00:03:29.800" video="mainVideo-transducers" id="subtitle"]] [[!template text="""or big streams of data. One is that if we were trying to""" start="00:03:33.200" video="mainVideo-transducers" id="subtitle"]] [[!template text="""load a file all into memory all at once and process the whole""" start="00:03:40.600" video="mainVideo-transducers" id="subtitle"]] @@ -91,9 +83,7 @@ [[!template text="""without the addition of new language features, and with""" start="00:05:39.840" video="mainVideo-transducers" id="subtitle"]] [[!template text="""little more than plain old function composition.""" start="00:05:44.040" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Transducers""" start="00:05:47.280" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""If this is your first time hearing of transducers, yeah,""" start="00:05:47.280" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Transducers""" start="00:05:47.280" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""If this is your first time hearing of transducers, yeah,""" start="00:05:47.280" video="mainVideo-transducers" id="subtitle"]] [[!template text="""no problem. They were originally invented in Clojure by""" start="00:05:53.120" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Rich Hickey, and this is a quote from him. He thinks""" start="00:05:57.440" video="mainVideo-transducers" id="subtitle"]] [[!template text="""transducers are a fundamental primitive that decouple""" start="00:06:01.040" video="mainVideo-transducers" id="subtitle"]] @@ -120,9 +110,7 @@ [[!template text="""functions their common modern names. For instance, map""" start="00:07:27.960" video="mainVideo-transducers" id="subtitle"]] [[!template text="""is map and filter is filter and so on.""" start="00:07:32.440" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Using transducers""" start="00:07:35.280" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""What does the usage of transducers look like? Well,""" start="00:07:35.280" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Using transducers""" start="00:07:35.280" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""What does the usage of transducers look like? Well,""" start="00:07:35.280" video="mainVideo-transducers" id="subtitle"]] [[!template text="""these examples will all be the Emacs Lisp variant, but the""" start="00:07:42.600" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Common Lisp will look basically exactly the same, minus""" start="00:07:48.960" video="mainVideo-transducers" id="subtitle"]] [[!template text="""this little t- prefix.""" start="00:07:52.360" video="mainVideo-transducers" id="subtitle"]] @@ -152,9 +140,7 @@ [[!template text="""available and many different forms that we can""" start="00:09:45.000" video="mainVideo-transducers" id="subtitle"]] [[!template text="""collate the final value into.""" start="00:09:48.240" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""A more involved example with comp""" start="00:09:52.625" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Let's see a more involved example.""" start="00:09:52.625" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""A more involved example with comp""" start="00:09:52.625" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Let's see a more involved example.""" start="00:09:52.625" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Okay, now we've got some more meat here.""" start="00:09:55.087" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Here we can see usage of the comp function""" start="00:09:58.050" video="mainVideo-transducers" id="subtitle"]] [[!template text="""and a custom source, ints.""" start="00:10:01.773" video="mainVideo-transducers" id="subtitle"]] @@ -184,9 +170,7 @@ [[!template text="""see 2, 4, 6, 8, and so on is the result that we""" start="00:11:42.600" video="mainVideo-transducers" id="subtitle"]] [[!template text="""expect. So let's play around a little bit.""" start="00:11:45.240" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""In Emacs""" start="00:11:49.333" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Let's jump into Emacs and see what we can do.""" start="00:11:49.333" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""In Emacs""" start="00:11:49.333" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Let's jump into Emacs and see what we can do.""" start="00:11:49.333" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Alright, you should see my Emacs screen here.""" start="00:11:53.337" video="mainVideo-transducers" id="subtitle"]] [[!template text="""These are the actual notes for the actual""" start="00:11:58.501" video="mainVideo-transducers" id="subtitle"]] [[!template text="""presentation done in Org Mode. I'll boost that up in size for""" start="00:12:04.360" video="mainVideo-transducers" id="subtitle"]] @@ -228,9 +212,7 @@ [[!template text="""string of h and 1 is mapped to e. Now, I really like having""" start="00:14:21.920" video="mainVideo-transducers" id="subtitle"]] [[!template text="""this reducer in particular.""" start="00:14:27.080" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Hash tables""" start="00:14:29.469" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Know that hash tables are""" start="00:14:29.469" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Hash tables""" start="00:14:29.469" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Know that hash tables are""" start="00:14:29.469" video="mainVideo-transducers" id="subtitle"]] [[!template text="""also legal sources. I find that both in Emacs Lisp and in""" start="00:14:30.640" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Common Lisp, dealing with hash tables--like creating them""" start="00:14:34.200" video="mainVideo-transducers" id="subtitle"]] [[!template text="""and altering them--can be a bit of a pain. Having them""" start="00:14:37.120" video="mainVideo-transducers" id="subtitle"]] @@ -240,9 +222,7 @@ [[!template text="""that, and then reduce it down into a hash table, and here you""" start="00:14:53.280" video="mainVideo-transducers" id="subtitle"]] [[!template text="""go. Very handy.""" start="00:14:56.200" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Clarity""" start="00:14:58.040" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""One last point is that you can see very clearly what""" start="00:14:58.040" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Clarity""" start="00:14:58.040" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""One last point is that you can see very clearly what""" start="00:14:58.040" video="mainVideo-transducers" id="subtitle"]] [[!template text="""this is attempting to do, as opposed to, say, a for loop. It's""" start="00:15:06.400" video="mainVideo-transducers" id="subtitle"]] [[!template text="""very clear what that step is doing, and then you can see what""" start="00:15:10.480" video="mainVideo-transducers" id="subtitle"]] [[!template text="""that is doing, and you know that the result is going to be two.""" start="00:15:12.720" video="mainVideo-transducers" id="subtitle"]] @@ -257,9 +237,7 @@ [[!template text="""transducers, it is. You have to be aware of how these things""" start="00:15:48.120" video="mainVideo-transducers" id="subtitle"]] [[!template text="""are different. I think that that helps clarity.""" start="00:15:53.120" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""How do transducers work?""" start="00:15:55.800" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Moving on. How do transducers work? Well,""" start="00:15:55.800" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""How do transducers work?""" start="00:15:55.800" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Moving on. How do transducers work? Well,""" start="00:15:55.800" video="mainVideo-transducers" id="subtitle"]] [[!template text="""we want to go see the README.""" start="00:16:02.000" video="mainVideo-transducers" id="subtitle"]] [[!template text="""So, what we're going to do is""" start="00:16:09.858" video="mainVideo-transducers" id="subtitle"]] [[!template text="""we're going to go to here.""" start="00:16:11.400" video="mainVideo-transducers" id="subtitle"]] @@ -320,9 +298,7 @@ [[!template text="""Once again, if you are more curious, please take a look at""" start="00:19:54.000" video="mainVideo-transducers" id="subtitle"]] [[!template text="""the README.""" start="00:19:56.800" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Transducers in the wild - CSV""" start="00:20:00.520" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Okay, transducers in the wild. Well, let's go take a look at""" start="00:20:00.520" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Transducers in the wild - CSV""" start="00:20:00.520" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Okay, transducers in the wild. Well, let's go take a look at""" start="00:20:00.520" video="mainVideo-transducers" id="subtitle"]] [[!template text="""processing some CSV data.""" start="00:20:06.040" video="mainVideo-transducers" id="subtitle"]] [[!template text="""We're going to open up a new Emacs Lisp bracket here. So I have""" start="00:20:07.640" video="mainVideo-transducers" id="subtitle"]] [[!template text="""a file. And in this file, let's just go look at C-x b right""" start="00:20:21.320" video="mainVideo-transducers" id="subtitle"]] @@ -400,9 +376,7 @@ [[!template text="""you want and process them, potentially both writing them""" start="00:25:57.720" video="mainVideo-transducers" id="subtitle"]] [[!template text="""back out as CSV or JSON once again.""" start="00:26:00.440" video="mainVideo-transducers" id="subtitle"]] -[[!template new="1" text="""Issues and next steps""" start="00:26:03.240" video="mainVideo-transducers" id="subtitle"]] - -[[!template text="""Some issues with transducers that can come up is""" start="00:26:03.240" video="mainVideo-transducers" id="subtitle"]] +
[[!template new="1" text="""Issues and next steps""" start="00:26:03.240" video="mainVideo-transducers" id="subtitle"]]
[[!template text="""Some issues with transducers that can come up is""" start="00:26:03.240" video="mainVideo-transducers" id="subtitle"]] [[!template text="""that one, a zip operator is missing, but I'm working on it.""" start="00:26:10.720" video="mainVideo-transducers" id="subtitle"]] [[!template text="""Two is that performance, particularly in Emacs Lisp, isn't""" start="00:26:14.920" video="mainVideo-transducers" id="subtitle"]] [[!template text="""that great. It could be due to the sort of nested lambda calls""" start="00:26:19.400" video="mainVideo-transducers" id="subtitle"]] @@ -418,9 +392,7 @@ Captioner: sachac -
- -# Q&A transcript (unedited) +

Q&A transcript (unedited)

[[!template text="""Hopefully the internet goes well. It's a nice Monday""" start="00:00:00.000" video="qanda-transducers" id="subtitle"]] [[!template text="""morning here in Tokyo.""" start="00:00:07.560" video="qanda-transducers" id="subtitle"]] @@ -433,9 +405,7 @@ Captioner: sachac [[!template text="""little bit. I think I did. However, find the 1st question.""" start="00:00:58.080" video="qanda-transducers" id="subtitle"]] [[!template text="""I got pretty distracted by conversation backstage. Yeah,""" start="00:01:04.920" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: When I tried comparing transducers.el to cl-lib and dash (benchmark-compiled), I got the following results""" start="00:01:09.920" video="qanda-transducers" id="subtitle"]] - -[[!template text="""no problem. So the first question here, someone's asking,""" start="00:01:09.920" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: When I tried comparing transducers.el to cl-lib and dash (benchmark-compiled), I got the following results""" start="00:01:09.920" video="qanda-transducers" id="subtitle"]]
[[!template text="""no problem. So the first question here, someone's asking,""" start="00:01:09.920" video="qanda-transducers" id="subtitle"]] [[!template text="""when they first tried comparing transducers.el, the cl-lib""" start="00:01:15.880" video="qanda-transducers" id="subtitle"]] [[!template text="""and Dash bookmark compiled, and they give some detailed""" start="00:01:22.280" video="qanda-transducers" id="subtitle"]] [[!template text="""results we're sharing on the stream. Um, they expected""" start="00:01:27.960" video="qanda-transducers" id="subtitle"]] @@ -491,9 +461,7 @@ Captioner: sachac [[!template text="""into the schedule so much. But anyway, interesting, I mean,""" start="00:05:31.520" video="qanda-transducers" id="subtitle"]] [[!template text="""to say.""" start="00:05:38.520" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Do you know of any theoretical texts on transducers?""" start="00:05:40.840" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Did we already speak to theoretical texts? No, right? No,""" start="00:05:40.840" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Do you know of any theoretical texts on transducers?""" start="00:05:40.840" video="qanda-transducers" id="subtitle"]]
[[!template text="""Did we already speak to theoretical texts? No, right? No,""" start="00:05:40.840" video="qanda-transducers" id="subtitle"]] [[!template text="""let's continue. Okay, so another question from the group.""" start="00:05:47.800" video="qanda-transducers" id="subtitle"]] [[!template text="""Do you know of any theoretical texts on transducers? My""" start="00:05:53.400" video="qanda-transducers" id="subtitle"]] [[!template text="""readme, particularly of the Common Lisp implementation,""" start="00:05:58.880" video="qanda-transducers" id="subtitle"]] @@ -512,9 +480,7 @@ Captioner: sachac [[!template text="""thank you. Hope I got the spelling right, and maybe somebody""" start="00:06:55.440" video="qanda-transducers" id="subtitle"]] [[!template text="""can catch that and fix it. If not, I'll reach on. Thank you.""" start="00:07:00.400" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Did you think about [compiler features, macros] viz your cl, fennel, elisp, porting of your transducers?""" start="00:07:04.720" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Reach on to the next question. Waters (Lazy Series in""" start="00:07:04.720" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Did you think about [compiler features, macros] viz your cl, fennel, elisp, porting of your transducers?""" start="00:07:04.720" video="qanda-transducers" id="subtitle"]]
[[!template text="""Reach on to the next question. Waters (Lazy Series in""" start="00:07:04.720" video="qanda-transducers" id="subtitle"]] [[!template text="""Lisp, late 70s) said this should have been done as an""" start="00:07:08.240" video="qanda-transducers" id="subtitle"]] [[!template text="""additional compiler feature in compilers, but if not, must""" start="00:07:12.800" video="qanda-transducers" id="subtitle"]] [[!template text="""be a macro package. Do you think about that vis your CL,""" start="00:07:16.800" video="qanda-transducers" id="subtitle"]] @@ -530,9 +496,7 @@ Captioner: sachac [[!template text="""I love it. What a nice succinct answer. Even I can manage to""" start="00:08:05.760" video="qanda-transducers" id="subtitle"]] [[!template text="""type that out as I scroll us to the next question.""" start="00:08:13.560" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Does t-buffer-read provide a lazy stream that\'s linewise, or charwise, or do something else entirely?""" start="00:08:16.579" video="qanda-transducers" id="subtitle"]] - -[[!template text="""So, does t-buffer-read provide a lazy stream""" start="00:08:16.579" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Does t-buffer-read provide a lazy stream that\'s linewise, or charwise, or do something else entirely?""" start="00:08:16.579" video="qanda-transducers" id="subtitle"]]
[[!template text="""So, does t-buffer-read provide a lazy stream""" start="00:08:16.579" video="qanda-transducers" id="subtitle"]] [[!template text="""that's line-wise or character-wise or do something else""" start="00:08:24.080" video="qanda-transducers" id="subtitle"]] [[!template text="""entirely?""" start="00:08:28.360" video="qanda-transducers" id="subtitle"]] [[!template text="""Okay, there are two functions. I showed""" start="00:08:29.019" video="qanda-transducers" id="subtitle"]] @@ -546,9 +510,7 @@ Captioner: sachac [[!template text="""line ends. I believe I'm just grabbing the next line and then""" start="00:08:59.480" video="qanda-transducers" id="subtitle"]] [[!template text="""processing that line-wise. Very good.""" start="00:09:04.000" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Can the Elisp library be combined with the stream.el API or seq in general?""" start="00:09:09.424" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Can the Elisp library be combined with the stream.el API""" start="00:09:09.424" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Can the Elisp library be combined with the stream.el API or seq in general?""" start="00:09:09.424" video="qanda-transducers" id="subtitle"]]
[[!template text="""Can the Elisp library be combined with the stream.el API""" start="00:09:09.424" video="qanda-transducers" id="subtitle"]] [[!template text="""or seq in general? I would say that these libraries""" start="00:09:17.304" video="qanda-transducers" id="subtitle"]] [[!template text="""are completely orthogonal. You saw that everything""" start="00:09:22.831" video="qanda-transducers" id="subtitle"]] [[!template text="""was prefixed by t-.""" start="00:09:27.597" video="qanda-transducers" id="subtitle"]] @@ -583,9 +545,7 @@ Captioner: sachac [[!template text="""it? I think we're a lot of us running into generics and how""" start="00:11:39.280" video="qanda-transducers" id="subtitle"]] [[!template text="""that solves problems in Emacs.""" start="00:11:44.280" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: How does one debug a t-comp expression? Can you single step and see intermediate results of the different statements you declare?""" start="00:11:47.543" video="qanda-transducers" id="subtitle"]] - -[[!template text="""How does one debug a t-comp""" start="00:11:47.543" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: How does one debug a t-comp expression? Can you single step and see intermediate results of the different statements you declare?""" start="00:11:47.543" video="qanda-transducers" id="subtitle"]]
[[!template text="""How does one debug a t-comp""" start="00:11:47.543" video="qanda-transducers" id="subtitle"]] [[!template text="""expression? Can you talk in terms of single step,""" start="00:11:50.280" video="qanda-transducers" id="subtitle"]] [[!template text="""step-by-step, intermediate results of the different""" start="00:11:55.120" video="qanda-transducers" id="subtitle"]] [[!template text="""statements you declare? Yes. So in Common Lisp, this is""" start="00:11:58.480" video="qanda-transducers" id="subtitle"]] @@ -630,9 +590,7 @@ Captioner: sachac [[!template text="""across everything. Every Emacs user has a story that""" start="00:14:36.040" video="qanda-transducers" id="subtitle"]] [[!template text="""harmonizes with that, I think.""" start="00:14:39.880" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Is there a path for transducers to enable elisp processing of otherwise overly large datasets as if just normal Emacs \"buffers\" (i.e. just pulling one thing at a time so essentially stream-like under the hood but buffer-like in interface), with none of the usual perf issues with a traditional buffer structure?""" start="00:14:42.495" video="qanda-transducers" id="subtitle"]] - -[[!template text="""So our next question, is""" start="00:14:42.495" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Is there a path for transducers to enable elisp processing of otherwise overly large datasets as if just normal Emacs \"buffers\" (i.e. just pulling one thing at a time so essentially stream-like under the hood but buffer-like in interface), with none of the usual perf issues with a traditional buffer structure?""" start="00:14:42.495" video="qanda-transducers" id="subtitle"]]
[[!template text="""So our next question, is""" start="00:14:42.495" video="qanda-transducers" id="subtitle"]] [[!template text="""there a path for transducers to enable Elisp processing or""" start="00:14:44.520" video="qanda-transducers" id="subtitle"]] [[!template text="""otherwise overly large data sets as if just normal Emacs""" start="00:14:48.600" video="qanda-transducers" id="subtitle"]] [[!template text="""buffers, i.e. just pulling one thing at a time. So""" start="00:14:54.000" video="qanda-transducers" id="subtitle"]] @@ -667,9 +625,7 @@ Captioner: sachac [[!template text="""some, um, um, yeah, some, like some fusion that I can do to""" start="00:16:38.520" video="qanda-transducers" id="subtitle"]] [[!template text="""speed it up. Yeah, that just sounds fascinating endlessly.""" start="00:16:45.200" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Is there an option to read a csv/json and produce an alist or plist instead of a hash table for an entry?""" start="00:16:51.200" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Are there options to like read from a CSV, JSON, produce an""" start="00:16:51.200" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Is there an option to read a csv/json and produce an alist or plist instead of a hash table for an entry?""" start="00:16:51.200" video="qanda-transducers" id="subtitle"]]
[[!template text="""Are there options to like read from a CSV, JSON, produce an""" start="00:16:51.200" video="qanda-transducers" id="subtitle"]] [[!template text="""alist or plist instead of hash table? Absolutely.""" start="00:16:55.560" video="qanda-transducers" id="subtitle"]] [[!template text="""Yes, I need to double check that, but we can read both CSV and""" start="00:17:01.680" video="qanda-transducers" id="subtitle"]] [[!template text="""JSON, and you should be able to just turn on the plist option.""" start="00:17:06.240" video="qanda-transducers" id="subtitle"]] @@ -685,9 +641,7 @@ Captioner: sachac [[!template text="""together the way that we might group files by the first four""" start="00:17:42.040" video="qanda-transducers" id="subtitle"]] [[!template text="""characters in the file name once we've got a million files.""" start="00:17:46.440" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Is the common lisp version ready for 'production' use? Is it complete enough and the API stable enough?""" start="00:17:50.520" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Anyway, is the Common Lisp version ready for production""" start="00:17:50.520" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Is the common lisp version ready for 'production' use? Is it complete enough and the API stable enough?""" start="00:17:50.520" video="qanda-transducers" id="subtitle"]]
[[!template text="""Anyway, is the Common Lisp version ready for production""" start="00:17:50.520" video="qanda-transducers" id="subtitle"]] [[!template text="""use? Do you want to comment on API stability? I use it all the""" start="00:17:54.480" video="qanda-transducers" id="subtitle"]] [[!template text="""time. I'm writing a game in Common Lisp right now, and I'm""" start="00:17:59.960" video="qanda-transducers" id="subtitle"]] [[!template text="""using transducers everywhere in there, and it doesn't even""" start="00:18:04.160" video="qanda-transducers" id="subtitle"]] @@ -695,9 +649,7 @@ Captioner: sachac [[!template text="""extensively. Okay, well, I'll just read from chat. Thanks""" start="00:18:11.120" video="qanda-transducers" id="subtitle"]] [[!template text="""so much for the answers.""" start="00:18:15.360" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Do we need a pre-written \"t-\" version for every already existing reducing function like + or is there a function to construct them from already defined reducer 2-arg functions?""" start="00:18:17.477" video="qanda-transducers" id="subtitle"]] - -[[!template text="""Do we need a pre-written or t-minus""" start="00:18:17.477" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Do we need a pre-written \"t-\" version for every already existing reducing function like + or is there a function to construct them from already defined reducer 2-arg functions?""" start="00:18:17.477" video="qanda-transducers" id="subtitle"]]
[[!template text="""Do we need a pre-written or t-minus""" start="00:18:17.477" video="qanda-transducers" id="subtitle"]] [[!template text="""version for every already existing reducing function,""" start="00:18:20.440" video="qanda-transducers" id="subtitle"]] [[!template text="""plus, as an example? Or is there a function that constructs,""" start="00:18:24.960" video="qanda-transducers" id="subtitle"]] [[!template text="""in my, I'm going to add the word, auto-visualifies them""" start="00:18:30.240" video="qanda-transducers" id="subtitle"]] @@ -726,9 +678,7 @@ Captioner: sachac [[!template text="""fold is sort of the ultimate reducer function. Great. So is""" start="00:20:08.400" video="qanda-transducers" id="subtitle"]] [[!template text="""there, where was I? Here we go. We're way past this, right? So""" start="00:20:16.880" video="qanda-transducers" id="subtitle"]] -[[!template new="1" text="""Q: Is the compelling argument for transducers is that it's a better abstraction?""" start="00:20:26.320" video="qanda-transducers" id="subtitle"]] - -[[!template text="""is the compiling argument for transducers that it's a""" start="00:20:26.320" video="qanda-transducers" id="subtitle"]] +
[[!template new="1" text="""Q: Is the compelling argument for transducers is that it's a better abstraction?""" start="00:20:26.320" video="qanda-transducers" id="subtitle"]]
[[!template text="""is the compiling argument for transducers that it's a""" start="00:20:26.320" video="qanda-transducers" id="subtitle"]] [[!template text="""better abstraction? It seems like there are concerns,""" start="00:20:34.280" video="qanda-transducers" id="subtitle"]] [[!template text="""objections, while problematically valid focused on""" start="00:20:38.880" video="qanda-transducers" id="subtitle"]] [[!template text="""implementation. Can this abstraction allow for advances""" start="00:20:42.400" video="qanda-transducers" id="subtitle"]] diff --git a/2024/info/water-after.md b/2024/info/water-after.md index 05c45cc9..33912287 100644 --- a/2024/info/water-after.md +++ b/2024/info/water-after.md @@ -1,30 +1,23 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:02.679" video="mainVideo-water" id="subtitle"]] - -[[!template text="""Welcome to Watering My Digital Plant with Emacs Timers,""" start="00:00:02.679" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:02.679" video="mainVideo-water" id="subtitle"]]
[[!template text="""Welcome to Watering My Digital Plant with Emacs Timers,""" start="00:00:02.679" video="mainVideo-water" id="subtitle"]] [[!template text="""a talk by Christopher Howard for Emacs Conference 2024.""" start="00:00:07.503" video="mainVideo-water" id="subtitle"]] [[!template text="""The goal of this talk is to give""" start="00:00:11.385" video="mainVideo-water" id="subtitle"]] [[!template text="""a brief introduction to Emacs timers""" start="00:00:17.010" video="mainVideo-water" id="subtitle"]] [[!template text="""using the illustration of how I created""" start="00:00:20.892" video="mainVideo-water" id="subtitle"]] [[!template text="""a bot for the Astrobotany service.""" start="00:00:23.394" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""What is Astrobotany?""" start="00:00:28.823" video="mainVideo-water" id="subtitle"]] - -[[!template text="""What is Astrobotany?""" start="00:00:28.823" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""What is Astrobotany?""" start="00:00:28.823" video="mainVideo-water" id="subtitle"]]
[[!template text="""What is Astrobotany?""" start="00:00:28.823" video="mainVideo-water" id="subtitle"]] [[!template text="""Let me jump to the home page.""" start="00:00:30.924" video="mainVideo-water" id="subtitle"]] [[!template text="""Astrobotany is a botany game or a simulation""" start="00:00:38.649" video="mainVideo-water" id="subtitle"]] [[!template text="""that is played using the Gemini protocol""" start="00:00:42.611" video="mainVideo-water" id="subtitle"]] [[!template text="""and gemtext documents.""" start="00:00:45.893" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""What is Gemini?""" start="00:00:48.914" video="mainVideo-water" id="subtitle"]] - -[[!template text="""What is Gemini?""" start="00:00:48.914" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""What is Gemini?""" start="00:00:48.914" video="mainVideo-water" id="subtitle"]]
[[!template text="""What is Gemini?""" start="00:00:48.914" video="mainVideo-water" id="subtitle"]] [[!template text="""The Gemini protocol is a small web protocol,""" start="00:00:50.700" video="mainVideo-water" id="subtitle"]] [[!template text="""similar to the HyperText Transfer Protocol,""" start="00:00:54.263" video="mainVideo-water" id="subtitle"]] [[!template text="""but with differing goals of simplicity,""" start="00:00:58.047" video="mainVideo-water" id="subtitle"]] @@ -36,9 +29,7 @@ [[!template text="""of the Gemini project,""" start="00:01:18.576" video="mainVideo-water" id="subtitle"]] [[!template text="""but that is not the focus of this talk.""" start="00:01:20.236" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""How do you play Astrobotany?""" start="00:01:25.337" video="mainVideo-water" id="subtitle"]] - -[[!template text="""And how do you play Astrobotany?""" start="00:01:25.337" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""How do you play Astrobotany?""" start="00:01:25.337" video="mainVideo-water" id="subtitle"]]
[[!template text="""And how do you play Astrobotany?""" start="00:01:25.337" video="mainVideo-water" id="subtitle"]] [[!template text="""First, you need to get a Gemini client""" start="00:01:28.418" video="mainVideo-water" id="subtitle"]] [[!template text="""or what you might call a browser.""" start="00:01:31.138" video="mainVideo-water" id="subtitle"]] [[!template text="""Many clients are available,""" start="00:01:34.079" video="mainVideo-water" id="subtitle"]] @@ -73,9 +64,7 @@ [[!template text="""while presenting the appropriate certificate""" start="00:03:31.537" video="mainVideo-water" id="subtitle"]] [[!template text="""for your plant.""" start="00:03:34.419" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""Timers""" start="00:03:37.000" video="mainVideo-water" id="subtitle"]] - -[[!template text="""And this brings us to Emacs timers.""" start="00:03:37.000" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""Timers""" start="00:03:37.000" video="mainVideo-water" id="subtitle"]]
[[!template text="""And this brings us to Emacs timers.""" start="00:03:37.000" video="mainVideo-water" id="subtitle"]] [[!template text="""So the main function of interest to us""" start="00:03:42.904" video="mainVideo-water" id="subtitle"]] [[!template text="""is the run-at-time function.""" start="00:03:46.626" video="mainVideo-water" id="subtitle"]] [[!template text="""Here is the help documentation,""" start="00:04:00.714" video="mainVideo-water" id="subtitle"]] @@ -126,9 +115,7 @@ [[!template text="""What I ended up using was just""" start="00:06:32.728" video="mainVideo-water" id="subtitle"]] [[!template text="""passing in a number of seconds.""" start="00:06:34.309" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""The code""" start="00:06:37.792" video="mainVideo-water" id="subtitle"]] - -[[!template text="""So now we'll move over to the code.""" start="00:06:37.792" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""The code""" start="00:06:37.792" video="mainVideo-water" id="subtitle"]]
[[!template text="""So now we'll move over to the code.""" start="00:06:37.792" video="mainVideo-water" id="subtitle"]] [[!template text="""So I'll skip down here first""" start="00:06:46.764" video="mainVideo-water" id="subtitle"]] [[!template text="""to the code that I wrote for calculating the number of""" start="00:06:49.966" video="mainVideo-water" id="subtitle"]] [[!template text="""seconds.""" start="00:06:52.527" video="mainVideo-water" id="subtitle"]] @@ -163,9 +150,7 @@ [[!template text="""as well as the one for watering the plant.""" start="00:08:57.420" video="mainVideo-water" id="subtitle"]] [[!template text="""and back to the code.""" start="00:09:02.842" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""Managing the plant""" start="00:09:05.724" video="mainVideo-water" id="subtitle"]] - -[[!template text="""So now we'll talk about the actual code for""" start="00:09:05.724" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""Managing the plant""" start="00:09:05.724" video="mainVideo-water" id="subtitle"]]
[[!template text="""So now we'll talk about the actual code for""" start="00:09:05.724" video="mainVideo-water" id="subtitle"]] [[!template text="""managing the plant.""" start="00:09:08.646" video="mainVideo-water" id="subtitle"]] [[!template text="""So you see I have a variable set up here""" start="00:09:14.210" video="mainVideo-water" id="subtitle"]] [[!template text="""that specifies where the certificate file,""" start="00:09:16.471" video="mainVideo-water" id="subtitle"]] @@ -229,9 +214,7 @@ [[!template text="""but I never got around to that.""" start="00:12:58.105" video="mainVideo-water" id="subtitle"]] [[!template text="""Didn't seem worth the bother to me.""" start="00:13:00.946" video="mainVideo-water" id="subtitle"]] -[[!template new="1" text="""Conclusion""" start="00:13:09.560" video="mainVideo-water" id="subtitle"]] - -[[!template text="""So thank you for watching my video,""" start="00:13:09.560" video="mainVideo-water" id="subtitle"]] +
[[!template new="1" text="""Conclusion""" start="00:13:09.560" video="mainVideo-water" id="subtitle"]]
[[!template text="""So thank you for watching my video,""" start="00:13:09.560" video="mainVideo-water" id="subtitle"]] [[!template text="""Watering My Digital Plant with Emacs Timers.""" start="00:13:13.825" video="mainVideo-water" id="subtitle"]] [[!template text="""You'll see at the bottom of this page""" start="00:13:16.628" video="mainVideo-water" id="subtitle"]] [[!template text="""links to the code for this talk""" start="00:13:19.491" video="mainVideo-water" id="subtitle"]] diff --git a/2024/info/writing-after.md b/2024/info/writing-after.md index 1ec146b9..8d3d06d5 100644 --- a/2024/info/writing-after.md +++ b/2024/info/writing-after.md @@ -1,13 +1,10 @@ -
-# Transcript +

Transcript

-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Hi, I'm Peter Prevos, and I'll be talking about Emacs""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Hi, I'm Peter Prevos, and I'll be talking about Emacs""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]] [[!template text="""Writing Studio. I'm a water engineer, a social scientist,""" start="00:00:02.800" video="mainVideo-writing" id="subtitle"]] [[!template text="""and I dabble in theatrical magic. For each of those""" start="00:00:06.040" video="mainVideo-writing" id="subtitle"]] [[!template text="""endeavors, I do a lot of writing. I take notes, I write""" start="00:00:08.760" video="mainVideo-writing" id="subtitle"]] @@ -25,9 +22,7 @@ [[!template text="""The objective is to teach these people how to use Emacs,""" start="00:00:49.987" video="mainVideo-writing" id="subtitle"]] [[!template text="""not how to configure Emacs to manage a complete writing project.""" start="00:00:53.308" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Why?""" start="00:00:57.649" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""So why did I write a book about Emacs when the documentation is""" start="00:00:57.649" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Why?""" start="00:00:57.649" video="mainVideo-writing" id="subtitle"]]
[[!template text="""So why did I write a book about Emacs when the documentation is""" start="00:00:57.649" video="mainVideo-writing" id="subtitle"]] [[!template text="""already so extensive? Most Emacs documentation focuses on""" start="00:01:00.480" video="mainVideo-writing" id="subtitle"]] [[!template text="""configuration, burying potential new users with choices.""" start="00:01:04.720" video="mainVideo-writing" id="subtitle"]] [[!template text="""It forces people to work on Emacs instead of with Emacs,""" start="00:01:08.840" video="mainVideo-writing" id="subtitle"]] @@ -45,9 +40,7 @@ [[!template text="""learning curve--by making these choices""" start="00:01:54.040" video="mainVideo-writing" id="subtitle"]] [[!template text="""for the new Emacs user and avoiding the paradox.""" start="00:01:56.728" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""EWS configuration""" start="00:02:02.452" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""What about this EWS configuration?""" start="00:02:02.452" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""EWS configuration""" start="00:02:02.452" video="mainVideo-writing" id="subtitle"]]
[[!template text="""What about this EWS configuration?""" start="00:02:02.452" video="mainVideo-writing" id="subtitle"]] [[!template text="""I decided to stay as close as humanly""" start="00:02:05.594" video="mainVideo-writing" id="subtitle"]] [[!template text="""bearable to vanilla Emacs. I say that tongue-in-cheek,""" start="00:02:07.840" video="mainVideo-writing" id="subtitle"]] [[!template text="""but also with some realism, centered around Org mode""" start="00:02:11.040" video="mainVideo-writing" id="subtitle"]] @@ -62,9 +55,7 @@ [[!template text="""self-insert. There's no need to use fancy keyboard""" start="00:02:43.640" video="mainVideo-writing" id="subtitle"]] [[!template text="""shortcut systems when you write prose.""" start="00:02:46.920" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""How did I develop EWS?""" start="00:02:50.072" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""How did I go about developing Emacs? I declared Emacs bankruptcy,""" start="00:02:50.072" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""How did I develop EWS?""" start="00:02:50.072" video="mainVideo-writing" id="subtitle"]]
[[!template text="""How did I go about developing Emacs? I declared Emacs bankruptcy,""" start="00:02:50.072" video="mainVideo-writing" id="subtitle"]] [[!template text="""like we all have every now and then.""" start="00:02:54.535" video="mainVideo-writing" id="subtitle"]] [[!template text="""I decided to write this book with""" start="00:02:57.097" video="mainVideo-writing" id="subtitle"]] [[!template text="""vanilla Emacs and only configure the system as was""" start="00:02:58.480" video="mainVideo-writing" id="subtitle"]] @@ -74,9 +65,7 @@ [[!template text="""get with just using Vanilla Emacs. I also developed two""" start="00:03:13.120" video="mainVideo-writing" id="subtitle"]] [[!template text="""packages to enhance how I can use Denote.""" start="00:03:17.760" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Overall workflow""" start="00:03:21.954" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Well, let's get to a demo.""" start="00:03:21.954" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Overall workflow""" start="00:03:21.954" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Well, let's get to a demo.""" start="00:03:21.954" video="mainVideo-writing" id="subtitle"]] [[!template text="""EWS is based on a typical research and writing workflow.""" start="00:03:25.376" video="mainVideo-writing" id="subtitle"]] [[!template text="""First step is you need to get some inspiration.""" start="00:03:30.158" video="mainVideo-writing" id="subtitle"]] [[!template text="""Usually we do that by reading, by watching, by""" start="00:03:32.760" video="mainVideo-writing" id="subtitle"]] @@ -95,9 +84,7 @@ [[!template text="""workflow, give you a very quick demonstration of what's in""" start="00:04:22.360" video="mainVideo-writing" id="subtitle"]] [[!template text="""the box.""" start="00:04:25.400" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Inspiration""" start="00:04:29.320" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""So the first step in the EWS workflow is inspiration. We all""" start="00:04:29.320" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Inspiration""" start="00:04:29.320" video="mainVideo-writing" id="subtitle"]]
[[!template text="""So the first step in the EWS workflow is inspiration. We all""" start="00:04:29.320" video="mainVideo-writing" id="subtitle"]] [[!template text="""stand on the shoulders of each other. Some giants; most of""" start="00:04:32.880" video="mainVideo-writing" id="subtitle"]] [[!template text="""them are normal people. We get inspiration by reading,""" start="00:04:35.320" video="mainVideo-writing" id="subtitle"]] [[!template text="""listening, and watching, and Emacs can help you access""" start="00:04:38.080" video="mainVideo-writing" id="subtitle"]] @@ -124,9 +111,7 @@ [[!template text="""written here about teaching data science with literary""" start="00:05:50.480" video="mainVideo-writing" id="subtitle"]] [[!template text="""programming tools.""" start="00:05:52.680" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Ideation""" start="00:05:54.761" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Next step is ideation. Taking notes is""" start="00:05:54.761" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Ideation""" start="00:05:54.761" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Next step is ideation. Taking notes is""" start="00:05:54.761" video="mainVideo-writing" id="subtitle"]] [[!template text="""the core of all creativity. When I read that paper, I might""" start="00:05:57.600" video="mainVideo-writing" id="subtitle"]] [[!template text="""want to copy some ideas, I might get some of my own ideas, and I""" start="00:06:01.000" video="mainVideo-writing" id="subtitle"]] [[!template text="""need to write that down. I basically write everything in a""" start="00:06:05.080" video="mainVideo-writing" id="subtitle"]] @@ -153,9 +138,7 @@ [[!template text="""_ews means anything that has the EWS tag, and""" start="00:07:30.800" video="mainVideo-writing" id="subtitle"]] [[!template text="""there we go, it's narrowed down in my EWS notes.""" start="00:07:34.680" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""denote-explore""" start="00:07:39.113" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Now, this is all very well, but I also decided to""" start="00:07:39.113" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""denote-explore""" start="00:07:39.113" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Now, this is all very well, but I also decided to""" start="00:07:39.113" video="mainVideo-writing" id="subtitle"]] [[!template text="""write a package called denote-explore,""" start="00:07:45.041" video="mainVideo-writing" id="subtitle"]] [[!template text="""which helps us sort of explore these collections of notes.""" start="00:07:47.103" video="mainVideo-writing" id="subtitle"]] [[!template text="""One of the fancy things we can do is""" start="00:07:54.072" video="mainVideo-writing" id="subtitle"]] @@ -173,9 +156,7 @@ [[!template text="""I'm sure it can also go into Emacs. This is the note tagging""" start="00:08:43.680" video="mainVideo-writing" id="subtitle"]] [[!template text="""that's available within EWS.""" start="00:08:49.640" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Writing with Org""" start="00:08:54.581" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Now, we've taken all these notes. Now we need to""" start="00:08:54.581" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Writing with Org""" start="00:08:54.581" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Now, we've taken all these notes. Now we need to""" start="00:08:54.581" video="mainVideo-writing" id="subtitle"]] [[!template text="""start writing stuff. Org mode, for me,""" start="00:08:57.022" video="mainVideo-writing" id="subtitle"]] [[!template text="""is the ideal tool. Org mode is what you see is what you""" start="00:09:00.519" video="mainVideo-writing" id="subtitle"]] [[!template text="""mean. The text and the syntax instruct the computer on how to""" start="00:09:03.560" video="mainVideo-writing" id="subtitle"]] @@ -198,9 +179,7 @@ [[!template text="""but what I will show you is how the book functions,""" start="00:09:59.800" video="mainVideo-writing" id="subtitle"]] [[!template text="""and then how we create these publications.""" start="00:10:02.910" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""The project file""" start="00:10:05.920" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Okay. Let's go to my project file.""" start="00:10:05.920" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""The project file""" start="00:10:05.920" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Okay. Let's go to my project file.""" start="00:10:05.920" video="mainVideo-writing" id="subtitle"]] [[!template text="""So these are the EWS chapters,""" start="00:10:11.640" video="mainVideo-writing" id="subtitle"]] [[!template text="""and each chapter is an Org mode file.""" start="00:10:17.059" video="mainVideo-writing" id="subtitle"]] [[!template text="""Let's go into the main document, which is set up with""" start="00:10:20.201" video="mainVideo-writing" id="subtitle"]] @@ -232,9 +211,7 @@ [[!template text="""repository, so you can also roll your own, because the EWS""" start="00:12:11.040" video="mainVideo-writing" id="subtitle"]] [[!template text="""configuration is the one that I use to produce the book.""" start="00:12:14.000" video="mainVideo-writing" id="subtitle"]] -[[!template new="1" text="""Conclusions""" start="00:12:18.720" video="mainVideo-writing" id="subtitle"]] - -[[!template text="""Now, some conclusions from this journey is that the best way to""" start="00:12:18.720" video="mainVideo-writing" id="subtitle"]] +
[[!template new="1" text="""Conclusions""" start="00:12:18.720" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Now, some conclusions from this journey is that the best way to""" start="00:12:18.720" video="mainVideo-writing" id="subtitle"]] [[!template text="""learn is to teach. That was my personal objective. I""" start="00:12:22.800" video="mainVideo-writing" id="subtitle"]] [[!template text="""learned a lot from systematically working out how to""" start="00:12:26.240" video="mainVideo-writing" id="subtitle"]] [[!template text="""implement the EWS workflow. One of the surprising things""" start="00:12:28.600" video="mainVideo-writing" id="subtitle"]] -- cgit v1.2.3