summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt')
-rw-r--r--2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt1595
1 files changed, 1595 insertions, 0 deletions
diff --git a/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt b/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt
new file mode 100644
index 00000000..2f7b316a
--- /dev/null
+++ b/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt
@@ -0,0 +1,1595 @@
+WEBVTT
+
+
+00:00:12.660 --> 00:00:13.160
+[Speaker 0]: I guess we are now live.
+
+00:00:15.360 --> 00:00:15.860
+So Joseph, thanks for being here.
+
+00:00:16.960 --> 00:00:17.460
+Thanks for talking to the hyperdrive.
+
+00:00:22.240 --> 00:00:22.440
+We already had some, or we already have a lot
+
+00:00:24.360 --> 00:00:24.619
+of questions here. And I guess I would start
+
+00:00:26.040 --> 00:00:26.540
+with, let's call it the difficult,
+
+00:00:29.119 --> 00:00:29.439
+the most difficult 1. So when you were
+
+00:00:30.820 --> 00:00:31.320
+developing hyperdrive for your colleague,
+
+00:00:34.760 --> 00:00:34.920
+what do you, or what have you learned the
+
+00:00:34.920 --> 00:00:35.420
+most?
+
+00:00:43.080 --> 00:00:43.320
+[Speaker 1]: I have learned how much faster and more
+
+00:00:46.360 --> 00:00:46.620
+enjoyable the development of this project can
+
+00:00:51.540 --> 00:00:52.040
+be with talented people working by my side,
+
+00:00:55.960 --> 00:00:56.260
+like Jonas and Adam and Prat and Mo,
+
+00:00:58.100 --> 00:00:58.260
+it's been really a pleasure to work with
+
+00:00:58.440 --> 00:00:58.940
+these folks.
+
+00:01:04.959 --> 00:01:05.140
+[Speaker 0]: So you have started at first on your own and
+
+00:01:07.400 --> 00:01:07.760
+then probably pushed it somewhere in open
+
+00:01:10.320 --> 00:01:10.820
+source or how did it develop,
+
+00:01:11.740 --> 00:01:12.240
+your development experience?
+
+00:01:15.920 --> 00:01:16.160
+[Speaker 1]: A few years ago, we started looking into
+
+00:01:21.960 --> 00:01:22.200
+using peer-to-peer technology for sharing all
+
+00:01:25.080 --> 00:01:25.360
+kinds of information. And we came across Move
+
+00:01:29.280 --> 00:01:29.440
+SignWeaver, who was recommended to us by a
+
+00:01:32.560 --> 00:01:32.720
+mutual friend. And we started working with
+
+00:01:33.840 --> 00:01:34.340
+Move, and then about a year ago,
+
+00:01:37.060 --> 00:01:37.560
+we started looking into using Emacs,
+
+00:01:40.020 --> 00:01:40.460
+the peer-to-peer software,
+
+00:01:43.520 --> 00:01:43.780
+so that we could make use of all of the
+
+00:01:46.340 --> 00:01:46.500
+powerful things that Emacs already does with
+
+00:01:47.780 --> 00:01:48.280
+org mode and other packages.
+
+00:01:51.560 --> 00:01:51.760
+And then we started working with Adam and
+
+00:01:52.320 --> 00:01:52.820
+Pratt and Jonas.
+
+00:01:54.280 --> 00:01:54.780
+[Speaker 2]: Yes.
+
+00:01:59.880 --> 00:02:00.380
+[Speaker 0]: So we are skipping to the next question.
+
+00:02:03.700 --> 00:02:04.200
+So to read it out, I use multiple computers
+
+00:02:06.200 --> 00:02:06.480
+and my partner also would like access to my
+
+00:02:08.680 --> 00:02:09.139
+notes. So, 2 questions at first.
+
+00:02:12.440 --> 00:02:12.720
+First 1, how well would this work with using
+
+00:02:15.060 --> 00:02:15.300
+this to edit my Zettelkasten hyperdrive using
+
+00:02:15.660 --> 00:02:16.160
+multiple computers?
+
+00:02:21.260 --> 00:02:21.760
+[Speaker 1]: Hyperdrive is single writer currently.
+
+00:02:24.140 --> 00:02:24.280
+So what that means is that if you have a
+
+00:02:25.080 --> 00:02:25.580
+hyperdrive that you've created,
+
+00:02:28.320 --> 00:02:28.820
+you're the only 1 who can make changes to it.
+
+00:02:31.560 --> 00:02:32.060
+And that's limited right now to editing 1
+
+00:02:33.240 --> 00:02:33.740
+hyperdrive from 1 machine.
+
+00:02:38.240 --> 00:02:38.740
+In theory, you could use the same private key
+
+00:02:40.240 --> 00:02:40.680
+and write to it from multiple machines,
+
+00:02:43.520 --> 00:02:44.020
+but you would have to make sure that you sync
+
+00:02:46.300 --> 00:02:46.520
+it on both machines and didn't make
+
+00:02:48.160 --> 00:02:48.480
+concurrent writes because then you would fork
+
+00:02:49.840 --> 00:02:50.340
+the history of your hyperdrive,
+
+00:02:51.020 --> 00:02:51.520
+and that would be bad.
+
+00:02:57.740 --> 00:02:57.980
+But we've spent a lot of time making links to
+
+00:02:59.780 --> 00:03:00.280
+hyperdrives work well,
+
+00:03:02.160 --> 00:03:02.360
+relative links within hyperdrives to other
+
+00:03:03.560 --> 00:03:03.840
+files inside of your drive.
+
+00:03:05.520 --> 00:03:06.020
+So you should be able to,
+
+00:03:10.120 --> 00:03:10.520
+with some exceptions, just take your personal
+
+00:03:13.360 --> 00:03:13.780
+information management set of org files or
+
+00:03:14.760 --> 00:03:15.260
+whatever it is that you have,
+
+00:03:18.160 --> 00:03:18.260
+and upload them into a hyperdrive if all of
+
+00:03:22.740 --> 00:03:23.100
+that is publicly available or would be good
+
+00:03:27.260 --> 00:03:27.400
+to share publicly. And you can make that
+
+00:03:28.940 --> 00:03:29.440
+available for other people to link to.
+
+00:03:30.640 --> 00:03:30.840
+So you can have multiple different
+
+00:03:32.040 --> 00:03:32.540
+hyperdrives that link to 1 another.
+
+00:03:35.600 --> 00:03:36.100
+[Speaker 0]: So it's like a huge network of hyperdrives
+
+00:03:38.000 --> 00:03:38.500
+connected to each other in some way.
+
+00:03:39.140 --> 00:03:39.640
+[Speaker 1]: Yeah.
+
+00:03:41.120 --> 00:03:41.620
+[Speaker 0]: So that's kind of neat and kind of cool.
+
+00:03:44.240 --> 00:03:44.480
+There was a follow-up question or the second
+
+00:03:46.780 --> 00:03:47.100
+part of the question. Okay,
+
+00:03:48.860 --> 00:03:49.200
+then using the same hyperdrive is probably
+
+00:03:51.820 --> 00:03:52.060
+not possible, but interlinking would be the
+
+00:03:57.500 --> 00:03:57.840
+best way to do it. There was a question
+
+00:03:59.540 --> 00:03:59.820
+concerning how they should install it.
+
+00:04:01.160 --> 00:04:01.440
+So What would be a good way of getting
+
+00:04:03.580 --> 00:04:04.080
+hyperdrives if you do not want to install npm
+
+00:04:06.460 --> 00:04:06.740
+and have a binary? Could you compile it with
+
+00:04:08.300 --> 00:04:08.800
+denner or rusk or zig or go?
+
+00:04:10.960 --> 00:04:11.120
+CLI alternative tool, I would prefer to
+
+00:04:11.840 --> 00:04:12.340
+download a single binary.
+
+00:04:17.420 --> 00:04:17.720
+[Speaker 1]: There's something that Jonas was playing
+
+00:04:20.459 --> 00:04:20.800
+around with using Geeks to install Hyper
+
+00:04:22.860 --> 00:04:23.360
+Gateway. So the way that HyperDrive.el,
+
+00:04:26.880 --> 00:04:27.380
+the Emacs package, works right now is similar
+
+00:04:30.300 --> 00:04:30.720
+to the way that the transmission Emacs client
+
+00:04:34.200 --> 00:04:34.640
+for BitTorrent works, where you have a client
+
+00:04:37.320 --> 00:04:37.480
+in Emacs that connects to a daemon that is a
+
+00:04:39.120 --> 00:04:39.280
+separate process that's running on your
+
+00:04:41.820 --> 00:04:42.320
+machine, the transmission daemon.
+
+00:04:43.500 --> 00:04:44.000
+But in this case, we have HyperGateway,
+
+00:04:46.060 --> 00:04:46.560
+which is running as a daemon on your machine.
+
+00:04:48.180 --> 00:04:48.680
+And then hyperdrive.el
+
+00:04:51.020 --> 00:04:51.520
+connects to that daemon and sends requests,
+
+00:04:53.520 --> 00:04:53.620
+and all of the hyperdrive stuff under the
+
+00:04:55.880 --> 00:04:56.380
+hood happens with her gateway.
+
+00:04:57.940 --> 00:04:58.440
+But so that package can,
+
+00:05:00.280 --> 00:05:00.460
+or hypergateway, the program can be
+
+00:05:02.900 --> 00:05:03.080
+installed, The easiest way is to just
+
+00:05:04.400 --> 00:05:04.900
+download it from the GitHub releases.
+
+00:05:07.060 --> 00:05:07.560
+You could also use NPM to install it.
+
+00:05:09.520 --> 00:05:09.680
+And then the third option that we've been
+
+00:05:12.920 --> 00:05:13.040
+playing around with is Jonas was writing a
+
+00:05:14.540 --> 00:05:15.040
+little script to install it using Geeks,
+
+00:05:18.340 --> 00:05:18.840
+since Geeks now comes with Node 18.
+
+00:05:20.740 --> 00:05:20.940
+And so you should be able to install it using
+
+00:05:20.940 --> 00:05:21.440
+Geeks.
+
+00:05:25.320 --> 00:05:25.520
+[Speaker 0]: Right, thank you. We have 2 people here
+
+00:05:26.100 --> 00:05:26.600
+joined with microphone.
+
+00:05:30.240 --> 00:05:30.560
+Do we have now any question to Joseph or just
+
+00:05:32.060 --> 00:05:32.560
+here for chilling out.
+
+00:05:41.820 --> 00:05:42.260
+I guess it's a no. Plasma,
+
+00:05:42.260 --> 00:05:42.760
+yeah.
+
+00:05:46.120 --> 00:05:46.260
+[Speaker 3]: What about using, having some of the
+
+00:05:47.960 --> 00:05:48.460
+information being private in the hyperdrives.
+
+00:05:54.240 --> 00:05:54.400
+[Speaker 1]: That's not what we have been focusing on at
+
+00:05:55.240 --> 00:05:55.640
+this point. At this point,
+
+00:05:57.340 --> 00:05:57.660
+what we've been working on is mainly using
+
+00:06:02.180 --> 00:06:02.680
+hyperdrives for a public forum type tool.
+
+00:06:06.420 --> 00:06:06.560
+But you could encrypt those files if you
+
+00:06:09.340 --> 00:06:09.840
+wanted to. You can also just,
+
+00:06:13.660 --> 00:06:14.160
+a poor man's security would just be to share
+
+00:06:16.660 --> 00:06:16.960
+your HyperDrive link only with those people
+
+00:06:19.060 --> 00:06:19.560
+that you want to have access to your drive.
+
+00:06:21.820 --> 00:06:22.240
+But the way that it works right now is anyone
+
+00:06:23.800 --> 00:06:24.280
+who has the link to a hyperdrive can access
+
+00:06:26.040 --> 00:06:26.420
+its content. So long as there are peers
+
+00:06:28.740 --> 00:06:28.900
+available on the network who can serve it to
+
+00:06:28.900 --> 00:06:29.400
+you.
+
+00:06:37.440 --> 00:06:37.660
+[Speaker 0]: Any follow up question from your side,
+
+00:06:37.660 --> 00:06:38.160
+Plasma?
+
+00:06:46.720 --> 00:06:47.220
+[Speaker 3]: I had 1, I'll just have to re-remember it.
+
+00:06:55.240 --> 00:06:55.600
+[Speaker 0]: If you remember it, just feel free to
+
+00:06:56.000 --> 00:06:56.500
+interrupt me.
+
+00:06:58.980 --> 00:06:59.220
+[Speaker 3]: What about working? I've looked at this
+
+00:07:03.120 --> 00:07:03.480
+before. What about, if I remember correctly,
+
+00:07:04.920 --> 00:07:05.220
+it doesn't do as well with large files,
+
+00:07:09.060 --> 00:07:09.520
+so if you're going to store 200 gigs of video
+
+00:07:12.180 --> 00:07:12.520
+files, stuff like IPFS works a lot better,
+
+00:07:15.200 --> 00:07:15.480
+or BitTorrent. This is,
+
+00:07:17.120 --> 00:07:17.620
+are you, were you using the,
+
+00:07:21.980 --> 00:07:22.300
+any way of using multiple protocols for stuff
+
+00:07:25.560 --> 00:07:25.800
+like that? Or what were you doing with,
+
+00:07:27.340 --> 00:07:27.480
+or were you just doing the small files with
+
+00:07:28.680 --> 00:07:29.180
+the same protocol? Or
+
+00:07:34.440 --> 00:07:34.920
+[Speaker 1]: I would love to see an IPFS client in Emacs
+
+00:07:37.260 --> 00:07:37.700
+as well that could interface with Kubo or
+
+00:07:40.040 --> 00:07:40.240
+some other IPFS daemon and I think that those
+
+00:07:41.120 --> 00:07:41.620
+could work really well together.
+
+00:07:45.680 --> 00:07:45.860
+We mostly have been playing around with
+
+00:07:47.240 --> 00:07:47.740
+sharing relatively small files,
+
+00:07:52.120 --> 00:07:52.240
+up to hundreds of megabytes or maybe a
+
+00:07:55.240 --> 00:07:55.640
+gigabyte. We haven't played around yet with
+
+00:07:57.380 --> 00:07:57.880
+hyperdrive.el, the Emacs client,
+
+00:07:59.240 --> 00:07:59.740
+testing that with HyperGateway.
+
+00:08:04.020 --> 00:08:04.160
+But there may be other experiments that have
+
+00:08:05.880 --> 00:08:06.380
+been done that show that that works well.
+
+00:08:10.880 --> 00:08:11.320
+The main thing is that IPFS uses content
+
+00:08:14.820 --> 00:08:15.060
+addressability to reduce duplication of the
+
+00:08:16.620 --> 00:08:17.120
+content. Whereas in HyperDrive,
+
+00:08:20.140 --> 00:08:20.320
+if you upload the same file with the same
+
+00:08:23.160 --> 00:08:23.620
+contents twice, now you have double the
+
+00:08:25.120 --> 00:08:25.580
+content being stored in your HyperDrive.
+
+00:08:26.040 --> 00:08:26.540
+It's not deduplicated.
+
+00:08:30.800 --> 00:08:31.300
+You can always clear out part of the history
+
+00:08:36.340 --> 00:08:36.659
+of your hyperdrive But IPFS has really good
+
+00:08:39.140 --> 00:08:39.640
+built-in deduplication whereas hyperdrive
+
+00:08:39.860 --> 00:08:40.360
+does not
+
+00:08:44.159 --> 00:08:44.540
+[Speaker 4]: I have a question.
+
+00:08:47.440 --> 00:08:47.580
+[Speaker 3]: What about like commenting on other like if
+
+00:08:50.140 --> 00:08:50.600
+you have a couple of different Hypercore
+
+00:08:53.900 --> 00:08:54.220
+blogs, what about like commenting between
+
+00:08:56.680 --> 00:08:57.040
+them? Like you have some people who have a
+
+00:08:59.280 --> 00:08:59.640
+commenting form on Reddit for their blog
+
+00:08:59.640 --> 00:09:00.140
+posts.
+
+00:09:04.640 --> 00:09:04.760
+[Speaker 1]: So Move SignWeaver has been doing a lot of
+
+00:09:07.880 --> 00:09:08.380
+work recently with the distributed press API
+
+00:09:12.040 --> 00:09:12.540
+to integrate ActivityPub with these
+
+00:09:14.120 --> 00:09:14.620
+peer-to-peer technologies.
+
+00:09:17.980 --> 00:09:18.240
+Move can give you more information about
+
+00:09:22.120 --> 00:09:22.440
+that. But there is another feature that we'd
+
+00:09:23.400 --> 00:09:23.900
+like to add to hyperdrive.el,
+
+00:09:29.140 --> 00:09:29.640
+which is peer discovery using the swarming
+
+00:09:30.600 --> 00:09:31.100
+feature that HyperCore,
+
+00:09:34.600 --> 00:09:35.100
+HyperSWARM offers, where you'd be able to say
+
+00:09:38.500 --> 00:09:38.660
+that my node, my peer-to-peer node is
+
+00:09:41.640 --> 00:09:41.840
+interested in Emacs and free software as
+
+00:09:43.100 --> 00:09:43.320
+topics. And those would be 2 different
+
+00:09:45.060 --> 00:09:45.300
+topics. I would advertise on the network that
+
+00:09:46.240 --> 00:09:46.740
+I'm interested in those topics.
+
+00:09:49.120 --> 00:09:49.480
+And I would be able to discover other peers
+
+00:09:52.040 --> 00:09:52.200
+on the network who have also advertised that
+
+00:09:53.440 --> 00:09:53.940
+they're interested in those same topics.
+
+00:09:56.040 --> 00:09:56.320
+And then they would tell me,
+
+00:09:59.260 --> 00:09:59.760
+hey, here's the public key of my hyperdrive.
+
+00:10:01.820 --> 00:10:02.320
+Come check it out. I have posted information
+
+00:10:04.300 --> 00:10:04.540
+about those topics. And so in that way,
+
+00:10:06.860 --> 00:10:07.360
+you'd be able to, in a distributed fashion,
+
+00:10:09.660 --> 00:10:09.800
+discover other peers on the network who are
+
+00:10:11.240 --> 00:10:11.600
+interested in topics that you're interested
+
+00:10:11.600 --> 00:10:12.100
+in.
+
+00:10:16.780 --> 00:10:16.960
+[Speaker 3]: Something that would be useful in addition to
+
+00:10:19.600 --> 00:10:20.100
+that idea is like if you had your emacs
+
+00:10:25.560 --> 00:10:25.680
+Zettelkasten Publish like let's say you have
+
+00:10:27.860 --> 00:10:28.140
+some private data You make sure that that's
+
+00:10:29.800 --> 00:10:30.060
+scrubbed out before it goes to your hyper
+
+00:10:31.760 --> 00:10:32.260
+core and then you have another part of it
+
+00:10:35.540 --> 00:10:35.940
+that gets turned into a website for it's also
+
+00:10:38.040 --> 00:10:38.240
+given to other hyper core clients but you'd
+
+00:10:40.120 --> 00:10:40.620
+rather get the emacs users the org documents
+
+00:10:44.760 --> 00:10:44.920
+then you also publish some of them on a
+
+00:10:48.680 --> 00:10:48.840
+website so everybody as much people can get
+
+00:10:53.560 --> 00:10:53.960
+it as possible. And then a way of figuring
+
+00:10:55.640 --> 00:10:56.140
+out who you'd want to do,
+
+00:10:57.780 --> 00:10:58.180
+or if you're an Emacs user,
+
+00:10:59.860 --> 00:11:00.040
+maybe figure out that they're all related to
+
+00:11:01.440 --> 00:11:01.640
+each other, but you want to get the art mode
+
+00:11:03.080 --> 00:11:03.580
+documents because you're using EMAX.
+
+00:11:05.900 --> 00:11:06.400
+Yeah.
+
+00:11:10.360 --> 00:11:10.760
+[Speaker 0]: Maybe a side note, we have 4 minutes here on
+
+00:11:12.040 --> 00:11:12.400
+before we switch into the next track,
+
+00:11:13.200 --> 00:11:13.700
+just to let you know.
+
+00:11:17.900 --> 00:11:18.400
+[Speaker 1]: Thank you. So the hyper drive mirror feature
+
+00:11:21.220 --> 00:11:21.720
+that we added, would allow you to selectively
+
+00:11:24.840 --> 00:11:24.960
+choose which files you want to share in a
+
+00:11:28.500 --> 00:11:28.780
+hyperdrive. So, with Prot's denote file
+
+00:11:30.660 --> 00:11:31.000
+naming scheme or Carl Voigt's file tags
+
+00:11:33.600 --> 00:11:33.760
+naming scheme, you could just specify a
+
+00:11:35.940 --> 00:11:36.140
+regular expression. And you could say,
+
+00:11:40.140 --> 00:11:40.460
+I want to share out of my directory of org
+
+00:11:42.560 --> 00:11:42.740
+files, I want to share only those files that
+
+00:11:44.220 --> 00:11:44.720
+have been tagged as public,
+
+00:11:47.320 --> 00:11:47.520
+or only those files that have been tagged as
+
+00:11:49.680 --> 00:11:49.840
+emacs and then only those ones would get
+
+00:11:50.720 --> 00:11:51.220
+uploaded into your hyperdrive
+
+00:11:54.280 --> 00:11:54.560
+[Speaker 3]: or exclude all in any of the ones that say
+
+00:11:54.560 --> 00:11:55.060
+private
+
+00:12:01.620 --> 00:12:02.120
+[Speaker 0]: yep mike had a question
+
+00:12:05.220 --> 00:12:05.720
+[Speaker 4]: yeah I have a question for the hyperdrive.
+
+00:12:08.520 --> 00:12:08.940
+So I just maybe I missed it and you haven't
+
+00:12:09.340 --> 00:12:09.840
+put a link.
+
+00:12:16.200 --> 00:12:16.700
+[Speaker 1]: Oh, Mikhail, we can't hear you.
+
+00:12:22.660 --> 00:12:23.160
+[Speaker 3]: Heard you for a second.
+
+00:12:28.440 --> 00:12:28.940
+[Speaker 1]: Yes?
+
+00:12:29.640 --> 00:12:30.040
+[Speaker 4]: Can someone hear me? Okay,
+
+00:12:31.200 --> 00:12:31.400
+I have no idea what happened to my
+
+00:12:32.480 --> 00:12:32.980
+microphone, but now it's back.
+
+00:12:34.760 --> 00:12:34.920
+[Speaker 3]: Now we can. You can see the microphone on the
+
+00:12:35.840 --> 00:12:36.340
+top of the screen. So
+
+00:12:38.940 --> 00:12:39.080
+[Speaker 4]: yes, thank you. Okay. I have a question to
+
+00:12:41.520 --> 00:12:41.720
+hyperdrive. Is the hyperdrive a find on the
+
+00:12:46.160 --> 00:12:46.320
+hole punch point, point T O hole Or is it
+
+00:12:47.020 --> 00:12:47.520
+just another hyperdrive?
+
+00:12:51.260 --> 00:12:51.760
+[Speaker 1]: That's exactly the project that we're using.
+
+00:12:54.520 --> 00:12:55.020
+So the HolePunch team has released hyperdrive
+
+00:12:59.340 --> 00:12:59.620
+and other hyper core libraries as free
+
+00:13:01.880 --> 00:13:02.380
+software libraries that you can use.
+
+00:13:03.940 --> 00:13:04.440
+And so MoV SignWeaver,
+
+00:13:07.080 --> 00:13:07.440
+the project that MoV is working on,
+
+00:13:11.120 --> 00:13:11.620
+HyperGateway, depends on those libraries and
+
+00:13:15.520 --> 00:13:15.880
+it makes it easy for you to build other
+
+00:13:17.200 --> 00:13:17.700
+clients like hyperdrive.el
+
+00:13:20.600 --> 00:13:21.100
+which connect to the hyperdrive network.
+
+00:13:22.800 --> 00:13:23.300
+I hope that answers your question.
+
+00:13:25.140 --> 00:13:25.440
+[Speaker 4]: Yes it does, thank you.
+
+00:13:28.380 --> 00:13:28.620
+And what did make you choose hyperdrive for
+
+00:13:29.380 --> 00:13:29.880
+this Emacs project?
+
+00:13:34.400 --> 00:13:34.900
+[Speaker 1]: Mainly the fact that the drives are mutable,
+
+00:13:37.660 --> 00:13:38.160
+which makes it distinct from IPFS or
+
+00:13:40.800 --> 00:13:41.020
+BitTorrent, where when you share some piece
+
+00:13:44.760 --> 00:13:45.060
+of content, you're stuck with that static
+
+00:13:46.800 --> 00:13:47.020
+piece of content, which works well for some
+
+00:13:49.600 --> 00:13:50.100
+cases, but if you say you have a Zettelkasten
+
+00:13:52.300 --> 00:13:52.500
+or you have a set of org files that you want
+
+00:13:56.120 --> 00:13:56.580
+to share with people, you want to be able to
+
+00:13:58.860 --> 00:13:59.160
+update those files and have other people pull
+
+00:13:59.960 --> 00:14:00.360
+those updates from you.
+
+00:14:02.300 --> 00:14:02.720
+And so HyperDrive allows you to have these
+
+00:14:05.340 --> 00:14:05.820
+mutable sets of files that you can share and
+
+00:14:08.440 --> 00:14:08.600
+use the same link for other peers to pull the
+
+00:14:09.440 --> 00:14:09.800
+latest changes from you.
+
+00:14:11.660 --> 00:14:11.960
+Also, it's versioned, as we showed in the
+
+00:14:15.200 --> 00:14:15.700
+video, which is really helpful for having
+
+00:14:17.500 --> 00:14:17.900
+community deliberations and community
+
+00:14:19.400 --> 00:14:19.600
+discussions where you want to be able to
+
+00:14:22.420 --> 00:14:22.700
+reference some something that somebody said
+
+00:14:26.120 --> 00:14:26.320
+in the past and not have it get deleted or
+
+00:14:26.860 --> 00:14:27.360
+changed or something.
+
+00:14:30.600 --> 00:14:31.100
+[Speaker 0]: We are now switching to talk So just for
+
+00:14:32.720 --> 00:14:33.200
+letting you know if you want to say something
+
+00:14:37.640 --> 00:14:37.840
+now. Too late. The BB room is still open,
+
+00:14:38.480 --> 00:14:38.860
+so you can still discuss.
+
+00:14:41.480 --> 00:14:41.980
+There's also a lot going on on the pad.
+
+00:14:47.980 --> 00:14:48.480
+But you can also discuss here inside and
+
+00:14:49.760 --> 00:14:50.260
+answer the pet questions maybe later.
+
+00:14:52.800 --> 00:14:53.300
+[Speaker 1]: Yeah, there are good questions.
+
+00:14:58.680 --> 00:14:59.180
+I'll go ahead, please.
+
+00:15:01.120 --> 00:15:01.620
+[Speaker 3]: continuing here on the pad?
+
+00:15:04.540 --> 00:15:05.040
+[Speaker 1]: Are we I can hear you.
+
+00:15:07.540 --> 00:15:08.040
+[Speaker 5]: Yeah, so the question I had on the pad was,
+
+00:15:10.760 --> 00:15:10.900
+would it make sense in any sense to put a
+
+00:15:13.820 --> 00:15:13.940
+FUSE interface or put the POSIX semantics in
+
+00:15:14.960 --> 00:15:15.460
+front of this at some point?
+
+00:15:17.800 --> 00:15:18.080
+[Speaker 1]: Yeah, that would be cool.
+
+00:15:20.680 --> 00:15:21.060
+It's kind of a similar question to any plans
+
+00:15:21.680 --> 00:15:22.180
+for a Tramp interface.
+
+00:15:25.440 --> 00:15:25.940
+There was a project that the HyperCore
+
+00:15:31.160 --> 00:15:31.500
+HolePunch team was working on a year or more
+
+00:15:34.320 --> 00:15:34.820
+ago that provided a FUSE interface.
+
+00:15:39.560 --> 00:15:40.060
+And I think it didn't pan out.
+
+00:15:43.580 --> 00:15:43.940
+But it's a good idea. Same with the Tramp
+
+00:15:46.560 --> 00:15:46.720
+interface. It seems like a good idea that
+
+00:15:51.900 --> 00:15:52.260
+would make it possible to more easily hook
+
+00:15:55.520 --> 00:15:56.020
+into the built-in Emacs functionality for,
+
+00:16:01.340 --> 00:16:01.840
+for example, like incremental file name
+
+00:16:03.680 --> 00:16:03.960
+completion, which we don't currently support
+
+00:16:09.800 --> 00:16:10.260
+in Hyperdrive.el. So I'd love to have
+
+00:16:12.720 --> 00:16:13.220
+feedback and design ideas for those projects.
+
+00:16:15.860 --> 00:16:16.020
+[Speaker 5]: Yeah, there's just Everything in Emacs just
+
+00:16:17.980 --> 00:16:18.280
+sort of assumes the file system is there and
+
+00:16:20.940 --> 00:16:21.440
+usable in that way. That's all.
+
+00:16:23.980 --> 00:16:24.480
+[Speaker 1]: Yeah, it's a good idea.
+
+00:16:28.180 --> 00:16:28.680
+[Speaker 3]: An idea for the privacy type thing is
+
+00:16:33.160 --> 00:16:33.380
+Syncthing links. Because I think you can set
+
+00:16:36.100 --> 00:16:36.480
+up Syncthing in such a way that you have the
+
+00:16:38.560 --> 00:16:38.900
+private networks that other people can't
+
+00:16:40.240 --> 00:16:40.740
+actually get access to.
+
+00:16:45.540 --> 00:16:45.700
+[Speaker 1]: I did not know that that was possible with
+
+00:16:47.120 --> 00:16:47.620
+Syncthing. I'll have to look into that.
+
+00:16:48.840 --> 00:16:49.200
+[Speaker 3]: At least I think it is anyway,
+
+00:16:53.000 --> 00:16:53.500
+because yeah, there's ways you can explicitly
+
+00:16:56.780 --> 00:16:57.280
+authorize devices. Yeah,
+
+00:17:00.240 --> 00:17:00.400
+right. I think you could actually set it up
+
+00:17:03.480 --> 00:17:03.960
+in such a way that you can have private stuff
+
+00:17:06.300 --> 00:17:06.480
+and links, and then that might be a way that
+
+00:17:10.119 --> 00:17:10.619
+you can get a completely distributed
+
+00:17:12.720 --> 00:17:13.220
+Zettelcast and with private notes.
+
+00:17:22.339 --> 00:17:22.599
+[Speaker 1]: Yeah. Good idea. There's a question in the
+
+00:17:26.280 --> 00:17:26.380
+pad about DATRS, a Rust version of
+
+00:17:28.660 --> 00:17:29.160
+HyperDrive. I had not heard of that,
+
+00:17:30.260 --> 00:17:30.760
+so I'll have to look into that.
+
+00:17:33.040 --> 00:17:33.460
+If you had your druthers,
+
+00:17:34.820 --> 00:17:35.320
+what would make your work on hyperdrive.dl
+
+00:17:40.240 --> 00:17:40.740
+easier? It's been a lot of fun.
+
+00:17:42.480 --> 00:17:42.980
+I would love to have more user feedback.
+
+00:17:45.660 --> 00:17:46.160
+That would be my wish.
+
+00:17:50.500 --> 00:17:51.000
+I tried putting a git repo in HyperDrive.
+
+00:17:53.320 --> 00:17:53.500
+Does it work well? I don't think that would
+
+00:17:56.880 --> 00:17:57.100
+work well because, as I mentioned a moment a
+
+00:18:00.060 --> 00:18:00.220
+few moments ago, the data that you put into a
+
+00:18:00.920 --> 00:18:01.420
+hyperdrive is duplicated.
+
+00:18:06.300 --> 00:18:06.800
+So if you had the whole work tree in
+
+00:18:08.800 --> 00:18:08.960
+hyperdrive every time you made a change and
+
+00:18:12.340 --> 00:18:12.840
+saved it, it would be duplicated.
+
+00:18:15.240 --> 00:18:15.740
+If you had just a bare repository,
+
+00:18:18.240 --> 00:18:18.740
+I don't know, try it.
+
+00:18:21.140 --> 00:18:21.540
+[Speaker 3]: They're trying to solve the same problem,
+
+00:18:23.560 --> 00:18:24.060
+but 1 of the optimizations they have for
+
+00:18:25.520 --> 00:18:25.900
+being able to view a whole bunch of people's
+
+00:18:28.780 --> 00:18:28.980
+data is they made shallow clones a lot
+
+00:18:34.640 --> 00:18:35.140
+[Speaker 1]: Would you phrase that again,
+
+00:18:35.140 --> 00:18:35.640
+please?
+
+00:18:39.780 --> 00:18:40.280
+[Speaker 3]: easier. Right? So like Git and Hypercore,
+
+00:18:42.720 --> 00:18:43.220
+1 of the things they do is they allow you to
+
+00:18:46.160 --> 00:18:46.660
+have a whole history of every single change
+
+00:18:51.880 --> 00:18:52.380
+for a dataset Zettelkasten project.
+
+00:18:56.400 --> 00:18:56.600
+But 1 of the optimizations Hypercore did to
+
+00:19:02.020 --> 00:19:02.220
+make it more network web friendly is they
+
+00:19:04.540 --> 00:19:04.700
+made the shallow clones work a lot better and
+
+00:19:07.040 --> 00:19:07.240
+a lot... Yeah, they made that work a lot
+
+00:19:08.760 --> 00:19:09.060
+better so you don't have to download every
+
+00:19:11.340 --> 00:19:11.840
+single thing for every single project.
+
+00:19:14.860 --> 00:19:15.100
+And because they both are implementing the
+
+00:19:17.800 --> 00:19:18.040
+delta upgrades, I don't see how they could
+
+00:19:19.000 --> 00:19:19.500
+work really well together.
+
+00:19:21.780 --> 00:19:22.280
+At least from what it looked like to me.
+
+00:19:25.640 --> 00:19:26.140
+It can't hurt to experiment.
+
+00:19:28.980 --> 00:19:29.480
+[Speaker 1]: But yeah, I would agree with you.
+
+00:19:35.020 --> 00:19:35.180
+Is data transferred between nodes in the
+
+00:19:38.800 --> 00:19:39.060
+clear or encrypted? That's a good question.
+
+00:19:41.640 --> 00:19:42.140
+I don't know how it's encrypted.
+
+00:19:47.440 --> 00:19:47.940
+I don't, I wouldn't recommend sharing
+
+00:19:53.400 --> 00:19:53.900
+sensitive data with hyperdrive right now?
+
+00:19:55.680 --> 00:19:55.800
+I would recommend if you want to play with
+
+00:19:57.240 --> 00:19:57.520
+it, have it be something where you're
+
+00:20:00.660 --> 00:20:01.160
+expecting the data to be shared.
+
+00:20:03.460 --> 00:20:03.960
+Is there a searchable catalog?
+
+00:20:06.700 --> 00:20:06.980
+[Speaker 3]: It's also the data in transport versus data
+
+00:20:08.480 --> 00:20:08.800
+at rest. I'm pretty sure the data at rest
+
+00:20:09.960 --> 00:20:10.460
+would not be encrypted.
+
+00:20:14.440 --> 00:20:14.640
+Right. You can separate that into those 2
+
+00:20:14.640 --> 00:20:15.140
+questions.
+
+00:20:19.920 --> 00:20:20.420
+[Speaker 1]: Right. Right. Is there a searchable catalog
+
+00:20:23.000 --> 00:20:23.320
+of hyper drives? So that's a thing,
+
+00:20:32.980 --> 00:20:33.480
+an idea that we've been a distributed trust
+
+00:20:38.200 --> 00:20:38.700
+network for discovering peers that are
+
+00:20:41.260 --> 00:20:41.760
+trusted for a particular topic.
+
+00:20:47.220 --> 00:20:47.440
+And we actually made a demo video of a
+
+00:20:51.760 --> 00:20:51.900
+previous prototype that's available on the
+
+00:20:54.580 --> 00:20:55.080
+Ashen hyperdrive that you can watch that
+
+00:20:58.980 --> 00:20:59.280
+shows the basic idea. But the idea is just
+
+00:21:02.980 --> 00:21:03.480
+that you would have a list of peers that you
+
+00:21:07.120 --> 00:21:07.620
+think are worth listening to or worth reading
+
+00:21:09.400 --> 00:21:09.880
+for a particular topic.
+
+00:21:11.980 --> 00:21:12.180
+And those peers would have peers that they
+
+00:21:14.640 --> 00:21:14.920
+think are worth listening to for that same
+
+00:21:16.600 --> 00:21:16.720
+topic. And so you would say,
+
+00:21:17.560 --> 00:21:17.900
+if I'm interested in Emacs,
+
+00:21:21.220 --> 00:21:21.660
+I want to see all the peers that I trust for
+
+00:21:23.700 --> 00:21:24.200
+the topic Emacs. And if,
+
+00:21:27.340 --> 00:21:27.640
+say, Adam Porter shows up in my list and Adam
+
+00:21:30.340 --> 00:21:30.840
+Porter trusts Jonas and Jonas trusts Pratt,
+
+00:21:33.420 --> 00:21:33.920
+I would be able to read hyperdrive
+
+00:21:36.760 --> 00:21:37.260
+information from all of those people by
+
+00:21:41.600 --> 00:21:41.800
+looking at the indirect relationships that I
+
+00:21:43.260 --> 00:21:43.760
+have by following the chain of relationships,
+
+00:21:44.760 --> 00:21:45.260
+kind of like a web of trust.
+
+00:21:49.640 --> 00:21:49.860
+And so it would also allow you to have a
+
+00:21:53.480 --> 00:21:53.980
+network of peers that you trust to block
+
+00:21:54.900 --> 00:21:55.400
+other people on your behalf.
+
+00:21:57.660 --> 00:21:58.160
+So it would be useful for subjective
+
+00:22:02.220 --> 00:22:02.520
+moderation where you can remove spam and bad
+
+00:22:04.920 --> 00:22:05.420
+actors from the people that you follow
+
+00:22:08.940 --> 00:22:09.440
+without having to delegate that powerful
+
+00:22:13.260 --> 00:22:13.380
+responsibility to some third party in a
+
+00:22:15.260 --> 00:22:15.720
+permanent way where that third party might
+
+00:22:23.040 --> 00:22:23.320
+abuse that power. So it allows you to share
+
+00:22:26.120 --> 00:22:26.260
+your list of trusted peers and your list of
+
+00:22:29.180 --> 00:22:29.280
+blocked peers with other people in a
+
+00:22:29.860 --> 00:22:30.360
+peer-to-peer way.
+
+00:22:38.080 --> 00:22:38.580
+[Speaker 3]: Have you ever looked at GNUnet?
+
+00:22:40.200 --> 00:22:40.700
+It kind of does some...
+
+00:22:45.660 --> 00:22:45.800
+It's trying to do something weird with the
+
+00:22:47.520 --> 00:22:47.600
+internet where it redesigns it from the
+
+00:22:51.040 --> 00:22:51.540
+ground up to be peer-to-peer,
+
+00:22:53.680 --> 00:22:54.180
+local first, or something like that.
+
+00:22:58.380 --> 00:22:58.880
+[Speaker 1]: I would like to know more about GNUnet.
+
+00:23:01.800 --> 00:23:01.960
+Yes. I have heard of it,
+
+00:23:03.620 --> 00:23:04.120
+but I haven't really researched it.
+
+00:23:09.060 --> 00:23:09.560
+If you edit a file on the hyperdrive,
+
+00:23:12.400 --> 00:23:12.900
+then edit the same file on the local mirror,
+
+00:23:15.480 --> 00:23:15.640
+how is the conflict handled when you sync the
+
+00:23:21.140 --> 00:23:21.280
+mirror again? So I think if I understand the
+
+00:23:29.160 --> 00:23:29.620
+question, the answer is that you can't edit
+
+00:23:32.280 --> 00:23:32.780
+the file in 2 different places,
+
+00:23:36.860 --> 00:23:37.360
+I think is the answer to the question.
+
+00:23:41.220 --> 00:23:41.720
+If you were to manually copy the private key
+
+00:23:44.040 --> 00:23:44.540
+from 1 machine onto another machine,
+
+00:23:51.820 --> 00:23:52.320
+then you could cause a conflict,
+
+00:23:54.400 --> 00:23:54.900
+like a merge conflict,
+
+00:23:58.100 --> 00:23:58.240
+but you would have to go out of your way to
+
+00:24:00.520 --> 00:24:00.900
+do that. And It's not handled.
+
+00:24:03.580 --> 00:24:03.820
+I think the Hypercore Hole Punch team has
+
+00:24:05.600 --> 00:24:05.860
+another project that they're working on that
+
+00:24:07.200 --> 00:24:07.700
+would, it's called AutoBase,
+
+00:24:09.560 --> 00:24:10.060
+that would merge those conflicts.
+
+00:24:13.200 --> 00:24:13.680
+But we're not using that right now.
+
+00:24:16.260 --> 00:24:16.760
+And I think it's in early development still.
+
+00:24:19.860 --> 00:24:20.360
+So there might be a solution in the future.
+
+00:24:32.240 --> 00:24:32.740
+[Speaker 3]: What's a surprising change of thoughts or
+
+00:24:36.900 --> 00:24:37.180
+what's the most interesting thing you weren't
+
+00:24:39.060 --> 00:24:39.560
+expecting to discover while developing this?
+
+00:24:44.640 --> 00:24:44.800
+Like change of thoughts on how you write or I
+
+00:24:45.020 --> 00:24:45.520
+don't know.
+
+00:24:59.060 --> 00:24:59.540
+[Speaker 1]: Well, I'm relatively new to Emacs and to Lisp
+
+00:25:01.200 --> 00:25:01.700
+and really to programming in general.
+
+00:25:04.160 --> 00:25:04.540
+And so it's been a fantastic learning
+
+00:25:08.480 --> 00:25:08.900
+experience. Adam, Alpha Papa,
+
+00:25:11.320 --> 00:25:11.520
+Adam and I have been doing a lot of pair
+
+00:25:12.960 --> 00:25:13.460
+programming sessions where we work together
+
+00:25:15.380 --> 00:25:15.880
+and I get to learn from him.
+
+00:25:19.540 --> 00:25:19.940
+And we've had meetings with Jonas and Prat
+
+00:25:23.560 --> 00:25:23.800
+and meetings with Mauve where it's a
+
+00:25:25.520 --> 00:25:26.020
+fantastic learning experience for me to
+
+00:25:30.660 --> 00:25:30.800
+discover how to build software in an
+
+00:25:32.820 --> 00:25:33.320
+efficient and intelligent way.
+
+00:25:40.580 --> 00:25:40.920
+It's a huge pleasure. If there are no more
+
+00:25:43.320 --> 00:25:43.820
+questions, I just wanted to encourage
+
+00:25:48.380 --> 00:25:48.620
+everyone to try it out and to let us know
+
+00:25:50.380 --> 00:25:50.560
+what you think. It would be really helpful to
+
+00:25:54.960 --> 00:25:55.320
+have some feedback from people who are using
+
+00:25:57.240 --> 00:25:57.600
+it in new and creative ways that we haven't
+
+00:25:57.600 --> 00:25:58.100
+anticipated.
+
+00:26:02.120 --> 00:26:02.300
+[Speaker 6]: Hi, I'd just like to say that I tried this
+
+00:26:02.980 --> 00:26:03.480
+new thing called hyperdrive.el
+
+00:26:05.880 --> 00:26:06.380
+today, and I think it's pretty cool.
+
+00:26:12.540 --> 00:26:12.800
+[Speaker 2]: Sorry, that was somebody else.
+
+00:26:13.440 --> 00:26:13.940
+Hey Joseph, how's it going?
+
+00:26:15.080 --> 00:26:15.580
+Oh, talk today.
+
+00:26:16.420 --> 00:26:16.580
+[Speaker 3]: Oh, thanks. Wonderful.
+
+00:26:19.200 --> 00:26:19.700
+[Speaker 1]: Who's that? Oh, hey. Well,
+
+00:26:34.060 --> 00:26:34.560
+I'm going to say goodbye.
+
+00:26:37.040 --> 00:26:37.540
+Thank you. And thank you for your questions,
+
+00:26:39.680 --> 00:26:39.840
+[Speaker 3]: I know that
+
+00:26:40.380 --> 00:26:40.880
+[Speaker 1]: PlasmaStrike. I've met you before.
+
+00:26:42.340 --> 00:26:42.720
+Appreciate your questions,
+
+00:26:42.880 --> 00:26:43.380
+your thoughts.
+
+00:26:50.380 --> 00:26:50.880
+[Speaker 2]: Oh, by the way, Joseph,
+
+00:26:53.000 --> 00:26:53.500
+we have our, our first,
+
+00:26:55.120 --> 00:26:55.480
+I don't know if our first new user,
+
+00:26:57.280 --> 00:26:57.780
+but we have the first link being shared,
+
+00:27:01.160 --> 00:27:01.480
+to hyperdrive file in the chat and I loaded
+
+00:27:03.080 --> 00:27:03.240
+it and it works. And it's funny too.
+
+00:27:03.880 --> 00:27:04.000
+It's worth looking at.
+
+00:27:09.140 --> 00:27:09.640
+So. Oh, I think it's frozen.
+
+00:27:11.580 --> 00:27:12.080
+I don't know if anybody can hear me.
+
+00:27:12.720 --> 00:27:13.220
+[Speaker 3]: I can.
+
+00:27:15.200 --> 00:27:15.620
+[Speaker 2]: Okay, cool. The browser is frozen.
+
+00:27:19.020 --> 00:27:19.520
+It's it's not, okay. Just unfroze.
+
+00:27:21.740 --> 00:27:22.100
+Anyway. All right. Well,
+
+00:27:24.000 --> 00:27:24.440
+By the way, I enjoyed your talks about
+
+00:27:26.260 --> 00:27:26.480
+hyperbole. I'm going to rewatch those later
+
+00:27:28.040 --> 00:27:28.260
+when I get a chance. It was nice to meet you,
+
+00:27:31.100 --> 00:27:31.240
+too. Bob is a really great guy to work with.
+
+00:27:38.800 --> 00:27:39.300
+[Speaker 3]: Definitely a lot of interesting people.
+
+00:27:40.200 --> 00:27:40.700
+[Speaker 2]: I owe him 1. Yes, sir.
+
+00:27:41.580 --> 00:27:41.760
+All right, you have a good day,
+
+00:27:45.140 --> 00:27:45.640
+[Speaker 3]: Will do, I like the insistence on local
+
+00:27:48.740 --> 00:27:48.940
+first. Feels like it's a good dovetail with
+
+00:27:49.540 --> 00:27:50.040
+the hyper core
+
+00:27:51.180 --> 00:27:51.680
+[Speaker 2]: enjoy the conference. Yeah,
+
+00:27:54.960 --> 00:27:55.120
+yeah, I think there's a lot of a lot of
+
+00:27:57.980 --> 00:27:58.180
+interesting possibilities to build on this we
+
+00:28:01.340 --> 00:28:01.600
+have some plans that we Will get to you later
+
+00:28:05.600 --> 00:28:05.820
+this well in the coming year And we'll see
+
+00:28:07.480 --> 00:28:07.900
+where the hyperdrive people,
+
+00:28:09.920 --> 00:28:10.040
+you know, upstream how they develop it as
+
+00:28:14.340 --> 00:28:14.840
+well and yeah, so exciting times.