summaryrefslogtreecommitdiffstats
path: root/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-trans...
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2024-12-13 11:03:03 -0500
committerSacha Chua <sacha@sachachua.com>2024-12-13 11:03:03 -0500
commit1147abeaa0686a5ae3c71df674ccd709b4b3617f (patch)
tree3254abd08a949d665ed0d2a1fa853cf917241f89 /2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt
parentd99364ed2b2d51acdf668525d5b449a25d8a37c0 (diff)
downloademacsconf-wiki-master.tar.xz
emacsconf-wiki-master.zip
add answers captionsHEADmaster
Diffstat (limited to '2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt')
-rw-r--r--2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt630
1 files changed, 630 insertions, 0 deletions
diff --git a/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt b/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt
new file mode 100644
index 00000000..7b377fed
--- /dev/null
+++ b/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt
@@ -0,0 +1,630 @@
+WEBVTT captioned by sachac
+
+NOTE New version of hyperdrive.el
+
+00:00:00.000 --> 00:00:02.596
+One thing I wanted to mention was that
+
+00:00:02.597 --> 00:00:08.596
+as with last year, I just released a new version of
+
+00:00:08.597 --> 00:00:13.476
+hyperdrive.el and it depends on the latest release of
+
+00:00:13.477 --> 00:00:19.156
+transient.el and so if you are going to install this
+
+00:00:19.157 --> 00:00:25.156
+package, make sure that you restart your Emacs after you
+
+00:00:25.157 --> 00:00:29.796
+install it, if you aren't already up to date with transient,
+
+00:00:29.797 --> 00:00:35.316
+which was released yesterday. Otherwise, since it, this
+
+00:00:35.317 --> 00:00:40.876
+latest version of transient.el updates the transient
+
+00:00:40.877 --> 00:00:46.316
+prefix EIEIO class, and it won't work unless you restart
+
+00:00:46.317 --> 00:00:50.996
+Emacs. Okay, well, good to know. I think that's a small price
+
+00:00:50.997 --> 00:00:57.076
+to pay to be on a bleedingest of bleeding edges. All right, I
+
+00:00:57.077 --> 00:00:59.596
+see there's a question here. Let me see if I can read it. Yeah,
+
+00:00:59.597 --> 00:01:01.276
+sure. Do you want me to field it to you or do you want to read it?
+
+00:01:01.277 --> 00:01:04.104
+Oh, sure. Go ahead. I'd love to hear you read it. Sure.
+
+00:01:04.105 --> 00:01:06.686
+Thank you. So first question. Hi there.
+
+NOTE Q: Network effects are tricky - do you know of any public shares people can join to try this tool out properly?
+
+00:01:06.687 --> 00:01:07.787
+Thank you for the talk.
+
+00:01:07.788 --> 00:01:10.756
+I enjoyed watching it. I tried this tool last year and it
+
+00:01:10.757 --> 00:01:13.156
+seemed to work well, but I don't know anyone who actually
+
+00:01:13.157 --> 00:01:16.516
+uses it. Network effects are tricky. Do you know of any
+
+00:01:16.517 --> 00:01:19.636
+public shares people can join to try to try this tool out
+
+00:01:19.637 --> 00:01:24.396
+properly? Thank you. Network effects are indeed tricky.
+
+00:01:24.397 --> 00:01:29.916
+Yeah. That's kind of part of the purpose of the peer graph is
+
+00:01:29.917 --> 00:01:34.596
+to make it easier to discover peers in a way that's more, uh,
+
+00:01:34.597 --> 00:01:37.956
+more reliable and consistent than just somebody puts a
+
+00:01:37.957 --> 00:01:42.076
+public key on Reddit and then it's lost unless somebody
+
+00:01:42.077 --> 00:01:50.156
+finds it. Um, but the, the public keys that I know of are,
+
+00:01:50.157 --> 00:01:53.076
+there's the public key for the Ushin hyperdrive, which is
+
+00:01:53.077 --> 00:01:56.236
+basically just the same content that's on the website
+
+00:01:56.237 --> 00:02:00.156
+mirrored to a hyperdrive. Um, and then there are a few other
+
+00:02:00.157 --> 00:02:07.316
+ones. There's like, uh, hypha.coop has some WebZine
+
+00:02:07.317 --> 00:02:13.796
+content accessible via HyperDrive and also via IPFS. And
+
+00:02:13.797 --> 00:02:19.916
+then mauvesignweaver has a blog that's also available on
+
+00:02:19.917 --> 00:02:23.196
+Hyper. So that's blog.mauve.moe .
+
+00:02:23.197 --> 00:02:28.276
+But besides that, that's kind of the purpose of this
+
+00:02:28.277 --> 00:02:31.756
+peer graph thing is to make it easier to discover other
+
+00:02:31.757 --> 00:02:36.596
+peers. Yeah, to make it also very visual in a way, because,
+
+00:02:36.597 --> 00:02:40.436
+you know, I personally, it's funny because it reminded me of
+
+00:02:40.437 --> 00:02:45.156
+talks that I did in the past about the trust system for PGP
+
+00:02:45.157 --> 00:02:47.596
+keychains, because at the end of the day, you know, this
+
+00:02:47.597 --> 00:02:50.596
+trust system, whether you trust someone absolutely or
+
+00:02:50.597 --> 00:02:53.876
+relatively, the blocking system, it feels very related.
+
+00:02:53.877 --> 00:02:57.356
+Any kind of a chain of trust like this, feels very
+
+00:02:57.357 --> 00:03:00.436
+reminiscent, obviously, but it felt very nice that for you,
+
+00:03:00.437 --> 00:03:04.676
+you had a dynamic display of this web of trust. Whereas for
+
+00:03:04.677 --> 00:03:08.836
+me, I had to make fancy diagram in ticks, in latex, just to
+
+00:03:08.837 --> 00:03:14.956
+make sure that people understood what was actually going
+
+00:03:14.957 --> 00:03:21.596
+on. Yeah, one thing I want to point out is just the difference
+
+00:03:21.597 --> 00:03:25.556
+in utility for something like the PGP web of trust versus
+
+00:03:25.557 --> 00:03:29.956
+this kind of network of peers is, if I understand right, the
+
+00:03:29.957 --> 00:03:34.716
+main purpose of web of trust is to identify that a certain
+
+00:03:34.717 --> 00:03:42.516
+public key is actually created by the person that they claim
+
+00:03:42.517 --> 00:03:46.036
+to be. So you have a way of identifying that a key actually
+
+00:03:46.037 --> 00:03:49.996
+matches like a government identity. Whereas this kind of
+
+00:03:49.997 --> 00:03:53.356
+network of peers has nothing to do with authenticating a key
+
+00:03:53.357 --> 00:03:57.636
+or associating a key with an identity, like a government
+
+00:03:57.637 --> 00:04:03.396
+identity. The purpose is exclusively just to get more peers
+
+00:04:03.397 --> 00:04:07.276
+to be able to discover more peers who have things that are
+
+00:04:07.277 --> 00:04:07.676
+worth reading.
+
+00:04:07.677 --> 00:04:14.356
+Yeah, it's a different take on a concept, but even though the
+
+00:04:14.357 --> 00:04:18.836
+concept might be the same, I find there's a wealth of things
+
+00:04:18.837 --> 00:04:21.716
+that can be done thanks to this, because as you said, you
+
+00:04:21.717 --> 00:04:25.396
+trust someone to send you a file that is trustworthy. Well,
+
+00:04:25.397 --> 00:04:28.236
+with PGP, it's mostly about communication, but about file
+
+00:04:28.237 --> 00:04:33.356
+sharing, it just opens up completely new avenues. Yeah. Do
+
+00:04:33.357 --> 00:04:40.516
+you have anything else to add? And about that, I think one of
+
+00:04:40.517 --> 00:04:45.476
+the barriers to the PGP web of trust is that it required
+
+00:04:45.477 --> 00:04:48.916
+getting together to have key parties to meet people and
+
+00:04:48.917 --> 00:04:51.596
+verify identities. Whereas with this kind of thing,
+
+00:04:51.597 --> 00:04:54.076
+there's no need to do that because so long as your content is
+
+00:04:54.077 --> 00:04:57.876
+interesting, it doesn't matter that you're not who you
+
+00:04:57.877 --> 00:05:01.076
+claim to be or that you don't even claim to be anybody. Yeah, I
+
+00:05:01.077 --> 00:05:04.556
+mean, again, as you mentioned, it's not about identifying
+
+00:05:04.557 --> 00:05:08.196
+people, it's just about identifying value, in a way, in the
+
+00:05:08.197 --> 00:05:10.636
+content that people share. It has nothing to do with
+
+00:05:10.637 --> 00:05:13.916
+verifying their actual identity. But again, it's the same
+
+00:05:13.917 --> 00:05:16.596
+technology, it's the same understanding, but for
+
+00:05:16.597 --> 00:05:18.556
+different applications, which is lovely because
+
+00:05:18.557 --> 00:05:22.116
+programming is fractals all over. The same problems repeat
+
+00:05:22.117 --> 00:05:24.836
+themselves and the same solutions show up for widely
+
+00:05:24.837 --> 00:05:26.996
+different scenarios, which is always good. Yeah. Anything
+
+00:05:26.997 --> 00:05:32.676
+else? One more thing. Yeah. One more thing is that I wanted to
+
+00:05:32.677 --> 00:05:36.956
+give some kudos to, um, some of the other projects that
+
+00:05:36.957 --> 00:05:42.796
+inspired the pure graph work. One of them is Adam Porter's or
+
+00:05:42.797 --> 00:05:50.076
+graph view, um, which is a, um, a tool for visualizing
+
+00:05:50.077 --> 00:05:55.276
+different nodes in an org file and how they link to one
+
+00:05:55.277 --> 00:06:01.876
+another. Um, he did. the pioneering work to figure out how to
+
+00:06:01.877 --> 00:06:07.316
+render interactive graphs with GraphViz. And so we worked
+
+00:06:07.317 --> 00:06:12.476
+together on it and kind of hacked down the last parts that
+
+00:06:12.477 --> 00:06:16.796
+weren't working correctly. And so this is inspired a lot.
+
+00:06:16.797 --> 00:06:19.316
+The user interface is inspired a lot by Adam's work. And then
+
+00:06:19.317 --> 00:06:26.156
+also the idea of having people that you mark as blockers and
+
+00:06:26.157 --> 00:06:31.076
+block is inspired by another project called TrustNet by
+
+00:06:31.077 --> 00:06:37.196
+Alex Cobleigh. I can type in the link there. Alex, how do you
+
+00:06:37.197 --> 00:06:43.516
+spell it? Cobleigh? Yeah, I'll type it in here. Thank you. And I
+
+00:06:43.517 --> 00:06:50.596
+think the link is https://cblgh.org/trustnet. I think that is it.
+
+00:06:50.597 --> 00:06:57.836
+I'm not totally sure. But yeah. Okay, well, that's very good.
+
+00:06:57.837 --> 00:07:01.396
+and thank you for giving credits to the inspiration, because
+
+00:07:01.397 --> 00:07:05.556
+again, nothing is done without context, and it's always nice
+
+00:07:05.557 --> 00:07:08.516
+in the free software world to acknowledge people who have
+
+00:07:08.517 --> 00:07:11.676
+influenced us, because it's very nice when people start
+
+00:07:11.677 --> 00:07:14.556
+contributing, maintaining software, publishing stuff
+
+00:07:14.557 --> 00:07:17.916
+that they actually start collaborating with people who've
+
+00:07:17.917 --> 00:07:21.916
+inspired them, which is a nice way to climb over the shoulders
+
+00:07:21.917 --> 00:07:25.636
+of giants, which this community likes so much. All right,
+
+00:07:25.637 --> 00:07:28.676
+moving on to the next question. We are, we have about seven
+
+00:07:28.677 --> 00:07:31.063
+more minutes for questions, so we're still good.
+
+NOTE Q: blocklist or whitelist so I can make them containing useful information for only me while also being useful with in a public sense
+
+00:07:31.064 --> 00:07:33.956
+Second question, one use case for this sharing and building upon
+
+00:07:33.957 --> 00:07:37.996
+second brain, sorry, one use case for this is sharing and
+
+00:07:37.997 --> 00:07:41.436
+building upon second brains, i.e. Zettelkasten, that's
+
+00:07:41.437 --> 00:07:44.396
+denote or what I'm actually doing, but a blocker for me
+
+00:07:44.397 --> 00:07:46.916
+wanting to make one public is wanting to use a block list or
+
+00:07:46.917 --> 00:07:51.556
+whitelist so that I can make them... Cautioning?
+
+00:07:51.557 --> 00:07:56.156
+Quarantining? Containing. Yes, definitely containing.
+
+00:07:56.157 --> 00:07:59.756
+Why did I go for quarantine rather than containing? I guess
+
+00:07:59.757 --> 00:08:04.636
+my brain went to a dark place from the 2020s. So I can make
+
+00:08:04.637 --> 00:08:08.996
+containing useful information for only me while also being
+
+00:08:08.997 --> 00:08:16.156
+useful in a public sense. Yes, I think your question is about
+
+00:08:16.157 --> 00:08:22.276
+how to keep some of the content of your Zettelkasten private
+
+00:08:22.277 --> 00:08:29.956
+and only have certain parts of it be public. If your desire is
+
+00:08:29.957 --> 00:08:35.796
+to only share certain files in your Zettelkasten, then you
+
+00:08:35.797 --> 00:08:43.596
+can use the hyperdrive mirror command that we demonstrated
+
+00:08:43.597 --> 00:08:48.596
+in the Emacs 2023 talk. In short,
+
+00:08:48.597 --> 00:08:53.916
+It lets you specify either a regular expression that
+
+00:08:53.917 --> 00:08:58.036
+matches only some of the files that'll get uploaded from a
+
+00:08:58.037 --> 00:09:02.236
+directory of files on your machine. And only the files that
+
+00:09:02.237 --> 00:09:05.716
+match that regex will be put into the hyperdrive and shared
+
+00:09:05.717 --> 00:09:08.796
+with the world. But it doesn't have to be a regex. It could be a
+
+00:09:08.797 --> 00:09:13.276
+lambda. So it could match based on file size or modification
+
+00:09:13.277 --> 00:09:18.996
+time or really whatever you like. So I hope that answers your
+
+00:09:18.997 --> 00:09:23.956
+question. Great. And I personally, as someone who loves
+
+00:09:23.957 --> 00:09:27.876
+tinkering with my Elisp, I particularly like the ability to
+
+00:09:27.877 --> 00:09:31.156
+specify things with a lambda because it just opens up the
+
+00:09:31.157 --> 00:09:34.356
+ceiling of the possibilities with interactions between
+
+00:09:34.357 --> 00:09:37.316
+different parts of software. And, you know, as I have worked
+
+00:09:37.317 --> 00:09:39.956
+significantly in Org Roam, I could definitely see
+
+00:09:39.957 --> 00:09:44.116
+interactions with lambdas here to make sure that we can send
+
+00:09:44.117 --> 00:09:47.156
+and share files based on the filter list that is
+
+00:09:47.157 --> 00:09:51.036
+incrementally added to thanks to those lambdas. So thanks
+
+00:09:51.037 --> 00:09:55.116
+for this. One more thing I want to add about that is that the,
+
+00:09:55.117 --> 00:10:00.116
+that same question of being able to upload only certain
+
+00:10:00.117 --> 00:10:04.316
+files while leaving others to be private was something
+
+00:10:04.317 --> 00:10:07.556
+that was inspired by Karl Voit. I had an email thread with
+
+00:10:07.557 --> 00:10:16.036
+him in which he talked about how he uses his file tags project
+
+00:10:16.037 --> 00:10:21.676
+to organize his files. And he'll put a public tag on the files
+
+00:10:21.677 --> 00:10:26.476
+in his org database that he wants to have be published to his
+
+00:10:26.477 --> 00:10:29.916
+website. And so you could very easily just set a regular
+
+00:10:29.917 --> 00:10:33.636
+expression matches that public tag and then all of the other
+
+00:10:33.637 --> 00:10:39.676
+files would be not shared. Yeah, and, oh, sorry, I was, I
+
+00:10:39.677 --> 00:10:42.716
+misclicked, I was talking to production for a second. First
+
+00:10:42.717 --> 00:10:45.636
+time it happens today, so I think this is a testament to the
+
+00:10:45.637 --> 00:10:47.996
+level of tightness. But yeah, as you were saying, whatever
+
+00:10:47.997 --> 00:10:51.396
+heuristics you want is actually a good thing. I think people
+
+00:10:51.397 --> 00:10:54.636
+are a little antsy because they tend to brain dump into their
+
+00:10:54.637 --> 00:10:59.836
+Org Roam, Zettelkasten, Denote, and they
+
+00:10:59.837 --> 00:11:02.516
+really don't want some of their personal notes being out
+
+00:11:02.517 --> 00:11:05.596
+there. And well, if you are worried about this, I think
+
+00:11:05.597 --> 00:11:09.356
+learning some Elisp and implementing some Lambda function
+
+00:11:09.357 --> 00:11:13.116
+that allows you to filter with intention might be the best
+
+00:11:13.117 --> 00:11:17.636
+solution for you. So I hope we've covered the question as
+
+00:11:17.637 --> 00:11:21.436
+well as we could have. Next question is more about an idea
+
+00:11:21.437 --> 00:11:24.996
+about trying hyperdrive to distribute the Worg. Does that
+
+00:11:24.997 --> 00:11:28.596
+make sense to you? Yeah, I mean, you could distribute
+
+00:11:28.597 --> 00:11:32.636
+whatever you wanted. I think that'd be a great idea. Okay,
+
+00:11:32.637 --> 00:11:36.116
+great. Moving to the next question, and we have about three
+
+00:11:36.117 --> 00:11:38.316
+minutes, so I think we'll cover the last two questions and
+
+00:11:38.317 --> 00:11:41.023
+we'll move on to the next talk after that.
+
+NOTE 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.)?
+
+00:11:41.024 --> 00:11:43.164
+Could you comment on the visualization thing,
+
+00:11:43.165 --> 00:11:44.716
+Org visualization, and your
+
+00:11:44.717 --> 00:11:47.236
+experience with this type of content in buffers and the
+
+00:11:47.237 --> 00:11:52.916
+various possibilities, SVG, et cetera?
+
+00:11:52.917 --> 00:11:59.916
+Sure. So one thing that we worked on was I added a patch that
+
+00:11:59.917 --> 00:12:05.156
+was merged as part of Emacs 30, which fixes the way that image
+
+00:12:05.157 --> 00:12:14.196
+maps scale when images are scaled. So as an Emacs 30, if you
+
+00:12:14.197 --> 00:12:19.276
+zoom in on an image or shrink an image or rotate an image, now
+
+00:12:19.277 --> 00:12:24.276
+the image map, which is the overlay, so it's not actually an
+
+00:12:24.277 --> 00:12:26.716
+overlay, but it's, so to speak, it's an overlay that allows
+
+00:12:26.717 --> 00:12:30.116
+the images to be clickable based on, you know, where the
+
+00:12:30.117 --> 00:12:32.756
+actual visual display is. You can also click on it or hit help
+
+00:12:32.757 --> 00:12:37.356
+echo. And as of Emacs 30, now that scales with the image
+
+00:12:37.357 --> 00:12:37.796
+itself.
+
+00:12:37.797 --> 00:12:45.236
+The code to make that work on previous versions of Emacs, you
+
+00:12:45.237 --> 00:12:51.756
+can see the advice that we added in hyperdrive-sbb-view, that
+
+00:12:51.757 --> 00:12:55.956
+file in hyperdrive.el, if you're curious to see how you
+
+00:12:55.957 --> 00:13:01.196
+could polyfill that code, so to speak, to make it work on
+
+00:13:01.197 --> 00:13:06.076
+previous versions of Emacs before Emacs 30. But it works
+
+00:13:06.077 --> 00:13:11.076
+great. The way that this works is we generate a GraphViz
+
+00:13:11.077 --> 00:13:16.716
+string that will be sent to GraphViz to render an SVG and also
+
+00:13:16.717 --> 00:13:23.676
+render a CMAPX string. We pipe those back into Emacs and then
+
+00:13:23.677 --> 00:13:27.596
+we generate the image map from the CMAPX file and then we put
+
+00:13:27.597 --> 00:13:32.596
+that image map with the SVG, and we render it in a buffer.
+
+00:13:32.597 --> 00:13:37.076
+Works pretty well. You can check out the code to see exactly
+
+00:13:37.077 --> 00:13:41.876
+how it works. OK, great. Well, sadly, I think we are a little
+
+00:13:41.877 --> 00:13:44.996
+short on time to cover the last two questions. So Joseph, if
+
+00:13:44.997 --> 00:13:47.236
+you want to take a little bit of time maybe to answer the
+
+00:13:47.237 --> 00:13:51.196
+questions in the BBB, you can just do this, even though the
+
+00:13:51.197 --> 00:13:54.476
+stream will be moving to the next talk. But I'll use the
+
+00:13:54.477 --> 00:13:57.716
+opportunity to thank you both for the talk and for your
+
+00:13:57.717 --> 00:14:00.316
+answers, because they were very insightful. And thank you
+
+00:14:00.317 --> 00:14:03.636
+so much for taking the time to be with us today. Thank you,
+
+00:14:03.637 --> 00:14:05.876
+Leo. Enjoy the rest of the conference. Any last words in
+
+00:14:05.877 --> 00:14:10.356
+about 15 seconds? Thank you. I'm grateful for your taking
+
+00:14:10.357 --> 00:14:14.076
+all this time to make this conference possible. Well, you
+
+00:14:14.077 --> 00:14:16.916
+know, the conference would be nothing without the speakers
+
+00:14:16.917 --> 00:14:19.676
+coming and chatting, so you are the ones to thank. I mean, we
+
+00:14:19.677 --> 00:14:21.796
+like the thanking, obviously, but it's mostly you doing the
+
+00:14:21.797 --> 00:14:26.156
+work. All right. Thank you, Joseph. We'll see you later.
+
+00:14:26.157 --> 00:14:26.796
+Bye-bye.