summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt')
-rw-r--r--2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt1973
1 files changed, 1973 insertions, 0 deletions
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.