Transcript

[[!template text="""Hello, welcome to this talk on hyperdrive.el. I'm Joseph""" start="00:00:00.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Turner presenting on behalf of ushin, a tiny independent""" start="00:00:03.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""information freedom nonprofit. hyperdrive.el is an Emacs""" start="00:00:07.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""interface to the hyperdrive peer-to-peer file sharing""" start="00:00:12.040" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""system built by Holepunch. Like other peer-to-peer file""" start="00:00:14.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""sharing tools, such as BitTorrent, hyperdrive lets you""" start="00:00:18.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""share unlimited files directly with other users without""" start="00:00:22.120" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""having to go through a central hub. One thing that sets""" start="00:00:25.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Hyperdrive apart is that the files you share can be""" start="00:00:29.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""modified. Since hyperdrive has built-in versioning,""" start="00:00:32.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""you can explore the history of changes that you make to your""" start="00:00:35.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""files or others make to theirs. You can stream video and""" start="00:00:38.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""audio. There's no sign-up or account creation process""" start="00:00:42.200" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""required. It's all free software. This means that the""" start="00:00:45.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""community has the legal right, the tools, and the""" start="00:00:49.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""information necessary to participate in the development""" start="00:00:52.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""process, or even fork the project""" start="00:00:55.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and go cimarron. Since""" start="00:00:58.338" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""last year's talk, we've added a few new features. It's now""" start="00:01:00.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""much easier to get started using hyperdrive.el, since we""" start="00:01:04.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""added the hyperdrive-install command, which downloads the""" start="00:01:08.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""gateway program and installs it on your machine. We added a""" start="00:01:12.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""peer graph feature, which lets you visualize your network""" start="00:01:16.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""of sources of information. We also published a new package,""" start="00:01:19.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive-org-transclusion, which lets you display live""" start="00:01:24.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""updating snippets of hyperdrive files in Org documents.""" start="00:01:29.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Let's get started. Let's say you get an email from your""" start="00:01:34.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""friend Alice inviting you to check out hyperdrive.el.""" start="00:01:37.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Let's click on the link here to look at the manual. Let's go""" start="00:01:41.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""down to the installation section. It says you need to have""" start="00:01:45.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""GNU Emacs version 28.1 or later. I'll assume you have it""" start="00:01:50.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""installed, but if not, you can click this link.""" start="00:01:54.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""You need to have curl installed,""" start="00:01:57.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""which is likely already the case, but if not,""" start="00:01:59.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive.el will let you know.""" start="00:02:01.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now from within Emacs you can install hyperdrive.el.""" start="00:02:04.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Run M-x package-refresh-contents.""" start="00:02:10.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Then, M-x package-install, type in hyperdrive,""" start="00:02:14.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and hit return. Next, we'll install hyper-gateway-ushin.""" start="00:02:20.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Let's run M-x hyperdrive-install. It's prompting me to""" start="00:02:26.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""download and install the gateway, which is 51 megabytes.""" start="00:02:33.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll press y.""" start="00:02:35.881" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I will skip most of the download process. The download is""" start="00:02:39.781" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""wrapping up.""" start="00:02:44.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now, it's prompting me to start the gateway. I can either run""" start="00:02:49.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""M-x hyperdrive-start, or I can press this button. And""" start="00:02:53.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""after a few moments, we'll see that the gateway will start.""" start="00:02:59.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""It's ready. You can also click this button, "View hyperdrive""" start="00:03:03.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""User Info Manual", to view the same manual that we were""" start="00:03:07.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""viewing in the browser. The info manual comes with""" start="00:03:10.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive.el and is available offline. Now that""" start="00:03:13.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""everything's installed and the gateway is running, we're""" start="00:03:17.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""back at Alice's email. Let's click on the link to her""" start="00:03:20.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive. Here's Alice's hyperdrive. Let's open her""" start="00:03:23.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hello.org file.""" start="00:03:28.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'm being prompted to mark Alice's hyperdrive. Currently,""" start="00:03:33.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""it's unknown. I'll press ? to see more details.""" start="00:03:37.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text=""""safe", "unsafe", "unknown". I'll press e for "explain". In the info""" start="00:03:41.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""manual, it says that if a hyperdrive is marked as safe, that""" start="00:03:48.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""means files in that hyperdrive will automatically have""" start="00:03:54.140" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""their major mode enabled based on their file extension. In""" start="00:03:57.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""this case, if I mark Alice's hyperdrive as safe and I click on""" start="00:04:02.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""this hello.org file, Emacs will automatically enable Org""" start="00:04:06.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""mode in that file. Since I know Alice directly, I'll mark her""" start="00:04:10.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive as safe. I'll click on the file hello.org again,""" start="00:04:14.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and now I'll press Shift-s for safe.""" start="00:04:19.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now I'm going to set Alice's petname. hyperdrive.el has""" start="00:04:25.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""different ways to name a hyperdrive. The public key is the""" start="00:04:30.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""drive's unique identifier. You can also assign yourself a""" start="00:04:34.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""public nickname, which you announce to the world. Then""" start="00:04:38.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""users on their own machines can assign each hyperdrive that""" start="00:04:42.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""they are aware of a private petname. I'll assign Alice a""" start="00:04:45.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""petname, which is the way that I will identify Alice just on""" start="00:04:50.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""my own machine. I'll type in "My Friend Alice".""" start="00:04:54.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Then when I refresh her drive,""" start="00:05:01.907" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""we see that it says petname in the top left.""" start="00:05:03.708" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now I'll do what she asks,""" start="00:05:07.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""which is to right click on her name and""" start="00:05:09.393" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""open her peer graph. In the context menu, I see a few""" start="00:05:11.614" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""different actions I can take, but I'll click on "Peer Graph".""" start="00:05:15.260" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""It's prompting me to pick the max hops for sources. Default 3.""" start="00:05:19.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll choose the default. Same for blockers. I'll explain""" start="00:05:22.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""what that means later.""" start="00:05:26.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""This is Alice's peer graph. Here we can see that Alice has two""" start="00:05:30.380" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""direct sources, Bob and Eve. Both Bob and Eve have assigned""" start="00:05:35.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""themselves nicknames, and so we see Bob and Eve here. Eve has""" start="00:05:41.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""assigned this other hyperdrive to be a source. But this""" start="00:05:45.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""other hyperdrive, whose public key is "kb3zr6mq"""" start="00:05:50.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and so on--if we hover over the hyperdrive, we'll see the full""" start="00:05:55.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""public key--has not assigned itself a nickname. So we""" start="00:05:59.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""just see the truncated short public key. Because we've""" start="00:06:03.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""assigned a petname for Alice,""" start="00:06:08.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""we see Alice's petname show up here.""" start="00:06:10.918" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now I'll open the peer list view to show the same""" start="00:06:14.559" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""information in a different way. Since I'm using a large""" start="00:06:17.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""font, I'll widen this window so we can see everything going""" start="00:06:21.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""on in the peer list. We see that the root hyperdrive is""" start="00:06:25.200" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""petname "My Friend Alice", nickname "alice", public key "dm1",""" start="00:06:29.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and so on. We've set the sources max hops to three, which means""" start="00:06:33.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""that we will go out at most three hops from Alice in order to""" start="00:06:38.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""find sources. One hop from Alice are Bob and Eve. One hop""" start="00:06:42.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""from Eve is "kb3", which is two hops from Alice. Now we've set""" start="00:06:49.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the max hops for sources to three, but in this case, the""" start="00:06:55.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""network is small, and "kb3" has no sources. So we can only go""" start="00:06:59.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""out two hops from Alice until we run out of sources. In the""" start="00:07:04.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""future, we plan to add a search feature based on this list of""" start="00:07:07.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""sources. You type in a query, and you get back a list of""" start="00:07:11.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""results published by Eve, Bob, or "kb3". It's also possible to""" start="00:07:14.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""block peers. I'll open the transient menu by pressing""" start="00:07:19.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""question mark. For now, let's turn on showing blocked""" start="00:07:23.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""peers. I'll press "s x", and now it says blocked sources.""" start="00:07:28.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now we can see Mallory also shows up. Mallory has been""" start="00:07:35.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""included as a source by Eve, but is blocked. So in the end""" start="00:07:38.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""result, she does not show up in the list of sources. Instead,""" start="00:07:43.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""she shows up as a blocked source. But how is it that Mallory""" start="00:07:47.040" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""ended up being blocked? Let's open up the transient menu""" start="00:07:51.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""once more and click "s b" to show blockers. Now we can see that""" start="00:07:55.040" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Bob has blocked Mallory. This means that Bob is not""" start="00:08:02.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""interested in seeing search results from Mallory. Since""" start="00:08:07.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Alice has included Bob as a blocker, that means that Alice""" start="00:08:12.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""trusts Bob to block people on her behalf. So since Bob has""" start="00:08:17.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""blocked Mallory, Mallory does not show up in Alice's""" start="00:08:23.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""peergraph as a source. Well, now I'm curious to see what it is""" start="00:08:27.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Mallory published that drove Bob to block her. I'll""" start="00:08:31.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""right-click on Mallory, and in the context menu, "Open Hyperdrive"""" start="00:08:35.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and... Wingsuit Flying Grand Canyon Point of View Not Clickbait?""" start="00:08:39.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I gotta check this out! [playing: Rick Astley's "Never Gonna Give You Up"]""" start="00:08:44.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""No! Disgusting! No wonder Bob blocked Mallory. Let's go""" start="00:08:49.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""back to Alice's peer graph. Mallory is a blocked source.""" start="00:08:56.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Are there any peers who are blocked but who aren't sources?""" start="00:09:01.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll open the transient menu and I'll press "s x". Now we're""" start="00:09:05.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""looking at blocked non-sources. Darth, who's been blocked""" start="00:09:11.740" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""by Bob, has not been added by any of Alice's sources as a""" start="00:09:16.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""source. So Darth is a blocked non-source. I'll open the""" start="00:09:20.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""transient menu again and I'll press "s x". Now we're""" start="00:09:25.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""looking at all blocked peers. Both Mallory and Darth show""" start="00:09:29.700" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""up. If I scroll down in the peer list, we'll see that Mallory""" start="00:09:34.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""is listed under blocked sources, and Darth is listed under""" start="00:09:37.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""blocked non-sources. This view has gotten a little bit busy.""" start="00:09:42.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Let's say that we're only interested in how Alice""" start="00:09:45.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""relates to Mallory. I'll open the transient menu, and I""" start="00:09:49.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""will filter the graph to show paths only to Mallory. I'll""" start="00:09:54.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""press "o a", type in Mallory, and hit enter. Now we see that""" start="00:09:58.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Mallory has a bold border and "kb3" and Darth are missing from""" start="00:10:05.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the graph. Eve shows up because there's a path from Alice to""" start="00:10:11.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Mallory that goes through Eve. Same for Bob. We can also add""" start="00:10:16.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""more than one peer in this view. I'll press "o a" again, and""" start="00:10:22.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""this time I'll choose Darth. Now Darth and Mallory have bold""" start="00:10:28.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""borders, and "kb3" is still missing. We can remove Mallory and""" start="00:10:34.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Darth one at a time with "o r", or we can press C-u, the""" start="00:10:38.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""universal prefix argument, and then "o r" to remove both""" start="00:10:42.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Mallory and Darth from the list. Now we're back to seeing""" start="00:10:47.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""everybody. This view of the graph is somewhat simplified""" start="00:10:51.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""because we're showing only""" start="00:10:55.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the shortest paths between peers.""" start="00:10:57.538" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""If I press Shift-s now we're looking at all paths.""" start="00:11:00.239" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Here, we can see that in addition to going from Alice to""" start="00:11:06.040" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Bob as a source directly, we also go from Alice to Bob through""" start="00:11:10.040" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Eve as a source. Let's go back to showing only the shortest""" start="00:11:15.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""paths. Currently, the max hops for sources and for blockers""" start="00:11:21.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""is set to 3. Let's see what happens if we set the""" start="00:11:27.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""blockers max hops to 0.""" start="00:11:31.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""After the graph reloads, we now see that Mallory""" start="00:11:35.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""shows up as a source, not as a blocked source.""" start="00:11:39.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""This is because Bob,""" start="00:11:43.287" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""who is one hop away from Alice, is no longer included as a""" start="00:11:44.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""blocker, because we've set the blockers max hops to 0. And""" start="00:11:49.200" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""since Bob is not a blocker, the fact that Bob blocks Mallory""" start="00:11:52.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""doesn't factor in. While Alice is the only one who gets to""" start="00:11:57.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""decide who her direct sources, blockers, and blocked peers""" start="00:12:01.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""are, anyone can view Alice's peer graph, tinker with the""" start="00:12:05.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""sources or blockers max hops, and use her list of sources to""" start="00:12:10.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""do a search. Let's see what happens if we set sources max""" start="00:12:14.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hops to 2. Well, the graph doesn't change, because we only""" start="00:12:19.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""ever went out 2 hops anyway. Let's set source's max hops to 1.""" start="00:12:24.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now we only see Bob and Eve, since "kb3" and Mallory are""" start="00:12:30.140" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""2 hops out. Source hops 0. Now we're left with just Alice.""" start="00:12:35.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now I'd like to create a new hyperdrive and add Alice as a""" start="00:12:44.120" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""source. I'll run M-x hyperdrive-new.""" start="00:12:48.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now it's prompting me""" start="00:12:52.732" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""for a new hyperdrive seed. A seed is a string of characters""" start="00:12:53.813" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""that's combined with your secret key, which is generated""" start="00:12:57.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""for you by the gateway program, in order to create a new""" start="00:13:01.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""public key for each new hyperdrive. I'll type in "Joseph".""" start="00:13:04.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""A new drive. Now, I'll right-click on my own name, and in the""" start="00:13:10.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""context menu, I'll choose "Set Relation From". From Joseph...""" start="00:13:15.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""to Alice...as a source. Now, I'll right-click on my name again,""" start="00:13:21.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and click on "Peer Graph". Sources max hops, let's say three""" start="00:13:32.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and [three] for blockers as well,""" start="00:13:40.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Here's the peer graph from my newly created""" start="00:13:45.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive's perspective. Mallory is included as a""" start="00:13:49.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""source, three hops from the root. Let's open the list view.""" start="00:13:54.200" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""If we were to mark Alice as a blocker by clicking on this""" start="00:14:01.220" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""button in the blocker column next to the petname for Alice,""" start="00:14:06.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Then we see that Mallory shows up as a blocked source. Only""" start="00:14:12.120" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""now that Joseph includes Alice as a blocker does the fact""" start="00:14:16.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""that Bob blocked Mallory take effect. You can click on""" start="00:14:21.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""another peer to set them as the root hyperdrive. I'll click""" start="00:14:26.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""on Eve. Now we're looking at the peer graph from Eve's""" start="00:14:30.540" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""perspective. This peer graph view has a history. If I open""" start="00:14:35.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the transient menu, you'll see here there's a back and a""" start="00:14:39.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""forward button. Back is bound to "l" for "left". If I press "l",""" start="00:14:42.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""we're looking at the graph from Joseph's perspective. If I""" start="00:14:48.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""press "l" again, now we're looking at Alice, as at the""" start="00:14:51.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""beginning. I'll press "r" to go forward, and "r" again, and now""" start="00:14:56.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""we're back at Eve. Now, I'd like to show you""" start="00:15:01.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the hyperdrive-org-transclusion package we published.""" start="00:15:04.735" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll open up the hyperdrive manual""" start="00:15:08.338" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""to see how to install it.""" start="00:15:10.359" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now, from here, I'll press "m" and type in transclusion to jump""" start="00:15:15.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""straight to the "Org-transclusion integration" section of""" start="00:15:21.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the manual. To summarize, we can install""" start="00:15:23.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive-org-transclusion with""" start="00:15:27.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""M-x package-install RET hyperdrive-org-transclusion.""" start="00:15:32.220" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Then, once this is done, we will copy the following snippet""" start="00:15:37.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and add it either to our init.el file or, in this case, I'll""" start="00:15:43.780" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""just evaluate it. Now, hyperdrive-org-transclusion-mode is""" start="00:15:47.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""enabled.""" start="00:15:52.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Let's go back to the hello.org file in Alice's hyperdrive.""" start="00:15:58.100" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll right-click on Alice, then click "Open Hyperdrive", and""" start="00:16:01.480" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hit RET on hello.org. This time, I'm not prompted to mark""" start="00:16:07.240" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Alice's hyperdrive as safe, since we did it already. I'll""" start="00:16:11.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""navigate to the "Check out my peers" heading. Then I'll run""" start="00:16:16.200" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""M-x org-store-link. Now, I'll create a new file in my""" start="00:16:20.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive by running M-x hyperdrive-find-file. I'll""" start="00:16:28.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""select my hyperdrive and I'll call this new file""" start="00:16:32.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""response-to-alice.org.""" start="00:16:38.489" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now, I'll paste in a response that I've written.""" start="00:16:45.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll go to the bottom and I will run M-x org-insert-link""" start="00:16:50.781" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and I'll insert the link""" start="00:16:57.980" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""that I stored earlier. As a link""" start="00:16:59.424" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""description, I'll change it to""" start="00:17:02.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text=""""Snippet from Alice's hyperdrive file".""" start="00:17:08.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll save my hyperdrive file.""" start="00:17:12.700" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now, to show that the link works, I'll just kill this buffer""" start="00:17:18.400" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""showing the hello.org file, and I'll click on the link.""" start="00:17:21.840" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now, in addition to linking from my file""" start="00:17:27.100" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""to the heading in Alice's file,""" start="00:17:29.488" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'd like to transclude this heading's content in my file.""" start="00:17:31.489" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""So I'll go to the link in my file and run""" start="00:17:35.700" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""M-x org-transclusion-make-from-link""" start="00:17:38.635" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and I'll save my file again.""" start="00:17:45.401" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""All that's been added is another link,""" start="00:17:47.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""prefixed with this transclude keyword.""" start="00:17:50.505" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""To make the transclusion show up inline,""" start="00:17:54.434" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""I'll run M-x org-transclusion-add. The content""" start="00:17:57.035" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""of Alice's file hasn't been copied into mine. It's just""" start="00:18:02.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""being transcluded. If I run M-x org-transclusion-remove,""" start="00:18:05.360" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""you'll see that the underlying content is still""" start="00:18:12.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""just the transclude keyword and the link.""" start="00:18:15.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now some time has passed and Alice has updated her""" start="00:18:21.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive file. She wrote, "Please add me as a source." Since""" start="00:18:24.320" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""the transclude link that I added in my file does not specify a""" start="00:18:29.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""version, it will always transclude the latest version of""" start="00:18:33.560" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Alice's hello.org file. If I run M-x org-transclusion-add""" start="00:18:36.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""once more, we'll see that the latest version of Alice's""" start="00:18:42.640" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""file gets transcluded into mine. Let's say that I want to""" start="00:18:46.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""transclude the previous version of Alice's hello.org""" start="00:18:51.680" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""file, and I don't want my transclusion to change when Alice""" start="00:18:54.960" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""updates her file. That's possible too. I'll go over to her""" start="00:18:58.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""file and run M-x hyperdrive-open-previous-version. Now""" start="00:19:02.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""when I widen the window a little, we can see in the mode line""" start="00:19:09.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""that this is version 57. For an explanation of what the""" start="00:19:14.080" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""version numbers mean, check out the last video or the info""" start="00:19:18.280" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""manual. For now, I'll go down to her "Check out my peers"""" start="00:19:21.600" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""heading and run M-x org-store-link. Now, in my response to""" start="00:19:25.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Alice, I'll insert the link. I'll run org-transclusion-make-from-link.""" start="00:19:33.000" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Now there are two transclusions. The first""" start="00:19:39.160" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""transclusion will update whenever Alice updates her file,""" start="00:19:44.760" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""and the second transclusion is pinned to version 57.""" start="00:19:47.720" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""That covers hyperdrive-install, the peer graph, and""" start="00:19:52.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive-org-transclusion.""" start="00:19:53.357" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Feel free to check out the hyperdrive.el""" start="00:19:58.299" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""info manual in the ushin hyperdrive here, or on the""" start="00:20:00.520" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""ushin.org website. Thanks to the folks at Sopranica, we""" start="00:20:04.120" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""have a public XMPP group chat you can join, either using an""" start="00:20:08.440" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""XMPP client or anonymously from your browser. If you use""" start="00:20:11.880" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Matrix, there's also a bridge. Thank you for watching, and""" start="00:20:15.920" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""Thank you to the EmacsConf organizers and all the""" start="00:20:19.800" video="mainVideo-hyperdrive" id="subtitle"]] [[!template text="""presenters who made this wonderful event possible.""" start="00:20:22.520" video="mainVideo-hyperdrive" id="subtitle"]]
Captioner: sachac

Q&A transcript (unedited)

[[!template text="""Thank you for the call. And we can hear you as well. Great. If""" start="00:00:00.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you want to put on your webcam as well, that'd be good.""" start="00:00:02.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Hello. Okay, great. We're back. Sorry for having to call""" start="00:00:10.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you, but just I needed to catch your attention somehow. No,""" start="00:00:13.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""it's great. It's perfect. So how are you doing? I'm doing""" start="00:00:16.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""very well. How are you? I'm doing good as well. I'm starting""" start="00:00:19.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to get tired because it's about to be 10 p.m for me and the""" start="00:00:23.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""energy cost of hosting is starting to take a toll on me but I'm""" start="00:00:29.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""fully there presently and I'm really happy to be here to""" start="00:00:33.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""field you some questions although I don't see any just yet.""" start="00:00:36.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Let me just get how long we have until we need to go to the next""" start="00:00:40.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""talk. We have until 4.05 which leaves us about 15 minutes""" start="00:00:43.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Joseph, I'll first start with a question. Well, first, I'll""" start="00:00:48.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""obviously thank you for your presentation, which I""" start="00:00:52.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""personally found to be very didactic, because I know that""" start="00:00:54.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Prat already presented Hyperdrive last year, and you are""" start="00:00:59.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""presenting this year with something a little more visual,""" start="00:01:04.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""and I found it to be very didactic. So, first, thank you for""" start="00:01:07.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""all this. And I wanted to give you the opportunity as well""" start="00:01:10.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""if... Oh, let me just make sure. Do we have audio on? Let me""" start="00:01:14.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""check. Let me just check something. Let me just make sure""" start="00:01:19.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that we have audio on. I have a few things I wanted to mention""" start="00:01:23.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""first before any questions come in. One was that...""" start="00:01:26.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Can you hear me? Let me just ask the little helps in the""" start="00:01:32.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""background. Sure.""" start="00:01:37.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Not sure if my audio is working or not.""" start="00:01:42.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""have someone to verify for us.""" start="00:01:49.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Leo, is my audio working? Yeah, I can hear you just fine and I""" start="00:01:54.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""think we fixed it now. One thing I wanted to mention was that""" start="00:02:00.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""New version of hyperdrive.el""" start="00:02:05.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""as with last year, I just released a new version of""" start="00:02:05.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""hyperdrive.el and it depends on the latest release of""" start="00:02:11.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""transient.el and so if you are going to install this""" start="00:02:16.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""package, make sure that you restart your Emacs after you""" start="00:02:21.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""install it, if you aren't already up to date with transient,""" start="00:02:27.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""which was released yesterday. Otherwise, since it, this""" start="00:02:32.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""latest version of transient.el updates the transient""" start="00:02:37.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""prefix EIEIO class, and it won't work unless you restart""" start="00:02:43.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Emacs. Okay, well, good to know. I think that's a small price""" start="00:02:48.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to pay to be on a bleedingest of bleeding edges. All right, I""" start="00:02:53.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""see there's a question here. Let me see if I can read it. Yeah,""" start="00:02:59.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""sure. Do you want me to field it to you or do you want to read it?""" start="00:03:02.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Oh, sure. Go ahead. I'd love to hear you read it. Sure.""" start="00:03:03.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Thank you. So first question. Hi there.""" start="00:03:06.628" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""Q: Network effects are tricky - do you know of any public shares people can join to try this tool out properly?""" start="00:03:09.210" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Thank you for the talk.""" start="00:03:09.210" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""I enjoyed watching it. I tried this tool last year and it""" start="00:03:10.311" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""seemed to work well, but I don't know anyone who actually""" start="00:03:13.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""uses it. Network effects are tricky. Do you know of any""" start="00:03:15.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""public shares people can join to try to try this tool out""" start="00:03:19.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""properly? Thank you. Network effects are indeed tricky.""" start="00:03:22.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Yeah. That's kind of part of the purpose of the peer graph is""" start="00:03:26.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to make it easier to discover peers in a way that's more, uh,""" start="00:03:32.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""more reliable and consistent than just somebody puts a""" start="00:03:37.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""public key on Reddit and then it's lost unless somebody""" start="00:03:40.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""finds it. Um, but the, the public keys that I know of are,""" start="00:03:44.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""there's the public key for the Ushin hyperdrive, which is""" start="00:03:52.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""basically just the same content that's on the website""" start="00:03:55.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""mirrored to a hyperdrive. Um, and then there are a few other""" start="00:03:58.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""ones. There's like, uh, hypha.coop has some WebZine""" start="00:04:02.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""content accessible via HyperDrive and also via IPFS. And""" start="00:04:09.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""then mauvesignweaver has a blog that's also available on""" start="00:04:16.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Hyper. So that's blog.mauve.moe .""" start="00:04:22.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""But besides that, that's kind of the purpose of this""" start="00:04:25.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""peer graph thing is to make it easier to discover other""" start="00:04:30.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""peers. Yeah, to make it also very visual in a way, because,""" start="00:04:34.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you know, I personally, it's funny because it reminded me of""" start="00:04:39.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""talks that I did in the past about the trust system for PGP""" start="00:04:42.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""keychains, because at the end of the day, you know, this""" start="00:04:47.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""trust system, whether you trust someone absolutely or""" start="00:04:50.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""relatively, the blocking system, it feels very related.""" start="00:04:53.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Any kind of a chain of trust like this, feels very""" start="00:04:56.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""reminiscent, obviously, but it felt very nice that for you,""" start="00:04:59.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you had a dynamic display of this web of trust. Whereas for""" start="00:05:02.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""me, I had to make fancy diagram in ticks, in latex, just to""" start="00:05:07.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""make sure that people understood what was actually going""" start="00:05:11.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""on. Yeah, one thing I want to point out is just the difference""" start="00:05:17.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""in utility for something like the PGP web of trust versus""" start="00:05:24.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""this kind of network of peers is, if I understand right, the""" start="00:05:28.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""main purpose of web of trust is to identify that a certain""" start="00:05:32.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""public key is actually created by the person that they claim""" start="00:05:37.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to be. So you have a way of identifying that a key actually""" start="00:05:45.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""matches like a government identity. Whereas this kind of""" start="00:05:48.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""network of peers has nothing to do with authenticating a key""" start="00:05:52.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""or associating a key with an identity, like a government""" start="00:05:55.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""identity. The purpose is exclusively just to get more peers""" start="00:06:00.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to be able to discover more peers who have things that are""" start="00:06:05.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""worth reading.""" start="00:06:09.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Yeah, it's a different take on a concept, but even though the""" start="00:06:10.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""concept might be the same, I find there's a wealth of things""" start="00:06:16.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that can be done thanks to this, because as you said, you""" start="00:06:21.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""trust someone to send you a file that is trustworthy. Well,""" start="00:06:24.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""with PGP, it's mostly about communication, but about file""" start="00:06:27.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""sharing, it just opens up completely new avenues. Yeah. Do""" start="00:06:30.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you have anything else to add? And about that, I think one of""" start="00:06:35.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""the barriers to the PGP web of trust is that it required""" start="00:06:43.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""getting together to have key parties to meet people and""" start="00:06:48.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""verify identities. Whereas with this kind of thing,""" start="00:06:51.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""there's no need to do that because so long as your content is""" start="00:06:54.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""interesting, it doesn't matter that you're not who you""" start="00:06:56.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""claim to be or that you don't even claim to be anybody. Yeah, I""" start="00:07:00.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""mean, again, as you mentioned, it's not about identifying""" start="00:07:03.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""people, it's just about identifying value, in a way, in the""" start="00:07:07.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""content that people share. It has nothing to do with""" start="00:07:10.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""verifying their actual identity. But again, it's the same""" start="00:07:13.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""technology, it's the same understanding, but for""" start="00:07:16.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""different applications, which is lovely because""" start="00:07:19.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""programming is fractals all over. The same problems repeat""" start="00:07:21.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""themselves and the same solutions show up for widely""" start="00:07:24.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""different scenarios, which is always good. Yeah. Anything""" start="00:07:27.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""else? One more thing. Yeah. One more thing is that I wanted to""" start="00:07:29.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""give some kudos to, um, some of the other projects that""" start="00:07:35.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""inspired the pure graph work. One of them is Adam Porter's or""" start="00:07:39.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""graph view, um, which is a, um, a tool for visualizing""" start="00:07:45.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""different nodes in an org file and how they link to one""" start="00:07:52.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""another. Um, he did. the pioneering work to figure out how to""" start="00:07:57.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""render interactive graphs with GraphViz. And so we worked""" start="00:08:04.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""together on it and kind of hacked down the last parts that""" start="00:08:09.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""weren't working correctly. And so this is inspired a lot.""" start="00:08:15.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""The user interface is inspired a lot by Adam's work. And then""" start="00:08:19.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""also the idea of having people that you mark as blockers and""" start="00:08:21.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""block is inspired by another project called TrustNet by""" start="00:08:28.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Alex Cobbly. I can type in the link there. Alex, how do you""" start="00:08:33.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""spell it? Cobbly? Yeah, I'll type it in here. Thank you. And I""" start="00:08:39.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""think the link is cba.org slash TrustNet. I think that is it.""" start="00:08:46.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""I'm not totally sure. But yeah. Okay well that's very good""" start="00:08:53.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""and thank you for giving credits to the inspiration because""" start="00:09:00.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""again nothing is done without context and it's always nice""" start="00:09:03.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""in the free software world to acknowledge people who have""" start="00:09:08.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""influenced us because it's very nice when people start""" start="00:09:11.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""contributing, maintaining software, publishing stuff""" start="00:09:14.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that they actually start collaborating with people who've""" start="00:09:17.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""inspired them which is a nice way to climb over the shoulders""" start="00:09:20.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""of giants which this community likes so much. All right,""" start="00:09:24.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""moving on to the next question. We are, we have about seven""" start="00:09:28.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""more minutes for questions, so we're still good.""" start="00:09:31.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""Q: blocklist or whitelist so I can make them containing useful information for only me while also being useful with in a public sense""" start="00:09:33.587" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Second question, one use case for this sharing and building upon""" start="00:09:33.587" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""second brain, sorry, one use case for this is sharing and""" start="00:09:36.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""building upon second brains, i.e. Zettelkasten, that's""" start="00:09:40.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""denote or what I'm actually doing, but a blocker for me""" start="00:09:43.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""wanting to make one public is wanting to use a block list or""" start="00:09:46.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""whitelist so that I can make them... Cautioning?""" start="00:09:49.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Quarantining? Containing. Yes, definitely containing.""" start="00:09:54.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Why did I go for quarantine rather than containing? I guess""" start="00:09:58.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""my brain went to a dark place from the 2020s. So I can make""" start="00:10:02.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""containing useful information for only me while also being""" start="00:10:07.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""useful in a public sense. Yes, I think your question is about""" start="00:10:11.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""how to keep some of the content of your Zettelkasten private""" start="00:10:18.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""and only have certain parts of it be public. If your desire is""" start="00:10:24.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to only share certain files in your Zettelkasten, then you""" start="00:10:32.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""can use the hyperdrive mirror command that we demonstrated""" start="00:10:38.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""in the Emacs 2023 talk. In short,""" start="00:10:46.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""It lets you specify either a regular expression that""" start="00:10:51.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""matches only some of the files that'll get uploaded from a""" start="00:10:56.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""directory of files on your machine. And only the files that""" start="00:11:00.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""match that regex will be put into the hyperdrive and shared""" start="00:11:04.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""with the world. But it doesn't have to be a regex. It could be a""" start="00:11:08.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""lambda. So it could match based on file size or modification""" start="00:11:11.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""time or really whatever you like. So I hope that answers your""" start="00:11:15.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""question. Great. And I personally, as someone who loves""" start="00:11:21.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""tinkering with my ELSP, I particularly like the ability to""" start="00:11:26.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""specify things with a lambda because it just opens up the""" start="00:11:30.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""ceiling of the possibilities with interactions between""" start="00:11:33.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""different parts of software. And, you know, As I have worked""" start="00:11:36.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""significantly in Orgrim, I could definitely see""" start="00:11:39.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""interactions with lambdas here to make sure that we can send""" start="00:11:42.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""and share files based on the filter list that is""" start="00:11:46.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""incrementally added to thanks to those lambdas. So thanks""" start="00:11:49.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""for this. One more thing I want to add about that is that the,""" start="00:11:53.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that same question of being able to upload only certain""" start="00:11:57.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""files while leaving others to, to be private. was something""" start="00:12:02.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that was inspired by Carl Voigt. I had an email thread with""" start="00:12:06.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""him in which he talked about how he uses his file tags project""" start="00:12:10.080" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""to organize his files. And he'll put a public tag on the files""" start="00:12:18.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""in his org database that he wants to have be published to his""" start="00:12:24.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""website. And so you could very easily just set a regular""" start="00:12:29.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""expression matches that public tag and then all of the other""" start="00:12:32.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""files would be not shared. Yeah, and, oh, sorry, I was, I""" start="00:12:36.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""misclicked, I was talking to production for a second. First""" start="00:12:42.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""time it happens today, so I think this is a testament to the""" start="00:12:45.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""level of tightness. But yeah, as you were saying, whatever""" start="00:12:48.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""heuristics you want is actually a good thing. I think people""" start="00:12:50.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""are a little antsy because they tend to brain dump into their""" start="00:12:53.920" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Orgrimm, Zellcastan, Zellcastan slash e-note, and they""" start="00:12:57.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""really don't want some of their personal notes being out""" start="00:13:02.360" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""there. And well, if you are worried about this, I think""" start="00:13:05.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""learning some Elisp and implementing some Lambda function""" start="00:13:08.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that allows you to filter with intention might be the best""" start="00:13:11.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""solution for you. So I hope we've covered the question as""" start="00:13:15.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""well as we could have. Next question is more about an idea""" start="00:13:20.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""about trying hyperdrive to distribute the Worg. Does that""" start="00:13:23.960" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""make sense to you? Yeah, I mean, you could distribute""" start="00:13:27.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""whatever you wanted. I think that'd be a great idea. Okay,""" start="00:13:31.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""great. Moving to the next question, and we have about three""" start="00:13:35.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""minutes, so I think we'll cover the last two questions and""" start="00:13:38.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""we'll move on to the next talk after that.""" start="00:13:40.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""Q: Could you comment on the "visualization" thing, (org visualization), and your experience with this type of content in buffers and the various possibilities (svg, etc.)?""" start="00:13:43.547" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Could you comment on the visualization thing,""" start="00:13:43.547" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Org visualization, and your""" start="00:13:45.688" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""experience with this type of content in buffers and the""" start="00:13:47.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""various possibilities, SVG, et cetera?""" start="00:13:49.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Sure. So one thing that we worked on was I added a patch that""" start="00:13:55.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""was merged as part of Emacs 30, which fixes the way that image""" start="00:14:02.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""maps scale when images are scaled. So as an Emacs 30, if you""" start="00:14:07.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""zoom in on an image or shrink an image or rotate an image, now""" start="00:14:16.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""the image map, which is the overlay, so it's not actually an""" start="00:14:21.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""overlay, but it's, so to speak, it's an overlay that allows""" start="00:14:26.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""the images to be clickable based on, you know, where the""" start="00:14:29.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""actual visual display is. You can also click on it or hit help""" start="00:14:32.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""echo. And as of Emacs 30, now that scales with the image""" start="00:14:35.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""itself.""" start="00:14:39.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""The code to make that work on previous versions of Emacs, you""" start="00:14:40.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""can see the advice that we added in hyperdrive-sbb-view, that""" start="00:14:47.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""file in hyperdrive.el, if you're curious to see how you""" start="00:14:54.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""could polyfill that code, so to speak, to make it work on""" start="00:14:58.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""previous versions of Emacs before Emacs 30. But it works""" start="00:15:03.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""great. The way that this works is we generate a GraphViz""" start="00:15:08.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""string that will be sent to GraphViz to render an SVG and also""" start="00:15:13.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""render a CMAPX string. We pipe those back into Emacs and then""" start="00:15:19.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""we generate the image map from the CMAPX file and then we put""" start="00:15:26.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that image map with the SVG, and we render it in a buffer.""" start="00:15:30.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Works pretty well. You can check out the code to see exactly""" start="00:15:35.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""how it works. OK, great. Well, sadly, I think we are a little""" start="00:15:39.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""short on time to cover the last two questions. So Joseph, if""" start="00:15:44.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you want to take a little bit of time maybe to answer the""" start="00:15:47.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""questions in the BBB, you can just do this, even though the""" start="00:15:49.760" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""stream will be moving to the next talk. But I'll use the""" start="00:15:53.720" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""opportunity to thank you both for the talk and for your""" start="00:15:57.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""answers, because they were very insightful. And thank you""" start="00:16:00.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""so much for taking the time to be with us today. Thank you,""" start="00:16:02.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Leo. Enjoy the rest of the conference. Any last words in""" start="00:16:06.160" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""about 15 seconds? Thank you. I'm grateful for your taking""" start="00:16:08.400" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""all this time to make this conference possible. Well, you""" start="00:16:12.880" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""know, the conference would be nothing without the speakers""" start="00:16:16.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""coming and chatting, so you are the ones to thank. I mean, we""" start="00:16:19.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""like the thanking, obviously, but it's mostly you doing the""" start="00:16:22.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""work. All right. Thank you, Joseph. We'll see you later.""" start="00:16:24.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Bye-bye.""" start="00:16:28.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Okay, we are offline. So Joseph, if you wanna finish""" start="00:16:29.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""answering the two questions on your own, feel free to. And""" start="00:16:37.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""whenever you finish, just leave the room. It will stop""" start="00:16:39.600" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""without you having to do anything. Okay, thank you, Leo. No""" start="00:16:42.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""worries, bye-bye. Bye.""" start="00:16:46.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""All right, could I, let's see. I'll just answer these few""" start="00:16:53.240" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""questions and then type in some responses.""" start="00:16:58.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""Q: What is something surprising about how you or somebody else that you didn't expect from using the hyperdrive network?""" start="00:17:01.266" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""What is something surprising about how""" start="00:17:01.266" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you or somebody else that""" start="00:17:05.538" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""you didn't expect from using the Hyperdrive network?""" start="00:17:05.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""I think the question is about something surprising from""" start="00:17:08.520" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""using the Hyperdrive network.""" start="00:17:16.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Don't quite understand the question. I think the""" start="00:17:18.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""surprising use case for it is to be able to share say a bunch of""" start="00:17:25.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""Org files, link between those Org files... You could use""" start="00:17:31.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""transclusion to to have a discussion and then you could""" start="00:17:36.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""collaborate on on projects using this sort of asynchronous""" start="00:17:41.480" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""communication using hyperdrive files. If there's a""" start="00:17:49.200" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""more specific question, I'm happy to answer it better.""" start="00:17:53.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template new="1" text="""Q: You mentioned streaming audio and video - could you confirm that this is in reference to consumption of media, and not broadcasting of it - right?""" start="00:17:59.306" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""You mentioned streaming audio and video. Could you confirm""" start="00:17:59.306" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""that this is in reference to consumption of media and not""" start="00:18:03.680" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""broadcasting of it? So this is all shared on a peer-to-peer""" start="00:18:06.840" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""network. So if I have a file on my machine that's a video or""" start="00:18:12.440" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""audio and I'm advertising on the network that people can""" start="00:18:17.120" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""download it from me, then if you want to download that video""" start="00:18:21.640" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""and I have it, I have a copy of it, When you click on that video""" start="00:18:26.320" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""in your hyperdrive, not only does it download it from me, but""" start="00:18:31.280" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""also you can stream it so you don't have to download the whole""" start="00:18:36.000" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""thing before watching it. So it is both in terms of serving""" start="00:18:39.040" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""the file and downloading the file.""" start="00:18:43.560" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""So I'll stay in the big blue button room. as I type in these""" start="00:18:46.800" video="qanda-hyperdrive" id="subtitle"]] [[!template text="""answers. And if anything else comes in, I'll answer it.""" start="00:18:59.880" video="qanda-hyperdrive" id="subtitle"]]
Questions or comments? Please e-mail [contact@ushin.org](mailto:contact@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20New%20in%20hyperdrive.el%3A%20quick%20install%2C%20peer%20graph%2C%20transclusion%21)