summaryrefslogtreecommitdiffstats
path: root/2022/captions/emacsconf-2022-hyperorg--powerful-productivity-with-hyperbole-and-org-mode--robert-weiner--answers.vtt
blob: 4ababba98e24d83217c671b6dadda07a814e53ce (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
WEBVTT

00:00.000 --> 00:03.880
Sorry, it's a little tight. I'm doing a lot of stuff behind the scene and now we're ready

00:03.880 --> 00:23.320
to go live in about five seconds. Sorry, five more seconds. Five. And we are live. Hello

00:23.320 --> 00:27.920
again, everyone. Hopefully you can hear me just fine. And we just had a talk with Bob

00:27.920 --> 00:32.800
and Bob is now here in the room. Hi Bob, how are you doing? Hi, doing well. Good to see

00:32.800 --> 00:39.120
you, Leo. You're doing a great job. Well, thank you. I must say, I am back to asking

00:39.120 --> 00:44.160
questions, but for the last two hours, I have been running after pre-recordings. I have

00:44.160 --> 00:48.800
been doing the re-encoding and stuff like this, which means it doesn't look like this,

00:48.800 --> 00:53.220
but this was very much of a marathon. And I'm glad to be here to be in a room with you

00:53.220 --> 00:57.000
because I'm actually going to be able to rest a little bit.

00:57.000 --> 01:04.400
Did you see the presentation? Not yet. Okay, can I lie? If I were able to lie, I would

01:04.400 --> 01:08.960
say yes, I've been very attentively watching everything in a presentation, but sadly, no,

01:08.960 --> 01:13.160
I've been quite busy elsewhere. And because, well, no, we don't need to tell them about

01:13.160 --> 01:20.120
this. But Bob, do you have the pad open in front of you? Yes. Well, I can't look at both

01:20.120 --> 01:26.280
at the same time, but... It's fine. You don't need to see my face. You've seen it. Okay.

01:26.280 --> 01:31.120
I see it here. Can you have multiple implicit button files? If so, how would you know which

01:31.120 --> 01:39.780
link came from what files? I guess they're one-way links, so you embed buttons in any

01:39.780 --> 01:46.600
number of files that you want and you traverse them, or they perform actions for you. There

01:46.600 --> 01:52.900
are three categories of buttons. We were showing you implicit buttons, which is one category.

01:52.900 --> 01:59.800
Then there's explicit buttons, which can also perform arbitrary actions, but those you embed

01:59.800 --> 02:05.860
one at a time in a file and you say, okay, I want this to be a link to an org file section

02:05.860 --> 02:12.560
or something. And then... Sorry for the interruption. Can we keep going? The third kind are global

02:12.560 --> 02:18.500
buttons, which we demonstrated there when you put those in your personal button file,

02:18.500 --> 02:23.920
and then you can access them by name anywhere in Emacs without even having a buffer up on

02:23.920 --> 02:30.560
screen. The next question... So I should just go down the questions? You don't have any

02:30.560 --> 02:36.960
Leo? No, no, feel free. I'm mostly here to be the pretty face that when a problem happens,

02:36.960 --> 02:41.400
I'm here to help. But since you have questions already in the pad, I'm more than happy to

02:41.400 --> 02:45.420
have you answer the question from the pad. And if we have a little more time, I'll come

02:45.420 --> 02:49.560
up with my own questions, so don't worry about it. Yeah, and encourage people to come into

02:49.560 --> 02:57.020
the chat. We can do something live and then go back to the Etherpad and deal with these

02:57.020 --> 03:03.800
later as well if people want to talk. So just to specify this, we might first have you answer

03:03.800 --> 03:07.960
the questions on the pad first and we'll open up the BBT a little later. For now, just you

03:07.960 --> 03:17.340
on the pad. I'll keep you posted. So are we showing the pad so people see it or I need

03:17.340 --> 03:24.480
to share that? So I'm sharing the pad right now, I'm managing what people are seeing on

03:24.480 --> 03:27.840
the stream. You might want to have the pad in front of you and read the question anyway

03:27.840 --> 03:33.480
to know which question you're actually answering. Okay, I do have the pad separately. Okay.

03:33.480 --> 03:40.920
What about using implicit buttons with multiple people with different configs? Not quite sure

03:40.920 --> 03:49.820
what the question is, but hyperbole is always thinking about people working collaboratively,

03:49.820 --> 03:56.880
though it is also somewhat focused on your personal information. So as you saw when we

03:56.880 --> 04:03.940
embedded a variable, either an Emacs list variable or an environment variable in a path,

04:03.940 --> 04:08.620
you can share those with people. You can embed hyperbole buttons in your email messages and

04:08.620 --> 04:13.720
they'll adapt based on the environment that the person activates them in. So there's a

04:13.720 --> 04:22.200
lot of useful kind of capability like that built in for collaboration as well. Coming

04:22.200 --> 04:27.260
in from org mode, would it be a fair assessment that hyperbole is in some way a generalization

04:27.260 --> 04:33.240
of what most people think of the great features of org to work across formats with the hyperbole

04:33.240 --> 04:38.600
links buttons being the recurring example and that it then further adds some capabilities

04:38.600 --> 04:45.500
again across formats being the global miner mode is interesting. I think it goes to RMS's

04:45.500 --> 04:51.280
talk that org's features could be more generalized modularized. How is hyperbole in that respect?

04:51.280 --> 04:56.800
Yes, it hyperbole is meant to give you all of these capabilities across your entire Emacs

04:56.800 --> 05:05.000
experience. So everything you saw in org mode works and all sorts of other buffer types

05:05.000 --> 05:13.560
to accept the pieces that were activating org's specific features. Internal radio targets,

05:13.560 --> 05:22.560
are they able to link to other org mode files that are part of my agenda? Certainly you

05:22.560 --> 05:33.960
can have, you can make a link type that crosses similar to what you saw in the K outliner

05:33.960 --> 05:41.040
links where you specified a file and then it just would have the sub part of the link

05:41.040 --> 05:48.640
that you wanted that would reference the target as well. Your package advances how useful

05:48.640 --> 05:53.880
a mouse can be with creating links. That we didn't show but you can just drag between

05:53.880 --> 05:59.240
windows and create an explicit link between things as well. Do you have any experience

05:59.240 --> 06:03.640
or thoughts about how touchscreens or mice could be used or improved with Emacs? Yes

06:03.640 --> 06:13.080
I do. In fact, when hyperbole was conceived originally it was part of a broader research

06:13.080 --> 06:19.640
project called personalized information environments. At the dawn of the web is when this started

06:19.640 --> 06:25.800
and we kind of figured people would be deluged with maybe 5,000 email messages a day or just

06:25.800 --> 06:33.240
all sorts of things like we are deluged with today. So we were thinking about sort of like

06:33.240 --> 06:41.160
org brain and the graphical sort of navigation that you could do in hyper versus and came

06:41.160 --> 06:51.920
up with some prototypes that were kind of very iPad like in the node sort of views but

06:51.920 --> 06:58.760
with much greater navigation capability. So a lot of that isn't implemented but we are

06:58.760 --> 07:04.400
always thinking about how to make things more useful and you see the smart context handling

07:04.400 --> 07:10.360
that the mouse keys do because there's drags associated with the action and the assist

07:10.360 --> 07:16.800
keys when put onto mice and those do a great many things that sort of replicate what a

07:16.800 --> 07:22.960
touchscreen might do as well. Would you consider hyperbole to be more of a format spec that

07:22.960 --> 07:28.240
can then be handled however we want or the engine itself along with that format i.e.

07:28.240 --> 07:33.620
can the simple link formats be used for other extensible purposes. Yes again hyperbole was

07:33.620 --> 07:39.560
conceived as a hypertext engine that would be part of the personalized information environments

07:39.560 --> 07:47.600
or pies and it would link that engine would then be available to multiple applications.

07:47.600 --> 07:57.560
So we sort of built an API not a web API but just a programming API that you can use and

07:57.560 --> 08:03.960
that's documented in the manual to build other applications atop hyperbole. It turned out

08:03.960 --> 08:09.280
that a lot of people didn't have that capability to program it so we just kept programming

08:09.280 --> 08:14.640
a lot of these default features that you see today with all the button types to show people

08:14.640 --> 08:20.760
what was possible. How is the integration with org roam? We're just starting to look

08:20.760 --> 08:29.240
at that you know again I just find with hyperbole there are no external required packages you

08:29.240 --> 08:34.640
just load hyperbole and whatever Emacs has that's all that it needs so that's kind of

08:34.640 --> 08:40.080
unique for such a big package like this. There are optional things like ace window that you

08:40.080 --> 08:45.200
can add on and then hyperbole will work with them but they're not required. So similarly

08:45.200 --> 08:55.760
we try to never have any separate C compiled programs like SQLite or org roam which uses

08:55.760 --> 09:03.600
SQLite that's required. However we interface to external systems like that so basically

09:03.600 --> 09:12.400
you know we'll do some interesting things with org roam nodes in the near future. When

09:12.400 --> 09:19.200
does something when doing something where do you determine where to put it k-o-t-l rollo

09:19.200 --> 09:28.080
org? I like k-o-t-l k-outline for journaling and org mode for getting things done. Sure

09:28.080 --> 09:37.820
I mean you know org and k-outliner are both outline formats so I like k-outliner for like

09:37.820 --> 09:44.480
requirements gathering anytime I need things numbered quickly I'm making lists or hierarchies

09:44.480 --> 09:52.040
I want those IDs there. Org does some of that but not nearly to the level that the k-outliner

09:52.040 --> 09:58.600
does. The rollo again I just stuff all sorts of information in there and then we have very

09:58.600 --> 10:04.440
simple search and retrieval operations that we can use on there so I don't need to worry

10:04.440 --> 10:10.880
about all of these like drawers and all the complexity that org allows because you want

10:10.880 --> 10:16.760
to publish something. I tend to use everything as a live hypertext and don't worry about

10:16.760 --> 10:22.320
printing it out or displaying it in some other format too much. So it depends on your taste

10:22.320 --> 10:28.320
I would say. Would you recommend a specific resource for getting into hyperbole or should

10:28.320 --> 10:33.080
I just start with the manual? Definitely interested in getting into this. Thank you for asking

10:33.080 --> 10:39.600
that. Definitely don't start with manual. The manual is almost 170 pages it's a reference

10:39.600 --> 10:45.760
manual for specific things that you want to know. For learning once you install hyperbole

10:45.760 --> 10:55.080
part of the menu system is control H HDD for documentation and then demo and that puts

10:55.080 --> 10:59.080
you into an interactive demo that you just walk through so it's sort of like the Emacs

10:59.080 --> 11:06.980
tutorial and that'll get you started much better than any other way and the second thing

11:06.980 --> 11:13.960
to do after that I would say is watch some of the videos. One of the videos is a talk

11:13.960 --> 11:19.800
I gave earlier that's about an hour-long talk introducing you to hyperbole and its concepts

11:19.800 --> 11:25.280
so I think those are the two best ways to get started and then you can move on to the

11:25.280 --> 11:32.240
reference manual if you're really good at reading. What is hyperorg? That's a name that

11:32.240 --> 11:41.360
Sasha made up I believe for the talk here. I thought it should be hyperborg. It would

11:41.360 --> 11:48.200
be a little funnier that right we're trying to be like a borg and get people to use hyperbole

11:48.200 --> 11:55.440
and org together and then you'll never you'll never want to be anything else except users

11:55.440 --> 12:05.920
of those packages. Anybody want to talk live on the big blue button?

12:05.920 --> 12:11.960
Again so the thing is I didn't give you the time when we were supposed to finish with

12:11.960 --> 12:22.720
the Q&A and give me just a second. I've confirmed with the people behind me that we actually

12:22.720 --> 12:26.080
need to get moving to the next talk at the top of this minute so Bob thank you so much

12:26.080 --> 12:29.320
for answering so many questions. I'm sorry we don't have more time for questions because

12:29.320 --> 12:33.200
your talk I think was a little longer than we anticipated at first but I still believe

12:33.200 --> 12:35.840
you've done a great job at first covering a lot of stuff.

12:35.840 --> 12:40.080
I'll be on the etherbed for a little while if people want to push anything else there.

12:40.080 --> 12:44.040
Also if you want to stay here we are going to open the BBB if people want to ask you

12:44.040 --> 12:51.360
questions we're going to publish the link. Bob we're going to need to get going with

12:51.360 --> 12:54.560
the stream we're starting the next talk in 20 seconds thank you so much and I'll see

12:54.560 --> 13:14.640
you later. Take care Leo thank you. Bye bye.

13:24.560 --> 13:36.400
Gosh yeah pretty much I mean I'm still on this thing if it shows up for a minute but

13:36.400 --> 13:56.480
nobody's there.

13:56.480 --> 14:13.060
Take care.

14:26.480 --> 14:28.540
you

14:56.480 --> 14:58.540
you

15:26.480 --> 15:28.540
you

15:56.480 --> 15:58.540
you

16:26.480 --> 16:28.540
you

16:56.480 --> 16:58.540
you

17:26.480 --> 17:28.540
you

17:56.480 --> 17:58.540
you

18:26.480 --> 18:28.540
you

18:56.480 --> 18:58.540
you

19:26.480 --> 19:28.540
you

19:56.480 --> 19:58.540
you

20:26.480 --> 20:28.540
you

20:56.480 --> 20:58.540
you

21:26.480 --> 21:28.540
you

21:56.480 --> 21:58.540
you

22:26.480 --> 22:28.540
you

22:56.480 --> 22:58.540
you

23:26.640 --> 23:28.340
you

23:37.680 --> 23:41.040
Would you still be up to talking?

23:41.040 --> 23:56.400
Hi, are you talking to me?

23:56.400 --> 23:57.400
Yeah.

23:57.400 --> 24:12.720
For a minute, I'm going to just go take a walk in a little bit, but I can quickly pause.

24:12.720 --> 24:14.920
Just go ahead.

24:14.920 --> 24:20.780
One thing whenever I've tried setting up any knowledge bases, I've generally thrown them

24:20.780 --> 24:24.500
away after a while, slowly picking up more and more.

24:24.500 --> 24:31.680
Right now, I'm using org room and LogSec.

24:31.680 --> 24:38.340
And one of the features I found in LogSec that I like is you're able to have the link

24:38.340 --> 24:44.520
in such a way where I can make an outline of everything I want to do on a week in one

24:44.520 --> 24:49.640
file and then in the journal view that it will dynamically generate, it will show you

24:49.640 --> 24:55.240
the tasks individually on that day just for that day.

24:55.240 --> 24:57.160
So is there any way?

24:57.160 --> 25:04.720
So it creates kind of a journal based on dated items that it's extracting from multiple other

25:04.720 --> 25:06.320
sources, right?

25:06.320 --> 25:07.320
Yeah.

25:07.320 --> 25:16.840
So it's got a section below it that's from different sources and you can go and do that

25:16.840 --> 25:24.160
and it will just dynamically put it at the bottom, but just for those specific links.

25:24.160 --> 25:32.800
You know, sort of like the idea of transclusion, right, is something that they've addressed

25:32.800 --> 25:37.960
in org mode and we haven't really dealt with that in hyperbole.

25:37.960 --> 25:43.320
So those are areas that we want to get into.

25:43.320 --> 25:51.760
I think there's a lot of work going on in LogSec and Obsidian that I look at when I

25:51.760 --> 25:53.900
have time.

25:53.900 --> 25:58.720
So there's definitely ideas to draw around that.

25:58.720 --> 26:03.920
One of the things we find is there's just covering all across Emacs, there's so much

26:03.920 --> 26:12.880
to do all the time and this being a part-time project, we have to think like RMS does across

26:12.880 --> 26:17.640
years rather than weeks just because of the energy around it.

26:17.640 --> 26:25.280
But you know, the more people can kind of like write a paragraph and say if hyperbole

26:25.280 --> 26:32.040
or some tool could do this, you know, the more likely it is that we'll approach it and

26:32.040 --> 26:33.920
turn it into reality.

26:33.920 --> 26:34.920
Yeah.

26:34.920 --> 26:40.440
Well, like you could probably write some functions that will just dynamically grab information

26:40.440 --> 26:41.440
like that out.

26:41.440 --> 26:49.000
Yeah, well, I mean like you have that with the high roller so you can just make arbitrary

26:49.000 --> 26:56.080
documents and just put stars at the front of each node and the high roller will pull

26:56.080 --> 27:00.000
out anything that you want to match on.

27:00.000 --> 27:05.400
You know, it can be regular expressions, logic expressions with and or not.

27:05.400 --> 27:11.400
So that's already there and it's very simple with the other capabilities to just turn

27:11.400 --> 27:15.600
a search into a button somewhere in your file.

27:15.600 --> 27:23.200
So you basically create your own dynamic views then without any additional mechanism.

27:23.200 --> 27:27.400
But when you want to deal with like the dates and you want to see it, you know, that's a

27:27.400 --> 27:33.840
specific view that we would program for you and provide.

27:33.840 --> 27:40.880
With Not Much and MU4E, the thing I like about Not Much More is you're able to in your search

27:40.880 --> 27:48.640
queries you can use the ands and ors with subject headers or stuff that's only in the

27:48.640 --> 27:56.520
body of the paragraph of the email or who it's to and from and I don't think MU4E has

27:56.520 --> 27:59.120
near that support.

27:59.120 --> 28:07.360
You could use something with org mode and you could do that type of stuff searching

28:07.360 --> 28:12.520
like based off of keywords with, there's a package by Alpha Papa, I can't remember the

28:12.520 --> 28:13.520
name of it.

28:13.520 --> 28:14.520
Org Rifle.

28:14.520 --> 28:15.520
OrgQL.

28:15.520 --> 28:17.960
OrgQL, yeah.

28:17.960 --> 28:23.440
And does like you have anything?

28:23.440 --> 28:31.280
I mean, yeah, it's like, I'm not sure you combine say subject, colon, whatever, your

28:31.280 --> 28:38.520
regular expression and you map that with a logic expression.

28:38.520 --> 28:44.600
So in hyperbole, in high roll though, to do a logic expression, you just do it like a

28:44.600 --> 28:46.080
Lisp expression.

28:46.080 --> 28:49.040
So but you use and or, ex or not.

28:49.040 --> 28:56.920
So you say, you know, open paren, not, and then what you want to not match to, right?

28:56.920 --> 29:02.480
This node doesn't have that in it and you know, a broader expression with an and around

29:02.480 --> 29:07.000
it would say, so it's not this and it's this.

29:07.000 --> 29:11.960
So that all exists the moment you pull up the interface to say, I want to do a string

29:11.960 --> 29:12.960
search.

29:12.960 --> 29:18.080
You can actually embed those logic expressions right in your search there and it'll do them

29:18.080 --> 29:21.820
for you.

29:21.820 --> 29:28.820
That would mostly be regex, right, or is it a different syntax?

29:28.820 --> 29:34.600
It's a different, so you can have regexes embedded in the logic expression, but the

29:34.600 --> 29:44.000
logic itself is done with like the equivalent of, you know, S expressions with and or not

29:44.000 --> 29:45.200
an ex or.

29:45.200 --> 29:57.320
So I could say and bird watch and it would only find outline items that contain the words

29:57.320 --> 29:59.280
bird and watch.

29:59.280 --> 30:06.000
So it's very simple, you know, textual like that, but then bird could be a regex if I,

30:06.000 --> 30:08.500
you know, as well.

30:08.500 --> 30:15.600
So things like that, you have to try it out, I think, you know, to really get a feel for

30:15.600 --> 30:16.600
it.

30:16.600 --> 30:25.080
I've tried it some, I just, it's just a lot harder to, they have so many of these knowledge

30:25.080 --> 30:30.120
base programs that it's hard to make a knowledge base with each one of them and then compare

30:30.120 --> 30:31.120
them.

30:31.120 --> 30:32.120
Oh, I agree.

30:32.120 --> 30:33.120
I mean, that's part of why we built it, right?

30:33.120 --> 30:39.560
I mean, we built this before org existed, so.

30:39.560 --> 30:46.600
You know, I really do want to tie them together, but I agree with Stallman that org, you know,

30:46.600 --> 30:54.540
for scientific research purposes has embedded so many things that people outside that community

30:54.540 --> 30:59.240
don't really need and, you know, it's gotten to a level of complexity, I mean, you look

30:59.240 --> 31:06.080
at the code base that I still kind of, you know, happy to interface with it and use it

31:06.080 --> 31:12.560
and I see a lot of great stuff in there, but I want to be able to have a much simpler format

31:12.560 --> 31:18.160
for when I just have all this unstructured data that I want to deal with.

31:18.160 --> 31:26.760
Yeah, there's definitely a part of org mode that, that unmodularity and all the features

31:26.760 --> 31:39.080
that doesn't feel like Unix-y and the rest of Emacs and I think like org, yeah, just

31:39.080 --> 31:41.800
some of the features, org-id, I can't remember what they are.

31:41.800 --> 31:42.800
It's really the opposite.

31:42.800 --> 31:49.180
It's like, it's coming at it from, you know, that structure process, okay, we're going

31:49.180 --> 31:54.960
to tag everything with, you know, what property it is.

31:54.960 --> 31:59.800
And hyperbole is sort of the opposite to say, well, we have relational databases for when

31:59.800 --> 32:01.520
we're doing that kind of thing.

32:01.520 --> 32:07.360
So this is for your everyday information where, you know, oh, I just grabbed all this off

32:07.360 --> 32:14.440
the web or, you know, I just added in 200 files and now I want to deal with it and kind

32:14.440 --> 32:17.760
of mix it into my Hyperverse.

32:17.760 --> 32:20.640
What kind of capabilities can you give me to do that?

32:20.640 --> 32:25.480
So say like there were 200 documents that somebody handed you and they all have this

32:25.480 --> 32:31.520
cross-reference pattern embedded in it, right, which is a version of hyperlinks, but they're

32:31.520 --> 32:33.100
not actually hyperlinks.

32:33.100 --> 32:40.800
So you just create a couple line button type in hyperbole because all the mechanisms there

32:40.800 --> 32:41.800
already.

32:41.800 --> 32:48.060
And then once you activate that type, all of those documents now have those cross-references

32:48.060 --> 32:50.380
as hyperlinks.

32:50.380 --> 32:56.360
And you solve the problem could be for millions of cross-references with three lines of code.

32:56.360 --> 33:02.040
So that's the kind of leverage that we're looking to get without people having to, you

33:02.040 --> 33:09.440
know, touch the original source format.

33:09.440 --> 33:15.760
That's one of the things your package has tackled was links in the wild, email addresses,

33:15.760 --> 33:22.440
websites that people use and identify with.

33:22.440 --> 33:27.600
And then you got all that behavior without having to learn key bindings like you do in

33:27.600 --> 33:28.600
the org, right?

33:28.600 --> 33:32.360
I mean, you got to know at least like 10 in the org, I think.

33:32.360 --> 33:37.200
And you know, it's really too largely in hyperbole.

33:37.200 --> 33:42.560
So for me, when I'm going along, you know, I just want to mark things, operate on them

33:42.560 --> 33:46.680
and not really think about the command a lot.

33:46.680 --> 33:52.760
And so, of course, we all know many commands in Emacs, but, you know, so I have that the

33:52.760 --> 33:59.760
editing commands, but the knowledge base commands, I don't really need to add on that much more

33:59.760 --> 34:02.080
and I can still be very effective.

34:02.080 --> 34:10.440
Yeah, you dealt with links in the wild while simultaneously advancing the state of the

34:10.440 --> 34:13.520
art with the implicit links.

34:13.520 --> 34:20.160
So like what can you do if you stay within your own system and you control everything?

34:20.160 --> 34:28.960
Yeah, I think that's the, you know, people love implicit buttons, but it sort of takes

34:28.960 --> 34:33.520
a while for it to sink in what you can do with it, right?

34:33.520 --> 34:40.200
Because it is a little difficult to figure out how you create your own type.

34:40.200 --> 34:48.120
But like we have a GitHub, I don't know if you use GitHub, but type built in and, you

34:48.120 --> 34:57.720
know, with very short cross references, it can access issues, commits, projects, linked

34:57.720 --> 35:04.800
to all of their things with just, you know, a few characters in your document.

35:04.800 --> 35:11.720
And so, you know, there's an interface to an entire web ecosystem that's done in one

35:11.720 --> 35:19.560
module and I verbally and, you know, you don't, all you have to do is use it.

35:19.560 --> 35:24.920
Something that could be interesting there is if you had it with next common list web

35:24.920 --> 35:33.000
browser, you click a GitHub issue on the website and it either downloads the source code or

35:33.000 --> 35:39.680
just goes and then the uses maggot or forge to download the issues and then just automatically

35:39.680 --> 35:42.520
opens it up in Emacs for you to look at it there.

35:42.520 --> 35:43.520
That'd be an interesting.

35:43.520 --> 35:44.520
Yeah.

35:44.520 --> 35:52.160
Well, we have that for, so if you just type in any buffer, you put a bug pound sign and

35:52.160 --> 36:00.080
the number and you press your action key on that, that will display that bug number for

36:00.080 --> 36:05.640
Emacs in good news and the dialogue associated with it.

36:05.640 --> 36:15.440
So, you know, we have that similar kind of thing for GitHub, GitLab and so it's, you

36:15.440 --> 36:19.240
know, a lot of people are interested in that because they have Jira or something and they

36:19.240 --> 36:24.840
just want a simple way, you know, to get at their issues in whatever web browser they

36:24.840 --> 36:25.840
use.

36:25.840 --> 36:32.480
And that's very easy to do and one of the most common things programmers do.

36:32.480 --> 36:38.320
You still there?

36:38.320 --> 36:40.320
Yeah.

36:40.320 --> 36:42.320
Okay.

36:42.320 --> 36:45.560
It's just funny.

36:45.560 --> 36:53.760
So yeah, I hope, I guess you've obviously explored hyperbole a little bit, you know,

36:53.760 --> 36:59.760
let us know what the barriers are to, you know, becoming a regular user and we'll work

36:59.760 --> 37:01.480
on this.

37:01.480 --> 37:11.080
One thing I found that I like about the K outline is if you, long form journaling is

37:11.080 --> 37:18.880
if I do that with centering the buffer, making it a little bit bigger, the text a little

37:18.880 --> 37:24.200
bit bigger, I find that I like that more than org mode.

37:24.200 --> 37:28.360
If it's short enough, it doesn't matter, but if it's long enough or my thoughts are complex

37:28.360 --> 37:38.160
enough, not worrying about buffer headings or body paragraph content or anything along

37:38.160 --> 37:43.800
those lines, less presentation helps a lot in that.

37:43.800 --> 37:50.960
The automatic paragraph formatting just makes it work, I type, I'm good to go, it automatically

37:50.960 --> 37:52.360
does everything like that.

37:52.360 --> 37:53.360
Right.

37:53.360 --> 37:58.400
You can just write and you get all, you get all this stuff for free.

37:58.400 --> 38:02.840
That's kind of a lot, you know, that's like I talked about the cognitive overhead.

38:02.840 --> 38:08.640
You know, I think Emacs, people have a lot of trouble understanding why people stick

38:08.640 --> 38:18.120
with Emacs now, but I think it does, the common editing capabilities are very similar to hyperbole,

38:18.120 --> 38:19.120
right?

38:19.120 --> 38:24.560
So you go across all these modes, different applications, but the editing stays the same.

38:24.560 --> 38:32.520
That takes so much off your plate compared to learning new hotkeys for every application.

38:32.520 --> 38:41.560
And so, you know, we're sold and now you want that kind of thing for your writing, for your

38:41.560 --> 38:43.560
knowledge management.

38:43.560 --> 38:50.840
And yeah, I think org is, you know, really, it was built for the scientists, the researchers,

38:50.840 --> 38:51.840
right?

38:51.840 --> 38:54.120
They have to do all that stuff with citations.

38:54.120 --> 38:57.040
I'm never going to use the citation capability, right?

38:57.040 --> 38:59.720
I don't publish much anymore.

38:59.720 --> 39:06.020
So you know, all that work is kind of lost on me, whereas like, you know, better structured

39:06.020 --> 39:12.840
outlining is going to be a win for, you know, a very broad cross section of people.

39:12.840 --> 39:19.400
So I think it's, you know, I wish more people would give it a try, but I think now we're

39:19.400 --> 39:25.760
doing a lot more things that are making hyperbole more accessible to people.

39:25.760 --> 39:31.240
A lot of people, I don't know if we can, like people have asked for a doom interface or

39:31.240 --> 39:32.880
space max interface.

39:32.880 --> 39:40.640
I do notice on Reddit that tons of people seem to use one of those two and they've never

39:40.640 --> 39:45.720
learned Emacs in its core form, right?

39:45.720 --> 39:49.160
They're coming from VI, so they're Vim users or something.

39:49.160 --> 39:55.500
And they, I guess they like all this layering kind of capability, exposing the features.

39:55.500 --> 40:00.560
So I haven't really looked at that, but maybe, you know, if we did that and we don't have

40:00.560 --> 40:08.480
hyperbole on Melpa, so although, you know, some people, they replace Elpa mistakenly

40:08.480 --> 40:12.160
with Melpa, you know, in their config.

40:12.160 --> 40:16.600
And so they never see hyperbole because it's not in their packages.

40:16.600 --> 40:22.920
Like, I didn't know this existed, like, well, don't do that.

40:22.920 --> 40:30.600
One thing that would be nice for stuff like this is having Emacs in it for hyperbole with

40:30.600 --> 40:35.780
a knowledge base and then one with Orgrom and a knowledge base and one with the ZK package

40:35.780 --> 40:39.300
and a knowledge base, et cetera, et cetera.

40:39.300 --> 40:45.740
Is that something you might look at doing a little, you know, sort of like proof of

40:45.740 --> 40:55.240
concept of, and share with us, you know, give us some idea of your thoughts?

40:55.240 --> 41:02.640
I just thought of it while watching this talk, and I might put together some resources of,

41:02.640 --> 41:10.360
there's some other packages that, or ZK, or there's another one of these packages that

41:10.360 --> 41:11.360
has a knowledge base.

41:11.360 --> 41:14.760
I might put together resources like that, see if I see anybody else's.

41:14.760 --> 41:16.880
Yeah, that'd be great.

41:16.880 --> 41:25.400
And do you try to note, do you use a prods denote package?

41:25.400 --> 41:29.600
I haven't messed with that one yet.

41:29.600 --> 41:32.520
I've looked at it.

41:32.520 --> 41:38.900
One contention I see between using all these right here is, like, you have the org FC package

41:38.900 --> 41:44.520
for flashcards, and that would sound really nice for learning new English words that I

41:44.520 --> 41:45.520
ever come across.

41:45.520 --> 41:50.520
I could make that, put the description.

41:50.520 --> 41:54.960
But if I, it seems like you can either use org rom and you're completely tied into the

41:54.960 --> 42:01.240
org rom org system, or you don't do that, then you can't use any of those features where

42:01.240 --> 42:05.800
they treat each of the nodes as a individual system.

42:05.800 --> 42:09.880
I've dabbled with multiple of the systems, so maybe there's a way.

42:09.880 --> 42:10.880
Are you good with org rom?

42:10.880 --> 42:13.920
I've been having this one problem.

42:13.920 --> 42:14.920
It's weird.

42:14.920 --> 42:21.280
I get in this mode where I pointed it somewhere and it worked at one time, and now I repoint

42:21.280 --> 42:26.040
it somewhere, and then I point it back and it won't work anymore.

42:26.040 --> 42:33.620
So I can't get it to sometimes index my set of org files, and it seems like it should

42:33.620 --> 42:43.460
be so basic, but there's something in the sequence of how it caches, I guess, the directory

42:43.460 --> 42:49.520
of org files that maybe I've solved it already, I don't recall, but I was just wondering if

42:49.520 --> 42:53.080
anybody else had that experience.

42:53.080 --> 43:00.000
I've mostly just dabbled in a couple of these systems and then haven't really chosen one

43:00.000 --> 43:02.120
to just use.

43:02.120 --> 43:03.120
Do you program?

43:03.120 --> 43:10.040
Are you by nature a programmer or is it like a hobby?

43:10.040 --> 43:11.040
Hobby.

43:11.040 --> 43:20.440
I haven't done too much on writing my own functions, but Emacs is by far the biggest

43:20.440 --> 43:28.720
or longest program I've ever...longest program, config, whatever, that I've ever used.

43:28.720 --> 43:34.200
And you started on Emacs how long ago?

43:34.200 --> 43:41.760
Five or ten years ago, somewhere along those lines.

43:41.760 --> 43:43.240
Good one.

43:43.240 --> 43:48.160
Yeah, it was nice having Stelman there today, right?

43:48.160 --> 43:56.520
It's like, well, if you want an actual answer, there's something that only he could answer.

43:56.520 --> 44:03.400
I'm surprised how many questions there were on that talk.

44:03.400 --> 44:06.240
What about them?

44:06.240 --> 44:09.840
I was surprised just about how many questions there were on...

44:09.840 --> 44:16.320
Yeah, you hear all this negative stuff about him, but people are very interested in where

44:16.320 --> 44:25.500
stuff came from, why have you never used this package that everybody else uses and things

44:25.500 --> 44:35.640
like that, what his world view is, since it is so different than so many other people's.

44:35.640 --> 44:47.200
All right, well, great talking to you and good luck with your knowledge space research

44:47.200 --> 44:51.200
and yeah, let me know if there's something.

44:51.200 --> 44:57.880
Try out the development version of Hyperbole like I should, that'll get you all the newest

44:57.880 --> 45:02.000
features and we'll get 9.0 out as soon as we can.

45:02.000 --> 45:06.640
Yeah, I use the Borg, so I actually do try out the development already.

45:06.640 --> 45:08.640
Oh, great, super.

45:08.640 --> 45:15.040
Also because sometimes since I'm using the development version of Emacs, it doesn't always...

45:15.040 --> 45:18.560
I've had issues compiling in the past because I needed the newer code.

45:18.560 --> 45:26.760
I think, I can't entirely remember, but thanks for the package and good talking, nice ideas

45:26.760 --> 45:27.760
and talk.

45:27.760 --> 45:28.760
Yeah.

45:28.760 --> 45:29.760
Take care.

45:29.760 --> 45:30.760
Bye.

45:30.760 --> 45:50.120
Bye.