summaryrefslogtreecommitdiffstats
path: root/2023/info/hyperdrive-after.md
blob: 8c26acc85d463f1c4e06aec34ff4979028cd5e62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
<!-- Automatically generated by emacsconf-publish-after-page -->


<a name="hyperdrive-mainVideo-transcript"></a>
# Transcript

[[!template text="""Hello, I'm Joseph Turner.""" start="00:00:00.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This talk is about hyperdrive.el,""" start="00:00:02.600" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""peer-to-peer file system in Emacs.""" start="00:00:05.107" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrive is a JavaScript library""" start="00:00:09.100" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""developed by the Holepunch team""" start="00:00:11.480" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for sharing files on a peer-to-peer network.""" start="00:00:13.360" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's released under the Apache 2.0 license.""" start="00:00:16.500" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Hyperdrives introduction""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Here's how it works.""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""To participate as a peer, you run a node,""" start="00:00:21.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a lightweight local server that allows you""" start="00:00:24.581" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to connect with other nodes on the network.""" start="00:00:27.281" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can create a hyperdrive or multiple hyperdrives,""" start="00:00:29.960" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and you can author files within them.""" start="00:00:33.123" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Each hyperdrive is automatically assigned""" start="00:00:36.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a globally unique link""" start="00:00:38.700" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that starts with `hyper://`.""" start="00:00:40.906" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""When you share that link with someone,""" start="00:00:44.580" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""they have access to your hyperdrive.""" start="00:00:47.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Anyone who has that link can load the hyperdrive""" start="00:00:49.160" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""from the network and view its content.""" start="00:00:52.820" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""When you load a Hyperdrive file from the network,""" start="00:00:56.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""your node caches that data locally""" start="00:00:59.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and automatically begins seeding it""" start="00:01:02.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""back to the network,""" start="00:01:04.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""making it available for others to download from you.""" start="00:01:05.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are single writer.""" start="00:01:12.620" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that when you create a new drive,""" start="00:01:14.520" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you are the only one who can make changes to it.""" start="00:01:16.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Others can view it""" start="00:01:19.720" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and can seed it back to the network,""" start="00:01:21.267" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but you're the only one who can modify it.""" start="00:01:23.800" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are offline first.""" start="00:01:27.340" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that when you load data from the network,""" start="00:01:29.740" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it's stored locally on your machine""" start="00:01:33.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for you to view later,""" start="00:01:34.900" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""even when you're disconnected from other peers.""" start="00:01:36.180" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can also create new drives""" start="00:01:38.800" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and modify your drives when you're offline,""" start="00:01:40.800" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then share those changes""" start="00:01:43.600" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""once you connect with peers later.""" start="00:01:45.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are local first.""" start="00:01:47.920" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that when you are connected with""" start="00:01:50.300" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""other peers on a local area network,""" start="00:01:52.400" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""even if none of the peers involved""" start="00:01:54.740" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""are connected to the broader Internet,""" start="00:01:56.940" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can still share files.""" start="00:01:58.980" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are sparsely replicated.""" start="00:02:02.060" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that you can download individual files""" start="00:02:04.800" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""from a hyperdrive without having to download""" start="00:02:07.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the whole thing.""" start="00:02:10.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This saves on disk space and also allows you""" start="00:02:11.720" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to quickly load just the files""" start="00:02:15.471" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that you're interested in.""" start="00:02:17.233" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are mutable.""" start="00:02:20.540" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can add files, change files,""" start="00:02:22.467" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""remove files from a hyperdrive.""" start="00:02:25.500" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And when peers load your drive""" start="00:02:28.120" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""using the very same link,""" start="00:02:30.667" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""they will be able to load""" start="00:02:32.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the latest changes that you've published.""" start="00:02:34.025" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrives are versioned.""" start="00:02:37.320" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that when you make changes to a file,""" start="00:02:39.460" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the previous versions of those files are not lost.""" start="00:02:42.429" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Peers can load the old versions of a file""" start="00:02:46.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that was changed or deleted, for example,""" start="00:02:49.360" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""simply by specifying the version number""" start="00:02:52.440" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""of the hyperdrive when the file still existed""" start="00:02:55.067" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or existed in a previous state.""" start="00:02:58.167" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""About USHIN and the contributors""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""I'm presenting this talk on behalf of USHIN.""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""USHIN is a tiny nonprofit whose mission is to""" start="00:03:07.380" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""promote personal, community and global health""" start="00:03:10.680" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""through free and open universal shared information""" start="00:03:14.032" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for everybody.""" start="00:03:17.367" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""USHIN was founded in the early 90s""" start="00:03:19.700" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""by Paula Maas, Steve Nash and others""" start="00:03:21.551" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""with the goal of creating""" start="00:03:24.860" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a distributed health information network""" start="00:03:26.400" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that would allow people to find, share, compare""" start="00:03:29.131" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and deliberate health information""" start="00:03:33.429" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""from a variety of sources.""" start="00:03:35.667" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Since then, the scope of the project has broadened""" start="00:03:37.780" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to include all kinds of information.""" start="00:03:40.700" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And in recent years, we've been focusing on""" start="00:03:43.260" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""building with peer-to-peer software.""" start="00:03:45.780" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""About three years ago,""" start="00:03:49.500" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""we started working with Mauve Signweaver,""" start="00:03:50.534" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""who has since then been our steadfast""" start="00:03:52.634" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""peer-to-peer explorer and guide.""" start="00:03:54.767" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This year, we started working on""" start="00:03:58.260" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""this hyperdrive.el Emacs package,""" start="00:04:00.080" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and Adam has been the powerhouse""" start="00:04:02.800" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""behind the Emacs Lisp development.""" start="00:04:05.060" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""About a month ago,""" start="00:04:08.080" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Jonas Bernoulli started joining with us,""" start="00:04:08.967" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and he has been offering his expertise""" start="00:04:11.100" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the realm of user interface design""" start="00:04:14.420" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""using his Transient library.""" start="00:04:15.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And Protesilaos Stavrou has been not only valuable""" start="00:04:18.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in terms of user design and feedback,""" start="00:04:22.140" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but he created a wonderful""" start="00:04:25.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""basic introduction to Hyperdrive. Take a look.""" start="00:04:27.120" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Basic introduction to Hyperdrive""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""[Prot]: Hello everyone!""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""My name is Protesilaos, also known as Prot.""" start="00:04:33.586" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In this video, I want to show you""" start="00:04:36.366" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the basics of hyperdrive.el.""" start="00:04:37.806" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is a package for Emacs that lets us connect to""" start="00:04:40.746" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the Hyperdrive peer-to-peer network.""" start="00:04:44.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We can browse existing drives on the network,""" start="00:04:47.833" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""meaning existing file systems,""" start="00:04:51.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or create and maintain our own hyperdrive,""" start="00:04:53.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to which we can add, remove or edit files.""" start="00:04:59.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We will see this together.""" start="00:05:03.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What I have here in front of me is a basic""" start="00:05:05.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""use-package declaration for hyperdrive.el.""" start="00:05:08.733" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""All I am doing is binding `hyperdrive-menu`""" start="00:05:12.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to a key and also activating""" start="00:05:16.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the menu bar entry of hyperdrive.""" start="00:05:19.793" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me show you very quickly, `hyperdrive-menu`.""" start="00:05:23.613" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And this is the sort of interface that it brings up.""" start="00:05:26.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We will take a closer look at it.""" start="00:05:31.293" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""As for the menu bar,""" start="00:05:33.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""we have `hyperdrive-menu` over here,""" start="00:05:35.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and we will take a look at this as well.""" start="00:05:41.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Suffice to say that""" start="00:05:44.193" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can get the same functionality""" start="00:05:45.693" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""with the menu bar or with `hyperdrive-menu`,""" start="00:05:48.273" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as by calling the commands directly""" start="00:05:51.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""with `M-x` or their respective key bindings.""" start="00:05:55.893" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I won't cover everything in that regard,""" start="00:06:00.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but please bear this fact in mind.""" start="00:06:02.980" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Managing files with Hyperdrive.el""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Let's start then with what I have here""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in this other tab, which is a set of files.""" start="00:06:09.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I have prepared in my local file system - a hyperdrive.""" start="00:06:13.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This contains a set of files""" start="00:06:18.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I ultimately want to share""" start="00:06:20.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""on the peer-to-peer network,""" start="00:06:22.653" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""meaning that I want this to eventually be""" start="00:06:24.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""reflected in my own hyperdrive.""" start="00:06:28.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What I did to get started is""" start="00:06:31.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I invoked `hyperdrive-menu`.""" start="00:06:34.054" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The very first thing you need to do""" start="00:06:36.493" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to get started with Hyperdrive,""" start="00:06:38.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""either to browse or to create,""" start="00:06:40.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is to start the gateway,""" start="00:06:43.633" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""meaning to be able to connect to""" start="00:06:46.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the peer-to-peer network.""" start="00:06:48.693" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You see here in `hyperdrive-menu` that there is""" start="00:06:50.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""an indicator next to the &quot;Gateway&quot; heading""" start="00:06:53.493" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""telling me that the gateway is on.""" start="00:06:56.293" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I started it with `G` and then `s`.""" start="00:06:59.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Once you start it,""" start="00:07:04.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can type `h` to visit an existing drive,""" start="00:07:06.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`N` to create a drive,""" start="00:07:10.153" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or `L` to open a link to an existing hyperdrive.""" start="00:07:12.113" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You may get this link via email, for example.""" start="00:07:17.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In this case, let me be over here""" start="00:07:21.154" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and let me just kill this buffer.""" start="00:07:24.933" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What I want in this case is to select a hyperdrive.""" start="00:07:27.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You see here I have my own hyperdrive""" start="00:07:32.953" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and also the hyperdrive of USHIN,""" start="00:07:35.453" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the developers of hyperdrive.el.""" start="00:07:37.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What I want to do in this case,""" start="00:07:41.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you see there are various options available.""" start="00:07:43.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I want to type `v` to view a file.""" start="00:07:46.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And in this case,""" start="00:07:50.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will just type the forward slash,""" start="00:07:50.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which means to view the root directory""" start="00:07:53.633" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""of this hyperdrive. And I am here.""" start="00:07:56.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It is an empty drive apart from""" start="00:08:00.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""my credentials over here.""" start="00:08:04.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""There is nothing more really to see.""" start="00:08:06.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But what I want to do is""" start="00:08:10.113" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to start adding files to this drive.""" start="00:08:12.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me use the menu bar for this.""" start="00:08:15.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will hover over to the menu bar,""" start="00:08:18.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I will find the &quot;Hyperdrive&quot; submenu.""" start="00:08:21.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Then I will go find where the drives are.""" start="00:08:24.773" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And you see that there are writable drives,""" start="00:08:27.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""meaning drives that I manage,""" start="00:08:30.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and read-only drives, meaning drives of other users.""" start="00:08:32.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In this case, USHIN is read-only, of course,""" start="00:08:37.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and Protesilaos is writable.""" start="00:08:40.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So what I want to do is upload a file to Protesilaos.""" start="00:08:42.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And it prompts me in the Minibuffer for a file.""" start="00:08:48.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will just add the README.""" start="00:08:52.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It is asking me, &quot;Where do you want to add it?&quot;""" start="00:08:55.293" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And in square brackets, the default is to add it""" start="00:08:58.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to the root directory of the hyperdrive.""" start="00:09:00.553" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I will just type `RET` to select the default.""" start="00:09:03.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And there it is. It is already in the drive.""" start="00:09:07.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me add the COPYING file as well,""" start="00:09:11.393" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""using the same method.""" start="00:09:14.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will go find my drive. &quot;Upload File.&quot;""" start="00:09:16.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And let's add the COPYING.""" start="00:09:21.393" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And I also want to add it to the root directory.""" start="00:09:23.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So already I have two files.""" start="00:09:29.433" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is looking good.""" start="00:09:30.633" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now I am opening the file inside of hyperdrive.""" start="00:09:31.953" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is not the same file""" start="00:09:37.014" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as I have in my local directory.""" start="00:09:39.033" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What I can do here, for example, is I can...""" start="00:09:42.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me open another file here, the COPYING.""" start="00:09:47.433" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I can create an Org link.""" start="00:09:49.893" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Notice that these are Org files.""" start="00:09:52.113" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I will use the standard `org-store-link` command.""" start="00:09:54.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can see the key binding I invoked""" start="00:09:58.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and the command it calls""" start="00:10:01.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""on the top right corner of my screen.""" start="00:10:03.533" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So what I did is""" start="00:10:05.893" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I copied a link to this hyperdrive file.""" start="00:10:07.413" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And in this other file over here,""" start="00:10:11.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I want to say &quot;Free/libre.&quot;""" start="00:10:15.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I am editing my hyperdrive terms:""" start="00:10:22.153" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""&quot;Check the,&quot; and I will paste the link here,""" start="00:10:27.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""&quot;for how to use my files.&quot;""" start="00:10:35.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If we check what is here,""" start="00:10:40.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you will see that this is a link""" start="00:10:44.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""inside of the hyperdrive.""" start="00:10:47.813" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And it's pointing specifically""" start="00:10:50.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to that heading over there,""" start="00:10:52.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which has this unique identifier,""" start="00:10:54.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as you can see over here.""" start="00:10:58.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So this is wonderful.""" start="00:11:00.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I want to rename it to &quot;Check the COPYING""" start="00:11:03.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for how to use my files.&quot;""" start="00:11:09.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will save this.""" start="00:11:11.953" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now what I want to do is,""" start="00:11:13.933" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I want to invoke `hyperdrive-menu`.""" start="00:11:16.840" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And you will see now the menu, unlike earlier,""" start="00:11:20.493" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""has more commands, more stuff we can do with it.""" start="00:11:23.153" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For example, I can type `w` to copy a URL.""" start="00:11:27.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And by typing `w`, you will notice...""" start="00:11:31.793" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me go to the `*scratch*` buffer to paste this in.""" start="00:11:34.500" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You will notice what the URL is.""" start="00:11:37.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It is my hyperdrive, my unique identifier,""" start="00:11:40.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then forward slash, meaning the root directory,""" start="00:11:44.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then README.org.""" start="00:11:47.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""That is the file I was editing.""" start="00:11:49.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's do `hyperdrive-menu` again.""" start="00:11:54.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's remove the `*scratch*` buffer.""" start="00:11:56.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And let's do `hyperdrive-menu`.""" start="00:11:58.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And you will notice that there are options""" start="00:11:59.933" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to download the file, for example.""" start="00:12:02.380" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If you are reading somebody else's file,""" start="00:12:05.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can download it to your own file system.""" start="00:12:07.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me do that. &quot;Download.&quot;""" start="00:12:10.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And it is asking me, &quot;Where do you want to save this?&quot;""" start="00:12:12.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For now, I will save it in the `/tmp/`, like this.""" start="00:12:14.753" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's call it test.org.""" start="00:12:20.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Okay, `/tmp/test.org`.""" start="00:12:23.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me go and visit `test.org`.""" start="00:12:25.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And there it is.""" start="00:12:29.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It downloaded it just like that.""" start="00:12:30.280" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is how you can, for example,""" start="00:12:32.653" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""download the pictures and videos""" start="00:12:35.373" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I will eventually share on my hyperdrive.""" start="00:12:38.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's invoke `hyperdrive-menu` again.""" start="00:12:42.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And let's go up to the parent, you see,""" start="00:12:44.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""with the caret (`^`) sign.""" start="00:12:48.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This will take me to the parent directory,""" start="00:12:50.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in this case, the root directory of my hyperdrive.""" start="00:12:53.173" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Dired like interface""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Let me do it a bit differently.""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The same idea, a bit differently.""" start="00:12:58.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For those of you who are familiar with""" start="00:13:00.193" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Dired and the `dired-jump` command,""" start="00:13:02.733" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Dired is the standard file manager of Emacs.""" start="00:13:05.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And `dired-jump` is a command that lets you jump""" start="00:13:08.753" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""from the current file""" start="00:13:13.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to the directory that contains that file.""" start="00:13:14.593" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So you see, I am here.""" start="00:13:18.653" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The `dired-jump` command, by default,""" start="00:13:20.733" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is bound to Ctrl-x, Ctrl-j (`C-x C-j`).""" start="00:13:22.553" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So if I do `C-x C-j`, in this case,""" start="00:13:25.233" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it invokes a command.""" start="00:13:29.433" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can see the name of it, `hyperdrive-up`,""" start="00:13:30.773" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which is functionally equivalent to `dired-jump`.""" start="00:13:33.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It does the same thing, meaning that it took me""" start="00:13:37.733" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to the parent directory of this file.""" start="00:13:41.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I think this is very helpful.""" start="00:13:45.253" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This listing over here, in general,""" start="00:13:48.253" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""tries to mimic or to reuse""" start="00:13:50.693" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the knowledge you already have of Dired.""" start="00:13:55.273" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For example, if you type `o`,""" start="00:13:58.553" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it will open the file at point in the other window,""" start="00:14:01.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""same as in Dired.""" start="00:14:05.313" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Whereas if you type `RET`,""" start="00:14:07.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it would open it in the current window.""" start="00:14:08.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Again, same as what you will do in Dired.""" start="00:14:11.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's see over here.""" start="00:14:16.253" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You have options to jump with `j`,""" start="00:14:18.014" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which is using Minibuffer completion to go to a file.""" start="00:14:21.643" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Right now, I only have two files,""" start="00:14:26.233" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but the idea is the same.""" start="00:14:28.433" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's, again, what you would do in Dired""" start="00:14:32.100" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""if you type `j` with the default key bindings, though,""" start="00:14:34.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""not with Evil mode or something else.""" start="00:14:37.333" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let's see again what we have over here.""" start="00:14:40.293" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can create a bookmark, and this will work,""" start="00:14:42.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but no need to show you everything.""" start="00:14:45.934" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The idea is that you create a bookmark""" start="00:14:48.554" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the way you create any Emacs bookmark,""" start="00:14:50.694" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to a file, to a directory.""" start="00:14:53.214" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It doesn't matter.""" start="00:14:54.933" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then you can jump to it,""" start="00:14:55.994" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the way bookmarks in Emacs always work.""" start="00:14:57.734" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""History in hyperdrive""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""What I want to show you now""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a little bit is the history.""" start="00:15:02.893" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""History in Hyperdrive""" start="00:15:06.313" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""has to do with the drive itself.""" start="00:15:09.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Meaning that individual files""" start="00:15:11.434" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""do not have their own history,""" start="00:15:13.614" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but the drive as such has a history.""" start="00:15:15.314" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Whenever you add a file, you remove a file,""" start="00:15:18.674" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or you edit a file, you are incrementing""" start="00:15:22.014" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the versioning of the hyperdrive by one.""" start="00:15:25.673" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So each action corresponds to one unit of history.""" start="00:15:29.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If you add a file, remove a file, and edit a file,""" start="00:15:34.574" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""this means that you are up three versions.""" start="00:15:37.833" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So whatever your version number is, plus three.""" start="00:15:40.993" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I am on version 24* over here. [* latest, not version 24]""" start="00:15:44.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me go to this file now,""" start="00:15:48.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and let me do `V h`""" start="00:15:55.933" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to see a history of it.""" start="00:15:59.793" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You will notice that between versions 23 and 24,""" start="00:16:02.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""this file was constant.""" start="00:16:07.553" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But in version 25, we have a change.""" start="00:16:09.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""When you are in this buffer over here,""" start="00:16:12.633" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can type the equals sign (`=`),""" start="00:16:14.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which is a key binding that will bring up the diff.""" start="00:16:17.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the set of changes between""" start="00:16:22.373" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the previous version and the current version.""" start="00:16:24.473" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And you see here, between versions 23 and 25,""" start="00:16:27.033" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I have this addition.""" start="00:16:32.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I think this is wonderful because now""" start="00:16:35.093" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can always go and check""" start="00:16:38.373" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""what is the state of this file.""" start="00:16:41.173" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What is this person up to?""" start="00:16:42.413" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What have they been changing?""" start="00:16:43.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And with Hyperdrive, you can also visit…""" start="00:16:46.313" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me go to the parent here.""" start="00:16:50.793" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""You can always visit a previous history.""" start="00:16:58.514" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So, for example, I will go to the previous history,""" start="00:17:02.413" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and let me see this file again""" start="00:17:06.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in its previous history.""" start="00:17:08.033" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I am looking at the file,""" start="00:17:09.554" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but notice that the file now is not editable""" start="00:17:11.094" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""because this is in the past.""" start="00:17:15.154" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I cannot rewrite history.""" start="00:17:17.354" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I can only go to the present and then modify it""" start="00:17:19.314" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then create a new history, a new version.""" start="00:17:23.414" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But this helps me see the state of the file""" start="00:17:27.214" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""at that version of the hyperdrive.""" start="00:17:31.214" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So this is the basic idea of it, folks.""" start="00:17:35.973" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Use case of sharing large files""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""What I want to do then is""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""continue with my process here.""" start="00:17:42.234" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me actually do it like this so that you can see.""" start="00:17:46.254" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Continue with the process of""" start="00:17:51.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""publishing all those files""" start="00:17:54.374" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I have on my hyperdrive.""" start="00:17:56.494" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For example, this is a picture of a flower""" start="00:17:59.754" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I have taken.""" start="00:18:02.854" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I think it's very nice.""" start="00:18:04.114" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And this is a video of an eagle""" start="00:18:05.734" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that was flying above me.""" start="00:18:08.033" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And I will share this on the Hyperdrive network.""" start="00:18:09.594" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""From the network, by the way,""" start="00:18:13.774" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you can also stream video as well.""" start="00:18:15.733" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It is described in the hyperdrive.el manual,""" start="00:18:18.453" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but I cannot show you everything right now.""" start="00:18:20.694" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I think you get the idea.""" start="00:18:24.253" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The gist is, you have a file system""" start="00:18:26.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that you can share with the world""" start="00:18:29.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""using peer-to-peer technology.""" start="00:18:31.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And for me, this is a powerful tool.""" start="00:18:34.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is a valuable proposition""" start="00:18:38.520" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""because I can share these large files I have,""" start="00:18:41.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""these pictures or videos,""" start="00:18:45.013" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which I cannot post on my website""" start="00:18:47.433" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""due to bandwidth considerations.""" start="00:18:49.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And this way, I can still share with the world""" start="00:18:52.713" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""something that I consider interesting.""" start="00:18:55.593" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""That's all for today, folks.""" start="00:18:59.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Thank you very much for your attention.""" start="00:19:00.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Remember that hyperdrive.el is still in development""" start="00:19:01.894" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and things may change.""" start="00:19:05.514" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But the fundamentals are in place""" start="00:19:07.394" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and will remain constant.""" start="00:19:10.313" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""That's all for today. Take care. Goodbye.""" start="00:19:13.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""[Joseph]: Thank you, Prot.""" start="00:19:19.461" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Drive creation with hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Another fundamental feature of hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is drive creation.""" start="00:19:23.980" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The first step, as always,""" start="00:19:26.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is to make sure that the gateway is running.""" start="00:19:28.339" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll open up `hyperdrive-menu` with `C-c h`.""" start="00:19:30.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""By the way, my key presses,""" start="00:19:35.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as the commands that they run,""" start="00:19:36.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""can be seen at the top right of my screen.""" start="00:19:38.699" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Down here, I see that the gateway is off.""" start="00:19:42.439" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll start it with `G s`.""" start="00:19:44.619" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now, it takes a few moments""" start="00:19:49.139" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for the gateway to spin up.""" start="00:19:50.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So to refresh the menu,""" start="00:19:52.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I will close it and open it again.""" start="00:19:54.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now we see that the gateway is on.""" start="00:19:58.399" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `N` to create a new drive.""" start="00:20:01.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now it's prompting me for a new hyperdrive seed.""" start="00:20:05.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""A seed is a string of characters""" start="00:20:09.759" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that will be used to generate,""" start="00:20:12.939" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in tandem with my secret master key,""" start="00:20:14.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a new public key that will globally,""" start="00:20:18.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""uniquely identify this drive.""" start="00:20:21.339" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll type in &quot;emacsconf&quot;.""" start="00:20:24.879" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And after a moment,""" start="00:20:31.759" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""we see the newly created, empty drive.""" start="00:20:32.659" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll open up `hyperdrive-menu` once more.""" start="00:20:36.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And I'll press `h` to open the sub-menu that shows""" start="00:20:40.099" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""more information about this hyperdrive,""" start="00:20:43.799" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as commands related to this drive.""" start="00:20:45.979" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In blue here, we see the seed that I just entered""" start="00:20:50.879" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as the public key that it generated.""" start="00:20:54.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We also see that the petname""" start="00:21:00.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is also set to emacsconf.""" start="00:21:02.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The petname is different from the seed.""" start="00:21:06.540" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The petname is my personal, local identifier""" start="00:21:09.039" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for this drive.""" start="00:21:13.079" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I can change it whenever I want.""" start="00:21:14.679" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And while it's not a secret,""" start="00:21:16.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it's not displayed to other users.""" start="00:21:19.739" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I will leave it for now.""" start="00:21:23.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""&quot;emacsconf&quot; is fine.""" start="00:21:26.360" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But when I go to share this drive,""" start="00:21:28.139" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll want to display something more memorable""" start="00:21:30.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""than this long public key.""" start="00:21:34.159" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And that's what the nickname is for.""" start="00:21:36.879" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll change that by pressing `n`,""" start="00:21:39.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll type in &quot;Emacs Conference&quot;.""" start="00:21:42.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now, when other peers load this hyperdrive""" start="00:21:48.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""by its URL, which I can copy by pressing `w`,""" start="00:21:51.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""they will see the nickname""" start="00:21:57.059" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in addition to the public key.""" start="00:21:59.499" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So if hyperdrive.el is like a phone book,""" start="00:22:02.019" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the public keys are akin to phone numbers,""" start="00:22:05.720" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the nickname is like the name that your contacts""" start="00:22:09.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""give you when they introduce themselves,""" start="00:22:13.939" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and the petname is the name""" start="00:22:16.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that you actually write down in your phone book.""" start="00:22:18.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll show you what nicknames and petnames look like""" start="00:22:22.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for drives that are not writable to me.""" start="00:22:25.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `C-g` to close this submenu,""" start="00:22:29.619" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and now I'm back at the main menu.""" start="00:22:32.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `C-u h` to choose a hyperdrive,""" start="00:22:34.639" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll look at Prot's hyperdrive here.""" start="00:22:39.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And here we see that the nickname""" start="00:22:44.559" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""of Prot's hyperdrive is &quot;Protesilaos&quot;.""" start="00:22:46.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now, it's grayed out,""" start="00:22:49.839" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which means that I can't change it.""" start="00:22:50.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I can't change it because it's not my hyperdrive.""" start="00:22:53.239" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But I can change the petname if I want it""" start="00:22:56.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to show up under a different name.""" start="00:22:58.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll press `p`,""" start="00:23:00.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll type in &quot;Prot&quot;, and hit Enter.""" start="00:23:02.439" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now I'll open his hyperdrive by pressing `f`.""" start="00:23:06.679" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And I'll pick a path, I'll just hit `RET`""" start="00:23:11.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to open the root directory.""" start="00:23:13.899" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now, when Prot's hyperdrive shows up,""" start="00:23:16.759" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""at the top of the screen,""" start="00:23:19.459" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I see that it's identified with the petname &quot;Prot.&quot;""" start="00:23:20.539" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""hyperdrive-mirror""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Now I'll show off `hyperdrive-mirror`.""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`hyperdrive-mirror` is like `hyperdrive-upload-file`,""" start="00:23:28.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""except that it allows you to upload""" start="00:23:32.159" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""an entire directory full of files recursively.""" start="00:23:33.879" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For this example, I will upload""" start="00:23:37.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the contents of the emacsconf-mirror directory.""" start="00:23:40.039" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""First step is to open the menu. I'll press H,""" start="00:23:44.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then I will choose the emacsconf drive.""" start="00:23:48.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In the bottom here, we see the Mirror group.""" start="00:23:53.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The first option that I can change""" start="00:23:57.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is the source directory.""" start="00:23:59.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The source directory is the directory on my local""" start="00:24:01.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""machine from which files will be uploaded.""" start="00:24:04.619" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""By default, the source directory""" start="00:24:08.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is set to the current directory of the main buffer.""" start="00:24:11.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This is good for now, so I'll leave it.""" start="00:24:17.060" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The target directory is the directory""" start="00:24:19.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the hyperdrive where the files will end up.""" start="00:24:22.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""By default, it's the root directory,""" start="00:24:25.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but for this example,""" start="00:24:28.839" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll put these files in a subdirectory called notes.""" start="00:24:30.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The filter is the rule that allows you""" start="00:24:36.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to programmatically determine which files""" start="00:24:40.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the local directory will be uploaded""" start="00:24:43.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""into the hyperdrive, and which ones won't.""" start="00:24:46.579" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""By default, all files are mirrored, but in this case,""" start="00:24:50.339" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""let's say that I want to upload only the Org files,""" start="00:24:54.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""these first three, and I want to exclude""" start="00:24:58.499" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the markdown file, solar-oven-notes.md.""" start="00:25:01.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll press `m f`, and I will choose""" start="00:25:05.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the regular expression string option.""" start="00:25:10.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If I wanted to, I could choose a named function""" start="00:25:13.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or a lambda, but I won't demo that here.""" start="00:25:16.279" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll type in `org$`, which will match against""" start="00:25:22.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the files that end with &quot;org.&quot;""" start="00:25:26.339" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The filter is here, and I'll leave confirmation on.""" start="00:25:31.659" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The confirmation step just allows me to review""" start="00:25:35.899" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the list of files that are going to be uploaded""" start="00:25:39.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""into the drive before it happens.""" start="00:25:42.139" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll press `m m` to mirror them, and I see here""" start="00:25:45.899" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that these three files are going to be uploaded.""" start="00:25:52.879" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Looks good. I'll press `C-c C-c` to confirm the mirror.""" start="00:25:58.439" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now it says three files have been uploaded,""" start="00:26:05.559" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and here they are in the drive.""" start="00:26:07.739" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Good, so now I will modify the""" start="00:26:11.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""fermented-overnight-oats file in the hyperdrive.""" start="00:26:15.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I've loaded it, and I'll add here:""" start="00:26:19.939" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""&quot;or other grains - cook them in advance if you want to,&quot;""" start="00:26:24.340" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll save it.""" start="00:26:31.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now this file, fermented-overnight-oats.org,""" start="00:26:33.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""has been modified on the hyperdrive""" start="00:26:37.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""more recently than on the file system.""" start="00:26:40.679" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The file system file has not been modified.""" start="00:26:44.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll go back to my local directory,""" start="00:26:48.900" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll modify a different file.""" start="00:26:53.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In this case, I'll add another hoedown""" start="00:26:56.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to the fiddle-tunes.org file.""" start="00:27:00.459" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""&quot;Tom and Jerry.&quot; That's a good hoedown.""" start="00:27:04.619" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now I'll mirror again.""" start="00:27:09.619" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll open the menu, and I'll press `h`,""" start="00:27:14.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then I'll open up the emacsconf demo drive.""" start="00:27:16.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now I've also decided that""" start="00:27:20.579" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I want to include the solar-oven-notes.md file.""" start="00:27:22.959" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll remove the filter""" start="00:27:26.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""so that it's no longer excluded.""" start="00:27:28.499" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll leave the rest of the settings the same,""" start="00:27:32.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I'll press `m m` again.""" start="00:27:34.079" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now we see that the""" start="00:27:38.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`*hyperdrive-mirror*` buffer looks different.""" start="00:27:40.019" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So, there are two main groups.""" start="00:27:43.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""These are the files that are going to be uploaded,""" start="00:27:47.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and these are the files that are ignored.""" start="00:27:49.986" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""They're not going to be uploaded.""" start="00:27:52.899" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The first subgroup is the files that are new locally.""" start="00:27:56.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the solar-oven-notes.md file is new on my machine,""" start="00:28:00.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and it doesn't exist in the hyperdrive.""" start="00:28:04.899" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the mirror command is going to take that file""" start="00:28:07.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and add it to the hyperdrive.""" start="00:28:10.039" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This group contains the files that are newer locally.""" start="00:28:13.759" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the fiddle-tunes.org file""" start="00:28:17.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""has been modified on my local machine,""" start="00:28:19.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but it hasn't been modified on the hyperdrive.""" start="00:28:23.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So `hyperdrive-mirror` is going to take the""" start="00:28:26.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""updated version and put it on the hyperdrive.""" start="00:28:28.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Now, the first group that's going to be ignored""" start="00:28:33.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""are the files that are older locally.""" start="00:28:35.959" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the fermented oats file has been modified""" start="00:28:39.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""on the hyperdrive more recently""" start="00:28:42.979" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""than on my local file system.""" start="00:28:45.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So `hyperdrive-mirror` isn't going to overwrite""" start="00:28:47.539" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the version of the file in my hyperdrive""" start="00:28:51.059" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""with the older local version.""" start="00:28:53.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And finally, the emacsconf-preparation.org file""" start="00:28:57.279" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""hasn't been modified on either the hyperdrive""" start="00:29:00.779" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or my local file system,""" start="00:29:05.499" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and the timestamp is identical.""" start="00:29:07.439" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So `hyperdrive-mirror` is going to""" start="00:29:09.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""ignore this file as well.""" start="00:29:11.279" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So the only two files that are going""" start="00:29:13.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to be uploaded now are the solar-oven-notes.md file""" start="00:29:15.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and the fiddle-tunes.org file.""" start="00:29:19.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll confirm that with `C-c C-c`.""" start="00:29:21.639" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now in my hyperdrive""" start="00:29:25.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""we see that there are four files.""" start="00:29:26.579" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The solar-oven-notes.md file has been uploaded,""" start="00:29:28.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and if I open the fiddle-tunes.org file,""" start="00:29:31.679" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""we see that it now contains the line &quot;Tom and Jerry,&quot;""" start="00:29:35.519" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which means that it was updated based on""" start="00:29:39.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the change to the file on my local file system.""" start="00:29:41.659" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This `hyperdrive-mirror` command is the command""" start="00:29:47.099" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that we use to periodically update""" start="00:29:50.559" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the USHIN hyperdrive with""" start="00:29:54.139" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the contents of the USHIN website.""" start="00:29:56.599" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""There's going to be a link to the USHIN hyperdrive""" start="00:30:00.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as the website at the end of the video.""" start="00:30:03.019" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""hyperdrive history""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Now I'll go into a little more detail""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""about the Hyperdrive history buffer""" start="00:30:09.079" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""by showing off the README file in Prot's hyperdrive.""" start="00:30:11.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `C-c h` to open the menu,""" start="00:30:15.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`C-u h` to be prompted for a drive.""" start="00:30:19.019" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll select Prot's drive,""" start="00:30:22.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""then I'll press `f` to jump to a file""" start="00:30:24.239" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""inside of Prot's drive,""" start="00:30:26.739" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and then `RET` to go to the root directory.""" start="00:30:28.739" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""From here, I'll press `j` to jump to""" start="00:30:32.399" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""an item in his directory.""" start="00:30:35.339" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `RET` on the README to load it.""" start="00:30:37.299" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then finally, I'll open up""" start="00:30:42.379" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`C-c h` to look at the menu.""" start="00:30:44.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Here, I see that I'm looking at""" start="00:30:49.579" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the latest version of Prot's README.org file.""" start="00:30:50.979" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I also see that the previous version""" start="00:30:56.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""of README.org is unknown.""" start="00:30:58.739" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's unknown because hyperdrives""" start="00:31:02.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""are sparsely replicated.""" start="00:31:05.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""That means that when my node loaded this""" start="00:31:07.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""README.org file, it didn't bother""" start="00:31:09.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to load anything else.""" start="00:31:12.359" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It didn't load the previous history""" start="00:31:13.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or any other file in his drive.""" start="00:31:16.059" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But now that I want to check out whether""" start="00:31:18.659" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""there is a previous version, I'll press `V p`.""" start="00:31:20.759" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And when it loads, I see in the mode line down here""" start="00:31:26.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I'm now looking at version 25 of this drive.""" start="00:31:28.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""That means that I'm looking at the README.org file""" start="00:31:33.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""at version 25 of this drive.""" start="00:31:36.499" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll open the menu again, and I see""" start="00:31:39.459" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that the same version number is displayed here.""" start="00:31:42.019" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The previous version, before version 25,""" start="00:31:47.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is also unknown because we haven't bothered""" start="00:31:50.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to load anything before version 25.""" start="00:31:53.559" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I also see that the next version, after version 25,""" start="00:31:56.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is the latest version.""" start="00:32:00.479" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So I'll open that up by pressing `V n`.""" start="00:32:02.419" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now we are back where we started,""" start="00:32:06.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""at the latest version.""" start="00:32:10.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But now we see that the previous version,""" start="00:32:12.919" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the version before the latest version, is version 25.""" start="00:32:15.079" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Because now that our node has loaded the previous version,""" start="00:32:18.999" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it can display that information to us.""" start="00:32:24.300" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""From here, I'll open up the history buffer.""" start="00:32:28.620" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `V h`.""" start="00:32:31.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And I can see that there are two known existent""" start="00:32:35.320" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""ranges in Prot's README.org history.""" start="00:32:40.320" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This means that the latest version of README.org""" start="00:32:46.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""was modified at version 39.""" start="00:32:50.120" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And that Prot made four changes""" start="00:32:54.420" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to other files in his hyperdrive""" start="00:32:57.480" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""besides the README.org file since then.""" start="00:33:00.320" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Before that, the time that Prot modified""" start="00:33:04.280" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the README.org file was at version 25.""" start="00:33:08.660" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then he made 13 other changes to other files""" start="00:33:11.840" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""inside of this drive.""" start="00:33:15.200" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Before that, we don't know.""" start="00:33:18.580" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We haven't loaded the history.""" start="00:33:20.259" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""But since we're curious,""" start="00:33:21.859" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll hit `RET` on the unknown line.""" start="00:33:23.179" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And now we see that in Prot's hyperdrive,""" start="00:33:27.920" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the README.org file didn't exist""" start="00:33:32.140" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for the first 22 revisions of his drive.""" start="00:33:34.940" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Then Prot created it at version 23.""" start="00:33:39.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Then again, at 25, made a change.""" start="00:33:43.780" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then made another change at 39.""" start="00:33:46.920" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For good measure, I'll show you the diffs.""" start="00:33:50.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The first diff just contains the entire file""" start="00:33:54.420" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""because the file didn't exist before version 23.""" start="00:33:58.180" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Then, at version 25, Prot added a link""" start="00:34:05.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to the COPYING.org file.""" start="00:34:08.620" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then, at 39,""" start="00:34:13.119" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Prot changed the link to his own hyperdrive""" start="00:34:14.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to be a relative link.""" start="00:34:17.340" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Streaming video from hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Now, I'll stream a video from the USHIN hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that shows off a prototype interface we created""" start="00:34:24.300" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for exploring networks of sources of information.""" start="00:34:27.900" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll open up `hyperdrive-menu`.""" start="00:34:31.720" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Press `C-u h` to be prompted for a drive.""" start="00:34:33.940" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll select the USHIN drive.""" start="00:34:37.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Press `f` to jump to a file in it.""" start="00:34:39.740" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And then I'll jump to the media directory.""" start="00:34:41.940" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Once it loads, I'll press `RET` on the video""" start="00:34:46.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that I want to stream.""" start="00:34:50.180" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""[Voice from the video]: This is a demonstration""" start="00:34:54.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""of the subjective trust interface""" start="00:34:56.686" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that the USHIN team built for the u4u.io web app.""" start="00:34:57.839" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""[Joseph]: There it is.""" start="00:35:02.500" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Streaming a video from Hyperdrive.""" start="00:35:04.080" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""hyperdrive.el under the hood""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Here's how hyperdrive.el works under the hood.""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It uses plz [Please],""" start="00:35:13.027" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the HTTP library that Adam Porter wrote,""" start="00:35:14.727" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to send requests via curl to hyper-gateway.""" start="00:35:18.080" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""hyper-gateway is a program that Mauve Signweaver wrote,""" start="00:35:22.720" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which runs a hyperdrive node under the hood.""" start="00:35:26.580" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It also runs a local HTTP server,""" start="00:35:30.760" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which accepts requests to control the node.""" start="00:35:34.040" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For example, if hyperdrive.el wants to show a file""" start="00:35:38.460" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""from someone's hyperdrive,""" start="00:35:43.480" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it sends the appropriate link via curl""" start="00:35:45.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as a GET request to hyper-gateway.""" start="00:35:49.120" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""hyper-gateway then fetches the data from the network""" start="00:35:52.960" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and returns it via curl,""" start="00:35:57.240" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""via plz, back to hyperdrive.el.""" start="00:35:59.340" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If hyper-gateway already has a locally cached copy,""" start="00:36:03.940" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""it doesn't bother checking the network.""" start="00:36:07.420" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It just sends it straight away.""" start="00:36:09.240" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Likewise, if hyperdrive.el wants to add a file""" start="00:36:12.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to a hyperdrive, it sends a PUT request.""" start="00:36:15.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""hyper-gateway is not installed as part of hyperdrive.el.""" start="00:36:20.200" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It needs to be installed""" start="00:36:24.980" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as a separate, executable program.""" start="00:36:26.660" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We have plans to switch from using hyper-gateway""" start="00:36:35.740" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to another program that Mauve Signweaver""" start="00:36:39.460" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is working on, called hyper-sdk-rpc.""" start="00:36:42.459" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""hyper-sdk-rpc will give us more fine-grained control""" start="00:36:47.839" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""over the underlying Hyperdrive node,""" start="00:36:52.020" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which will open up some new features.""" start="00:36:54.700" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For example, we'll be able to rename files atomically,""" start="00:36:56.820" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""diff directories between versions,""" start="00:37:00.900" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and list the peers that we're currently connected to.""" start="00:37:03.420" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Here are some of the Emacs libraries""" start="00:37:11.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that hyperdrive.el depends on.""" start="00:37:13.360" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrive.el uses plz to send HTTP requests""" start="00:37:17.540" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to hyper-gateway. Check it out.""" start="00:37:22.400" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's on GNU ELPA.""" start="00:37:25.699" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""ewoc.el is a built-in library that's documented""" start="00:37:28.560" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the Emacs Lisp manual under the rather cryptic""" start="00:37:33.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""heading &quot;Abstract Display Functions.&quot;""" start="00:37:37.340" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Really, what it does is it allows you""" start="00:37:41.600" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to map a data model to some display.""" start="00:37:44.520" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""What we do with it in hyperdrive.el is,""" start="00:37:50.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the directory view, we map directory entry items,""" start="00:37:53.860" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""files and directories, to display items.""" start="00:38:02.049" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""And ewoc.el makes it easy to update the display""" start="00:38:04.240" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""whenever the underlying data changes.""" start="00:38:08.701" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrive.el uses persist.el to store""" start="00:38:14.761" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Hyperdrive metadata about known hyperdrives""" start="00:38:21.280" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as version history between sessions,""" start="00:38:25.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""so that the data is cached""" start="00:38:29.481" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""when you log out and log back in.""" start="00:38:32.121" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""If you're going to be developing a program in Emacs""" start="00:38:34.961" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for Emacs 29 or later,""" start="00:38:38.721" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I recommend looking at multisession.el,""" start="00:38:41.961" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""because it's built-in, and it has some features""" start="00:38:44.941" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that persist.el doesn't have.""" start="00:38:50.161" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template new="1" text="""Next steps""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]

[[!template text="""Thank you for listening to this talk.""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I hope you get a chance to try out hyperdrive.el.""" start="00:39:00.001" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Here is a link to the hyperdrive.el manual""" start="00:39:03.681" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the USHIN hyperdrive.""" start="00:39:08.621" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""When you go to paste this link in,""" start="00:39:11.561" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""you'll need to combine it back into one line.""" start="00:39:14.981" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This link is available in the hyperdrive.el manual,""" start="00:39:18.921" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""which is available from within a browser,""" start="00:39:22.501" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""at this link on the USHIN website.""" start="00:39:26.661" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""We also have a public conference room that you can join.""" start="00:39:29.821" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's an XMPP multi-user chat""" start="00:39:32.961" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that the Sopranica team graciously makes available""" start="00:39:35.521" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for us to use.""" start="00:39:39.781" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""There's also a Matrix bridge,""" start="00:39:41.621" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""if that's more your cup of tea.""" start="00:39:43.901" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Thank you to the EmacsConf organizers.""" start="00:39:48.660" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's been a pleasure to participate,""" start="00:39:52.821" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""and I look forward to hearing the rest of the talks.""" start="00:39:55.161" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Have a good day.""" start="00:39:57.614" video="mainVideo-hyperdrive" id="subtitle"]]



Captioner: bhavin192

<a name="hyperdrive-qanda-transcript"></a>
# Q&A transcript (unedited)

[[!template text="""[Speaker 0]: I guess we are now live.""" start="00:00:12.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So Joseph, thanks for being here.""" start="00:00:15.360" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Thanks for talking to the hyperdrive.""" start="00:00:16.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""We already had some, or we already have a lot""" start="00:00:22.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""of questions here. And I guess I would start""" start="00:00:24.360" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""with, let's call it the difficult,""" start="00:00:26.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the most difficult 1. So when you were""" start="00:00:29.119" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""developing hyperdrive for your colleague,""" start="00:00:30.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""what do you, or what have you learned the""" start="00:00:34.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""most?""" start="00:00:34.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: I have learned how much faster and more""" start="00:00:43.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""enjoyable the development of this project can""" start="00:00:46.360" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""be with talented people working by my side,""" start="00:00:51.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""like Jonas and Adam and Prat and Mo,""" start="00:00:55.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it's been really a pleasure to work with""" start="00:00:58.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""these folks.""" start="00:00:58.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: So you have started at first on your own and""" start="00:01:04.959" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""then probably pushed it somewhere in open""" start="00:01:07.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""source or how did it develop,""" start="00:01:10.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""your development experience?""" start="00:01:11.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: A few years ago, we started looking into""" start="00:01:15.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""using peer-to-peer technology for sharing all""" start="00:01:21.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""kinds of information. And we came across Move""" start="00:01:25.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""SignWeaver, who was recommended to us by a""" start="00:01:29.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""mutual friend. And we started working with""" start="00:01:32.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Move, and then about a year ago,""" start="00:01:33.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""we started looking into using Emacs,""" start="00:01:37.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the peer-to-peer software,""" start="00:01:40.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""so that we could make use of all of the""" start="00:01:43.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""powerful things that Emacs already does with""" start="00:01:46.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""org mode and other packages.""" start="00:01:47.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And then we started working with Adam and""" start="00:01:51.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Pratt and Jonas.""" start="00:01:52.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: Yes.""" start="00:01:54.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: So we are skipping to the next question.""" start="00:01:59.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So to read it out, I use multiple computers""" start="00:02:03.700" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and my partner also would like access to my""" start="00:02:06.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""notes. So, 2 questions at first.""" start="00:02:08.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""First 1, how well would this work with using""" start="00:02:12.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""this to edit my Zettelkasten hyperdrive using""" start="00:02:15.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""multiple computers?""" start="00:02:15.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Hyperdrive is single writer currently.""" start="00:02:21.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So what that means is that if you have a""" start="00:02:24.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive that you've created,""" start="00:02:25.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you're the only 1 who can make changes to it.""" start="00:02:28.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And that's limited right now to editing 1""" start="00:02:31.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive from 1 machine.""" start="00:02:33.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""In theory, you could use the same private key""" start="00:02:38.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and write to it from multiple machines,""" start="00:02:40.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""but you would have to make sure that you sync""" start="00:02:43.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it on both machines and didn't make""" start="00:02:46.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""concurrent writes because then you would fork""" start="00:02:48.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the history of your hyperdrive,""" start="00:02:49.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and that would be bad.""" start="00:02:51.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But we've spent a lot of time making links to""" start="00:02:57.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrives work well,""" start="00:02:59.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""relative links within hyperdrives to other""" start="00:03:02.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""files inside of your drive.""" start="00:03:03.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So you should be able to,""" start="00:03:05.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""with some exceptions, just take your personal""" start="00:03:10.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""information management set of org files or""" start="00:03:13.360" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""whatever it is that you have,""" start="00:03:14.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and upload them into a hyperdrive if all of""" start="00:03:18.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that is publicly available or would be good""" start="00:03:22.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""to share publicly. And you can make that""" start="00:03:27.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""available for other people to link to.""" start="00:03:28.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So you can have multiple different""" start="00:03:30.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrives that link to 1 another.""" start="00:03:32.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: So it's like a huge network of hyperdrives""" start="00:03:35.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""connected to each other in some way.""" start="00:03:38.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yeah.""" start="00:03:39.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: So that's kind of neat and kind of cool.""" start="00:03:41.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""There was a follow-up question or the second""" start="00:03:44.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""part of the question. Okay,""" start="00:03:46.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""then using the same hyperdrive is probably""" start="00:03:48.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""not possible, but interlinking would be the""" start="00:03:51.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""best way to do it. There was a question""" start="00:03:57.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""concerning how they should install it.""" start="00:03:59.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So What would be a good way of getting""" start="00:04:01.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrives if you do not want to install npm""" start="00:04:03.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and have a binary? Could you compile it with""" start="00:04:06.460" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""denner or rusk or zig or go?""" start="00:04:08.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""CLI alternative tool, I would prefer to""" start="00:04:10.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""download a single binary.""" start="00:04:11.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: There's something that Jonas was playing""" start="00:04:17.420" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""around with using Geeks to install Hyper""" start="00:04:20.459" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Gateway. So the way that HyperDrive.el,""" start="00:04:22.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the Emacs package, works right now is similar""" start="00:04:26.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""to the way that the transmission Emacs client""" start="00:04:30.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""for BitTorrent works, where you have a client""" start="00:04:34.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""in Emacs that connects to a daemon that is a""" start="00:04:37.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""separate process that's running on your""" start="00:04:39.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""machine, the transmission daemon.""" start="00:04:41.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But in this case, we have HyperGateway,""" start="00:04:43.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""which is running as a daemon on your machine.""" start="00:04:46.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And then hyperdrive.el""" start="00:04:48.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""connects to that daemon and sends requests,""" start="00:04:51.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and all of the hyperdrive stuff under the""" start="00:04:53.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hood happens with her gateway.""" start="00:04:55.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But so that package can,""" start="00:04:57.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or hypergateway, the program can be""" start="00:05:00.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""installed, The easiest way is to just""" start="00:05:02.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""download it from the GitHub releases.""" start="00:05:04.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""You could also use NPM to install it.""" start="00:05:07.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And then the third option that we've been""" start="00:05:09.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""playing around with is Jonas was writing a""" start="00:05:12.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""little script to install it using Geeks,""" start="00:05:14.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""since Geeks now comes with Node 18.""" start="00:05:18.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And so you should be able to install it using""" start="00:05:20.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Geeks.""" start="00:05:20.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: Right, thank you. We have 2 people here""" start="00:05:25.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""joined with microphone.""" start="00:05:26.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Do we have now any question to Joseph or just""" start="00:05:30.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""here for chilling out.""" start="00:05:32.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I guess it's a no. Plasma,""" start="00:05:41.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""yeah.""" start="00:05:42.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: What about using, having some of the""" start="00:05:46.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""information being private in the hyperdrives.""" start="00:05:47.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: That's not what we have been focusing on at""" start="00:05:54.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""this point. At this point,""" start="00:05:55.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""what we've been working on is mainly using""" start="00:05:57.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrives for a public forum type tool.""" start="00:06:02.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But you could encrypt those files if you""" start="00:06:06.420" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""wanted to. You can also just,""" start="00:06:09.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""a poor man's security would just be to share""" start="00:06:13.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""your HyperDrive link only with those people""" start="00:06:16.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that you want to have access to your drive.""" start="00:06:19.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But the way that it works right now is anyone""" start="00:06:21.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""who has the link to a hyperdrive can access""" start="00:06:23.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""its content. So long as there are peers""" start="00:06:26.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""available on the network who can serve it to""" start="00:06:28.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you.""" start="00:06:28.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: Any follow up question from your side,""" start="00:06:37.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Plasma?""" start="00:06:37.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: I had 1, I'll just have to re-remember it.""" start="00:06:46.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: If you remember it, just feel free to""" start="00:06:55.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""interrupt me.""" start="00:06:56.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: What about working? I've looked at this""" start="00:06:58.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""before. What about, if I remember correctly,""" start="00:07:03.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it doesn't do as well with large files,""" start="00:07:04.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""so if you're going to store 200 gigs of video""" start="00:07:09.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""files, stuff like IPFS works a lot better,""" start="00:07:12.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or BitTorrent. This is,""" start="00:07:15.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""are you, were you using the,""" start="00:07:17.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""any way of using multiple protocols for stuff""" start="00:07:21.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""like that? Or what were you doing with,""" start="00:07:25.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or were you just doing the small files with""" start="00:07:27.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the same protocol? Or""" start="00:07:28.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: I would love to see an IPFS client in Emacs""" start="00:07:34.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""as well that could interface with Kubo or""" start="00:07:37.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""some other IPFS daemon and I think that those""" start="00:07:40.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""could work really well together.""" start="00:07:41.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""We mostly have been playing around with""" start="00:07:45.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""sharing relatively small files,""" start="00:07:47.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""up to hundreds of megabytes or maybe a""" start="00:07:52.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""gigabyte. We haven't played around yet with""" start="00:07:55.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive.el, the Emacs client,""" start="00:07:57.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""testing that with HyperGateway.""" start="00:07:59.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But there may be other experiments that have""" start="00:08:04.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""been done that show that that works well.""" start="00:08:05.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""The main thing is that IPFS uses content""" start="00:08:10.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""addressability to reduce duplication of the""" start="00:08:14.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""content. Whereas in HyperDrive,""" start="00:08:16.620" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""if you upload the same file with the same""" start="00:08:20.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""contents twice, now you have double the""" start="00:08:23.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""content being stored in your HyperDrive.""" start="00:08:25.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's not deduplicated.""" start="00:08:26.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""You can always clear out part of the history""" start="00:08:30.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""of your hyperdrive But IPFS has really good""" start="00:08:36.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""built-in deduplication whereas hyperdrive""" start="00:08:39.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""does not""" start="00:08:39.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 4]: I have a question.""" start="00:08:44.159" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: What about like commenting on other like if""" start="00:08:47.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you have a couple of different Hypercore""" start="00:08:50.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""blogs, what about like commenting between""" start="00:08:53.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""them? Like you have some people who have a""" start="00:08:56.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""commenting form on Reddit for their blog""" start="00:08:59.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""posts.""" start="00:08:59.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: So Move SignWeaver has been doing a lot of""" start="00:09:04.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""work recently with the distributed press API""" start="00:09:07.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""to integrate ActivityPub with these""" start="00:09:12.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""peer-to-peer technologies.""" start="00:09:14.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Move can give you more information about""" start="00:09:17.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that. But there is another feature that we'd""" start="00:09:22.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""like to add to hyperdrive.el,""" start="00:09:23.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""which is peer discovery using the swarming""" start="00:09:29.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""feature that HyperCore,""" start="00:09:30.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""HyperSWARM offers, where you'd be able to say""" start="00:09:34.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that my node, my peer-to-peer node is""" start="00:09:38.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""interested in Emacs and free software as""" start="00:09:41.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""topics. And those would be 2 different""" start="00:09:43.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""topics. I would advertise on the network that""" start="00:09:45.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I'm interested in those topics.""" start="00:09:46.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And I would be able to discover other peers""" start="00:09:49.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""on the network who have also advertised that""" start="00:09:52.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""they're interested in those same topics.""" start="00:09:53.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And then they would tell me,""" start="00:09:56.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hey, here's the public key of my hyperdrive.""" start="00:09:59.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Come check it out. I have posted information""" start="00:10:01.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""about those topics. And so in that way,""" start="00:10:04.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you'd be able to, in a distributed fashion,""" start="00:10:06.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""discover other peers on the network who are""" start="00:10:09.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""interested in topics that you're interested""" start="00:10:11.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""in.""" start="00:10:11.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Something that would be useful in addition to""" start="00:10:16.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that idea is like if you had your emacs""" start="00:10:19.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Zettelkasten Publish like let's say you have""" start="00:10:25.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""some private data You make sure that that's""" start="00:10:27.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""scrubbed out before it goes to your hyper""" start="00:10:29.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""core and then you have another part of it""" start="00:10:31.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that gets turned into a website for it's also""" start="00:10:35.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""given to other hyper core clients but you'd""" start="00:10:38.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""rather get the emacs users the org documents""" start="00:10:40.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""then you also publish some of them on a""" start="00:10:44.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""website so everybody as much people can get""" start="00:10:48.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it as possible. And then a way of figuring""" start="00:10:53.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""out who you'd want to do,""" start="00:10:55.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or if you're an Emacs user,""" start="00:10:57.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""maybe figure out that they're all related to""" start="00:10:59.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""each other, but you want to get the art mode""" start="00:11:01.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""documents because you're using EMAX.""" start="00:11:03.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Yeah.""" start="00:11:05.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: Maybe a side note, we have 4 minutes here on""" start="00:11:10.360" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""before we switch into the next track,""" start="00:11:12.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""just to let you know.""" start="00:11:13.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Thank you. So the hyper drive mirror feature""" start="00:11:17.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that we added, would allow you to selectively""" start="00:11:21.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""choose which files you want to share in a""" start="00:11:24.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive. So, with Prot's denote file""" start="00:11:28.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""naming scheme or Carl Voigt's file tags""" start="00:11:30.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""naming scheme, you could just specify a""" start="00:11:33.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""regular expression. And you could say,""" start="00:11:35.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I want to share out of my directory of org""" start="00:11:40.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""files, I want to share only those files that""" start="00:11:42.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""have been tagged as public,""" start="00:11:44.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or only those files that have been tagged as""" start="00:11:47.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""emacs and then only those ones would get""" start="00:11:49.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""uploaded into your hyperdrive""" start="00:11:50.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: or exclude all in any of the ones that say""" start="00:11:54.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""private""" start="00:11:54.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: yep mike had a question""" start="00:12:01.620" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 4]: yeah I have a question for the hyperdrive.""" start="00:12:05.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So I just maybe I missed it and you haven't""" start="00:12:08.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""put a link.""" start="00:12:09.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Oh, Mikhail, we can't hear you.""" start="00:12:16.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Heard you for a second.""" start="00:12:22.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yes?""" start="00:12:28.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 4]: Can someone hear me? Okay,""" start="00:12:29.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I have no idea what happened to my""" start="00:12:31.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""microphone, but now it's back.""" start="00:12:32.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Now we can. You can see the microphone on the""" start="00:12:34.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""top of the screen. So""" start="00:12:35.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 4]: yes, thank you. Okay. I have a question to""" start="00:12:38.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive. Is the hyperdrive a find on the""" start="00:12:41.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hole punch point, point T O hole Or is it""" start="00:12:46.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""just another hyperdrive?""" start="00:12:47.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: That's exactly the project that we're using.""" start="00:12:51.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So the HolePunch team has released hyperdrive""" start="00:12:54.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and other hyper core libraries as free""" start="00:12:59.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""software libraries that you can use.""" start="00:13:01.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And so MoV SignWeaver,""" start="00:13:03.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the project that MoV is working on,""" start="00:13:07.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""HyperGateway, depends on those libraries and""" start="00:13:11.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it makes it easy for you to build other""" start="00:13:15.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""clients like hyperdrive.el""" start="00:13:17.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""which connect to the hyperdrive network.""" start="00:13:20.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I hope that answers your question.""" start="00:13:22.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 4]: Yes it does, thank you.""" start="00:13:25.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And what did make you choose hyperdrive for""" start="00:13:28.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""this Emacs project?""" start="00:13:29.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Mainly the fact that the drives are mutable,""" start="00:13:34.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""which makes it distinct from IPFS or""" start="00:13:37.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""BitTorrent, where when you share some piece""" start="00:13:40.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""of content, you're stuck with that static""" start="00:13:44.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""piece of content, which works well for some""" start="00:13:46.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""cases, but if you say you have a Zettelkasten""" start="00:13:49.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""or you have a set of org files that you want""" start="00:13:52.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""to share with people, you want to be able to""" start="00:13:56.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""update those files and have other people pull""" start="00:13:58.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""those updates from you.""" start="00:13:59.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And so HyperDrive allows you to have these""" start="00:14:02.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""mutable sets of files that you can share and""" start="00:14:05.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""use the same link for other peers to pull the""" start="00:14:08.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""latest changes from you.""" start="00:14:09.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Also, it's versioned, as we showed in the""" start="00:14:11.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""video, which is really helpful for having""" start="00:14:15.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""community deliberations and community""" start="00:14:17.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""discussions where you want to be able to""" start="00:14:19.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""reference some something that somebody said""" start="00:14:22.420" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""in the past and not have it get deleted or""" start="00:14:26.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""changed or something.""" start="00:14:26.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 0]: We are now switching to talk So just for""" start="00:14:30.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""letting you know if you want to say something""" start="00:14:32.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""now. Too late. The BB room is still open,""" start="00:14:37.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""so you can still discuss.""" start="00:14:38.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""There's also a lot going on on the pad.""" start="00:14:41.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But you can also discuss here inside and""" start="00:14:47.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""answer the pet questions maybe later.""" start="00:14:49.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yeah, there are good questions.""" start="00:14:52.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I'll go ahead, please.""" start="00:14:58.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: continuing here on the pad?""" start="00:15:01.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Are we I can hear you.""" start="00:15:04.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 5]: Yeah, so the question I had on the pad was,""" start="00:15:07.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""would it make sense in any sense to put a""" start="00:15:10.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""FUSE interface or put the POSIX semantics in""" start="00:15:13.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""front of this at some point?""" start="00:15:14.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yeah, that would be cool.""" start="00:15:17.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's kind of a similar question to any plans""" start="00:15:20.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""for a Tramp interface.""" start="00:15:21.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""There was a project that the HyperCore""" start="00:15:25.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""HolePunch team was working on a year or more""" start="00:15:31.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""ago that provided a FUSE interface.""" start="00:15:34.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And I think it didn't pan out.""" start="00:15:39.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But it's a good idea. Same with the Tramp""" start="00:15:43.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""interface. It seems like a good idea that""" start="00:15:46.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""would make it possible to more easily hook""" start="00:15:51.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""into the built-in Emacs functionality for,""" start="00:15:55.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""for example, like incremental file name""" start="00:16:01.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""completion, which we don't currently support""" start="00:16:03.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""in Hyperdrive.el. So I'd love to have""" start="00:16:09.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""feedback and design ideas for those projects.""" start="00:16:12.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 5]: Yeah, there's just Everything in Emacs just""" start="00:16:15.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""sort of assumes the file system is there and""" start="00:16:17.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""usable in that way. That's all.""" start="00:16:20.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yeah, it's a good idea.""" start="00:16:23.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: An idea for the privacy type thing is""" start="00:16:28.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Syncthing links. Because I think you can set""" start="00:16:33.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""up Syncthing in such a way that you have the""" start="00:16:36.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""private networks that other people can't""" start="00:16:38.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""actually get access to.""" start="00:16:40.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: I did not know that that was possible with""" start="00:16:45.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Syncthing. I'll have to look into that.""" start="00:16:47.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: At least I think it is anyway,""" start="00:16:48.840" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""because yeah, there's ways you can explicitly""" start="00:16:53.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""authorize devices. Yeah,""" start="00:16:56.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""right. I think you could actually set it up""" start="00:17:00.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""in such a way that you can have private stuff""" start="00:17:03.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and links, and then that might be a way that""" start="00:17:06.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you can get a completely distributed""" start="00:17:10.119" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Zettelcast and with private notes.""" start="00:17:12.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Yeah. Good idea. There's a question in the""" start="00:17:22.339" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""pad about DATRS, a Rust version of""" start="00:17:26.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""HyperDrive. I had not heard of that,""" start="00:17:28.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""so I'll have to look into that.""" start="00:17:30.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""If you had your druthers,""" start="00:17:33.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""what would make your work on hyperdrive.dl""" start="00:17:34.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""easier? It's been a lot of fun.""" start="00:17:40.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I would love to have more user feedback.""" start="00:17:42.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""That would be my wish.""" start="00:17:45.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I tried putting a git repo in HyperDrive.""" start="00:17:50.500" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Does it work well? I don't think that would""" start="00:17:53.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""work well because, as I mentioned a moment a""" start="00:17:56.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""few moments ago, the data that you put into a""" start="00:18:00.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive is duplicated.""" start="00:18:00.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So if you had the whole work tree in""" start="00:18:06.300" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperdrive every time you made a change and""" start="00:18:08.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""saved it, it would be duplicated.""" start="00:18:12.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""If you had just a bare repository,""" start="00:18:15.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I don't know, try it.""" start="00:18:18.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: They're trying to solve the same problem,""" start="00:18:21.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""but 1 of the optimizations they have for""" start="00:18:23.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""being able to view a whole bunch of people's""" start="00:18:25.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""data is they made shallow clones a lot""" start="00:18:28.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Would you phrase that again,""" start="00:18:34.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""please?""" start="00:18:35.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: easier. Right? So like Git and Hypercore,""" start="00:18:39.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""1 of the things they do is they allow you to""" start="00:18:42.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""have a whole history of every single change""" start="00:18:46.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""for a dataset Zettelkasten project.""" start="00:18:51.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But 1 of the optimizations Hypercore did to""" start="00:18:56.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""make it more network web friendly is they""" start="00:19:02.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""made the shallow clones work a lot better and""" start="00:19:04.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""a lot... Yeah, they made that work a lot""" start="00:19:07.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""better so you don't have to download every""" start="00:19:08.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""single thing for every single project.""" start="00:19:11.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And because they both are implementing the""" start="00:19:14.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""delta upgrades, I don't see how they could""" start="00:19:17.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""work really well together.""" start="00:19:19.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""At least from what it looked like to me.""" start="00:19:21.780" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It can't hurt to experiment.""" start="00:19:25.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: But yeah, I would agree with you.""" start="00:19:28.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Is data transferred between nodes in the""" start="00:19:35.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""clear or encrypted? That's a good question.""" start="00:19:38.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I don't know how it's encrypted.""" start="00:19:41.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I don't, I wouldn't recommend sharing""" start="00:19:47.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""sensitive data with hyperdrive right now?""" start="00:19:53.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I would recommend if you want to play with""" start="00:19:55.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it, have it be something where you're""" start="00:19:57.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""expecting the data to be shared.""" start="00:20:00.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Is there a searchable catalog?""" start="00:20:03.460" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: It's also the data in transport versus data""" start="00:20:06.700" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""at rest. I'm pretty sure the data at rest""" start="00:20:08.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""would not be encrypted.""" start="00:20:09.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Right. You can separate that into those 2""" start="00:20:14.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""questions.""" start="00:20:14.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Right. Right. Is there a searchable catalog""" start="00:20:19.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""of hyper drives? So that's a thing,""" start="00:20:23.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""an idea that we've been a distributed trust""" start="00:20:32.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""network for discovering peers that are""" start="00:20:38.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""trusted for a particular topic.""" start="00:20:41.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And we actually made a demo video of a""" start="00:20:47.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""previous prototype that's available on the""" start="00:20:51.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Ashen hyperdrive that you can watch that""" start="00:20:54.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""shows the basic idea. But the idea is just""" start="00:20:58.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that you would have a list of peers that you""" start="00:21:02.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""think are worth listening to or worth reading""" start="00:21:07.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""for a particular topic.""" start="00:21:09.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And those peers would have peers that they""" start="00:21:11.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""think are worth listening to for that same""" start="00:21:14.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""topic. And so you would say,""" start="00:21:16.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""if I'm interested in Emacs,""" start="00:21:17.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I want to see all the peers that I trust for""" start="00:21:21.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the topic Emacs. And if,""" start="00:21:23.700" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""say, Adam Porter shows up in my list and Adam""" start="00:21:27.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Porter trusts Jonas and Jonas trusts Pratt,""" start="00:21:30.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I would be able to read hyperdrive""" start="00:21:33.420" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""information from all of those people by""" start="00:21:36.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""looking at the indirect relationships that I""" start="00:21:41.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""have by following the chain of relationships,""" start="00:21:43.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""kind of like a web of trust.""" start="00:21:44.760" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And so it would also allow you to have a""" start="00:21:49.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""network of peers that you trust to block""" start="00:21:53.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""other people on your behalf.""" start="00:21:54.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So it would be useful for subjective""" start="00:21:57.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""moderation where you can remove spam and bad""" start="00:22:02.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""actors from the people that you follow""" start="00:22:04.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""without having to delegate that powerful""" start="00:22:08.940" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""responsibility to some third party in a""" start="00:22:13.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""permanent way where that third party might""" start="00:22:15.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""abuse that power. So it allows you to share""" start="00:22:23.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""your list of trusted peers and your list of""" start="00:22:26.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""blocked peers with other people in a""" start="00:22:29.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""peer-to-peer way.""" start="00:22:29.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Have you ever looked at GNUnet?""" start="00:22:38.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It kind of does some...""" start="00:22:40.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's trying to do something weird with the""" start="00:22:45.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""internet where it redesigns it from the""" start="00:22:47.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""ground up to be peer-to-peer,""" start="00:22:51.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""local first, or something like that.""" start="00:22:53.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: I would like to know more about GNUnet.""" start="00:22:58.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Yes. I have heard of it,""" start="00:23:01.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""but I haven't really researched it.""" start="00:23:03.620" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""If you edit a file on the hyperdrive,""" start="00:23:09.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""then edit the same file on the local mirror,""" start="00:23:12.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""how is the conflict handled when you sync the""" start="00:23:15.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""mirror again? So I think if I understand the""" start="00:23:21.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""question, the answer is that you can't edit""" start="00:23:29.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the file in 2 different places,""" start="00:23:32.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I think is the answer to the question.""" start="00:23:36.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""If you were to manually copy the private key""" start="00:23:41.220" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""from 1 machine onto another machine,""" start="00:23:44.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""then you could cause a conflict,""" start="00:23:51.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""like a merge conflict,""" start="00:23:54.400" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""but you would have to go out of your way to""" start="00:23:58.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""do that. And It's not handled.""" start="00:24:00.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I think the Hypercore Hole Punch team has""" start="00:24:03.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""another project that they're working on that""" start="00:24:05.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""would, it's called AutoBase,""" start="00:24:07.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""that would merge those conflicts.""" start="00:24:09.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""But we're not using that right now.""" start="00:24:13.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And I think it's in early development still.""" start="00:24:16.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So there might be a solution in the future.""" start="00:24:19.860" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: What's a surprising change of thoughts or""" start="00:24:32.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""what's the most interesting thing you weren't""" start="00:24:36.900" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""expecting to discover while developing this?""" start="00:24:39.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Like change of thoughts on how you write or I""" start="00:24:44.640" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""don't know.""" start="00:24:45.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Well, I'm relatively new to Emacs and to Lisp""" start="00:24:59.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and really to programming in general.""" start="00:25:01.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And so it's been a fantastic learning""" start="00:25:04.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""experience. Adam, Alpha Papa,""" start="00:25:08.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Adam and I have been doing a lot of pair""" start="00:25:11.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""programming sessions where we work together""" start="00:25:12.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and I get to learn from him.""" start="00:25:15.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""And we've had meetings with Jonas and Prat""" start="00:25:19.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""and meetings with Mauve where it's a""" start="00:25:23.560" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""fantastic learning experience for me to""" start="00:25:25.520" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""discover how to build software in an""" start="00:25:30.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""efficient and intelligent way.""" start="00:25:32.820" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's a huge pleasure. If there are no more""" start="00:25:40.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""questions, I just wanted to encourage""" start="00:25:43.320" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""everyone to try it out and to let us know""" start="00:25:48.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""what you think. It would be really helpful to""" start="00:25:50.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""have some feedback from people who are using""" start="00:25:54.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it in new and creative ways that we haven't""" start="00:25:57.240" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""anticipated.""" start="00:25:57.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 6]: Hi, I'd just like to say that I tried this""" start="00:26:02.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""new thing called hyperdrive.el""" start="00:26:02.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""today, and I think it's pretty cool.""" start="00:26:05.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: Sorry, that was somebody else.""" start="00:26:12.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Hey Joseph, how's it going?""" start="00:26:13.440" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Oh, talk today.""" start="00:26:15.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Oh, thanks. Wonderful.""" start="00:26:16.420" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: Who's that? Oh, hey. Well,""" start="00:26:19.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I'm going to say goodbye.""" start="00:26:34.060" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Thank you. And thank you for your questions,""" start="00:26:37.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: I know that""" start="00:26:39.680" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 1]: PlasmaStrike. I've met you before.""" start="00:26:40.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Appreciate your questions,""" start="00:26:42.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""your thoughts.""" start="00:26:42.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: Oh, by the way, Joseph,""" start="00:26:50.380" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""we have our, our first,""" start="00:26:53.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I don't know if our first new user,""" start="00:26:55.120" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""but we have the first link being shared,""" start="00:26:57.280" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""to hyperdrive file in the chat and I loaded""" start="00:27:01.160" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""it and it works. And it's funny too.""" start="00:27:03.080" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's worth looking at.""" start="00:27:03.880" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So. Oh, I think it's frozen.""" start="00:27:09.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""I don't know if anybody can hear me.""" start="00:27:11.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: I can.""" start="00:27:12.720" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: Okay, cool. The browser is frozen.""" start="00:27:15.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""It's it's not, okay. Just unfroze.""" start="00:27:19.020" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""Anyway. All right. Well,""" start="00:27:21.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""By the way, I enjoyed your talks about""" start="00:27:24.000" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""hyperbole. I'm going to rewatch those later""" start="00:27:26.260" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""when I get a chance. It was nice to meet you,""" start="00:27:28.040" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""too. Bob is a really great guy to work with.""" start="00:27:31.100" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Definitely a lot of interesting people.""" start="00:27:38.800" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: I owe him 1. Yes, sir.""" start="00:27:40.200" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""All right, you have a good day,""" start="00:27:41.580" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 3]: Will do, I like the insistence on local""" start="00:27:45.140" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""first. Feels like it's a good dovetail with""" start="00:27:48.740" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""the hyper core""" start="00:27:49.540" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""[Speaker 2]: enjoy the conference. Yeah,""" start="00:27:51.180" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""yeah, I think there's a lot of a lot of""" start="00:27:54.960" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""interesting possibilities to build on this we""" start="00:27:57.980" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""have some plans that we Will get to you later""" start="00:28:01.340" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""this well in the coming year And we'll see""" start="00:28:05.600" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""where the hyperdrive people,""" start="00:28:07.480" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""you know, upstream how they develop it as""" start="00:28:09.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""well and yeah, so exciting times.""" start="00:28:14.340" video="qanda-hyperdrive" id="subtitle"]]

Questions or comments? Please e-mail [joseph@ushin.org](mailto:joseph@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20hyperdrive.el%3A%20Peer-to-peer%20filesystem%20in%20Emacs)


<!-- End of emacsconf-publish-after-page -->