diff options
author | Sacha Chua <sacha@sachachua.com> | 2024-12-11 08:41:56 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2024-12-11 08:41:56 -0500 |
commit | da371370d5e25496fc7c89bb0a1848a9292402b6 (patch) | |
tree | 33f4af6b64fff5cb8e2ffd25d37d749b7bc896cb | |
parent | 80600a58aee5e82ed923c8a141a63bb366d3e667 (diff) | |
download | emacsconf-wiki-da371370d5e25496fc7c89bb0a1848a9292402b6.tar.xz emacsconf-wiki-da371370d5e25496fc7c89bb0a1848a9292402b6.zip |
add hyperdrive
Diffstat (limited to '')
-rw-r--r-- | 2024/info/hyperdrive-after.md | 552 | ||||
-rw-r--r-- | 2024/info/hyperdrive-before.md | 8 | ||||
-rw-r--r-- | 2024/schedule-image.md | 2 | ||||
-rw-r--r-- | 2024/talks/hyperdrive.md | 71 |
4 files changed, 343 insertions, 290 deletions
diff --git a/2024/info/hyperdrive-after.md b/2024/info/hyperdrive-after.md index 2fb071cc..ecab627d 100644 --- a/2024/info/hyperdrive-after.md +++ b/2024/info/hyperdrive-after.md @@ -290,294 +290,270 @@ Captioner: sachac <div class="transcript transcript-qanda"><a name="hyperdrive-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1> -[[!template text="""Thank you for the call. And we can hear you as well. Great. If""" start="00:00:00.549" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you want to put on your webcam as well, that'd be good.""" start="00:00:02.771" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Hello. Okay, great. We're back. Sorry for having to call""" start="00:00:10.817" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you, but just I needed to catch your attention somehow. No,""" start="00:00:12.458" 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.381" 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.544" 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.332" 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:23.332" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""fully there presently and I'm really happy to be here to""" start="00:00:23.332" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""field you some questions although I don't see any just yet.""" start="00:00:23.332" 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.440" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""talk. We have until 4.05 which leaves us about 15 minutes""" start="00:00:40.440" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Joseph, I'll first start with a question. Well, first, I'll""" start="00:00:49.523" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""obviously thank you for your presentation, which I""" start="00:00:50.984" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""personally found to be very didactic, because I know that""" start="00:00:50.984" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Prat already presented Hyperdrive last year, and you are""" start="00:00:50.984" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""presenting this year with something a little more visual,""" start="00:00:50.984" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""and I found it to be very didactic. So, first, thank you for""" start="00:00:50.984" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""all this. And I wanted to give you the opportunity as well""" start="00:01:09.388" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""if... Oh, let me just make sure. Do we have audio on? Let me""" start="00:01:11.688" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""check. Let me just check something. Let me just make sure""" start="00:01:19.635" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that we have audio on. I have a few things I wanted to mention""" start="00:01:22.418" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""first before any questions come in. One was that...""" start="00:01:24.599" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Can you hear me? Let me just ask the little helps in the""" start="00:01:30.584" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""background. Sure.""" start="00:01:35.529" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Not sure if my audio is working or not.""" start="00:01:42.855" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""have someone to verify for us.""" start="00:01:50.014" 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.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""think we fixed it now. One thing I wanted to mention was that""" start="00:01:58.020" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""as with last year, I just released a new version of""" start="00:02:02.523" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""hyperdrive.el and it depends on the latest release of""" start="00:02:02.523" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""transient.el and so if you are going to install this""" start="00:02:02.523" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""package, make sure that you restart your Emacs after you""" start="00:02:20.188" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""install it, if you aren't already up to date with transient,""" start="00:02:20.188" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""which was released yesterday. Otherwise, since it, this""" start="00:02:20.188" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""latest version of transient.el updates the transient""" start="00:02:34.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""prefix EIEIO class, and it won't work unless you restart""" start="00:02:34.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Emacs. Okay, well, good to know. I think that's a small price""" start="00:02:34.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to pay to be on a bleeding est of bleeding edges. All right, I""" start="00:02:51.594" 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:58.558" 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:01.439" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Oh, sure. Go ahead. I'd love to hear you read it. Sure. Thank""" start="00:03:03.820" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you. So first question. Hi there. Thank you for the talk. I""" start="00:03:06.628" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""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:11.953" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""uses it. Network effects are tricky. Do you know of any""" start="00:03:11.953" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""public shares people can join to try to try this tool out""" start="00:03:18.198" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""properly? Thank you. Network effects are indeed tricky.""" start="00:03:18.198" 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.925" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to make it easier to discover peers in a way that's more, uh,""" start="00:03:29.447" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""more reliable and consistent than just somebody puts a""" start="00:03:34.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""public key on Reddit and then it's lost unless somebody""" start="00:03:34.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""finds it. Um, but the, the public keys that I know of are,""" start="00:03:34.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""there's the public key for the ushen hyperdrive, which is""" start="00:03:45.725" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""basically just the same content that's on the website""" start="00:03:45.725" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""mirrored to a hyperdrive. Um, and then there are a few other""" start="00:03:45.725" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""ones. There's like, uh, hypha.coop has some WebZine""" start="00:03:59.814" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""content accessible via HyperDrive and also via IPFS. And""" start="00:04:04.261" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""then movesignweaver has a blog that's also available on""" start="00:04:15.584" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Hyper. So that's blog.move.moe.""" start="00:04:15.584" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""But besides that, that's kind of the purpose of this""" start="00:04:28.427" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""PureGraph thing is to make it easier to discover other""" start="00:04:28.427" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""peers. Yeah, to make it also very visual in a way, because,""" start="00:04:33.035" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you know, I personally, it's funny because it reminded me of""" start="00:04:36.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""talks that I did in the past about the trust system for PGP""" start="00:04:36.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""keychains, because at the end of the day, you know, this""" start="00:04:36.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""trust system, whether you trust someone absolutely or""" start="00:04:36.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""relatively, the blocking system, it feels very related.""" start="00:04:36.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Any kind of a chain of trust like this, feels very""" start="00:04:56.450" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""reminiscent, obviously, but it felt very nice that for you,""" start="00:04:59.392" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you had a dynamic display of this web of trust. Whereas for""" start="00:04:59.392" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""me, I had to make fancy diagram in ticks, in latex, just to""" start="00:05:06.739" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""make sure that people understood what was actually going""" start="00:05:06.739" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""on. Yeah, one thing I want to point out is just the difference""" start="00:05:06.739" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""in utility for something like the PGP web of trust versus""" start="00:05:15.346" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""this kind of network of peers is, if I understand right, the""" start="00:05:24.207" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""main purpose of web of trust is to identify that a certain""" start="00:05:24.207" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""public key is actually created by the person that they claim""" start="00:05:24.207" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to be. So you have a way of identifying that a key actually""" start="00:05:24.207" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""matches like a government identity. Whereas this kind of""" start="00:05:45.900" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""network of peers has nothing to do with authenticating a key""" start="00:05:51.023" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""or associating a key with an identity, like a government""" start="00:05:53.752" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""identity. The purpose is exclusively just to get more peers""" start="00:05:53.752" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to be able to discover more peers who have things that are""" start="00:06:00.959" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""worth reading.""" start="00:06:00.959" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Yeah, it's a different take on a concept, but even though the""" start="00:06:13.038" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""concept might be the same, I find there's a wealth of things""" start="00:06:13.038" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that can be done thanks to this, because as you said, you""" start="00:06:13.038" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""trust someone to send you a file that is trustworthy. Well,""" start="00:06:13.038" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""with PGP, it's mostly about communication, but about file""" start="00:06:26.743" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""sharing, it just opens up completely new avenues. Yeah. Do""" start="00:06:26.743" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you have anything else to add? And about that, I think one of""" start="00:06:37.547" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""the barriers to the PGP web of trust is that it required""" start="00:06:42.168" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""getting together to have key parties to meet people and""" start="00:06:42.168" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""verify identities. Whereas with this kind of thing,""" start="00:06:42.168" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""there's no need to do that because so long as your content is""" start="00:06:52.635" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""interesting, it doesn't matter that you're not who you""" start="00:06:52.635" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""claim to be or that you don't even claim to be anybody. Yeah, I""" start="00:06:52.635" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""mean, again, as you mentioned, it's not about identifying""" start="00:07:03.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""people, it's just about identifying value, in a way, in the""" start="00:07:03.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""content that people share. It has nothing to do with""" start="00:07:03.898" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""verifying their actual identity. But again, it's the same""" start="00:07:12.024" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""technology, it's the same understanding, but for""" start="00:07:14.906" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""different applications, which is lovely because""" start="00:07:14.906" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""programming is fractals all over. The same problems repeat""" start="00:07:14.906" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""themselves and the same solutions show up for widely""" start="00:07:23.773" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""different scenarios, which is always good. Yeah. Anything""" start="00:07:23.773" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""else? One more thing. Yeah. One more thing is that I wanted to""" start="00:07:32.165" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""give some kudos to, um, some of the other projects that""" start="00:07:33.785" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""inspired the pure graph work. One of them is Adam Porter's or""" start="00:07:33.785" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""graph view, um, which is a, um, a tool for visualizing""" start="00:07:42.467" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""different nodes in an org file and how they link to one""" start="00:07:42.467" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""another. Um, he did. the pioneering work to figure out how to""" start="00:07:42.467" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""render interactive graphs with GraphViz. And so we worked""" start="00:08:00.814" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""together on it and kind of hacked down the last parts that""" start="00:08:09.120" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""weren't working correctly. And so this is inspired a lot.""" start="00:08:09.120" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""The user interface is inspired a lot by Adam's work. And then""" start="00:08:19.347" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""also the idea of having people that you mark as blockers and""" start="00:08:22.389" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""block is inspired by another project called TrustNet by""" start="00:08:22.389" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Alex Cobbly. I can type in the link there. Alex, how do you""" start="00:08:31.189" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""spell it? Cobbly? Yeah, I'll type it in here. Thank you. And I""" start="00:08:38.410" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""think the link is cba.org slash TrustNet. I think that is it.""" start="00:08:46.292" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""I'm not totally sure. But yeah. Okay well that's very good""" start="00:08:53.233" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""and thank you for giving credits to the inspiration because""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""again nothing is done without context and it's always nice""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""in the free software world to acknowledge people who have""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""influenced us because it's very nice when people start""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""contributing, maintaining software, publishing stuff""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that they actually start collaborating with people who've""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""inspired them which is a nice way to climb over the shoulders""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""of giants which this community likes so much. All right,""" start="00:08:59.182" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""moving on to the next question. We are, we have about seven""" start="00:09:27.842" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""more minutes for questions, so we're still good. Second""" start="00:09:29.203" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""question, one use case for this sharing and building upon""" start="00:09:33.687" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""second brain, sorry, one use case for this is sharing and""" start="00:09:33.687" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""building upon second brains, i.e. Zettelkasten, that's""" start="00:09:33.687" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""denote or what I'm actually doing, but a blocker for me""" start="00:09:42.534" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""wanting to make one public is wanting to use a block list or""" start="00:09:42.534" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""whitelist so that I can make them Cautioning?""" start="00:09:42.534" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Quarantining? Containing. Yes, definitely containing.""" start="00:09:54.924" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Why did I go for quarantine rather than containing? I guess""" start="00:09:58.987" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""my brain went to a dark place from the 2020s. So I can make""" start="00:10:01.509" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""containing useful information for only me while also being""" start="00:10:06.493" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""useful in a public sense. Yes, I think your question is about""" start="00:10:06.493" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""how to keep some of the content of your Zettelkasten private""" start="00:10:15.920" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""and only have certain parts of it be public. If your desire is""" start="00:10:24.226" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to only share certain files in your Zettelkasten, then you""" start="00:10:30.167" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""can use the hyperdrive mirror command that we demonstrated""" start="00:10:30.167" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""in the Emacs 2023 talk. In short,""" start="00:10:30.167" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""It lets you specify either a regular expression that""" start="00:10:51.562" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""matches only some of the files that'll get uploaded from a""" start="00:10:51.562" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""directory of files on your machine. And only the files that""" start="00:10:51.562" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""match that regex will be put into the hyperdrive and shared""" start="00:11:03.045" 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:03.045" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""lambda. So it could match based on file size or modification""" start="00:11:10.728" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""time or really whatever you like. So I hope that answers your""" start="00:11:12.028" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""question. Great. And I personally, as someone who loves""" start="00:11:20.011" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""tinkering with my ELSP, I particularly like the ability to""" start="00:11:23.435" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""specify things with a lambda because it just opens up the""" start="00:11:23.435" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""ceiling of the possibilities with interactions between""" start="00:11:23.435" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""different parts of software. And, you know, As I have worked""" start="00:11:23.435" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""significantly in Orgrim, I could definitely see""" start="00:11:38.730" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""interactions with lambdas here to make sure that we can send""" start="00:11:38.730" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""and share files based on the filter list that is""" start="00:11:38.730" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""incrementally added to thanks to those lambdas. So thanks""" start="00:11:38.730" 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.022" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that same question of being able to upload only certain""" start="00:11:55.384" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""files while leaving others to, to be private. was something""" start="00:11:55.384" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that was inspired by Carl Voigt. I had an email thread with""" start="00:12:05.751" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""him in which he talked about how he uses his file tags project""" start="00:12:09.094" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to organize his files. And he'll put a public tag on the files""" start="00:12:09.094" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""in his org database that he wants to have be published to his""" start="00:12:20.886" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""website. And so you could very easily just set a regular""" start="00:12:20.886" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""expression matches that public tag and then all of the other""" start="00:12:30.939" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""files would be not shared. Yeah, and, oh, sorry, I was, I""" start="00:12:30.939" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""misclicked, I was talking to production for a second. First""" start="00:12:39.659" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""time it happens today, so I think this is a testament to the""" start="00:12:45.461" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""level of tightness. But yeah, as you were saying, whatever""" start="00:12:45.461" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""heuristics you want is actually a good thing. I think people""" start="00:12:49.022" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""are a little antsy because they tend to brain dump into their""" start="00:12:53.163" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Orgrimm, Zellcastan, Zellcastan slash e-note, and they""" start="00:12:53.163" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""really don't want some of their personal notes being out""" start="00:12:53.163" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""there. And well, if you are worried about this, I think""" start="00:12:53.163" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""learning some Elisp and implementing some Lambda function""" start="00:13:05.946" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that allows you to filter with intention might be the best""" start="00:13:05.946" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""solution for you. So I hope we've covered the question as""" start="00:13:05.946" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""well as we could have. Next question is more about an idea""" start="00:13:16.411" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""about trying hyperdrive to distribute the work. Does that""" start="00:13:22.073" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""make sense to you? Yeah, I mean, you could distribute""" start="00:13:27.336" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""whatever you wanted. I think that'd be a great idea. Okay,""" start="00:13:28.896" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""great. Moving to the next question, and we have about three""" start="00:13:34.881" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""minutes, so I think we'll cover the last two questions and""" start="00:13:36.962" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""we'll move on to the next talk after that. Could you comment""" start="00:13:36.962" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""on the visualization thing, org visualization, and your""" start="00:13:43.547" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""experience with this type of content in buffers and the""" start="00:13:43.547" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""various possibilities, SVG, et cetera?""" start="00:13:43.547" 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.515" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""was merged as part of Emacs 30, which fixes the way that image""" start="00:14:03.021" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""maps scale when images are scaled. So as an Emacs 30, if you""" start="00:14:03.021" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""zoom in on an image or shrink an image or rotate an image, now""" start="00:14:14.869" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""the image map, which is the overlay, so it's not actually an""" start="00:14:14.869" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""overlay, but it's, so to speak, it's an overlay that allows""" start="00:14:14.869" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""the images to be clickable based on, you know, where the""" start="00:14:29.540" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""actual visual display is. You can also click on it or hit help""" start="00:14:29.540" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""echo. And as of Emacs 30, now that scales with the image""" start="00:14:33.843" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""itself.""" start="00:14:36.986" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""The code to make that work on previous versions of Emacs, you""" start="00:14:44.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""can see the advice that we added in HyperDrive SBB view that""" start="00:14:44.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""file in hyperdrive.el. If you're curious to see how you""" start="00:14:44.512" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""could polyfill that code, so to speak, to make it work on""" start="00:14:57.081" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""previous versions of Emacs before Emacs 30. But it works""" start="00:15:00.905" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""great. The way that this works is we generate a GraphViz""" start="00:15:08.191" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""string that will be sent to GraphViz to render an SVG and also""" start="00:15:09.091" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""render a CMAPX string. We pipe those back into Emacs and then""" start="00:15:09.091" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""we generate the image map from the CMAPX file and then we put""" start="00:15:23.042" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that image map with the SVG, and we render it in a buffer.""" start="00:15:31.436" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Works pretty well. You can check out the code to see exactly""" start="00:15:36.381" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""how it works. OK, great. Well, sadly, I think we are a little""" start="00:15:38.103" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""short on time to cover the last two questions. So Joseph, if""" start="00:15:42.821" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you want to take a little bit of time maybe to answer the""" start="00:15:46.243" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""questions in the BBB, you can just do this, even though the""" start="00:15:46.243" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""stream will be moving to the next talk. But I'll use the""" start="00:15:46.243" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""opportunity to thank you both for the talk and for your""" start="00:15:56.150" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""answers, because they were very insightful. And thank you""" start="00:15:56.150" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""so much for taking the time to be with us today. Thank you,""" start="00:16:02.554" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Leo. Enjoy the rest of the conference. Any last words in""" start="00:16:05.816" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""about 15 seconds? Thank you. I'm grateful for your taking""" start="00:16:07.878" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""all this time to make this conference possible. Well, you""" start="00:16:11.344" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""know, the conference would be nothing without the speakers""" start="00:16:16.107" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""coming and chatting, so you are the ones to thank. I mean, we""" start="00:16:16.107" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""like the thanking, obviously, but it's mostly you doing the""" start="00:16:21.751" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""work. All right. Thank you, Joseph. We'll see you later.""" start="00:16:21.751" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Bye-bye.""" start="00:16:29.017" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Okay, we are offline. So Joseph, if you wanna finish""" start="00:16:34.935" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""answering the two questions on your own, feel free to. And""" start="00:16:36.316" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""whenever you finish, just leave the room. It will stop""" start="00:16:39.738" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""without you having to do anything. Okay, thank you, Leo. No""" start="00:16:41.579" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""worries, bye-bye. Bye.""" start="00:16:47.582" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""All right, could I, let's see. I'll just answer these few""" start="00:16:52.925" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""questions and then type in some responses. What is""" start="00:16:56.047" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""something surprising about how you or somebody else that""" start="00:17:02.236" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you didn't expect from using the HyperDrive network?""" start="00:17:02.236" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""I think the question is about something surprising from""" start="00:17:11.860" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""using the HyperDrive network.""" start="00:17:11.860" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Don't quite understand the question. I think the""" start="00:17:22.185" 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:24.046" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""org files link between those org files you could use""" start="00:17:31.973" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""transclusion to to have a discussion and then You could""" start="00:17:31.973" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""collaborate on on projects Using this sort of asynchronous""" start="00:17:31.973" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""communication using using hyperdrive files If there's a""" start="00:17:31.973" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""more specific question, I'm happy to answer it better You""" start="00:17:31.973" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""mentioned streaming audio and video. Could you confirm""" start="00:18:01.667" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""that this is in reference to consumption of media and not""" start="00:18:03.308" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""broadcasting of it? So this is all shared on a peer-to-peer""" start="00:18:03.308" 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:08.909" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""audio and I'm advertising on the network that people can""" start="00:18:13.071" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""download it from me, then if you want to download that video""" start="00:18:13.071" 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:13.071" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""in your hyperdrive, not only does it download it from me, but""" start="00:18:29.301" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""also you can stream it so you don't have to download the whole""" start="00:18:29.301" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""thing before watching it. So it is both in terms of serving""" start="00:18:29.301" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""the file and downloading the file.""" start="00:18:41.143" 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:53.745" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""answers. And if anything else comes in, I'll answer it.""" start="00:18:59.048" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Hey there. Hey, so I think you're just waiting for me to come""" start="00:19:27.989" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""through and close out the recording and say thank you very""" start="00:19:30.302" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""much and goodbye. I believe the stream is now cut away to the""" start="00:19:30.302" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""next thing as of 10, as of 40 seconds ago or something. Sorry,""" start="00:19:37.889" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""it took me a minute to get over here. We had to coordinate for a""" start="00:19:46.416" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""second. No, it's all good. Thank you again. I'm just typing""" start="00:19:48.118" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""these answers into the pad. Hang on, I got too much""" start="00:19:53.883" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""crosstalk. Let me mute this other garment. I mean, these""" start="00:19:58.337" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""other fine people that all want my attention.""" start="00:20:02.258" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""Thank you, Corwin. My nephew's name is Corwin. Oh, yeah,""" start="00:20:09.019" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""neat. It's a good name. I personally recommend it. Yeah, so I""" start="00:20:14.320" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""was just going to say you can actually go as long as you want""" start="00:20:18.400" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""to. And then when everybody leaves, it'll kind of shut the""" start="00:20:18.400" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""room down. Like I didn't want to, and if you have like a, you""" start="00:20:24.402" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""should be able to like basically take the screen to or""" start="00:20:27.677" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""whatever, like control that. If you want to share anything""" start="00:20:27.677" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""yourself, if you can't let me know. Thank you. I think I'll""" start="00:20:36.504" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""just type in these answers. I think I can leave the room now,""" start="00:20:41.527" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""but it's not a super. Oh, okay. Well, if you're shutting""" start="00:20:42.808" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""down, then I'll just go ahead and force shut down the room.""" start="00:20:45.870" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""And thank you very much for any other questions you want to""" start="00:20:49.673" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""answer off the pad and everything like that. Okay. Thank""" start="00:20:49.673" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""you, Corwin. Thanks again for your talk, Joseph. Bye. Bye.""" start="00:20:55.558" video="qanda-hyperdrive" id="subtitle"]] -[[!template text="""You are currently the only person in this conference.""" start="00:21:04.911" video="qanda-hyperdrive" id="subtitle"]] +[[!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 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 bleeding est 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. Thank""" start="00:03:03.800" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""you. So first question. Hi there. Thank you for the talk. I""" start="00:03:07.280" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""enjoyed watching it. I tried this tool last year and it""" start="00:03:10.440" 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 ushen 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 movesignweaver 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.move.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="""PureGraph 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. Second""" start="00:09:31.200" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""question, one use case for this sharing and building upon""" start="00:09:33.880" 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 work. 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. Could you comment""" start="00:13:40.840" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""on the visualization thing, org visualization, and your""" start="00:13:43.720" 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. What is""" start="00:16:58.480" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""something surprising about how you or somebody else that""" start="00:17:01.720" 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 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 You""" start="00:17:53.200" video="qanda-hyperdrive" id="subtitle"]] +[[!template text="""mentioned streaming audio and video. Could you confirm""" start="00:17:59.640" 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"]] </div>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) diff --git a/2024/info/hyperdrive-before.md b/2024/info/hyperdrive-before.md index 420619ba..1345f2b2 100644 --- a/2024/info/hyperdrive-before.md +++ b/2024/info/hyperdrive-before.md @@ -2,12 +2,18 @@ [[!toc ]] Format: 21-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2024-hyperdrive> -Status: Q&A finished, IRC and pad will be archived on this page +Status: TO_INDEX_QA +# Talk + <div class="vid"><video controls preload="none" id="hyperdrive-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 20:25 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-hyperdrive">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm">Download --main.webm (74MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/pea2Nfx82eZhBAN2zatdix">View on Toobnix</a></li></ul></div></div> + +# Q&A + +<div class="vid"><video controls preload="none" id="hyperdrive-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 22:34 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-hyperdrive">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.webm">Download --answers.webm (32MB)</a></li></ul></div></div> # Description <!-- End of emacsconf-publish-before-page -->
\ No newline at end of file diff --git a/2024/schedule-image.md b/2024/schedule-image.md index 66b3f670..43ef8bb4 100644 --- a/2024/schedule-image.md +++ b/2024/schedule-image.md @@ -1 +1 @@ -<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-11:00 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(185,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:20-11:30 Colour your Emacs with ease</title><rect x="219" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: quick install, peer graph, transclusion!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: quick install, peer graph, transclusion!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/maxima" title="Emacs, eev, and Maxima - now!" data-slug="maxima"><title> 3:45- 4:05 Emacs, eev, and Maxima - now!</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">maxima</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title>10:30-11:15 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="141" y="15" opacity="0.8" width="70" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:30-11:45 Fun things with GNU Hyperbole</title><rect x="235" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/open-mic" title="Open mic/pad for quick updates etc." data-slug="open-mic"><title> 1:00- 1:30 Open mic/pad for quick updates etc.</title><rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(421,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">open-mic</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:40- 1:55 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(460,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:15- 2:35 Literate programming for the 21st Century</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:00- 3:10 An example of a cohesive student workflow in Emacs</title><rect x="564" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(577,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:20- 3:40 So you want to be an Emacs-fluencer?</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div>
\ No newline at end of file +<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-11:00 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(185,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:20-11:30 Colour your Emacs with ease</title><rect x="219" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: quick install, peer graph, transclusion!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: quick install, peer graph, transclusion!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/maxima" title="Emacs, eev, and Maxima - now!" data-slug="maxima"><title> 3:45- 4:05 Emacs, eev, and Maxima - now!</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">maxima</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title>10:30-11:15 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="141" y="15" opacity="0.8" width="70" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:30-11:45 Fun things with GNU Hyperbole</title><rect x="235" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/open-mic" title="Open mic/pad for quick updates etc." data-slug="open-mic"><title> 1:00- 1:30 Open mic/pad for quick updates etc.</title><rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(421,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">open-mic</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:40- 1:55 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(460,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:15- 2:35 Literate programming for the 21st Century</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:00- 3:10 An example of a cohesive student workflow in Emacs</title><rect x="564" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(577,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:20- 3:40 So you want to be an Emacs-fluencer?</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div>
\ No newline at end of file diff --git a/2024/talks/hyperdrive.md b/2024/talks/hyperdrive.md index be76a045..3bb3ff56 100644 --- a/2024/talks/hyperdrive.md +++ b/2024/talks/hyperdrive.md @@ -43,6 +43,77 @@ mission is to promote personal, community, and global health through free and open universal shared information for everybody. See also: [EmacsConf - 2023 - talks - hyperdrive.el: Peer-to-peer filesystem in Emacs](https://emacsconf.org/2023/talks/hyperdrive/) +# Discussion + +## Questions and answers + +- Q: Hi there, thank you for your talk - I enjoyed watching it! I + tried this tool last year, and it seemed to work well - but I don\'t + know anyone who actually uses it. Network effects are tricky - do + you know of any public shares people can join to try this tool out + properly? Thank you! + - A: Yes, network effects are indeed tricky. Hopefully, the peer + graph can help with this. That said, here are some hyperdrives + I know of: + - [https://ushin.org](https://ushin.org){rel="noreferrer noopener"} - + hyper://aaj45d88g4eenu76rpmwzjiabsof1w8u6fufq6oogyhjk1ubygxy/ + - [https://blog.mauve.moe](https://blog.mauve.moe){rel="noreferrer noopener"} - + hyper://1m51x54k3fwbuec5z4edbathiq3aj6bew8b556ezrszizskogo3o/ + - [https://hypha.coop](https://hypha.coop){rel="noreferrer noopener"} - + hyper://zdouwaei9kc5zbk93w5dakbr8maayupojthf3eafo16s4d5pbsry/ +- Q:One usecase for this is sharing and building upon second + brains/zettelkastens\"denote or org-roam\" but a blocker from me + wanting to make one public is wanting to use a blocklist or + whitelist so I can make them containing useful information for only + my while also being useful with in a public sense + - A: Rephrasing: how to keep the content of a Zettelkasten + private, and only have parts of it be public? + - If the desire is only to share certain files in the + Zettelkasten, M-x hypedrive-mirror can do this + - Can specify either a regexp that matches some of the files + that get uploaded to a directory of files on a machine (and + only those files will be shared) + - It can also be a lambda, i.e. anything that can be + formulated as a function + - E.g., with Karl Voit\'s filetags (or Prot\'s Denote + filenaming scheme), you could share only those files which + are tagged as \"public\". +- Q: idea: try hyperdrive to distribute WORG (and EmacsWiki) + - A: Great idea! +- 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.)? + - A: We submited a patch which was merged in Emacs 30 to make + image maps (the \"overlay\" which makes images clickable and + have hover-over help-echo descriptions) transform along with the + image, e.g., if you zoom in on an image, the clickable map still + matches the zoomed-in image. + - A: In hyperdrive-sbb-view.el, we build a Graphviz string based + on the peer relations data, then call out to the external + graphviz process twice, once for the svg and once for the + cmapx. Then we build an image map based on the cmapx string. + We put the image and image map together and render it in a + buffer. I also adapted some code from image-mode.el to make the + image resize whenever the buffer\'s window resizes. For + details, see + [https://git.sr.ht/\~ushin/hyperdrive.el/tree/master/item/hyperdrive-sbb-view.el](https://git.sr.ht/~ushin/hyperdrive.el/tree/master/item/hyperdrive-sbb-view.el){rel="noreferrer noopener"} + - A: This approach is directly inspired by org-graph-view.el, by + Adam Porter (github alphapapa). +- Q:What is something surprising about how you or somebody else that + you didn\'t expect from using the hyperdrive network? + - A: +- 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? + - A: Since the network is peer-to-peer, audio and video is + streamed between peers. + +## Notes + +- The \"sources, blockers, blocked\" idea was influenced by: + - Alex Cobleigh : + [https://cblgh.org/trustnet](https://cblgh.org/trustnet){rel="noreferrer noopener"} + [[!inline pages="internal(2024/info/hyperdrive-after)" raw="yes"]] |