summaryrefslogtreecommitdiffstats
path: root/2023
diff options
context:
space:
mode:
Diffstat (limited to '2023')
-rw-r--r--2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt755
-rw-r--r--2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt353
-rw-r--r--2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt1973
-rw-r--r--2023/talks/flat.md7
-rw-r--r--2023/talks/koutline.md7
-rw-r--r--2023/talks/poltys.md7
6 files changed, 3102 insertions, 0 deletions
diff --git a/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt b/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt
new file mode 100644
index 00000000..5d17e1de
--- /dev/null
+++ b/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt
@@ -0,0 +1,755 @@
+WEBVTT
+
+
+00:00:01.880 --> 00:00:02.380
+That's how I came into this.
+
+00:00:10.120 --> 00:00:10.480
+Finally, the next big thing was starting
+
+00:00:16.100 --> 00:00:16.600
+2005, I went fully Linux and then for Mac OS,
+
+00:00:19.540 --> 00:00:20.040
+and I switched to vanilla self-compiled
+
+00:00:25.279 --> 00:00:25.779
+versions of Emacs. So what do I want to show?
+
+00:00:30.540 --> 00:00:30.920
+Couple of time ago in the development list
+
+00:00:34.540 --> 00:00:34.760
+there was a short exchange about the nil and
+
+00:00:38.400 --> 00:00:38.900
+the flood button, flood button button styles,
+
+00:00:42.480 --> 00:00:42.700
+saying that it was equivalent and they are
+
+00:00:45.480 --> 00:00:45.980
+not. So instead of starting a Flame Wars,
+
+00:00:49.220 --> 00:00:49.720
+I thought it was better to go and publicize
+
+00:00:54.520 --> 00:00:55.020
+the goodies you get with Flood Button.
+
+00:00:57.260 --> 00:00:57.440
+And this is what I'm going to be showing you
+
+00:01:00.140 --> 00:01:00.640
+practically. Why Flood Button?
+
+00:01:06.020 --> 00:01:06.500
+2005, more or less, I came across DOOM Emacs,
+
+00:01:07.660 --> 00:01:08.160
+which was nice. And I,
+
+00:01:12.180 --> 00:01:12.600
+especially I liked the DOOM mode line,
+
+00:01:13.740 --> 00:01:14.040
+which was, I think it is,
+
+00:01:15.560 --> 00:01:16.060
+it is, and it was cool at that time.
+
+00:01:20.280 --> 00:01:20.500
+I was using other themes and it was not that
+
+00:01:23.760 --> 00:01:24.020
+easy to adapt for these other themes and even
+
+00:01:26.080 --> 00:01:26.280
+less when you are in an environment with
+
+00:01:30.060 --> 00:01:30.560
+dynamic themes like mine because I tend to
+
+00:01:36.500 --> 00:01:36.680
+adapt the theme to the light conditions in my
+
+00:01:40.520 --> 00:01:40.760
+working place. So what I did at the end was
+
+00:01:44.540 --> 00:01:44.820
+coming up with a style for faces called flood
+
+00:01:49.020 --> 00:01:49.140
+button for boxes, called flood button as a
+
+00:01:52.640 --> 00:01:53.140
+simple way to get modern looking buttons and
+
+00:01:59.160 --> 00:01:59.380
+bars. So flood button is a face style for
+
+00:02:02.380 --> 00:02:02.740
+boxes within buttons that automatically sets
+
+00:02:05.240 --> 00:02:05.440
+the border color to the background of the
+
+00:02:08.440 --> 00:02:08.880
+face, as opposed to nil,
+
+00:02:10.440 --> 00:02:10.940
+which uses the foreground.
+
+00:02:14.380 --> 00:02:14.880
+And this produces a very doom mode line-ish
+
+00:02:18.400 --> 00:02:18.640
+look and feel. And if you want to know where
+
+00:02:21.580 --> 00:02:21.780
+I use it, basically for the mode line and I'm
+
+00:02:24.720 --> 00:02:25.200
+using tab line for a long time now.
+
+00:02:28.480 --> 00:02:28.680
+So for the mode line and for tab line to
+
+00:02:35.080 --> 00:02:35.280
+organize my windows. And since an image is
+
+00:02:37.160 --> 00:02:37.660
+worth more than a thousand words,
+
+00:02:40.860 --> 00:02:41.160
+I'm just going to stop this and start sharing
+
+00:02:44.120 --> 00:02:44.360
+a small Emacs environment I have ready for
+
+00:02:47.020 --> 00:02:47.220
+this talk where I'm going to show you a flat
+
+00:02:50.220 --> 00:02:50.720
+button in real life. So if you hold with me,
+
+00:02:56.100 --> 00:02:56.600
+I'm going to share a window.
+
+00:02:58.840 --> 00:02:59.340
+It's going to be this 1.
+
+00:03:01.386 --> 00:03:01.430
+Share and share. Here we are.
+
+00:03:01.780 --> 00:03:02.280
+And share. Here we are.
+
+00:03:08.040 --> 00:03:08.540
+So this is an Emacs which is recent,
+
+00:03:13.460 --> 00:03:13.740
+reasonably recent. Nothing especially it was
+
+00:03:14.900 --> 00:03:15.400
+compiled, it's Emacs 30.
+
+00:03:18.480 --> 00:03:18.780
+And I think what I have here is something
+
+00:03:19.900 --> 00:03:20.400
+that I compiled last weekend.
+
+00:03:24.940 --> 00:03:25.140
+I was tempted to use something compiled this
+
+00:03:28.080 --> 00:03:28.580
+morning, but I saw a patch by Ellie regarding
+
+00:03:30.640 --> 00:03:31.140
+something in the faces and I didn't want to
+
+00:03:34.160 --> 00:03:34.440
+live a too risky life here,
+
+00:03:36.220 --> 00:03:36.720
+so I'm going to use this.
+
+00:03:40.740 --> 00:03:41.240
+I'm not starting the ZMAC from the normal
+
+00:03:44.160 --> 00:03:44.660
+Emacs directory. I have my own,
+
+00:03:49.440 --> 00:03:49.840
+I have a special customization directory for
+
+00:03:51.560 --> 00:03:52.060
+Emacs, and this is this 1.
+
+00:03:57.760 --> 00:03:58.100
+And here what I have is basically an early
+
+00:04:01.880 --> 00:04:02.220
+init and an init. So the early init,
+
+00:04:03.680 --> 00:04:03.900
+which is quite stupid as you see,
+
+00:04:07.800 --> 00:04:08.300
+the only thing that it does is getting rid of
+
+00:04:10.640 --> 00:04:10.800
+most of the things that I'm not going to be
+
+00:04:12.740 --> 00:04:13.240
+using here. So I have no toolbar,
+
+00:04:15.700 --> 00:04:16.200
+no scroll bar, no tool tips.
+
+00:04:20.560 --> 00:04:20.760
+I don't like global highlighting my line art,
+
+00:04:21.720 --> 00:04:22.040
+so I'm not using that.
+
+00:04:22.800 --> 00:04:23.300
+I'm not using dialogues.
+
+00:04:25.560 --> 00:04:26.060
+And to start up easier,
+
+00:04:29.440 --> 00:04:29.940
+I don't inhibit, I don't use any startups
+
+00:04:34.540 --> 00:04:35.020
+screen. So just to make sure that everything
+
+00:04:41.360 --> 00:04:41.860
+is correct, that everything is as I want,
+
+00:04:44.840 --> 00:04:45.340
+just to show you my Emacs.
+
+00:04:49.240 --> 00:04:49.740
+As you see the Emacs 30,
+
+00:04:53.900 --> 00:04:54.100
+which was built on the 26th of November which
+
+00:04:55.520 --> 00:04:56.020
+was not very long ago.
+
+00:04:57.880 --> 00:04:58.380
+And now here comes the real magic.
+
+00:05:00.540 --> 00:05:01.040
+My init and my init file.
+
+00:05:04.020 --> 00:05:04.520
+Maybe I go to my init file here.
+
+00:05:11.880 --> 00:05:12.040
+What I have is just a variable saying that I
+
+00:05:15.880 --> 00:05:16.380
+want an extra 8 pixels for my mode line.
+
+00:05:18.240 --> 00:05:18.740
+And I have 2 functions.
+
+00:05:23.800 --> 00:05:24.300
+1 is modifying the mode line,
+
+00:05:25.920 --> 00:05:26.420
+both the active and the inactive,
+
+00:05:32.180 --> 00:05:32.680
+using the nil style with this line width of 8
+
+00:05:36.380 --> 00:05:36.600
+pixels and to compare with it what I have
+
+00:05:39.140 --> 00:05:39.640
+here is another function which will customize
+
+00:05:42.400 --> 00:05:42.780
+the face for mode line and instead of using
+
+00:05:44.960 --> 00:05:45.460
+nil I'm using here flat button.
+
+00:05:49.440 --> 00:05:49.940
+So this is my all the magic that I need.
+
+00:05:53.240 --> 00:05:53.500
+I'm going to copy that and I'm going to go to
+
+00:05:57.340 --> 00:05:57.520
+the scratch buffer which is always the best
+
+00:05:58.780 --> 00:05:59.280
+way of checking these things.
+
+00:06:05.660 --> 00:06:06.100
+When I normally work with themes,
+
+00:06:09.320 --> 00:06:09.520
+what I do is if I want to further modify the
+
+00:06:13.620 --> 00:06:14.120
+themes, I add an advice to load a theme after
+
+00:06:17.800 --> 00:06:18.040
+the theme is loaded. In this first case,
+
+00:06:21.280 --> 00:06:21.540
+what I'm going to be doing is adding the nil
+
+00:06:22.680 --> 00:06:23.180
+sign so that you can see it.
+
+00:06:30.240 --> 00:06:30.740
+And once this is done,
+
+00:06:33.000 --> 00:06:33.500
+I'm going to load 1 of the Modo Soprandi
+
+00:06:42.600 --> 00:06:43.100
+themes, the tinted 1. Here we are.
+
+00:06:56.400 --> 00:06:56.900
+And as you can see, when I loaded the theme,
+
+00:07:01.880 --> 00:07:02.160
+what I see here is my mode line with the
+
+00:07:05.320 --> 00:07:05.580
+x-ray pixels using since I'm using the nil
+
+00:07:09.520 --> 00:07:09.720
+style it's using the background color and
+
+00:07:12.620 --> 00:07:13.120
+this gives you this thick black line there
+
+00:07:17.080 --> 00:07:17.240
+furthermore if you have the inactive line you
+
+00:07:20.660 --> 00:07:21.040
+see that it is grayed out so it's always
+
+00:07:22.800 --> 00:07:23.300
+using the foreground color.
+
+00:07:33.300 --> 00:07:33.480
+So now what I'm going to do is to load the
+
+00:07:35.200 --> 00:07:35.700
+models we have any which is the dark theme
+
+00:07:40.080 --> 00:07:40.400
+and this case what you see is the love deal
+
+00:07:43.220 --> 00:07:43.720
+the lines always using the foreground color
+
+00:07:49.200 --> 00:07:49.700
+use the Give you an extra 8 pixels of a white
+
+00:07:53.000 --> 00:07:53.500
+color here, which is not what we really want.
+
+00:07:58.900 --> 00:07:59.240
+At least not what I wanted to have.
+
+00:08:01.560 --> 00:08:02.060
+So what I'm going to do now is I'm going to
+
+00:08:08.940 --> 00:08:09.440
+remove this advice and add the flat style
+
+00:08:12.800 --> 00:08:13.260
+thing, flat style function,
+
+00:08:15.480 --> 00:08:15.920
+so that we're going to do the same.
+
+00:08:18.380 --> 00:08:18.540
+But now when I load the themes I'm going to
+
+00:08:20.760 --> 00:08:21.040
+have a flat button style for the mode line
+
+00:08:21.880 --> 00:08:22.380
+and you'll see the difference.
+
+00:08:29.480 --> 00:08:29.980
+So if I now load Modo Software Andy theme,
+
+00:08:35.380 --> 00:08:35.640
+tint it, what I get here is as you see I get
+
+00:08:40.520 --> 00:08:40.760
+a solid mode line which is a bit more which
+
+00:08:49.240 --> 00:08:49.400
+is wider than the normal mode line And if I
+
+00:08:53.140 --> 00:08:53.480
+go to the dark theme, I am going to see,
+
+00:08:55.440 --> 00:08:55.920
+you're going to see that now the theme
+
+00:08:59.860 --> 00:09:00.360
+changes and I have a mode line which is,
+
+00:09:02.700 --> 00:09:03.080
+if not the doom mode line,
+
+00:09:08.260 --> 00:09:08.760
+quite close to the Doom mode line.
+
+00:09:11.200 --> 00:09:11.700
+Where do I use this? Personally,
+
+00:09:15.280 --> 00:09:15.580
+I use it for the mode line and for the tab
+
+00:09:18.960 --> 00:09:19.460
+line, as I've said. And it gives me this
+
+00:09:27.040 --> 00:09:27.340
+clean themes with thicker mode line and tab
+
+00:09:33.620 --> 00:09:34.120
+lines which at least in my personal feeling
+
+00:09:40.160 --> 00:09:40.660
+look quite modern. And this will be my
+
+00:09:43.820 --> 00:09:44.200
+demonstration. So I'm going to stop sharing
+
+00:09:46.820 --> 00:09:46.960
+the screen and I'm going to try and see if
+
+00:09:49.400 --> 00:09:49.900
+there's anything on the on the chat.
+
+00:09:57.040 --> 00:09:57.360
+And I just wanted to know if there are any
+
+00:10:01.240 --> 00:10:01.740
+questions. Thank you Pedro.
+
+00:10:05.000 --> 00:10:05.180
+Yeah We are now into the Q&A portion of the
+
+00:10:06.420 --> 00:10:06.920
+talk. So if folks have questions,
+
+00:10:10.080 --> 00:10:10.240
+please post them on IRC or on the pad and
+
+00:10:11.040 --> 00:10:11.540
+we'll take them up here.
+
+00:10:25.400 --> 00:10:25.900
+Okay, I see a question here saying,
+
+00:10:28.520 --> 00:10:28.860
+do you plan to upstream the style into
+
+00:10:32.580 --> 00:10:32.900
+core-remix? It's part of core-remix since
+
+00:10:35.800 --> 00:10:36.300
+Emacs 29, so you have it.
+
+00:10:49.060 --> 00:10:49.540
+How difficult to...I mean,
+
+00:10:54.320 --> 00:10:54.620
+you already have the flat button style in
+
+00:10:57.660 --> 00:10:57.940
+Core Remax. And you've seen that the main
+
+00:11:00.740 --> 00:11:00.980
+thing is, if you want to have a thing like
+
+00:11:06.660 --> 00:11:06.940
+that, you just have to customize the face.
+
+00:11:10.920 --> 00:11:11.420
+I don't think it's too difficult to do.
+
+00:11:13.380 --> 00:11:13.880
+It's adding the style that you want.
+
+00:11:17.360 --> 00:11:17.860
+So if you want to see it again,
+
+00:11:20.860 --> 00:11:21.160
+I'm going to go and share the screen once
+
+00:11:23.980 --> 00:11:24.160
+again and show you the only thing that you
+
+00:11:31.740 --> 00:11:32.240
+really need to do. And control X 1,
+
+00:11:34.680 --> 00:11:35.180
+control X buffer to init.
+
+00:11:41.040 --> 00:11:41.320
+So this is what you would have to do to get
+
+00:11:48.880 --> 00:11:49.020
+your mode line or mode line inactive with a
+
+00:11:52.360 --> 00:11:52.660
+flat button style. So what you do is you get
+
+00:11:56.120 --> 00:11:56.280
+your face like this, the face that you want
+
+00:11:59.640 --> 00:12:00.060
+to modify. You say that you inherit from the
+
+00:12:02.920 --> 00:12:03.200
+original face and what you do is that you add
+
+00:12:06.820 --> 00:12:07.000
+a box with the line width that you want and
+
+00:12:08.040 --> 00:12:08.540
+the style plug button.
+
+00:12:10.900 --> 00:12:11.400
+I don't think it's too difficult to do.
+
+00:12:23.100 --> 00:12:23.600
+How much work was involved in implementing
+
+00:12:27.360 --> 00:12:27.780
+this style? It is not 1 of the biggest
+
+00:12:28.940 --> 00:12:29.440
+patches you have in Emacs.
+
+00:12:32.260 --> 00:12:32.640
+It was my first patch,
+
+00:12:34.500 --> 00:12:34.960
+so it was like 20 liners.
+
+00:12:40.280 --> 00:12:40.780
+It's not too much. Yes,
+
+00:12:44.540 --> 00:12:45.040
+I am going to go and...
+
+00:12:54.733 --> 00:12:54.800
+Oops. SKB and... There you are.
+
+00:12:58.660 --> 00:12:58.900
+And there you are. I've checked it for copy
+
+00:13:05.440 --> 00:13:05.580
+and paste. Of course, then what you have to
+
+00:13:09.440 --> 00:13:09.760
+do is to add an advice and add this thing
+
+00:13:16.680 --> 00:13:16.980
+after the add this code after the well after
+
+00:13:17.760 --> 00:13:18.260
+you've loaded the theme.
+
+00:13:22.420 --> 00:13:22.920
+It says, ModeLine and ModeLineInactive.
+
+00:13:27.400 --> 00:13:27.720
+I'm also using it for TabLine and
+
+00:13:29.820 --> 00:13:30.060
+TabLineInactive and all this kind of things.
+
+00:13:30.060 --> 00:13:30.560
+Thanks.
+
+00:14:00.660 --> 00:14:01.160
+Thanks. Any other questions?
+
+00:14:35.020 --> 00:14:35.520
+Reactions? Thank you. Thank you.
+
+00:15:04.160 --> 00:15:04.340
+Okay, I think we still have about 6 or 7 more
+
+00:15:05.840 --> 00:15:06.220
+minutes of live Q&A on stream,
+
+00:15:07.400 --> 00:15:07.900
+so if folks have any more questions,
+
+00:15:09.940 --> 00:15:10.440
+please do feel free to post them on the pad.
+
+00:15:30.060 --> 00:15:30.560
+Silence. Silence. Silence.
+
+00:16:02.280 --> 00:16:02.780
+Well, do you teach eMAX to any of your
+
+00:16:04.700 --> 00:16:05.200
+university students? As such,
+
+00:16:08.080 --> 00:16:08.580
+there's no course that we teach,
+
+00:16:12.800 --> 00:16:13.300
+but in tutorships and in tutoring sessions,
+
+00:16:15.460 --> 00:16:15.800
+when we do practical things,
+
+00:16:21.100 --> 00:16:21.300
+and I do a lot, I tend to use Emacs for all
+
+00:16:24.480 --> 00:16:24.960
+the tasks so that the students get involved
+
+00:16:28.220 --> 00:16:28.380
+in it. I also have a small introduction to
+
+00:16:29.640 --> 00:16:30.110
+Emacs that I share with my students.
+
+00:16:33.400 --> 00:16:33.900
+So So every year I have 2 or 3 new adepts.
+
+00:17:43.900 --> 00:17:44.400
+We have a question on IRC.
+
+00:17:46.920 --> 00:17:47.080
+Someone asking can you please show what the
+
+00:17:53.160 --> 00:17:53.660
+tab line looks like? Just a second.
+
+00:17:56.880 --> 00:17:57.380
+This would be like this.
+
+00:18:03.096 --> 00:18:03.193
+For that I'm going to use my regular Emacs.
+
+00:18:06.220 --> 00:18:06.560
+Just my my regular emacs so just let me fire
+
+00:18:09.220 --> 00:18:09.720
+it up. Sure.
+
+00:18:23.540 --> 00:18:24.040
+And
+
+00:18:39.760 --> 00:18:40.120
+That's my current situation with the tab
+
+00:18:42.660 --> 00:18:43.140
+line. I do have a couple of functions.
+
+00:18:44.680 --> 00:18:45.180
+So this is 1 of the things that I use.
+
+00:18:51.500 --> 00:18:51.600
+As you see, both the tab line here and the
+
+00:18:57.040 --> 00:18:57.340
+mode line change. And the other thing is I
+
+00:19:00.520 --> 00:19:01.020
+can, this is for some situations,
+
+00:19:03.600 --> 00:19:03.940
+not currently because it's just later,
+
+00:19:06.420 --> 00:19:06.680
+it's a bit too dark. But this is for light
+
+00:19:10.260 --> 00:19:10.760
+days. I have like 3 or 4 themes that I can
+
+00:19:15.020 --> 00:19:15.140
+switch to these are the themes that I
+
+00:19:18.120 --> 00:19:18.620
+normally use This is how the tab line looks.
+
+00:19:22.660 --> 00:19:23.160
+This is how the tab line here looks with the
+
+00:19:28.280 --> 00:19:28.780
+with a flat button style.
+
+00:19:35.640 --> 00:19:36.140
+Looks great, Thank you for sharing.
+
+00:19:37.200 --> 00:19:37.700
+You're welcome.
+
+00:19:50.720 --> 00:19:51.220
+Okay, I think we have 2 or 3 more minutes.
+
+00:19:53.600 --> 00:19:54.100
+So if folks, if you have any final questions
+
+00:19:55.480 --> 00:19:55.980
+for Pedro, please post them in.
+
+00:20:37.360 --> 00:20:37.860
+Okay. Okay.
+
+00:20:54.260 --> 00:20:54.760
+Okay.
+
+00:21:34.540 --> 00:21:34.700
+No further questions. Yeah,
+
+00:21:36.380 --> 00:21:36.880
+it seems we don't have any further questions.
+
+00:21:39.100 --> 00:21:39.480
+Just another audience member also thanking
+
+00:21:44.060 --> 00:21:44.200
+you on the chat. So with that,
+
+00:21:45.320 --> 00:21:45.480
+I'll say Thank you very much,
+
+00:21:47.080 --> 00:21:47.580
+Pedro, for your great talk and for the Q&A,
+
+00:21:50.220 --> 00:21:50.320
+for your work and for helping spreading the
+
+00:21:52.360 --> 00:21:52.860
+joy of Emacs. Okay, thanks.
+
+00:21:56.140 --> 00:21:56.640
+Thank you. Bye-bye. It was a nice experience
+
+00:21:59.200 --> 00:21:59.700
+here. Very nice tool. Cheers.
+
+00:22:01.640 --> 00:22:01.920
+Awesome. Take care. Bye.
+
+00:22:02.720 --> 00:22:03.220
+Bye. Bye.
diff --git a/2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt b/2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt
new file mode 100644
index 00000000..7d2db739
--- /dev/null
+++ b/2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt
@@ -0,0 +1,353 @@
+WEBVTT
+
+
+00:00:03.340 --> 00:00:03.480
+Today I will share a nice workflow I have
+
+00:00:04.400 --> 00:00:04.900
+developed for stream of consciousness
+
+00:00:06.560 --> 00:00:06.759
+journaling. The goal of stream of
+
+00:00:08.080 --> 00:00:08.240
+consciousness journaling is to get your
+
+00:00:09.960 --> 00:00:10.080
+thoughts on the screen as effectively and
+
+00:00:10.679 --> 00:00:11.040
+efficiently as possible.
+
+00:00:12.780 --> 00:00:12.980
+These 2 features when combined reinforce each
+
+00:00:14.860 --> 00:00:15.060
+other and let you hear yourself think in a
+
+00:00:15.960 --> 00:00:16.460
+very efficient manner,
+
+00:00:17.220 --> 00:00:17.580
+increasing the number,
+
+00:00:18.960 --> 00:00:19.160
+quality, and types of thoughts you can get
+
+00:00:21.100 --> 00:00:21.260
+out of it. The tools I will be using for this
+
+00:00:22.680 --> 00:00:23.099
+are Emacs, KL line from the Hyperbolt
+
+00:00:24.080 --> 00:00:24.279
+package, centered cursor mode,
+
+00:00:25.119 --> 00:00:25.619
+Olivetti mode, and optionally,
+
+00:00:26.820 --> 00:00:27.240
+voice to text. Additionally,
+
+00:00:28.939 --> 00:00:29.119
+you can see my commands and key bindings on
+
+00:00:31.500 --> 00:00:31.680
+the right. I will start off by showing a
+
+00:00:32.119 --> 00:00:32.619
+typing demo
+
+00:00:48.120 --> 00:00:48.620
+about how my day went.
+
+00:01:12.900 --> 00:01:13.180
+There are certain functionalities for stream
+
+00:01:14.640 --> 00:01:14.960
+of consciousness journaling that are desired
+
+00:01:15.900 --> 00:01:16.320
+or detrimental to the process.
+
+00:01:17.040 --> 00:01:17.540
+Stream of thought functionalities,
+
+00:01:26.000 --> 00:01:26.240
+things I want. The ability to optionally use
+
+00:01:27.720 --> 00:01:28.020
+speech to text. I do this by using
+
+00:01:29.380 --> 00:01:29.880
+Nerdictation, a Python program.
+
+00:01:32.320 --> 00:01:32.480
+I am still experimenting with this as it
+
+00:01:34.120 --> 00:01:34.200
+changes the quality and types of thoughts you
+
+00:01:35.280 --> 00:01:35.720
+can get out of stream of consciousness
+
+00:01:37.680 --> 00:01:37.880
+journaling. I am still looking for better
+
+00:01:39.900 --> 00:01:40.240
+ways of doing this. The ability to easily
+
+00:01:41.680 --> 00:01:41.880
+organize and split off my thoughts by
+
+00:01:43.040 --> 00:01:43.540
+creating and manipulating outlines.
+
+00:01:46.280 --> 00:01:46.560
+Creating them in real time is needed for live
+
+00:01:48.240 --> 00:01:48.720
+journaling and allows for later editing
+
+00:01:53.140 --> 00:01:53.300
+really easily. I showed off some of these
+
+00:01:56.479 --> 00:01:56.740
+commands before. To just write words without
+
+00:01:57.540 --> 00:01:58.040
+worrying about format.
+
+00:02:00.160 --> 00:02:00.480
+To not worry about scrolling,
+
+00:02:01.640 --> 00:02:02.140
+I use centered cursor mode.
+
+00:02:05.200 --> 00:02:05.660
+To not worry about lines,
+
+00:02:06.960 --> 00:02:07.460
+I use the KOutline auto-filling
+
+00:02:09.360 --> 00:02:09.800
+functionality. To not worry about pressing
+
+00:02:11.400 --> 00:02:11.720
+Enter, and to have a nice looking journal
+
+00:02:12.660 --> 00:02:13.160
+with hard returns afterwards.
+
+00:02:19.060 --> 00:02:19.320
+Manually filling is needed with spacing when
+
+00:02:22.160 --> 00:02:22.660
+it is wrong. I do that with metaJ.
+
+00:02:30.680 --> 00:02:31.180
+Counterproductive functionality.
+
+00:02:33.480 --> 00:02:33.680
+Spell checking. While this is useful for
+
+00:02:35.500 --> 00:02:35.680
+editing, it is not useful for stream of
+
+00:02:36.220 --> 00:02:36.720
+consciousness journaling.
+
+00:02:39.020 --> 00:02:39.140
+Having this on or off conditionally while you
+
+00:02:40.760 --> 00:02:40.940
+are live journaling is a killer feature of
+
+00:02:48.040 --> 00:02:48.460
+Emacs. Reading slash editing the journal.
+
+00:02:50.240 --> 00:02:50.380
+Part of the value proposition of this is to
+
+00:02:51.420 --> 00:02:51.820
+listen to what you are thinking,
+
+00:02:52.680 --> 00:02:53.180
+so this is needed functionality.
+
+00:02:55.580 --> 00:02:55.680
+You cannot listen very well when you are
+
+00:02:57.360 --> 00:02:57.720
+speaking, and the converse is true as well.
+
+00:02:59.240 --> 00:02:59.440
+You cannot speak very well when you are
+
+00:03:01.280 --> 00:03:01.440
+listening, decreasing what you can get out of
+
+00:03:04.120 --> 00:03:04.240
+it. Features when editing or listening to
+
+00:03:05.200 --> 00:03:05.700
+your journal. Spell checking.
+
+00:03:07.780 --> 00:03:08.280
+I use the Spackage Spellfoo,
+
+00:03:20.740 --> 00:03:20.980
+but there are others. I use multiple panes to
+
+00:03:25.040 --> 00:03:25.440
+read and edit. I use a combination of follow
+
+00:03:27.940 --> 00:03:28.440
+mode and some of my custom functions.
+
+00:03:31.860 --> 00:03:32.360
+These are what I use right here.
+
+00:03:53.360 --> 00:03:53.480
+The ability to change the view specs of the
+
+00:03:59.340 --> 00:03:59.840
+document. Stuff like, toggling blank lines.
+
+00:04:08.300 --> 00:04:08.800
+Show the first heading of everything.
+
+00:04:18.620 --> 00:04:18.839
+You can also export the KOutline pages to
+
+00:04:21.560 --> 00:04:21.779
+HTML for other people to read or another way
+
+00:04:29.440 --> 00:04:29.940
+to look at it. Easy manipulation of cells.
+
+00:04:34.040 --> 00:04:34.160
+You use the Alt and arrow keys just like in
+
+00:04:37.200 --> 00:04:37.700
+Orm mode to delete cells easily.
+
+00:04:47.020 --> 00:04:47.180
+The ability to manually reformat KL9 cells in
+
+00:04:49.540 --> 00:04:49.760
+addition to auto formatting of the cells for
+
+00:04:50.860 --> 00:04:51.180
+when spacing looks off.
+
+00:04:53.900 --> 00:04:54.080
+MetaJ is nice, and auto-filling is also nice
+
+00:04:54.920 --> 00:04:55.420
+for having multiple pages.
+
+00:04:58.660 --> 00:04:59.020
+Why do I use these tools versus other common
+
+00:05:06.060 --> 00:05:06.200
+tools? K-Outline vs. Playtext Writing in
+
+00:05:08.460 --> 00:05:08.600
+outlines helps me easily structure my
+
+00:05:09.960 --> 00:05:10.280
+thoughts in a way that is easy to write,
+
+00:05:12.500 --> 00:05:12.800
+read, and edit. Org Mode vs.
+
+00:05:15.360 --> 00:05:15.600
+K-Outline Org Mode gives me lots of ways to
+
+00:05:17.120 --> 00:05:17.620
+structure my journal slash document.
+
+00:05:19.600 --> 00:05:20.100
+While this is great for a lot of things,
+
+00:05:21.540 --> 00:05:22.040
+for stream of consciousness journaling,
+
+00:05:24.960 --> 00:05:25.140
+this causes decision fatigue and loss of
+
+00:05:30.320 --> 00:05:30.720
+concentration. Types of questions I get when
+
+00:05:31.960 --> 00:05:32.460
+structuring an org-mode document?
+
+00:05:35.080 --> 00:05:35.400
+Do I keep everything in a heading or below
+
+00:05:36.100 --> 00:05:36.600
+the heading in paragraphs?
+
+00:05:38.080 --> 00:05:38.240
+How do I handle new lines?
+
+00:05:40.240 --> 00:05:40.520
+Do I just use visual line mode with no hard
+
+00:05:42.520 --> 00:05:42.880
+returns? Or if I make hard returns,
+
+00:05:44.800 --> 00:05:45.300
+on what line number do I do them?
+
+00:05:50.080 --> 00:05:50.460
+More visual line nodes in org-mode documents
+
+00:05:52.660 --> 00:05:53.160
+like a potential org ID in your property
+
+00:05:57.720 --> 00:05:57.940
+stores. While a lot of the above is really
+
+00:05:59.880 --> 00:06:00.060
+nice if you are making something like a
+
+00:06:01.640 --> 00:06:02.060
+website to present to other people,
+
+00:06:04.080 --> 00:06:04.340
+these features are counterproductive to
+
+00:06:05.040 --> 00:06:05.540
+stream-of-thought journaling.
+
+00:06:08.900 --> 00:06:09.200
+Org mode is also top-notch for other things
+
+00:06:11.780 --> 00:06:12.280
+such as GTD. I don't think org mode has
+
+00:06:13.820 --> 00:06:14.280
+bindings to create child,
+
+00:06:15.460 --> 00:06:15.960
+same-level, and parent cells.
+
+00:06:19.340 --> 00:06:19.600
+Centered cursor mode versus scroll lock mode
+
+00:06:22.640 --> 00:06:22.960
+built-in. Scroll lock mode changes its place
+
+00:06:28.180 --> 00:06:28.380
+when you move the cursor from the bottom or
+
+00:06:30.080 --> 00:06:30.280
+the top of the page. Centered cursor mode
+
+00:06:33.420 --> 00:06:33.680
+will reliably fix itself to the center when
+
+00:06:36.280 --> 00:06:36.780
+the cursor position is not there.
diff --git a/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt b/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt
new file mode 100644
index 00000000..8622eb0d
--- /dev/null
+++ b/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt
@@ -0,0 +1,1973 @@
+WEBVTT
+
+
+00:00:07.299 --> 00:00:07.799
+I think it's still going up.
+
+00:00:11.200 --> 00:00:11.700
+All right. I think we should be live now.
+
+00:00:12.900 --> 00:00:13.139
+So hi, everyone. And hi,
+
+00:00:13.780 --> 00:00:14.280
+Michael. How are you doing?
+
+00:00:18.080 --> 00:00:18.340
+Hi. Hello, EmacsConf. I'm pretty excited to
+
+00:00:22.420 --> 00:00:22.800
+be live at this year's EmacsConf and getting
+
+00:00:25.640 --> 00:00:25.960
+a chance to talk about my favorite program or
+
+00:00:29.140 --> 00:00:29.439
+our favorite program. Well,
+
+00:00:30.439 --> 00:00:30.820
+yeah, I'm doing pretty fine,
+
+00:00:32.680 --> 00:00:32.900
+and I'm excited. Well,
+
+00:00:35.020 --> 00:00:35.520
+so are we. So without further ado,
+
+00:00:37.640 --> 00:00:37.760
+the floor is yours. Present for as much as
+
+00:00:39.200 --> 00:00:39.700
+you want. We've already discussed the timings
+
+00:00:41.380 --> 00:00:41.880
+so I'll let you on your own.
+
+00:00:44.059 --> 00:00:44.380
+Okay so let's get started.
+
+00:00:46.560 --> 00:00:46.760
+The topic of the talk is the browser in a
+
+00:00:49.920 --> 00:00:50.420
+buffer or Poltus, a periodic web weaver.
+
+00:00:53.540 --> 00:00:53.700
+Poltus is a kind of spider and the name of
+
+00:00:55.680 --> 00:00:56.180
+the project I'm going to show you.
+
+00:01:01.400 --> 00:01:01.900
+But first let's set the stage for this
+
+00:01:04.940 --> 00:01:05.440
+project. Here we have Emacs I'm presenting
+
+00:01:07.240 --> 00:01:07.740
+from and here we have Firefox.
+
+00:01:09.600 --> 00:01:09.960
+I'm inside and there's a video.
+
+00:01:12.720 --> 00:01:13.220
+Okay, let's do this. Don't do the inception.
+
+00:01:14.900 --> 00:01:15.400
+Put it over there somewhere.
+
+00:01:17.940 --> 00:01:18.440
+Okay. So here's Firefox.
+
+00:01:20.760 --> 00:01:21.260
+It's not, it's, It's in a buffer,
+
+00:01:23.560 --> 00:01:24.060
+but it's pretty disconnected from Emacs.
+
+00:01:27.700 --> 00:01:28.200
+It's in an XWM buffer.
+
+00:01:30.880 --> 00:01:31.320
+So you can use it from inside Emacs,
+
+00:01:35.320 --> 00:01:35.440
+but they don't talk. Emacs doesn't talk to
+
+00:01:36.860 --> 00:01:37.120
+the browser and the browser doesn't talk
+
+00:01:40.320 --> 00:01:40.820
+back. And I'm going to show you something
+
+00:01:42.720 --> 00:01:43.220
+that changes this. But first,
+
+00:01:45.100 --> 00:01:45.280
+I think for many of you,
+
+00:01:47.080 --> 00:01:47.200
+it's the same, like there's Emacs and the
+
+00:01:49.120 --> 00:01:49.620
+other important program is the browser.
+
+00:01:55.340 --> 00:01:55.840
+So how do you do something?
+
+00:01:57.880 --> 00:01:58.180
+Let's continue with the stage.
+
+00:01:59.640 --> 00:02:00.140
+We have some research session.
+
+00:02:03.400 --> 00:02:03.680
+We have this EmacsConf we found this year and
+
+00:02:04.960 --> 00:02:05.460
+there are a lot of talks.
+
+00:02:07.500 --> 00:02:07.700
+This is the 1 we're watching right now and
+
+00:02:09.520 --> 00:02:10.020
+let's have a look. What else is interesting?
+
+00:02:11.980 --> 00:02:12.480
+Ah, this was yesterday.
+
+00:02:15.060 --> 00:02:15.560
+So have a look at today.
+
+00:02:17.980 --> 00:02:18.480
+There is a world of possibilities.
+
+00:02:20.320 --> 00:02:20.600
+That sounds great. Oh,
+
+00:02:23.340 --> 00:02:23.840
+that is right now. So greetings to you.
+
+00:02:27.800 --> 00:02:28.080
+Yes, the browser and the buffer and other
+
+00:02:30.200 --> 00:02:30.700
+stuff. So now we have a lot of talks,
+
+00:02:35.900 --> 00:02:36.080
+tabs open and we're going to go back to
+
+00:02:40.800 --> 00:02:41.300
+Emacs. I can't switch buffers in a dedicated
+
+00:02:43.580 --> 00:02:43.940
+window. So apparently I can't do that.
+
+00:02:50.500 --> 00:02:50.600
+Here's Emacs again. Now I'm in Emacs and I
+
+00:02:51.900 --> 00:02:52.400
+want to have something from my browser,
+
+00:02:56.080 --> 00:02:56.200
+maybe like the open tabs or I want to
+
+00:02:59.180 --> 00:02:59.380
+annotate them. I'm in org mode right now,
+
+00:03:02.400 --> 00:03:02.900
+so I would like to do it from Org Mode maybe.
+
+00:03:05.380 --> 00:03:05.740
+How do I get the tab? Okay,
+
+00:03:08.940 --> 00:03:09.440
+let's tap back. I want to annotate this page.
+
+00:03:11.860 --> 00:03:12.360
+Let's get the link, put it here.
+
+00:03:13.660 --> 00:03:13.940
+Oh, that wasn't a link.
+
+00:03:15.420 --> 00:03:15.920
+That was something totally different.
+
+00:03:19.540 --> 00:03:19.960
+So let's use the mouse.
+
+00:03:22.540 --> 00:03:23.040
+There's the link. Now we could put a title
+
+00:03:30.060 --> 00:03:30.560
+and so on. What I'm showing you here is it is
+
+00:03:34.160 --> 00:03:34.640
+pretty, no it's not too difficult,
+
+00:03:36.680 --> 00:03:36.820
+but it could be easier interacting with the
+
+00:03:40.380 --> 00:03:40.580
+browser. And there are helpers to do
+
+00:03:41.980 --> 00:03:42.480
+something like this. I had,
+
+00:03:46.440 --> 00:03:46.640
+for example, I used for a long time this
+
+00:03:50.400 --> 00:03:50.660
+extension. It's called export tabs URLs and
+
+00:03:53.000 --> 00:03:53.400
+you got a list of your tabs and you can just
+
+00:03:54.280 --> 00:03:54.780
+copy them to clipboard.
+
+00:03:55.900 --> 00:03:56.280
+So now we have the tabs,
+
+00:03:58.620 --> 00:03:58.940
+copy them to clipboard and there they are.
+
+00:04:00.640 --> 00:04:01.140
+So now we can do something with the tabs,
+
+00:04:03.240 --> 00:04:03.740
+rearrange them, take notes and so on.
+
+00:04:14.320 --> 00:04:14.640
+Okay. And there's even other stuff for while
+
+00:04:17.519 --> 00:04:18.019
+researching for this talk on this extension,
+
+00:04:21.060 --> 00:04:21.260
+I found this tab session manager where you
+
+00:04:23.080 --> 00:04:23.300
+can have a look at your tabs it does
+
+00:04:26.540 --> 00:04:27.040
+snapshots it exports it in Brazilian
+
+00:04:29.820 --> 00:04:30.320
+different formats and yeah that's even more
+
+00:04:35.600 --> 00:04:35.740
+luxurious no better but it's still not an
+
+00:04:41.380 --> 00:04:41.880
+emacs okay so how could we get it into Emacs?
+
+00:04:44.040 --> 00:04:44.540
+Maybe this thing called Pultus could help.
+
+00:04:49.000 --> 00:04:49.180
+The theme is from a browser extension and a
+
+00:04:52.440 --> 00:04:52.760
+manual workflow. As I showed you right now,
+
+00:04:54.400 --> 00:04:54.860
+we want to go to an interactive Emacs
+
+00:04:57.620 --> 00:04:57.800
+interface. How to deal with the browser and
+
+00:04:59.280 --> 00:04:59.780
+its tabs from inside Emacs.
+
+00:05:05.860 --> 00:05:06.360
+And we're gonna do just that right now.
+
+00:05:08.880 --> 00:05:09.340
+So we had this research session over there.
+
+00:05:10.320 --> 00:05:10.820
+So now it's demo time.
+
+00:05:12.620 --> 00:05:13.120
+We had this research session.
+
+00:05:14.620 --> 00:05:15.120
+Let's open it again. Here is it.
+
+00:05:18.340 --> 00:05:18.840
+And now we want to do it from inside Emacs.
+
+00:05:22.940 --> 00:05:23.300
+We say please Emacs insert this or please
+
+00:05:28.000 --> 00:05:28.200
+Poltis insert this. And now we have the
+
+00:05:30.020 --> 00:05:30.040
+browser session inside Emacs.
+
+00:05:35.280 --> 00:05:35.760
+It's a little bit roomy so you can see it
+
+00:05:40.200 --> 00:05:40.380
+over the internet. And we learned that
+
+00:05:44.120 --> 00:05:44.280
+BigBooplotten doesn't set a title or has a
+
+00:05:46.160 --> 00:05:46.360
+new line in it. I'm not actually sure what
+
+00:05:49.740 --> 00:05:50.120
+happened here. So let's have this browser
+
+00:05:51.940 --> 00:05:52.440
+session and what can we do with it?
+
+00:05:57.860 --> 00:05:58.320
+For once you can just copy stuff here,
+
+00:06:01.560 --> 00:06:01.720
+you can take notes and it updates with the
+
+00:06:03.900 --> 00:06:04.040
+browser. If you change something in the
+
+00:06:06.020 --> 00:06:06.420
+browser, maybe switch these tabs,
+
+00:06:07.720 --> 00:06:08.220
+they switch over there.
+
+00:06:12.340 --> 00:06:12.560
+Or you say, okay, I don't want to have
+
+00:06:17.340 --> 00:06:17.500
+HyperDrive in here. And I don't need the
+
+00:06:19.440 --> 00:06:19.540
+instructions for speakers because I'm not a
+
+00:06:22.500 --> 00:06:22.800
+speaker so I have a live sync to Emacs from
+
+00:06:29.440 --> 00:06:29.640
+the browser in this Org Mode interface and we
+
+00:06:31.180 --> 00:06:31.420
+can do more stuff with it,
+
+00:06:37.640 --> 00:06:37.800
+for example we could I already showed you how
+
+00:06:41.880 --> 00:06:42.380
+to rearrange stuff. We can open new tabs.
+
+00:06:46.220 --> 00:06:46.720
+We can have a look at let's say emacs-conf
+
+00:06:53.480 --> 00:06:53.680
+again and they're just updating and now it
+
+00:06:57.040 --> 00:06:57.540
+says a new tab, add another 1,
+
+00:07:02.000 --> 00:07:02.500
+okay. So I think you get the gist.
+
+00:07:05.220 --> 00:07:05.720
+Now let's take a note on this.
+
+00:07:11.460 --> 00:07:11.960
+This conference sounds interesting.
+
+00:07:20.820 --> 00:07:21.140
+Have a look. Maybe thumbs up.
+
+00:07:23.420 --> 00:07:23.920
+Okay I can do this. So now there's a link,
+
+00:07:30.920 --> 00:07:31.420
+not a link, a note. If I close it and reopen
+
+00:07:33.900 --> 00:07:34.400
+it, There's the note again.
+
+00:07:39.000 --> 00:07:39.500
+So we have persistent notes for browser tabs
+
+00:07:42.040 --> 00:07:42.400
+or not actually browser tabs,
+
+00:07:46.240 --> 00:07:46.560
+it's actually URLs. Use the browser tab.
+
+00:07:49.600 --> 00:07:50.100
+I'm gonna open another URL.
+
+00:07:51.500 --> 00:07:52.000
+Now it's not without a node.
+
+00:07:54.480 --> 00:07:54.980
+Going back, the node is back there.
+
+00:08:01.260 --> 00:08:01.760
+That's how far I can show you Politis because
+
+00:08:05.720 --> 00:08:06.220
+the interface isn't finished otherwise.
+
+00:08:11.680 --> 00:08:12.100
+But the backend is pretty cool and I'm gonna
+
+00:08:13.180 --> 00:08:13.580
+tell you more about that.
+
+00:08:15.360 --> 00:08:15.860
+The interface is right now just browser
+
+00:08:18.640 --> 00:08:18.940
+interaction 1 way from the browser into org
+
+00:08:22.240 --> 00:08:22.740
+mode, an org mode interface and it has nodes.
+
+00:08:25.080 --> 00:08:25.580
+But it's not too difficult to imagine,
+
+00:08:30.420 --> 00:08:30.920
+for example, adding tags or...
+
+00:08:32.020 --> 00:08:32.500
+I just remembered Or I just remembered
+
+00:08:39.400 --> 00:08:39.900
+something. Okay. So for example,
+
+00:08:45.060 --> 00:08:45.220
+adding texts or scheduling information or
+
+00:08:47.360 --> 00:08:47.720
+what else, all the stuff you do with org
+
+00:08:51.920 --> 00:08:52.420
+mode. Or go the other way around and sync
+
+00:08:54.920 --> 00:08:55.320
+from the org mode buffer to the browser.
+
+00:09:01.440 --> 00:09:01.560
+So I could delete this heading or rename it
+
+00:09:03.280 --> 00:09:03.420
+or stuff like that. So it's reflected in the
+
+00:09:04.840 --> 00:09:05.000
+browser. I'm not going to do it right now
+
+00:09:05.640 --> 00:09:06.140
+because it's not implemented.
+
+00:09:10.240 --> 00:09:10.440
+But just to give you an outlook of the
+
+00:09:14.960 --> 00:09:15.200
+possibilities. Good. So let's leave this
+
+00:09:24.000 --> 00:09:24.500
+browser session here. Browser session below.
+
+00:09:35.280 --> 00:09:35.500
+Okay. Change the outline structure or stuff
+
+00:09:39.380 --> 00:09:39.880
+like this. So get the browser back,
+
+00:09:43.420 --> 00:09:43.740
+debugging. Yep, this talks,
+
+00:09:44.800 --> 00:09:45.060
+I could change something here,
+
+00:09:47.920 --> 00:09:48.420
+go back to the talks page and still working.
+
+00:09:56.920 --> 00:09:57.120
+Now I showed you what it does and what can
+
+00:10:01.560 --> 00:10:01.720
+you use it for or What is it intended to be
+
+00:10:02.660 --> 00:10:03.040
+used for if it's finished,
+
+00:10:04.640 --> 00:10:05.140
+because it isn't finished as I said.
+
+00:10:07.240 --> 00:10:07.740
+Manage your open tabs.
+
+00:10:12.340 --> 00:10:12.840
+So for example my use case is I do something,
+
+00:10:16.080 --> 00:10:16.580
+have a big collection of tabs open And then I
+
+00:10:22.800 --> 00:10:22.940
+need RAM. This PC here has just 4 GB of it,
+
+00:10:25.080 --> 00:10:25.580
+so sometimes I need to close the browser too.
+
+00:10:27.260 --> 00:10:27.760
+I don't have to close the PC.
+
+00:10:32.540 --> 00:10:32.740
+And in this case I'd like to save the
+
+00:10:37.240 --> 00:10:37.740
+session. So far I just copied this clipboard
+
+00:10:40.380 --> 00:10:40.880
+thing I showed you earlier in an org mode and
+
+00:10:44.640 --> 00:10:44.900
+Captured it away and this should be the
+
+00:10:48.120 --> 00:10:48.300
+future for this workflow You just capture the
+
+00:10:49.520 --> 00:10:49.700
+browser session rearrange it.
+
+00:10:51.760 --> 00:10:51.860
+However, you like it and then you make make
+
+00:10:54.160 --> 00:10:54.520
+it offline. So this is the thing I didn't
+
+00:10:57.840 --> 00:10:58.340
+show you. You can, if you were looking here
+
+00:11:04.020 --> 00:11:04.160
+you can you see that this heading is open in
+
+00:11:08.560 --> 00:11:09.060
+tab 37, window 1. So if you would remove
+
+00:11:14.120 --> 00:11:14.480
+this, it's offline. And you keep just the org
+
+00:11:16.300 --> 00:11:16.700
+structure. It's a simple text file then.
+
+00:11:25.940 --> 00:11:26.100
+And the plan future feature is to go back to
+
+00:11:27.540 --> 00:11:28.040
+the online state. So you have a session,
+
+00:11:28.900 --> 00:11:29.400
+maybe a browser window,
+
+00:11:30.920 --> 00:11:31.420
+you save it to Org Mode,
+
+00:11:34.600 --> 00:11:34.960
+close the window and some days later or weeks
+
+00:11:38.080 --> 00:11:38.580
+later you return to this research session,
+
+00:11:40.240 --> 00:11:40.740
+maybe something about Emacs or whatever
+
+00:11:43.740 --> 00:11:44.180
+spikes your interest, and you can just reopen
+
+00:11:46.500 --> 00:11:46.920
+it from the browser, from Org Mode.
+
+00:11:48.820 --> 00:11:49.000
+So Org Mode becomes the controller of the
+
+00:11:50.320 --> 00:11:50.820
+browser. And it's not,
+
+00:11:52.440 --> 00:11:52.680
+it doesn't have to be Org Mode,
+
+00:11:53.860 --> 00:11:54.360
+but for the demo purpose,
+
+00:11:58.260 --> 00:11:58.760
+Org Mode was the most easy interface.
+
+00:12:02.540 --> 00:12:02.800
+That easy. I don't know if you're doing more
+
+00:12:05.600 --> 00:12:05.860
+complex interactive stuff in Org Mode,
+
+00:12:08.640 --> 00:12:09.140
+but there's some tricky edge cases.
+
+00:12:12.560 --> 00:12:12.920
+I just finished this demo half an hour ago,
+
+00:12:15.360 --> 00:12:15.520
+maybe an hour ago, and I'm really lucky that
+
+00:12:18.580 --> 00:12:19.080
+it worked in the end. Org mode,
+
+00:12:23.000 --> 00:12:23.400
+pretty great. So maybe you could do another
+
+00:12:25.200 --> 00:12:25.700
+interface, does not matter.
+
+00:12:29.760 --> 00:12:30.260
+Easy access to more info from inside Emacs.
+
+00:12:32.360 --> 00:12:32.580
+Yeah, Of course, you can imagine like we have
+
+00:12:34.700 --> 00:12:35.200
+just the title URL here,
+
+00:12:39.160 --> 00:12:39.360
+but you could even get at the text of the
+
+00:12:41.120 --> 00:12:41.280
+buffer. I'd show you in the,
+
+00:12:42.340 --> 00:12:42.840
+in the, how is it done section,
+
+00:12:44.540 --> 00:12:44.960
+manage and research session,
+
+00:12:48.460 --> 00:12:48.620
+tab groups. I already showed you this and
+
+00:12:49.240 --> 00:12:49.740
+browse all your links.
+
+00:12:54.780 --> 00:12:54.960
+I also showed you. So let's go over to how is
+
+00:12:57.340 --> 00:12:57.840
+it done. How is it done then?
+
+00:13:08.760 --> 00:13:08.940
+It should be quite apparent that somehow the
+
+00:13:11.660 --> 00:13:11.820
+browser has to sync its state to Emacs and
+
+00:13:13.680 --> 00:13:14.180
+Emacs has to know about the browser and
+
+00:13:15.660 --> 00:13:16.120
+there's like a bidirectional state
+
+00:13:17.560 --> 00:13:18.060
+synchronization going on here.
+
+00:13:21.480 --> 00:13:21.980
+And there's a browser side and an Emacs side.
+
+00:13:28.080 --> 00:13:28.580
+The browser side is a add-on,
+
+00:13:31.080 --> 00:13:31.580
+a web extension add-on.
+
+00:13:38.940 --> 00:13:39.380
+I first tried to use WebDriver by DIY.
+
+00:13:40.760 --> 00:13:41.040
+I don't know if you know it,
+
+00:13:43.440 --> 00:13:43.780
+you open a web socket and then you can talk
+
+00:13:47.460 --> 00:13:47.860
+to the browser, but It was so frustrating to
+
+00:13:50.440 --> 00:13:50.940
+actually get it to do what I wanted to do
+
+00:13:54.000 --> 00:13:54.280
+that I changed to the web extension and this
+
+00:13:55.580 --> 00:13:56.080
+wasn't that much better,
+
+00:13:58.520 --> 00:13:58.840
+but I finally had all the features I needed
+
+00:14:02.660 --> 00:14:02.780
+because WebDriver is like all in flux and you
+
+00:14:04.200 --> 00:14:04.540
+have to look at the Firefox bug tracker.
+
+00:14:05.860 --> 00:14:06.360
+Do they have implemented this already?
+
+00:14:09.900 --> 00:14:10.400
+And no, most often they don't.
+
+00:14:13.580 --> 00:14:13.940
+So now it's a web extension add-on and it
+
+00:14:16.280 --> 00:14:16.480
+just tells Emacs little facts about the
+
+00:14:20.060 --> 00:14:20.560
+browser. And for you to make,
+
+00:14:23.500 --> 00:14:23.720
+to, that this facts make more sense for you,
+
+00:14:27.180 --> 00:14:27.680
+I think I have to explain how the Emacs side
+
+00:14:31.560 --> 00:14:32.060
+of this works. So the Emacs side,
+
+00:14:37.160 --> 00:14:37.460
+at first I thought I make it quite simple and
+
+00:14:38.800 --> 00:14:39.300
+then I over engineered it.
+
+00:14:42.040 --> 00:14:42.540
+And now it's great, but also not finished.
+
+00:14:44.540 --> 00:14:45.040
+So the Emacs site is a database.
+
+00:14:52.580 --> 00:14:53.080
+It's a triple store or RDF database.
+
+00:14:57.800 --> 00:14:58.300
+It stores all information in triples.
+
+00:14:58.980 --> 00:14:59.480
+So you have a subject,
+
+00:15:04.280 --> 00:15:04.780
+subject, predicate, and an object.
+
+00:15:10.440 --> 00:15:10.940
+And you can query this database.
+
+00:15:14.920 --> 00:15:15.060
+For those of you who watched last year's talk
+
+00:15:19.740 --> 00:15:20.240
+of Andrew Hyatt about SQL in Emacs.
+
+00:15:23.100 --> 00:15:23.300
+He presented such a database if you want to
+
+00:15:24.960 --> 00:15:25.380
+have a closer look. And sorry,
+
+00:15:26.520 --> 00:15:27.020
+Andrew, I didn't use yours.
+
+00:15:29.540 --> 00:15:29.860
+I had to make my own. I'm not sure it's
+
+00:15:31.320 --> 00:15:31.820
+better, but it was fun.
+
+00:15:36.220 --> 00:15:36.720
+And it has some different design decisions.
+
+00:15:41.040 --> 00:15:41.200
+For those of you who don't know what's up
+
+00:15:42.440 --> 00:15:42.940
+with a database like this,
+
+00:15:47.020 --> 00:15:47.360
+maybe you know web apps like all this new Org
+
+00:15:51.960 --> 00:15:52.460
+Mode clones. How are they called?
+
+00:15:56.480 --> 00:15:56.820
+Obsidian, Roam, and so on and so on.
+
+00:15:58.260 --> 00:15:58.760
+All of these are possible because,
+
+00:16:01.300 --> 00:16:01.640
+I don't know if Obsidian too,
+
+00:16:04.360 --> 00:16:04.540
+but stuff like Roam is possible because they
+
+00:16:07.760 --> 00:16:08.000
+have a triple store in the browser and use
+
+00:16:10.520 --> 00:16:11.020
+this to power their knowledge base.
+
+00:16:14.280 --> 00:16:14.540
+And if you have had a look at Org Rome,
+
+00:16:17.160 --> 00:16:17.400
+you know it's uses a database too,
+
+00:16:19.340 --> 00:16:19.640
+because if this knowledge gets bigger,
+
+00:16:21.360 --> 00:16:21.860
+database is better to handle.
+
+00:16:27.860 --> 00:16:28.360
+And now here's a triplet store or a database
+
+00:16:31.920 --> 00:16:32.420
+to manage your browser session inside Emacs,
+
+00:16:34.240 --> 00:16:34.740
+but it's not limited to browser session.
+
+00:16:37.440 --> 00:16:37.940
+You could do nodes and stuff.
+
+00:16:40.900 --> 00:16:41.120
+I don't have a project for this,
+
+00:16:52.620 --> 00:16:53.120
+but you can look at this project from Andrew
+
+00:16:56.380 --> 00:16:56.880
+Hyatt. Has a pretty interesting notes
+
+00:16:59.620 --> 00:17:00.120
+project. So here is it in Emacs.
+
+00:17:03.960 --> 00:17:04.460
+There's the link. You can have a look.
+
+00:17:09.560 --> 00:17:10.060
+Okay. So now we have this database in Emacs.
+
+00:17:12.319 --> 00:17:12.440
+It's possible to do something like this in
+
+00:17:15.800 --> 00:17:16.300
+Emacs now because the database has Emacs
+
+00:17:21.220 --> 00:17:21.700
+SQLite integrated And the browser logs inside
+
+00:17:22.900 --> 00:17:23.359
+into this database via Emacs.
+
+00:17:26.579 --> 00:17:26.839
+It sends Emacs, it connects to Emacs via
+
+00:17:32.380 --> 00:17:32.580
+WebSocket. Emacs is a WebSocket server and
+
+00:17:35.580 --> 00:17:35.800
+then it sends little snippets like this
+
+00:17:46.420 --> 00:17:46.920
+window shows these tabs or this tab shows
+
+00:17:51.060 --> 00:17:51.300
+this URL And Emacs has triggers in this
+
+00:17:53.600 --> 00:17:53.760
+database. It can install Elisp triggers and
+
+00:17:58.420 --> 00:17:58.920
+the trigger powered the org mode frontend.
+
+00:18:06.040 --> 00:18:06.540
+Okay, so that's how it's done.
+
+00:18:08.780 --> 00:18:09.280
+It's not finished, but it does something.
+
+00:18:13.540 --> 00:18:13.820
+Now I want to do some closing remarks and
+
+00:18:14.440 --> 00:18:14.940
+maybe some more remarks.
+
+00:18:17.120 --> 00:18:17.400
+First off, an interesting concept I thought
+
+00:18:23.240 --> 00:18:23.680
+up while implementing this is cheesy garbage
+
+00:18:28.100 --> 00:18:28.580
+collect. For all you fans of dynamic
+
+00:18:31.000 --> 00:18:31.340
+languages, you know what garbage collect is.
+
+00:18:33.720 --> 00:18:34.220
+And Emacs users probably know it.
+
+00:18:38.060 --> 00:18:38.380
+Cleans up after you. You are using this Emacs
+
+00:18:40.280 --> 00:18:40.780
+and you are making lots of little objects and
+
+00:18:42.540 --> 00:18:42.920
+after some time Emacs says,
+
+00:18:45.260 --> 00:18:45.580
+okay, I'm doing some cleanup for you.
+
+00:18:46.260 --> 00:18:46.760
+That's garbage collect.
+
+00:18:49.040 --> 00:18:49.360
+And I thought why not have garbage collect
+
+00:18:52.000 --> 00:18:52.500
+for the browser? You're doing this browsing
+
+00:18:55.120 --> 00:18:55.320
+and opening all these tabs and after some
+
+00:18:58.020 --> 00:18:58.200
+time there are lots of tabs and someone has
+
+00:19:00.660 --> 00:19:01.160
+to close them. So there's the C programmers,
+
+00:19:03.160 --> 00:19:03.340
+they do all the closing themselves and
+
+00:19:03.960 --> 00:19:04.460
+they're really meticulous,
+
+00:19:06.060 --> 00:19:06.560
+but it takes some time.
+
+00:19:08.520 --> 00:19:09.020
+And there's like my style,
+
+00:19:12.880 --> 00:19:13.100
+I just let it collect stuff and after some
+
+00:19:16.220 --> 00:19:16.720
+time I close the browser and start a new 1.
+
+00:19:19.080 --> 00:19:19.280
+And now there's the garbage collect that
+
+00:19:20.800 --> 00:19:21.180
+says, let it collect the browser,
+
+00:19:22.640 --> 00:19:23.000
+let the browser collect and then garbage
+
+00:19:25.520 --> 00:19:25.960
+collect. Let's say every morning the browser
+
+00:19:28.140 --> 00:19:28.480
+closes, Emacs closes all the browser tabs,
+
+00:19:30.520 --> 00:19:30.860
+but it keeps the information And it keeps
+
+00:19:32.840 --> 00:19:33.340
+text. Maybe you said like a tag yesterday
+
+00:19:36.340 --> 00:19:36.840
+like reading. I want to read this.
+
+00:19:39.720 --> 00:19:39.960
+And next time and then after that it's in the
+
+00:19:42.720 --> 00:19:43.140
+reading list. So garbage collector
+
+00:19:45.020 --> 00:19:45.520
+compaction. However you want to know this.
+
+00:19:50.740 --> 00:19:51.240
+1 thing I thought of while doing this is
+
+00:19:57.380 --> 00:19:57.620
+also, oh my time's up,
+
+00:19:59.120 --> 00:19:59.620
+so we're almost at Q&A.
+
+00:20:04.120 --> 00:20:04.620
+1 last thing, this whole project or program
+
+00:20:06.360 --> 00:20:06.660
+works via the Emacs event loop.
+
+00:20:08.720 --> 00:20:08.880
+So there's a server listening for the
+
+00:20:11.840 --> 00:20:12.340
+browser, waiting for infos from it.
+
+00:20:16.320 --> 00:20:16.820
+It works quite fine. I wasn't sure how much
+
+00:20:20.940 --> 00:20:21.440
+performance it will cost the browser,
+
+00:20:23.120 --> 00:20:23.440
+Emacs, but it works fine.
+
+00:20:26.920 --> 00:20:27.240
+But I wonder what's the limits of Emacs event
+
+00:20:31.880 --> 00:20:32.280
+loop. Like, can I go on forever adding server
+
+00:20:34.440 --> 00:20:34.940
+stuff? How big a server can Emacs get?
+
+00:20:43.580 --> 00:20:44.080
+I don't know. So that's some open questions
+
+00:20:47.120 --> 00:20:47.620
+to ponder. With that, thank you for listening
+
+00:20:49.860 --> 00:20:50.360
+and for your interest.
+
+00:20:54.380 --> 00:20:54.640
+I'd be pretty delighted to take some
+
+00:20:57.740 --> 00:20:57.980
+questions now. Great! Well,
+
+00:20:58.680 --> 00:20:59.160
+thank you so much, Michael.
+
+00:21:01.280 --> 00:21:01.400
+Thanks for the talk. And also thanks for
+
+00:21:02.960 --> 00:21:03.460
+going a little more in depth at the end.
+
+00:21:05.800 --> 00:21:06.040
+Is that what the extra stuff that you wanted
+
+00:21:08.000 --> 00:21:08.500
+to mention? Is it what you've done just now?
+
+00:21:11.400 --> 00:21:11.900
+Sorry, I didn't understand your last,
+
+00:21:14.700 --> 00:21:14.860
+your question. When we were preparing for
+
+00:21:15.820 --> 00:21:16.320
+your presentation with Sliv,
+
+00:21:18.340 --> 00:21:18.420
+you told me that you wanted to go perhaps a
+
+00:21:20.380 --> 00:21:20.740
+little more in-depth into the garbage
+
+00:21:22.500 --> 00:21:22.640
+collection. Is it what you wanted to do or do
+
+00:21:24.080 --> 00:21:24.580
+you still have some more to tell us about?
+
+00:21:27.080 --> 00:21:27.580
+I could tell more in-depth.
+
+00:21:29.540 --> 00:21:30.040
+Yes, garbage collection is just an idea.
+
+00:21:35.740 --> 00:21:36.240
+It's maybe... I don't know.
+
+00:21:39.140 --> 00:21:39.480
+Are there questions? There are questions,
+
+00:21:41.720 --> 00:21:41.880
+that's why. We have about 13 minutes to
+
+00:21:43.380 --> 00:21:43.880
+answer as many questions as possible.
+
+00:21:46.960 --> 00:21:47.120
+By the way, Sorry for the people who were
+
+00:21:47.560 --> 00:21:48.040
+watching the presentation.
+
+00:21:49.040 --> 00:21:49.540
+There's been a little bit of manipulation
+
+00:21:51.820 --> 00:21:52.040
+trying to get all the screens in order,
+
+00:21:53.860 --> 00:21:54.360
+but it's because I've got a very shitty ping
+
+00:21:56.360 --> 00:21:56.600
+to the streaming server that we use
+
+00:21:59.380 --> 00:21:59.860
+currently. So everything is like composite
+
+00:22:00.360 --> 00:22:00.600
+everything, But don't worry,
+
+00:22:02.240 --> 00:22:02.440
+Michael, everything will be very clean once
+
+00:22:03.160 --> 00:22:03.660
+we publish it afterwards.
+
+00:22:05.140 --> 00:22:05.640
+So what I'm going to do...
+
+00:22:09.660 --> 00:22:10.160
+Sorry, could you repeat?
+
+00:22:13.020 --> 00:22:13.380
+So it was not at my end because my internet
+
+00:22:15.560 --> 00:22:16.060
+connection is not the best 1 either.
+
+00:22:17.800 --> 00:22:18.080
+No, absolutely not. Oh,
+
+00:22:19.640 --> 00:22:19.840
+by the way, this reminds me as I am
+
+00:22:20.740 --> 00:22:21.180
+compositing the windows,
+
+00:22:23.000 --> 00:22:23.300
+you might remember in the talk by Bob earlier
+
+00:22:25.380 --> 00:22:25.880
+today, I said, oh, there's a phone vibrating.
+
+00:22:28.680 --> 00:22:28.840
+I thought it was coming from the big blue
+
+00:22:30.600 --> 00:22:30.760
+button, like the room in which we are right
+
+00:22:32.960 --> 00:22:33.080
+now. And I wasn't hallucinating just to be
+
+00:22:34.440 --> 00:22:34.940
+clear. It's just that 1 of the co-organizers
+
+00:22:37.320 --> 00:22:37.820
+behind on mumble had their phone vibrating
+
+00:22:38.720 --> 00:22:39.160
+and I was very confused.
+
+00:22:41.440 --> 00:22:41.600
+Anyway that's for the Okay,
+
+00:22:42.440 --> 00:22:42.600
+so everything is set up now.
+
+00:22:43.280 --> 00:22:43.500
+So what I'm gonna do, Michael,
+
+00:22:44.760 --> 00:22:45.040
+I'm gonna... If you're okay with this,
+
+00:22:46.560 --> 00:22:46.960
+Can I read you the question from the pad and
+
+00:22:48.780 --> 00:22:48.960
+can you answer them? Yes,
+
+00:22:50.160 --> 00:22:50.660
+of course. I would love to.
+
+00:22:53.740 --> 00:22:53.940
+Okay, lovely. I'm going to try my best to
+
+00:22:56.380 --> 00:22:56.720
+display the questions on the stream.
+
+00:22:58.140 --> 00:22:58.440
+Give me just a second and in the meantime
+
+00:22:59.440 --> 00:22:59.940
+I'll read you the first 1.
+
+00:23:02.180 --> 00:23:02.680
+So, have you seen the next browser?
+
+00:23:05.020 --> 00:23:05.240
+It is the Emacs of web browsers and would
+
+00:23:07.540 --> 00:23:07.940
+probably be easier to work with as it matches
+
+00:23:08.900 --> 00:23:09.400
+a lot closer to Emacs.
+
+00:23:11.400 --> 00:23:11.640
+I think you can tag your browser tabs for
+
+00:23:16.880 --> 00:23:17.380
+example. I saw it, I never tried it.
+
+00:23:20.940 --> 00:23:21.360
+I think you can do all the stuff and I think
+
+00:23:23.620 --> 00:23:23.940
+it's pretty good idea to use it if you want
+
+00:23:26.480 --> 00:23:26.980
+because have a look at this.
+
+00:23:30.700 --> 00:23:31.200
+This lovely thing is JavaScript and it's the
+
+00:23:35.080 --> 00:23:35.320
+browser side. It was quite tricky to get
+
+00:23:40.180 --> 00:23:40.680
+working so maybe it's easier if you use Nixt
+
+00:23:47.460 --> 00:23:47.660
+but I like to use Firefox and yeah there has
+
+00:23:49.820 --> 00:23:50.000
+to be a solution for Firefox too,
+
+00:23:53.040 --> 00:23:53.480
+I think. So next question,
+
+00:23:55.900 --> 00:23:56.320
+please. Lovely. All right,
+
+00:23:59.480 --> 00:23:59.980
+so nice ideas. Needs a better name though,
+
+00:24:00.840 --> 00:24:01.280
+to attract people to it.
+
+00:24:02.920 --> 00:24:03.420
+What about Browsys or Webnote?
+
+00:24:08.400 --> 00:24:08.900
+Browsys spelled B-R-O-W-S-Y-S or Webnote?
+
+00:24:12.720 --> 00:24:13.220
+Clearer this 1. Webnote and Browsys?
+
+00:24:17.260 --> 00:24:18.300
+With a Y, yes. So instead of an IAY.
+
+00:24:21.140 --> 00:24:21.420
+Ah, okay. Yes, why not?
+
+00:24:25.240 --> 00:24:25.520
+I take note. The name is maybe a little bit
+
+00:24:28.020 --> 00:24:28.460
+confusing. It's the name of a spider.
+
+00:24:30.860 --> 00:24:31.160
+It's like a spider that does an orb web.
+
+00:24:31.920 --> 00:24:32.420
+I found it via Wikipedia.
+
+00:24:34.360 --> 00:24:34.480
+I just wanted to have like something with the
+
+00:24:37.640 --> 00:24:37.840
+web because it's weaving something and
+
+00:24:38.680 --> 00:24:39.180
+there's also the web involved.
+
+00:24:41.600 --> 00:24:41.980
+I'm not set on the name.
+
+00:24:44.640 --> 00:24:45.040
+I'm not even set on the project yet how it
+
+00:24:47.360 --> 00:24:47.520
+will turn out. So what you're seeing now is
+
+00:24:49.760 --> 00:24:49.940
+something else than what I imagined when I
+
+00:24:51.060 --> 00:24:51.560
+was planning this talk.
+
+00:24:54.880 --> 00:24:55.280
+Yeah. That's right. Keep an open mind.
+
+00:24:56.880 --> 00:24:57.140
+Next question. You know what I'm going to say
+
+00:24:58.900 --> 00:24:59.340
+about the marketing of project names?
+
+00:24:59.900 --> 00:25:00.400
+You know, they're not,
+
+00:25:01.640 --> 00:25:02.040
+they don't make sense and they're not popular
+
+00:25:02.880 --> 00:25:03.340
+until they actually are.
+
+00:25:06.040 --> 00:25:06.260
+Like what would have predestined maggots to
+
+00:25:07.680 --> 00:25:08.180
+work as a name? Perhaps nothing.
+
+00:25:10.940 --> 00:25:11.420
+I mean it felt close to magic or maggots
+
+00:25:12.540 --> 00:25:12.880
+depending on the people you ask.
+
+00:25:16.000 --> 00:25:16.160
+So you know maybe your name Pultis will be a
+
+00:25:18.160 --> 00:25:18.280
+household name give or take 6 months or a
+
+00:25:23.120 --> 00:25:23.260
+year? Yes, maybe. Because- All right,
+
+00:25:23.980 --> 00:25:24.340
+moving on to the next question.
+
+00:25:25.400 --> 00:25:25.900
+Oh, unless you wanna add something.
+
+00:25:28.740 --> 00:25:29.240
+To expand a little bit on this name,
+
+00:25:33.140 --> 00:25:33.640
+I'm not sure where it stops.
+
+00:25:35.460 --> 00:25:35.600
+Like, is it really, it's just about the
+
+00:25:37.740 --> 00:25:38.240
+browser, What I just built is something more?
+
+00:25:42.340 --> 00:25:42.580
+So I'm not sure if I should limit the name
+
+00:25:44.380 --> 00:25:44.880
+here. Okay, now let's go on.
+
+00:25:47.440 --> 00:25:47.700
+You know what? You know what they say about
+
+00:25:48.700 --> 00:25:49.180
+programming, there's only 1 fundamental
+
+00:25:50.720 --> 00:25:51.220
+problem, no sorry, 2 fundamental problems,
+
+00:25:53.400 --> 00:25:53.860
+garbage collection and naming things.
+
+00:25:55.200 --> 00:25:55.320
+So you're stuck in the second 1 and you
+
+00:25:56.200 --> 00:25:56.700
+mentioned the first 1 as well.
+
+00:25:59.580 --> 00:26:00.080
+Alright, moving on to the next question.
+
+00:26:01.860 --> 00:26:02.080
+Can you use browser extensions with this,
+
+00:26:03.700 --> 00:26:03.840
+for example uBlock, SponsorBlock or
+
+00:26:06.780 --> 00:26:07.120
+Darkreader? Yes, of course.
+
+00:26:09.020 --> 00:26:09.320
+I think someone was maybe a little bit
+
+00:26:11.140 --> 00:26:11.640
+confused that the browser is inside Emacs.
+
+00:26:14.540 --> 00:26:15.040
+This is something totally normal for us ex-WM
+
+00:26:18.040 --> 00:26:18.220
+users. It's like every program for me is
+
+00:26:21.040 --> 00:26:21.540
+inside Emacs. This is just a normal Firefox.
+
+00:26:24.320 --> 00:26:24.640
+It just doesn't have like the window
+
+00:26:26.580 --> 00:26:27.080
+decoration. So there's of course there's,
+
+00:26:31.360 --> 00:26:31.860
+no, This is the ad blocker.
+
+00:26:33.840 --> 00:26:34.340
+I don't know why it's not working here.
+
+00:26:38.560 --> 00:26:39.060
+But you can have all you have in Firefox.
+
+00:26:44.820 --> 00:26:44.920
+OK. OK, lovely. Are you ready to move on to
+
+00:26:45.920 --> 00:26:46.080
+the next question? Or do you want to add
+
+00:26:47.600 --> 00:26:48.100
+something else? Yes, next question please.
+
+00:26:51.100 --> 00:26:51.600
+All right. So are there any inherent security
+
+00:26:53.000 --> 00:26:53.500
+issues with this, like bidirectional
+
+00:26:55.640 --> 00:26:55.960
+synchronization? Sounds like a possible
+
+00:26:57.120 --> 00:26:57.620
+issue. How are they solved?
+
+00:27:00.660 --> 00:27:00.760
+Can a malicious website impact Emacs or the
+
+00:27:10.520 --> 00:27:11.020
+host system? No, the website has no intro.
+
+00:27:15.120 --> 00:27:15.620
+It can do little stuff.
+
+00:27:20.200 --> 00:27:20.700
+There's this, it's a web extension,
+
+00:27:22.880 --> 00:27:23.300
+it's a browser extension inside the browser
+
+00:27:24.800 --> 00:27:25.300
+and it has like a limited interface.
+
+00:27:27.440 --> 00:27:27.920
+It uses a web extension API,
+
+00:27:30.980 --> 00:27:31.480
+there's a tabs API, you can listen on tabs,
+
+00:27:33.820 --> 00:27:34.320
+here you can tabs, browser tabs,
+
+00:27:36.340 --> 00:27:36.820
+Please notify me if there's 1 created,
+
+00:27:37.600 --> 00:27:38.040
+updated, moved, detached,
+
+00:27:40.240 --> 00:27:40.520
+attached, removed. So the people I think
+
+00:27:44.020 --> 00:27:44.440
+working at Google Chrome put some thought
+
+00:27:49.540 --> 00:27:49.920
+into it and at least this part seems quite
+
+00:27:52.960 --> 00:27:53.300
+well designed. Okay, next question,
+
+00:27:56.880 --> 00:27:57.100
+please. All right. So when do you think
+
+00:27:57.880 --> 00:27:58.380
+you'll make a first release?
+
+00:28:00.220 --> 00:28:00.420
+I hate needing browser extensions and would
+
+00:28:01.680 --> 00:28:02.180
+love to control my tabs in Emacs.
+
+00:28:07.340 --> 00:28:07.540
+Yes, I don't know. I would like to do it
+
+00:28:09.400 --> 00:28:09.900
+soon, but I have stuff to do.
+
+00:28:13.260 --> 00:28:13.760
+This is not the simplest project.
+
+00:28:18.660 --> 00:28:19.020
+What I can tell you, I will put the code
+
+00:28:20.480 --> 00:28:20.980
+online in the next days,
+
+00:28:25.080 --> 00:28:25.360
+maybe even next week, because it's not
+
+00:28:27.980 --> 00:28:28.080
+pretty, but it's also not bad and there's a
+
+00:28:28.940 --> 00:28:29.440
+lot of stuff there already.
+
+00:28:32.120 --> 00:28:32.620
+And For those who don't mind looking at
+
+00:28:35.500 --> 00:28:36.000
+unfinished things for inspiration or maybe
+
+00:28:39.320 --> 00:28:39.820
+their own work, I want to put it online.
+
+00:28:43.620 --> 00:28:44.020
+And if it's released, I will do some bigger
+
+00:28:46.560 --> 00:28:46.860
+announcement. And if it's getting released,
+
+00:28:48.840 --> 00:28:49.040
+can you write it back in Emacs console or
+
+00:28:51.760 --> 00:28:51.940
+conf, of course? Well,
+
+00:28:53.440 --> 00:28:53.600
+no pressure. Next year you need to have it
+
+00:28:55.320 --> 00:28:55.580
+released and you'll need to give us a GitHub
+
+00:28:59.900 --> 00:29:00.060
+page. Alright, moving on to the next
+
+00:29:01.560 --> 00:29:01.880
+question. What happened to the Sway
+
+00:29:03.040 --> 00:29:03.540
+compositor you showed last year?
+
+00:29:06.720 --> 00:29:07.220
+Yeah, that's like, this is the perfect
+
+00:29:10.680 --> 00:29:11.180
+question for like after the last 1.
+
+00:29:12.600 --> 00:29:13.100
+It's also not finished.
+
+00:29:16.960 --> 00:29:17.120
+And it's also not finished Because while I
+
+00:29:19.160 --> 00:29:19.660
+did a tech demo like I did this time,
+
+00:29:20.740 --> 00:29:21.220
+I'm sorry it's not finished,
+
+00:29:23.480 --> 00:29:23.600
+but I don't have that big a need for it and
+
+00:29:25.080 --> 00:29:25.580
+it's a lot of work to get it finished.
+
+00:29:28.140 --> 00:29:28.640
+Because it's a similar architecture,
+
+00:29:31.940 --> 00:29:32.440
+like this different server clients
+
+00:29:35.640 --> 00:29:35.980
+architecture stuff and Emacs is still in the
+
+00:29:42.140 --> 00:29:42.640
+callback hell time as you call it.
+
+00:29:46.260 --> 00:29:46.440
+So it's not that easy to get it working and I
+
+00:29:49.540 --> 00:29:49.920
+don't have that much need for a valent window
+
+00:29:52.720 --> 00:29:52.920
+manager because the other 1 still works and
+
+00:29:54.520 --> 00:29:55.020
+there's more interesting stuff to do.
+
+00:29:58.020 --> 00:29:58.180
+But also I know it has a lot of potential if
+
+00:30:00.840 --> 00:30:01.000
+it works and if it is released And I know a
+
+00:30:02.320 --> 00:30:02.520
+lot of people are waiting for it,
+
+00:30:04.200 --> 00:30:04.700
+so I have it in the back of my mind.
+
+00:30:06.720 --> 00:30:07.220
+And if someone else feels compelled,
+
+00:30:10.460 --> 00:30:10.680
+please take a look at the code and do
+
+00:30:12.980 --> 00:30:13.340
+something. Yeah, whoever asked the question,
+
+00:30:14.120 --> 00:30:14.620
+this is your task now.
+
+00:30:17.580 --> 00:30:17.900
+All right, moving on to the last question.
+
+00:30:18.900 --> 00:30:19.140
+We have about 4 minutes left,
+
+00:30:20.160 --> 00:30:20.660
+so it looks like we are...
+
+00:30:22.660 --> 00:30:22.760
+By the way, Michael was worried that he
+
+00:30:24.200 --> 00:30:24.700
+wouldn't have many questions to answer,
+
+00:30:27.380 --> 00:30:27.560
+and I am very proud to say and to prove you
+
+00:30:29.540 --> 00:30:30.040
+wrong. All right, next question.
+
+00:30:31.920 --> 00:30:32.080
+Does the browser have to be Firefox for
+
+00:30:33.480 --> 00:30:33.980
+syncing or is there a choice there?
+
+00:30:39.020 --> 00:30:39.340
+I think it's not. There's a choice.
+
+00:30:42.180 --> 00:30:42.440
+You can use any browser who supports web
+
+00:30:43.940 --> 00:30:44.440
+extensions. I think it's like a standardized
+
+00:30:49.900 --> 00:30:50.080
+interface. You can use any browser who does
+
+00:30:52.440 --> 00:30:52.640
+it. Chrome does it. But they're moving to a
+
+00:30:55.260 --> 00:30:55.760
+new web extension API to block ad blockers.
+
+00:30:59.680 --> 00:31:00.040
+I don't know if that does any turmoil for my
+
+00:31:02.860 --> 00:31:03.360
+extension and I frankly don't care that much.
+
+00:31:05.680 --> 00:31:06.180
+All right, fair answer.
+
+00:31:09.960 --> 00:31:10.280
+I don't see anyone who's joined us on BBB,
+
+00:31:11.940 --> 00:31:12.080
+by the way, we're going to move on with the
+
+00:31:13.020 --> 00:31:13.480
+stream to the next talk.
+
+00:31:15.380 --> 00:31:15.660
+But if you've got any questions for Michael,
+
+00:31:17.320 --> 00:31:17.480
+Feel free to join on BBB and ask your
+
+00:31:19.280 --> 00:31:19.440
+questions. I've said before that people tend
+
+00:31:22.420 --> 00:31:22.860
+to be shy and only join when the stream goes
+
+00:31:25.900 --> 00:31:26.040
+to a next talk. But I like to remind those
+
+00:31:27.720 --> 00:31:27.880
+people, eventually those talks are going to
+
+00:31:28.280 --> 00:31:28.620
+be published. Obviously,
+
+00:31:30.480 --> 00:31:30.680
+we'll make sure that nothing private was
+
+00:31:31.720 --> 00:31:32.220
+divulged during these discussions.
+
+00:31:34.640 --> 00:31:34.760
+But, you know, it's, if you can muster up the
+
+00:31:35.580 --> 00:31:35.740
+courage to go on the scene,
+
+00:31:38.940 --> 00:31:39.160
+it's always nice to have people join and ask
+
+00:31:41.100 --> 00:31:41.400
+questions. Michael, we have about 3 minutes
+
+00:31:43.080 --> 00:31:43.580
+left. Do you have any last words on perhaps
+
+00:31:45.860 --> 00:31:46.240
+anything to add on what you've presented
+
+00:31:49.780 --> 00:31:50.160
+today? Yeah, I just thought about maybe I
+
+00:31:55.260 --> 00:31:55.760
+show something. But there's this portals.
+
+00:32:00.140 --> 00:32:00.380
+Another thing, if someone has some more
+
+00:32:02.540 --> 00:32:02.920
+names, I would be quite interested because
+
+00:32:03.900 --> 00:32:04.400
+naming stuff is difficult.
+
+00:32:11.600 --> 00:32:12.100
+And this defines the database.
+
+00:32:14.200 --> 00:32:14.700
+There's the database definition.
+
+00:32:16.440 --> 00:32:16.920
+I call the database thingy,
+
+00:32:19.600 --> 00:32:19.760
+it's called Sponti. So I don't know what
+
+00:32:20.840 --> 00:32:21.340
+you're thinking about this name.
+
+00:32:23.220 --> 00:32:23.720
+So I think I want to have a database,
+
+00:32:25.360 --> 00:32:25.860
+it's called, it's this database.
+
+00:32:28.360 --> 00:32:28.740
+And then I define the database and I define
+
+00:32:29.820 --> 00:32:30.060
+the subject predicate object.
+
+00:32:31.060 --> 00:32:31.560
+So I have a browser session,
+
+00:32:32.520 --> 00:32:33.020
+browser session has tabs,
+
+00:32:36.820 --> 00:32:37.320
+a tab has, it comes from another tab maybe,
+
+00:32:39.860 --> 00:32:40.360
+or it shows an URL. A window,
+
+00:32:42.180 --> 00:32:42.680
+a session can also have a window,
+
+00:32:44.600 --> 00:32:44.760
+a window shows tabs. And then you can
+
+00:32:46.120 --> 00:32:46.380
+annotate stuff. You can say,
+
+00:32:49.920 --> 00:32:50.100
+okay, I have a node or a URL and I can tag it
+
+00:32:51.600 --> 00:32:52.100
+with a title, date, tag,
+
+00:32:54.940 --> 00:32:55.440
+or with another node or with body text.
+
+00:32:58.640 --> 00:32:58.780
+And I have an environment that's like a
+
+00:33:01.420 --> 00:33:01.840
+machine, the PC that's running on or Emacs
+
+00:33:03.640 --> 00:33:03.840
+itself. And then you have stuff about the
+
+00:33:04.900 --> 00:33:05.280
+machine and you have a client,
+
+00:33:06.660 --> 00:33:07.160
+this is the process session actually.
+
+00:33:08.680 --> 00:33:09.180
+So maybe I should change this.
+
+00:33:17.680 --> 00:33:18.180
+Okay. And 1 last thing.
+
+00:33:20.020 --> 00:33:20.220
+I have something I wanted to show you,
+
+00:33:21.600 --> 00:33:22.100
+but it didn't finish in time.
+
+00:33:23.240 --> 00:33:23.480
+Okay, Michael, just to be clear,
+
+00:33:24.720 --> 00:33:25.220
+you've got only 1 minute left.
+
+00:33:27.880 --> 00:33:28.380
+Yes, it's not that difficult.
+
+00:33:30.140 --> 00:33:30.640
+I wanted to integrate highlight.
+
+00:33:32.300 --> 00:33:32.780
+You just go to a web page,
+
+00:33:35.660 --> 00:33:35.800
+highlight stuff, do a right click and then it
+
+00:33:39.320 --> 00:33:39.820
+says save to Emacs. And you saved it to Emacs
+
+00:33:42.500 --> 00:33:42.940
+and it's there inside the node.
+
+00:33:45.400 --> 00:33:45.900
+But no, this 1 is not finished yet.
+
+00:33:47.960 --> 00:33:48.240
+You could do it live but there's no time
+
+00:33:49.540 --> 00:33:50.040
+left. So thank you for watching.
+
+00:33:51.960 --> 00:33:52.180
+Yes, and thank you so much,
+
+00:33:54.000 --> 00:33:54.280
+Michael, for taking the time to present and
+
+00:33:54.960 --> 00:33:55.460
+to answer the questions.
+
+00:33:57.340 --> 00:33:57.540
+The stream is going to move to the next talk
+
+00:34:00.680 --> 00:34:01.080
+in about 45 seconds. It's a talk by Wasem
+
+00:34:02.680 --> 00:34:03.180
+Masa, which I'm very excited about.
+
+00:34:05.740 --> 00:34:06.240
+And other than that, Michael,
+
+00:34:08.239 --> 00:34:08.460
+I'm looking forward to seeing you again next
+
+00:34:10.760 --> 00:34:11.000
+year with new GitHub repositories to share
+
+00:34:12.500 --> 00:34:13.000
+with us. Right? No pressure.
+
+00:34:17.500 --> 00:34:17.900
+And on that note, I wish you a very good day
+
+00:34:19.400 --> 00:34:19.600
+and I'll see you next time,
+
+00:34:21.820 --> 00:34:22.199
+I suppose. Yes, of course.
+
+00:34:24.080 --> 00:34:24.580
+I would like to do it next time again.
+
+00:34:25.679 --> 00:34:26.179
+It's a lot of fun. All right.
+
+00:34:27.280 --> 00:34:27.780
+Okay. Bye-bye, Michael.
+
+00:34:33.580 --> 00:34:34.080
+Bye-bye and thanks. All right.
+
+00:34:35.540 --> 00:34:35.880
+I think, yes. Okay. We finished.
+
+00:34:36.460 --> 00:34:36.600
+So, thank you so much,
+
+00:34:38.199 --> 00:34:38.400
+Michael. I need to get ready for the next
+
+00:34:39.340 --> 00:34:39.840
+talk. So I'll see you later.
+
+00:34:40.920 --> 00:34:41.420
+I'll see you later, sorry.
+
+00:34:45.060 --> 00:34:45.560
+Yes, see you. Bye-bye.
+
+00:34:47.280 --> 00:34:47.560
+You are currently the only person in this
+
+00:34:47.560 --> 00:34:48.060
+conference.
diff --git a/2023/talks/flat.md b/2023/talks/flat.md
index c18df9ed..bf579540 100644
--- a/2023/talks/flat.md
+++ b/2023/talks/flat.md
@@ -9,6 +9,13 @@
# A modern Emacs look-and-feel without pain
Pedro A. Aranda (he)
+[[!template id="help"
+summary="main talk does not have captions"
+tags="help_with_main_captions"
+message="""This talk does not have captions yet.
+Would you like to help [caption this talk](/captioning)?
+You may be able to start with these [autogenerated captions](/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt)."""]]
+
[[!inline pages="internal(2023/info/flat-before)" raw="yes"]]
In my talk I will show how to enrich themes without having to write them
diff --git a/2023/talks/koutline.md b/2023/talks/koutline.md
index 3312e195..dcc51538 100644
--- a/2023/talks/koutline.md
+++ b/2023/talks/koutline.md
@@ -9,6 +9,13 @@
# Using Koutline for stream of thought journaling
Matthew Jorgensen (PlasmaStrike) - <mailto:plasmastrike@voiddragon.me>
+[[!template id="help"
+summary="main talk does not have captions"
+tags="help_with_main_captions"
+message="""This talk does not have captions yet.
+Would you like to help [caption this talk](/captioning)?
+You may be able to start with these [autogenerated captions](/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt)."""]]
+
[[!inline pages="internal(2023/info/koutline-before)" raw="yes"]]
I will talk about a nice journaling workflow I have developed using the
diff --git a/2023/talks/poltys.md b/2023/talks/poltys.md
index 3a35aa04..4cd13b92 100644
--- a/2023/talks/poltys.md
+++ b/2023/talks/poltys.md
@@ -9,6 +9,13 @@
# The browser in a buffer
Michael Bauer (he/him) - Pronunciation: [ˈmɪçaːʔeːl] [ˈbaʊ̯ɐ], IRC: permcu, <http://perma-curious.eu>, <mailto:perma-curious@posteo.de>
+[[!template id="help"
+summary="main talk does not have captions"
+tags="help_with_main_captions"
+message="""This talk does not have captions yet.
+Would you like to help [caption this talk](/captioning)?
+You may be able to start with these [autogenerated captions](/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt)."""]]
+
[[!inline pages="internal(2023/info/poltys-before)" raw="yes"]]
In this talk I am going to show a thing I made to integrate my second