summaryrefslogtreecommitdiffstats
path: root/2022/captions/emacsconf-2022-fanfare--fanfare-for-the-common-emacs-user--john-cummings--answers.vtt
blob: dbebe2388ba69c448172337406214dbcc97acd98 (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
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
WEBVTT

00:00.000 --> 00:10.040
Okay, hi, we seem to be back. Sorry for the little interruption. John, you might not have

00:10.040 --> 00:14.640
realized, but I was supposed to send a broadcast message to the dev track and I submitted it

00:14.640 --> 00:20.840
to the gen track instead, so I spoke over you for 20 seconds. I apologize humbly, deeply,

00:20.840 --> 00:26.440
and sincerely. But John, I have to apologize now. I will say hi to you. How are you doing?

00:26.440 --> 00:30.120
Hello, I'm doing good. I know I'm saying you harmonized with me. You didn't talk over me,

00:30.120 --> 00:31.120
you talked with me.

00:31.120 --> 00:36.280
You know, as much as I would like to say yes, that is possible, the fact that I did not

00:36.280 --> 00:40.200
have the sounds on your talk makes it very difficult for me to harmonize. You know, it's

00:40.200 --> 00:48.200
like try to have a barbershop quartet and they cannot hear one another. Try to tell

00:48.200 --> 00:50.320
them to harmonize. I'm not sure if it's going to work.

00:50.320 --> 00:54.840
I sang, actually sang in a barbershop chorus for a while and I know the pain that you're

00:54.840 --> 00:59.400
talking about. But anyway, it's water under the bridge.

00:59.400 --> 01:04.640
Yes, what a serendipitous discussion. I wasn't expecting this. Okay, you have the pad open

01:04.640 --> 01:07.600
in front of you. Do you want me to read the question or do you want to take them on your

01:07.600 --> 01:08.600
own?

01:08.600 --> 01:09.600
I'd be glad to do it.

01:09.600 --> 01:10.600
Right.

01:10.600 --> 01:14.760
All right, I'm just going to go start from the top here. I have not only one config,

01:14.760 --> 01:20.200
but multiple configs in different locations..emacs.init.el and.emacs.init.el and different

01:20.200 --> 01:23.520
Python installs in different places. This is something I should take care of earlier

01:23.520 --> 01:27.880
rather than later. I need to pay someone to consult on my config. Is this an existing

01:27.880 --> 01:32.440
business? Is there a place to barter a screen share for something else, a value in exchange?

01:32.440 --> 01:36.720
In any case, thank you for giving permission to have fun without the need for too much

01:36.720 --> 01:37.720
structure.

01:37.720 --> 01:45.960
That's, and that's, yeah, I feel humbled being asked this. I don't know how much insightful

01:45.960 --> 01:51.240
answers I can give here other than the fact that I did notice one of the talks that I

01:51.240 --> 01:56.360
really wanted to catch and resonate with was the Emacs buddy initiative. That was actually

01:56.360 --> 02:00.680
one of the points that I wanted to include in my talk, but it turns out that 10 minutes

02:00.680 --> 02:07.260
goes by incredibly fast when you, when the ideas are flowing. And I think that that's,

02:07.260 --> 02:13.600
that's probably one of the best advice that it, to sources is to find some kind of buddy

02:13.600 --> 02:17.800
who probably would be a great, especially someone who is, who is maybe at a similar

02:17.800 --> 02:24.320
or, or even a different experience or comfort level may be able to, you know, be a good

02:24.320 --> 02:29.400
exchange of value there. But yeah, I mean, that's, and again, it's something I'll think

02:29.400 --> 02:33.760
about more. I might not come up with the most interesting answers live.

02:33.760 --> 02:38.120
Oh, it's fine. Don't worry. You know, you don't have to worry about making the most

02:38.120 --> 02:42.000
exhaustive answer. You know, the whole point of, sorry, let me move myself to the left.

02:42.000 --> 02:47.760
Okay. Nevermind. I'm trying my best to composite the shot live. Yeah. You don't have to worry

02:47.760 --> 02:52.680
about making very exhaustive answer right now. Also, we have about 11 minutes. We might

02:52.680 --> 02:56.040
open up the chat. So you have a lot of questions. So I think a lot of people are very interested.

02:56.040 --> 03:01.560
I think, you know, when you have the arguments that you're trying to valorize the box standard

03:01.560 --> 03:05.720
user of Emacs, I think everyone is feeling very invested into the talk and might want

03:05.720 --> 03:10.120
to ask questions. So I'm giving you a heads up people. If you now is the last chance you

03:10.120 --> 03:14.920
have, we are the last talk of the day, barring the closing remarks. If you have questions

03:14.920 --> 03:18.800
to ask, now is the time to join DBB. We'll be opening it in two minutes. And in the meantime,

03:18.800 --> 03:22.120
John, feel free to go back to the question and answer as many as you can.

03:22.120 --> 03:26.480
Thank you. And I would love to talk about this with people in the community forever.

03:26.480 --> 03:31.760
So this is not the last chance to talk about it. All right. How would you suggest Emacs

03:31.760 --> 03:35.400
developers, including package developers, interface with non-developer users and get

03:35.400 --> 03:43.680
their insights to help in shaping future Emacs functionality?

03:43.680 --> 03:50.680
You know, I think I've seen a lot of discussion on the mailing lists where this kind of exchange

03:50.680 --> 03:55.880
is wanted. You know, I think this is one of those things that may, it may always be difficult

03:55.880 --> 04:00.960
because I've, you know, I have some participation on both sides of this, if there are sides

04:00.960 --> 04:06.860
to it. And I think that most people agree that there's maybe could be a more tighter

04:06.860 --> 04:13.800
communication. So I don't think there's anybody out there who thinks that there's work to

04:13.800 --> 04:18.040
be done here. There's definitely effort that should be dedicated here. It seems to me like

04:18.040 --> 04:22.320
it's happening. I mean, this, you know, the Emacs survey was developed pretty closely

04:22.320 --> 04:28.800
from what I could see with the core maintainers. So I think that it's out there. I mean, perhaps

04:28.800 --> 04:33.280
the mailing list is a good place to start, the several ones of them. I think that you'll

04:33.280 --> 04:38.480
certainly get an answer and hopefully it will start a dialogue that can continue.

04:38.480 --> 04:44.600
All right. Next one. My impression that many common Emacs users are migrating to other

04:44.600 --> 04:49.080
editors in past years. The reasons cited are configurations growing out of control, general

04:49.080 --> 04:53.240
rough around the edges feel of Emacs, they've been putting up with for a while and maybe

04:53.240 --> 04:59.960
this isn't new. As a result, Emacs is becoming a smaller set of people. More invested, do

04:59.960 --> 05:04.520
you share this observation? So what do I think of the trend? And I'm sorry that I was talking

05:04.520 --> 05:09.360
over your editing there. I hope I didn't pressure you into stopping. I mean, my, my impression

05:09.360 --> 05:13.680
has been that that that's a thing of the past that was happening. My impression, I've been

05:13.680 --> 05:19.480
using Emacs for something like 25 to 14 to 15 years, depending on exactly when you start

05:19.480 --> 05:24.160
counting the time. It's been a long time for me and I haven't been very aware of things

05:24.160 --> 05:28.440
that whole time and become more and more aware and conscientious of the scene over the years

05:28.440 --> 05:37.160
recently. But those impressions are that it was getting less, less usage in past years,

05:37.160 --> 05:43.260
but it's, it's got, I think it's been increasing pretty quickly in recent years and increasing

05:43.260 --> 05:52.120
at a pretty high rate. So I don't, I don't necessarily disagree that there are different

05:52.120 --> 05:56.640
sets of people within the Emacs community who may, whose usages may be changing and

05:56.640 --> 06:01.160
maybe certain sets of within the community are shrinking and their investment levels

06:01.160 --> 06:06.360
are changing. But my, my, up until now, if you had asked me, it would have, I would have

06:06.360 --> 06:14.080
said that the Emacs user base was growing, changing and the usage of what they were,

06:14.080 --> 06:18.080
what they were counting on was, would, would have becoming, you know, more towards the

06:18.080 --> 06:25.820
popular, maybe away from what the core user base would have, would have focused on previous

06:25.820 --> 06:32.020
to that. But yeah, overall it seems to me like it's growing. And I think that where

06:32.020 --> 06:38.120
we are here and everyone who's gathered here today is, is evidence of that.

06:38.120 --> 06:47.480
And what do I think of that trend? I mean, I, I'm happy about it. I think, I mean, I,

06:47.480 --> 06:53.240
one of the things that I didn't have a chance to focus too much on in the talk was, was

06:53.240 --> 07:00.120
the power of that vanilla out of the box experience. I am a Viper, happy Viper user. I don't think

07:00.120 --> 07:04.200
there really are many others that I, at least ones that I know about and they may, they

07:04.200 --> 07:08.520
just may be the people that I was describing in my talk. They may be out there using Viper

07:08.520 --> 07:13.760
happily and they're, and they're dark matter. They're there and they make up maybe a huge

07:13.760 --> 07:21.120
amount of the universe, but you just maybe can't, it can't feel their effect. But, you

07:21.120 --> 07:27.280
know, I think that the, I'm glad that that usage is growing, if it is. But I also would

07:27.280 --> 07:32.960
hope that people continue to value that out of the box vanilla experience. Because I think

07:32.960 --> 07:38.640
that it gets, it's easy to overlook and I think it probably does get overlooked. And

07:38.640 --> 07:41.840
that may just be a necessary consequence of the fact that when things become popular,

07:41.840 --> 07:47.720
when things grow in popularity, they are, what gets focus and what gets coverage is

07:47.720 --> 07:55.040
those things that are more receptive and lend themselves better to, to popularity. And that's

07:55.040 --> 08:00.760
not necessarily the same as the things that are the most, it's not everything is really

08:00.760 --> 08:05.480
all I can say. There's more, there's always more to it than that. So I hope that as popularity

08:05.480 --> 08:14.000
grows, people won't forget those things and those things will stay, stay useful for everyone.

08:14.000 --> 08:19.200
Should I do the last one or should I stop? Oh, yeah, I might have some comments on this

08:19.200 --> 08:22.720
if no one shows up afterwards, but for now, yes, feel free to answer the last question.

08:22.720 --> 08:28.080
Okay. Do you consider that using one of the starter packages, do me max, space max, etc.

08:28.080 --> 08:31.820
affect that learning process that you mentioned? Or is it a good thing from your perspective?

08:31.820 --> 08:35.000
You know, that was another thing I wanted to mention in a talk that I didn't, that my

08:35.000 --> 08:39.240
10 minutes didn't allow, or maybe just the way that I talk in those 10 minutes didn't

08:39.240 --> 08:44.920
allow. I wanted to just acknowledge the fact that I don't have experience with them. I've

08:44.920 --> 08:52.560
been using GNU Emacs since, since I started using Emacs. I think they solve a problem

08:52.560 --> 08:59.480
for people. I think they have a place. But, you know, I think, I think some of the thoughts

08:59.480 --> 09:04.560
that I had been forming that I wasn't able to put in there about these was that you need

09:04.560 --> 09:10.220
to start wherever gets comfortable for you. And I think that no matter what you use, whatever

09:10.220 --> 09:17.900
you start with, I think you, you always get to the point where you feel like you've entrenched

09:17.900 --> 09:25.920
yourself in mindset or a set of habits that you use and you think it's, you want to change,

09:25.920 --> 09:29.960
you know that you should be able to change and grow, but you've just become accustomed

09:29.960 --> 09:41.520
to what you do. And I think that if, if using a starter package, if using a starter package

09:41.520 --> 09:46.680
gets you over that initial, you know, gets you into the things, if you feel like it's,

09:46.680 --> 09:49.720
it's going to limit your growth later on, I don't think it's necessarily because of

09:49.720 --> 09:53.000
what you chose. It's just, that's, that's just the feeling that everybody's going to

09:53.000 --> 10:01.080
feel eventually. Yeah.

10:01.080 --> 10:05.080
So sorry, John, I was talking with production. Are we, are you finished with the questions?

10:05.080 --> 10:07.080
It seems that you are, yeah.

10:07.080 --> 10:11.760
Yes, I believe I am. And I will, again, I will add better thoughts to these later on

10:11.760 --> 10:12.760
the pad.

10:12.760 --> 10:18.040
Yeah, but that's fine. I think you did a bang up. I'm French. I don't know if a bang up

10:18.040 --> 10:20.200
job is a good job. Can you confirm it for me?

10:20.200 --> 10:22.040
Yes, thank you. I appreciate that.

10:22.040 --> 10:27.000
Cool. Thank you. So it seems like we have Bob on for a question. So Bob was the speaker

10:27.000 --> 10:31.600
for the HyperOrc talk earlier today. So Bob, can you hear us?

10:31.600 --> 10:34.120
Yes, I can hear you great.

10:34.120 --> 10:36.520
And we can hear you as well.

10:36.520 --> 10:39.040
Can you see me? Let's see if...

10:39.040 --> 10:41.040
We cannot see you yet though.

10:41.040 --> 10:47.880
Okay. Yeah. I just started, start sharing. So I wanted to ask you, I mean, one of the

10:47.880 --> 10:58.960
things we really suffer from hyperbole, we have this issue that we try to make things

10:58.960 --> 11:06.560
as easy to use as possible, right? Just point and click, press this button and the magic

11:06.560 --> 11:12.700
happens. But because we are dealing with a domain that has a lot of complexity to it,

11:12.700 --> 11:20.480
we find, like you're saying, people have always done something a certain way. They bring whatever

11:20.480 --> 11:28.440
processes with them that they've used before. So it feels like there's a much heavier barrier

11:28.440 --> 11:34.440
to get regular users on board than there really should be from what we think we're producing

11:34.440 --> 11:41.920
in the software. So I wanted to get your perspective about what you think that might be and, you

11:41.920 --> 11:47.080
know, ways we could pursue tackling that.

11:47.080 --> 11:51.640
And by regular users, you mean ones who have already had a lot of time and...

11:51.640 --> 11:57.760
Emacs users who are not developers, not just not Emacs developers, but maybe they're non-technical

11:57.760 --> 12:06.280
at all. But they have to manage everyday information. They do emails, they do memos and whatever

12:06.280 --> 12:10.720
else they're processing.

12:10.720 --> 12:20.840
I'm not sure if... I don't know. This might not answer things to your satisfaction, but

12:20.840 --> 12:28.760
I'll, you know, be glad to keep the conversation going. But I wonder if... One of the things

12:28.760 --> 12:33.680
I was thinking of is that it's very easy to generate, I think, a lot of psychic baggage

12:33.680 --> 12:40.040
with Emacs as you use it over time because you get... I think I mentioned this in the

12:40.040 --> 12:46.600
talk. It's very... It's hard to use it and not be aware of all the different cool functionalities

12:46.600 --> 12:49.960
that it's built on and the things that you can take advantage of. And part of that is

12:49.960 --> 12:57.400
that as you develop your own workflows, you are not only developing them, but you're,

12:57.400 --> 13:02.000
for pragmatic reasons, rejecting other things. But you don't, you know, you're still aware

13:02.000 --> 13:05.280
that you've done that and you're aware of all the different possibilities that you've

13:05.280 --> 13:08.880
kind of left behind, at least temporarily.

13:08.880 --> 13:15.320
I wonder... I think at some point that baggage can impede you. Definitely can. It can make

13:15.320 --> 13:24.680
you less open and feel less safe to try new things out. Especially if those things are...

13:24.680 --> 13:30.320
I think sometimes it scales with the more useful and exciting and maybe even... Oh,

13:30.320 --> 13:34.920
that's pretty... If it's going to be exciting and useful and significantly change things,

13:34.920 --> 13:40.520
you could maybe feel extra resistant to try them out because you're not sure that you

13:40.520 --> 13:46.280
want to deal with all that excitement. And sometimes, again, the more useful it is, maybe

13:46.280 --> 13:49.200
the more resistant you are.

13:49.200 --> 13:55.000
In the programming environment, you might consider the difference between Smalltalk

13:55.000 --> 14:03.400
and C. And Smalltalk has all this, like Lisp, all this great interactive capability, but

14:03.400 --> 14:07.840
you have the baggage of carrying this big image around that people didn't want many

14:07.840 --> 14:14.280
years ago when it was popular. And C had nothing and still largely has nothing, right? Except

14:14.280 --> 14:22.040
you've got Unix there. And so people stare at a blank screen. They have no dynamic support.

14:22.040 --> 14:29.960
Maybe they have tags, but very little tooling. And yet, C dominates over Smalltalk. So I

14:29.960 --> 14:36.280
think we're talking about a similar kind of problem that maybe the leap is so far for

14:36.280 --> 14:42.400
people that you need to give them a series in between to transition them from their very

14:42.400 --> 14:48.480
weak initial environment to something much, much stronger.

14:48.480 --> 14:55.240
Yeah, that's a good point. And that's actually something that I think of for myself and thus

14:55.240 --> 15:01.480
something I was thinking about in regards to my talk. When you know that you want to...

15:01.480 --> 15:05.480
Let's consider the kind of user that you're talking about and hyperbole. And by the way,

15:05.480 --> 15:10.160
I enjoyed your hyperbole talk, your hyper-org talk, but up until now I hadn't been familiar

15:10.160 --> 15:14.720
with it. So I may say things that don't make any sense. But let's say this user that you're

15:14.720 --> 15:20.520
talking about who you want to become more comfortable with hyperbole. I'll start from

15:20.520 --> 15:26.280
the perspective of let's say they know they want to become more comfortable with it, but

15:26.280 --> 15:34.520
they also are having trouble getting comfortable with that process. And so that's certainly

15:34.520 --> 15:40.720
something I thought about building for myself and suggesting in this talk of when you know

15:40.720 --> 15:43.560
that you want to accomplish something, when you know that you want to change some of your

15:43.560 --> 15:54.400
habits to call them out and really put your habits on display for yourself. And rather

15:54.400 --> 15:58.680
than trying to remember them and ingrain them into your finger muscle memory and all that

15:58.680 --> 16:04.560
is to make some space to have your habits be public, not public necessarily, but just

16:04.560 --> 16:10.280
explicit in your environment and allow yourself to be uncomfortable with new habits for a

16:10.280 --> 16:18.760
while and that break out of the habitual space, give yourself some kind of mnemonic structure

16:18.760 --> 16:25.900
that lets you do these things habitually that will eventually kind of become that mold into

16:25.900 --> 16:30.760
which the habits will grow on top of rather than just trying to go from one set of habits

16:30.760 --> 16:37.080
to a new set of habits. And I think Emacs is one of those things that is great for that

16:37.080 --> 16:43.120
because it's the text, and especially what you demonstrated in hyperbole in that it seems

16:43.120 --> 16:50.040
like it's very easy to just write some text up that can generate for you a cheat sheet

16:50.040 --> 16:54.480
and say I've been using this on the left side, instead I want to use this on the right side

16:54.480 --> 16:59.120
and maybe two buffers or something. And you don't have to worry about what it's called,

16:59.120 --> 17:04.080
you don't have to worry about how to execute it or the key sequence or the function. When

17:04.080 --> 17:08.240
you find one day you find yourself using something on the left side, I'd rather use this on the

17:08.240 --> 17:19.000
right. And maybe over time you can move away from that and try to make it be more automatic.

17:19.000 --> 17:22.440
But at least I think maybe the key there is just acknowledging that the things that are

17:22.440 --> 17:34.520
habitual or that you want to become habitual can start to give yourself training wheels.

17:34.520 --> 17:40.880
Right Jens, I'm very sorry I'm going to have to pause the conversation now. But don't leave

17:40.880 --> 17:45.040
quite yet, this was a very interesting discussion and I would love to participate a little more

17:45.040 --> 17:48.440
but we are actually preparing for the closing remarks in the background. But what I'm going

17:48.440 --> 17:52.880
to suggest, because I don't want you both to lose steam and the closing remarks, you

17:52.880 --> 17:56.440
can watch them in your own time, I'm just going to thank everyone really. So by all

17:56.440 --> 18:00.400
means if you want to continue the discussion, you can stay in the room, we are still going

18:00.400 --> 18:04.360
to be recording and if you want to continue the discussion for as long as you want, it's

18:04.360 --> 18:08.800
going to be all good for us. It just won't be streamed now but it will eventually be

18:08.800 --> 18:29.760
available. So if you want to join the discussion now,

18:29.760 --> 18:34.640
you only have to go to the talk page and you will be able to join there. I'm really sorry

18:34.640 --> 18:38.720
Bob, I'm going to have to end it off in 30 seconds because we need to move to the next

18:38.720 --> 18:43.680
room. So I'll leave you to say bye Bob if you want to.

18:43.680 --> 18:48.680
Okay, I will stay here and talk to whoever wants to talk.

18:48.680 --> 18:54.120
Great and Bob do you want to say bye? Bye, thanks John, I appreciate it.

18:54.120 --> 19:01.120
Okay see you in a bit, we'll be closing remarks in about one minute. Okay, really sorry for

19:01.120 --> 19:04.720
recording short, we are now off stream and you can keep talking and we are recording

19:04.720 --> 19:07.960
everything. Okay, see you in a bit, I have to rush.

19:07.960 --> 19:10.720
So yeah, again, I don't want to keep you from the closing remarks.

19:10.720 --> 19:15.680
No, I'm happy to talk to you. I think Leo just kept saying, well you can stay but I

19:15.680 --> 19:21.360
have to cut it off. So I guess he was just saying the recording. I don't care.

19:21.360 --> 19:25.080
Let me jump over to, there's another question that someone posted, I just want to make sure

19:25.080 --> 19:28.240
I don't ignore that and then I'll.

19:28.240 --> 19:32.440
The tip of the day package or some elaboration on that idea and Emacs help discovery for

19:32.440 --> 19:36.160
lay users, does that already exist?

19:36.160 --> 19:40.960
You know, I'm not, I can pretty, I don't know if the person who wrote this is, if it's

19:40.960 --> 19:47.960
plasma strike, but hopefully they'll see the recording later. I'm confident in saying that

19:47.960 --> 19:52.840
this does exist. I don't know what it is because I've never used it, I've never seen it, but

19:52.840 --> 19:56.960
I know that something like this must exist, so I'm confident in saying that it does.

19:56.960 --> 20:01.280
Yeah, I haven't seen it either.

20:01.280 --> 20:07.000
If not, I mean, it probably would be something that would be relatively easy to make. Not

20:07.000 --> 20:12.480
necessarily the person who wants this, but yeah, it's something that I could.

20:12.480 --> 20:19.640
That's kind of interesting. If you put an org or a high rollo file together of all these

20:19.640 --> 20:27.440
tips, it would be very easy to, yeah, have something on a timer that would just pop one

20:27.440 --> 20:34.920
up every so often or based on some action, but that's kind of an interesting learning

20:34.920 --> 20:42.300
technique. I certainly use that in some other packages where a lot of times you just X out

20:42.300 --> 20:49.400
of it right away, but for things that actually provide useful tips, you tend to read them

20:49.400 --> 20:56.320
and linger for a bit, right, before you move on, and that's a great way because, I mean,

20:56.320 --> 21:04.000
after decades of using Emacs, there's definitely packages in Emacs, libraries that I've never

21:04.000 --> 21:11.040
seen before, I didn't know were there, and that I sometimes find useful, so there's always

21:11.040 --> 21:20.880
a lot to discover, and that feature discovery is a difficult thing, because that's why we

21:20.880 --> 21:26.220
spend a lot of time documenting things, because like with the reference manual, hyperbole

21:26.220 --> 21:34.080
about 170 pages, I don't expect people to read the manual, but to use it in info and

21:34.080 --> 21:39.380
say I'm interested in the action button, okay, I'll just read that action button section,

21:39.380 --> 21:47.020
and that's really what it's intended for, and why we provide quick access. In fact,

21:47.020 --> 21:55.800
if you look at the menu structure, the pull-down menus for hyperbole, there's just one pull-down

21:55.800 --> 22:05.660
menu, but the submenus under there, each one has an about or a doc item, and when you click

22:05.660 --> 22:10.600
on that, it takes you exactly to the place in the manual, discussing the concept that's

22:10.600 --> 22:18.120
covered by that menu, so it makes it very easy for people, but I was wondering, you

22:18.120 --> 22:26.200
know, if you, I think you have a lot of good process-oriented thoughts, and I'll say, you

22:26.200 --> 22:33.740
know, if you know who Doug Engelbart is or was, I worked with him a bit, and he was always

22:33.740 --> 22:40.560
focused on you have to evolve your process while you evolve your technology, and clearly,

22:40.560 --> 22:48.280
a lot of the people in the Emacs developer community are sort of focused on the technology,

22:48.280 --> 22:53.720
which is common, right, even in corporations, and it's always sort of a struggle to get

22:53.720 --> 23:00.160
people to try to evolve both at the same time, so I'd be interested in sort of conversing

23:00.160 --> 23:06.920
along those lines about, you know, we've built, so we've built two levels, I think, in hyperbole,

23:06.920 --> 23:12.280
we've built the toolkit of primitives that you can build from, and customize to your

23:12.280 --> 23:19.200
own needs, but we haven't done a lot about, and people are always asking, well, what's

23:19.200 --> 23:24.920
the workflow that I should use to integrate it with, and we're like, you know, well, what's

23:24.920 --> 23:30.280
your knowledge workflow, you know, what sort of tasks do you have to do, and then we can

23:30.280 --> 23:35.800
tell you something, but it is one of those general kinds of things, you know, like I

23:35.800 --> 23:43.240
say, I use the K-outliner to capture requirements, because I want, when I share those requirements

23:43.240 --> 23:49.360
with people, I want them to say, you know, well, item 9a, let's edit this this way, because

23:49.360 --> 23:53.760
a lot of times, right, they can't interact with the document that directly, or they want

23:53.760 --> 24:03.120
me to maintain it, so I find that everything is numbered that way, in any sort of structured

24:03.120 --> 24:14.560
ideation process, to be extremely valuable, and so, but I think, you know, maybe, obviously,

24:14.560 --> 24:19.180
as you said, you haven't used that, but, and I've worked on a lot of other Emacs stuff,

24:19.180 --> 24:27.480
but I think it'd be valuable, you know, having some discussions with you, to talk about that,

24:27.480 --> 24:34.720
you know, perspective from somebody trying to grok something like this, or, you know,

24:34.720 --> 24:45.680
get deeper into Emacs, and I always feel like, like I'm developing some new software at work,

24:45.680 --> 24:51.480
and our company is kind of moving from being a more consulting company to a technology

24:51.480 --> 24:58.720
company, and I say, well, okay, we're doing this big, big set of applications, where's

24:58.720 --> 25:03.860
the market input? The business people kind of wave their hands and say, you know, we

25:03.860 --> 25:11.900
want something shiny, but we never get structured input from the actual clients that will be

25:11.900 --> 25:17.120
the users, until we build something and put it in their hands, and I'm like, that's too

25:17.120 --> 25:25.760
late, you know, and we need, so I think it's sort of true here, too, that it's very hard

25:25.760 --> 25:32.400
to just, you know, like if I said, let's just have 10 people who have never tried hyperbole,

25:32.400 --> 25:37.360
look at it, go through a process, and just write one page on their experience, you know,

25:37.360 --> 25:42.320
but I think that'd be very hard to get that set of people together in general, you know,

25:42.320 --> 25:44.720
without effort, significant effort.

25:44.720 --> 25:50.520
That's a good point, because the people that would be able to use it, i.e. people who are

25:50.520 --> 25:56.920
already Emacs users for the most part, they're probably either already familiar with it,

25:56.920 --> 26:03.360
or busy, too, or maybe they have their own ways that they don't, they might be competent

26:03.360 --> 26:08.800
enough to do it, but not comfortable enough to do it, or not interested enough to do it.

26:08.800 --> 26:12.720
Maybe you have the intersection of all the different properties, which might be pretty

26:12.720 --> 26:13.720
small.

26:13.720 --> 26:22.360
Yeah, but just having those ideas, I think it helps us, you know, to shape, and I feel

26:22.360 --> 26:33.040
like we can take what we have and meld it, like what, if you saw Carl Volt's talk on

26:33.040 --> 26:39.200
his bi-directional links, I think that's a super valuable thing that we, you know, we

26:39.200 --> 26:44.960
haven't really considered much, but people talk about a lot as a result of work, having

26:44.960 --> 26:48.040
given them that capability for a while.

26:48.040 --> 26:52.080
That was Eduardo Oakes, was that Eduardo Oakes, or?

26:52.080 --> 26:54.640
No, no, that was not Eduardo.

26:54.640 --> 27:00.120
He's an interesting fellow, you know, it's like clearly very bright, but he lives in

27:00.120 --> 27:08.120
this academic-like bubble that, like, he wants to understand everything from the atomic level

27:08.120 --> 27:15.840
up in order to use it, so, you know, imagine, like, personally, you're what?

27:15.840 --> 27:21.000
I identify with that mindset, so I, so yeah, if you wanted to use toilet paper, would you

27:21.000 --> 27:24.400
try to understand the atomic composition?

27:24.400 --> 27:31.320
I'm just saying, he takes an extreme view, which may be, for him, that's what he finds

27:31.320 --> 27:37.760
work, so, but some interesting things come out of that, which is his EEV kind of stuff,

27:37.760 --> 27:40.920
which is very, very explicit, right?

27:40.920 --> 27:48.960
Everything is laid out, so it's bulky in a sense, but it, but he's got some good ideas

27:48.960 --> 27:55.240
on, like, tutorials and stuff, and he seems like he's more a scientist than a developer,

27:55.240 --> 28:01.920
so, you know, when we were trying to, I said, you could, the things you want to do, Hyperbole

28:01.920 --> 28:07.200
has a toolkit for, so just use Hyperbole, and then we'll help you shape whatever you

28:07.200 --> 28:14.480
want to do, and that's where we were never able to do that, because he'd say, well, okay,

28:14.480 --> 28:21.920
you have a button type that does what I want it to do, but now explain to me all the activation

28:21.920 --> 28:27.280
process for that, and I'm like, well, then you'd have to understand the, you know, the

28:27.280 --> 28:32.240
key parts of the Hyperbole code base, and you don't really need to, to do what we're

28:32.240 --> 28:37.400
talking about, so we can't, you know, that would take a long time, so let's not do that,

28:37.400 --> 28:43.960
and that never worked for him, so he decided to just build his own stuff, but then you

28:43.960 --> 28:49.520
look into that stuff, and it's sort of what you described in your talk, is, you know,

28:49.520 --> 28:56.440
it's not structured, it's, it's messy, it's, it's just sort of, you know, cobbled together,

28:56.440 --> 29:06.320
so he's got the same, he's got the same issue that it's, he doesn't want to do it just for

29:06.320 --> 29:12.360
his personal need, he wants, he wants this to be somebody that, something that people

29:12.360 --> 29:18.000
use, and so he gives talks and things like that, and he, so he, he's got this way of

29:18.000 --> 29:23.720
thinking that's very different than other people, that keeps his stuff away from people,

29:23.720 --> 29:30.640
but that's not his intention, it's just, you know, sort of the operational mechanics of

29:30.640 --> 29:35.920
the way it is, and I'd love, you know, I'd love to help him with that, or do something,

29:35.920 --> 29:41.840
he's a very nice fellow, but I haven't gotten him past the, you know, there are other abstraction

29:41.840 --> 29:49.200
levels besides the atomic level, let's, let's work on some of those levels, for him, you

29:49.200 --> 29:53.040
know, there's some sort of barrier, I think, there, so you're saying you're a little like

29:53.040 --> 29:59.760
that too? You have to get your hands on everything? Yeah, and I think that's, and full disclosure,

29:59.760 --> 30:04.680
I don't, I didn't have a lot of time to write, or to get in, I didn't have a lot of, like,

30:04.680 --> 30:09.120
in those 10 minutes to say everything I wanted to say, like, I'm not, I don't want to give

30:09.120 --> 30:14.000
the impression that I'm not a technical person, I am, I am a programmer, and I've been, like

30:14.000 --> 30:18.880
I said, I've been using Emacs for a very long time, just that over time, I probably, you

30:18.880 --> 30:24.600
know, just kind of have stayed in my personal sphere, and kind of worked, carved out a little

30:24.600 --> 30:31.360
thing that works for me, so I, my perspective might be a little surprising, to come up,

30:31.360 --> 30:35.040
you know, to people who might think, well, a talk like that, you're, you know, you're

30:35.040 --> 30:40.520
still a beginner, or you're still on the fringes, I'm like, no, I don't think I'm, I'm neither,

30:40.520 --> 30:43.840
neither beginner, feel like I'm a beginner, nor am I on the fringes of anything, I've

30:43.840 --> 30:50.680
just, my path has taken me through a certain way that is, is personal, it just happens,

30:50.680 --> 30:57.880
you know, but I think what you're saying earlier, is that, to identify, is, is that, that is

30:57.880 --> 31:02.760
one tension, the tension you were just mentioning, of, want to do something, but the Emacs is

31:02.760 --> 31:08.120
just one of those platforms where, where it's so, can entice you to do things, it can be

31:08.120 --> 31:12.200
so interesting and enticing to do certain things that you, it can lead to a lot of pain,

31:12.200 --> 31:17.520
and that you can, and confusion, where you can really want to learn something, and think,

31:17.520 --> 31:22.240
in your head, I'm always, you know, I'm, you know, I'm always thinking of, it was a dialogue

31:22.240 --> 31:26.700
with, you know, a dozen people when I used Emacs, a dozen other people whose, whose work

31:26.700 --> 31:33.800
I've read about, and developers, I've, I've read their works and stuff, of, it's hard

31:33.800 --> 31:37.600
to be doing something, and not be thinking about making it available for somebody else

31:37.600 --> 31:43.640
to use, I think it's, it's both very personal, and it's also hard to have a personal barrier,

31:43.640 --> 31:48.240
because I'm always, you know, I'm always thinking about, how would I expose this functionality

31:48.240 --> 31:53.000
for general purposes, how would I, how would I publish this, and so I can identify with

31:53.000 --> 31:58.760
that, and also, also, I want, you, you want to know, both, maybe there's just certain

31:58.760 --> 32:02.880
personalities, and mine would be one of them, where you really want to know why things are

32:02.880 --> 32:06.600
happening the way that they're happening, and I think Emacs is one of those places where,

32:06.600 --> 32:11.520
when you come in, you come in on the ground floor, and you see, wow, I can go up so high,

32:11.520 --> 32:15.360
but also, you, you can look down and say, well, there's a hundred floors below me, and

32:15.360 --> 32:18.040
you get torn, you know.

32:18.040 --> 32:25.280
I would ask a question like, do you, do you tend to look at the way Lisp primitives are

32:25.280 --> 32:32.880
implemented in C, or do you just focus on the documentation of the Lisp function, and

32:32.880 --> 32:38.160
then work from there, in terms of your Emacs, how far down you go?

32:38.160 --> 32:40.200
Good question.

32:40.200 --> 32:41.200
It's changed recently.

32:41.200 --> 32:47.040
I'd say, up until a couple years ago, I was mostly focused on the, on inside, you know,

32:47.040 --> 32:52.400
inside the Lisp machine, and going up, but I've started getting a little more curious

32:52.400 --> 32:55.160
about the C layer below that.

32:55.160 --> 32:59.000
One of the things I started looking at was some of the way that the key maps have been

32:59.000 --> 33:06.920
handled, the key, the map lookups were handled at the C level, because of the, my Viper,

33:06.920 --> 33:14.640
sort of affinity, my affinity for Viper, because there's some, some functionality there that

33:14.640 --> 33:20.680
changed or was made a little bit, the implementation was made a little bit different.

33:20.680 --> 33:24.800
So I guess, I guess both, but I, but I could understand that, yeah, there's, I, I never

33:24.800 --> 33:30.640
felt like I had to understand anything below that level, but just, it's good that.

33:30.640 --> 33:37.640
And do you go up, do you spend a lot of time thinking about the user level and user experience,

33:37.640 --> 33:43.920
user interfaces in your other work even, or, you know, just to get an idea of the sort

33:43.920 --> 33:49.880
of problems you'd like to sink your teeth into, you know, how you might provide some

33:49.880 --> 33:55.280
feedback on the hyperbole side, if you were to?

33:55.280 --> 34:01.960
I think I'm, I, I, in terms of technical stuff, I do like to stay more, I get more satisfaction,

34:01.960 --> 34:10.320
I think, thinking about the, the problem solving, especially in Emacs, just how to build, how

34:10.320 --> 34:18.440
to solve a problem in general, just, you know, UI level stuff or user experience stuff, I

34:18.440 --> 34:25.640
think it's just, it's, it's harder, it can be harder to do it right, but I guess that's

34:25.640 --> 34:31.840
something that I don't, I just haven't, I guess I haven't put, I guess I put more of

34:31.840 --> 34:38.560
my energy towards the, the middle tier of things of kind of just building general solutions.

34:38.560 --> 34:43.400
But if, but if it comes, I mean, I, hyperbole is definitely high, if not on the top of my

34:43.400 --> 34:49.480
list now, coming out of today's presentation and hearing about it today, of things to look

34:49.480 --> 34:50.480
at no matter what.

34:50.480 --> 34:57.120
So, I mean, I'm, I'm eager to learn more about it and use it from, from wherever, wherever

34:57.120 --> 35:00.440
I end up kind of landing on, on that, that spectrum.

35:00.440 --> 35:07.600
Well, I'm wondering if you might have some time to, so we have, there's two other people

35:07.600 --> 35:11.040
who gave the two other talks who work with me.

35:11.040 --> 35:18.360
We do a Sunday meeting, Sunday morning, East coast time, you know, one guy's on the development

35:18.360 --> 35:22.840
and the other is Ramin, who is a writer.

35:22.840 --> 35:28.200
And I mean, he's an ML engineer too, but he's new to hyperbole.

35:28.200 --> 35:33.120
So he's kind of, you know, converting some of what he did in a word to hyperbole.

35:33.120 --> 35:39.120
So he's kind of a good feedback loop for us there too.

35:39.120 --> 35:45.400
Matt and I have been, you know, deep in it for many years, so we can't, we can't see

35:45.400 --> 35:47.040
it in an unbiased way.

35:47.040 --> 35:52.960
And I'm just thinking, you know, maybe if you have a bit of time, you may want to, you

35:52.960 --> 35:58.680
know, think about giving us some structured feedback or, you know, coming to one of those

35:58.680 --> 36:01.320
meetings chatting with us.

36:01.320 --> 36:02.320
Yeah.

36:02.320 --> 36:08.040
You know, so, and I'm happy to answer your questions too, because I think, I just feel

36:08.040 --> 36:14.840
like there's, I'll tell you, this is, so my background with Emacs, besides as a user,

36:14.840 --> 36:22.240
I built something called InfoDoc, which was an extensive IDE to try to bring out Emacs

36:22.240 --> 36:24.240
functionality.

36:24.240 --> 36:30.000
Many years ago, it was an extensive set of menus, popup menus, pull down menus, and fixing

36:30.000 --> 36:36.280
a lot of stuff like, like in our mail, the keys and the interface wasn't the same between

36:36.280 --> 36:39.800
the summary buffer and the main buffer.

36:39.800 --> 36:42.920
And I, I normalized all that fixed stuff in Dura.

36:42.920 --> 36:50.400
All of that was like all rolled into InfoDoc so that a lot of these warts that people talk

36:50.400 --> 36:57.320
about that still are there to this day, some of them I see got put together and that was

36:57.320 --> 37:06.680
just built to top Zmax, the fork, XZmax fork of, you know, when Jamie Zawinski was doing

37:06.680 --> 37:07.680
it.

37:07.680 --> 37:12.480
And so I, you know, I still use some of that with Gnuely Max, but I never took the time

37:12.480 --> 37:14.280
to repackage it and stuff like that.

37:14.280 --> 37:15.800
So that's sort of sitting out there.

37:15.800 --> 37:21.880
And then I built the OO browser, which was a small talk like a code browser for eight

37:21.880 --> 37:24.680
different object oriented languages.

37:24.680 --> 37:30.320
And that's sitting out there waiting for just a, I had it ready, largely ready except for

37:30.320 --> 37:34.820
some documentation and I have no time to work on it.

37:34.820 --> 37:40.720
So it's never been, the modern version hasn't been republished for people to use, but you

37:40.720 --> 37:45.920
know, it sort of tells you some of the areas that, that I've spent a lot of time in and

37:45.920 --> 37:49.300
I've built some pretty big things.

37:49.300 --> 37:53.760
So I've gotten to see, you know, what's absorbable and what's not.

37:53.760 --> 37:59.640
And, you know, there is a lot of people sort of staying down at that low level that I think

37:59.640 --> 38:05.840
you do tend to run into with Emacs users, but there was like people love people who

38:05.840 --> 38:07.960
use the OO browser.

38:07.960 --> 38:13.400
That was a very good user experience because it was just very smooth and it had multiple

38:13.400 --> 38:16.320
windows and, you know, did what people wanted.

38:16.320 --> 38:21.360
And it was very fast because I focused on the algorithms and there was nothing else

38:21.360 --> 38:23.400
that could do what it could do.

38:23.400 --> 38:29.480
Now, now that we have all these language server protocols, which I still think are not quite

38:29.480 --> 38:34.640
where they should be on the backend, but you know, it's nice that now they're integrating

38:34.640 --> 38:35.640
Eclot.

38:35.640 --> 38:41.160
So I'm not a big user of those yet, but I hope to get more leverage out of them if they,

38:41.160 --> 38:47.120
in fact, you know, can give them, satisfy the queries that I really need in my work.

38:47.120 --> 38:51.440
So yeah, I think you'll find, you'll definitely find some utility.

38:51.440 --> 38:57.720
I think, you know, once you grok a bit, and I don't think it'll take you that long to

38:57.720 --> 39:04.360
get enough of a sense of hyperbole to start building a couple types, button types yourself

39:04.360 --> 39:08.360
and tailoring it to whatever your needs are.

39:08.360 --> 39:13.800
But as you said, I'm kind of interested in your thoughts about what will make that easier

39:13.800 --> 39:22.120
for people maybe with, maybe with not as much technical knowledge as you have.

39:22.120 --> 39:27.280
And just, you know, that you're willing to put yourself in somebody else's shoes, I think

39:27.280 --> 39:33.080
is a very valuable kind of way to be and something I'd like to.

39:33.080 --> 39:40.160
Well, I certainly, I'm willing to, willing to try, can't promise what my mindset will

39:40.160 --> 39:43.360
end up producing, but I, you know, it's, let's put it this way.

39:43.360 --> 39:47.240
If I could, if I could benefit from what you've created, benefit from learning about it, and

39:47.240 --> 39:53.200
at the same time, potentially give some benefit back, you know, that seems like it's a win-win-win.

39:53.200 --> 39:55.200
So I'm happy.

39:55.200 --> 40:02.440
Well, I'd be very surprised if you can't, but we, we accept that kind of feedback too,

40:02.440 --> 40:06.700
is that, you know, there's too much of a barrier to entry for this reason here.

40:06.700 --> 40:10.760
I love to hear those things too, because, you know, there have been things that weren't

40:10.760 --> 40:19.480
there that we've built after, like there's a guy, Sean, Sean something, he's like a business

40:19.480 --> 40:24.760
user who runs his business on this custom database that he's built.

40:24.760 --> 40:28.840
And he uses hyperbole as a front end to that backend database.

40:28.840 --> 40:33.200
He calls it, I forget it's hyper or something.

40:33.200 --> 40:38.200
And he, he has a lot of deeper thoughts, you know, very specific, like he'll write it with

40:38.200 --> 40:40.880
just one issue that he's trying to do.

40:40.880 --> 40:44.440
And sometimes, you know, we'll implement things for him.

40:44.440 --> 40:46.640
And that seems to work pretty well.

40:46.640 --> 40:51.360
Sometimes he wants things that are further afield, you know, and we don't go there,

40:51.360 --> 40:58.000
but he's, he's a useful, one of the users on the very low traffic hyperbole mail list.

40:58.000 --> 41:03.560
So he's probably responsible for 80% of the traffic, right?

41:03.560 --> 41:05.960
He's the Pareto subscriber.

41:05.960 --> 41:06.960
Yeah.

41:06.960 --> 41:07.960
Yeah.

41:07.960 --> 41:16.040
So, but I look forward to it and I think you'd like Ramin and Matt, Matt is an engineer for

41:16.040 --> 41:25.680
Spotify and he has implemented 260 test cases for hyperbole that are run against the three

41:25.680 --> 41:30.040
major versions of Emacs every time we commit.

41:30.040 --> 41:36.200
And that's proven to be very successful because, you know, sometimes we're modifying things

41:36.200 --> 41:43.080
at the engine level and who knows what, what set of button types that affects.

41:43.080 --> 41:50.520
So it works really well when we're, and we've had very good success that we have very few,

41:50.520 --> 41:58.480
you know, bugs that we don't know about already being found by users once we make a release.

41:58.480 --> 42:01.760
It seems like PlasmaStrike wants to jump in.

42:01.760 --> 42:02.760
I'm sorry.

42:02.760 --> 42:03.760
I didn't, wasn't.

42:03.760 --> 42:07.120
I did see your link earlier possibly by the Emacs dashboard and I opened it, it looked

42:07.120 --> 42:08.120
pretty cool.

42:08.120 --> 42:12.560
Bob, you might, you might, yeah.

42:12.560 --> 42:23.080
I've been getting my partner into LogSec with org, which is kind of like org-roam for knowledge

42:23.080 --> 42:24.080
bases.

42:24.080 --> 42:29.920
And I've been using that, having my knowledge base on LogSec.

42:29.920 --> 42:36.720
He could look at it, it's getting synchronized with sync thing and he can see how I do the

42:36.720 --> 42:37.720
stuff.

42:37.720 --> 42:39.480
He can replicate it if he wants to.

42:39.480 --> 42:45.640
Then I'm thinking about putting CRDT with Emacs so that we could both edit the same

42:45.640 --> 42:50.120
document in real time.

42:50.120 --> 42:55.920
And that way I can get Emacs to work with the same data set as org-roam and that way

42:55.920 --> 43:01.920
he doesn't have to learn absolutely everything that Emacs has to offer.

43:01.920 --> 43:07.800
There's also, I can use all that stuff if I want to use it.

43:07.800 --> 43:08.800
That's cool.

43:08.800 --> 43:16.120
I, you know, I've heard of that, but not necessarily, didn't know anything about it.

43:16.120 --> 43:21.080
So that's, I'm looking, you know, all I guess all I can say at this point is that it looks

43:21.080 --> 43:22.080
really cool.

43:22.080 --> 43:29.200
It's, does it sounds like you're saying it's front, it's easy to, easy accessible, easily

43:29.200 --> 43:30.200
to get into.

43:30.200 --> 43:32.360
Well, you can also put it on your phone too.

43:32.360 --> 43:39.360
So it would probably be a really good way of doing that, even though it's harder to

43:39.360 --> 43:48.160
get Emacs on your phone and on iPhones as well.

43:48.160 --> 43:52.400
You got to figure out, that's what people were asking about, touchscreens.

43:52.400 --> 43:55.640
Have we thought about how to use touchscreens?

43:55.640 --> 44:00.800
I think it's an interesting challenge for Emacs, you know, you even talk about mouse

44:00.800 --> 44:07.840
buttons and people kind of freak out a lot of times because they're so keyboard driven.

44:07.840 --> 44:14.200
Well, one of the great things about Emacs is it's a keyboard is a first citizen and

44:14.200 --> 44:19.200
mouse can't be a first citizen because you're going to have to switch between it and all

44:19.200 --> 44:21.200
the time.

44:21.200 --> 44:28.560
If you go back to Engelbart's work, it was one hand on the mouse, one hand on the keyboard.

44:28.560 --> 44:37.320
And you know, we do miss some of that, that ability to point at things and make operations

44:37.320 --> 44:38.320
on them.

44:38.320 --> 44:45.160
We have things like Avi, I believe it is, right, for where you can move around across

44:45.160 --> 44:47.720
windows and buffers very rapidly.

44:47.720 --> 44:53.400
So you can get to like an exact point in a buffer much faster, and then you could act

44:53.400 --> 44:55.120
on it, you know, doing it that way.

44:55.120 --> 44:57.720
So it's kind of like a replacement for that.

44:57.720 --> 45:03.300
But it's amazing when you start to think a little differently like that.

45:03.300 --> 45:07.720
And certainly people have done that with split keyboards and they, some people only use half

45:07.720 --> 45:09.600
of the keyboard then.

45:09.600 --> 45:12.920
So and they have all the modifier keys, you know, that's what we're doing.

45:12.920 --> 45:18.080
In fact, Hyperbole has a module that isn't active, but it's sitting out there.

45:18.080 --> 45:24.500
And it turns the mouse keys into two modifier buttons.

45:24.500 --> 45:28.720
So it could be control and meta, or whatever have you.

45:28.720 --> 45:34.400
And so if you want to operate that way, you can emulate what Engelbart was doing with

45:34.400 --> 45:38.440
your regular keyboard and the mouse.

45:38.440 --> 45:44.520
Didn't that, didn't he have like a weird mouse where it had like more buttons on it?

45:44.520 --> 45:47.520
He was three buttons, actually, yeah.

45:47.520 --> 45:50.080
He had the chord keyboard you're thinking of.

45:50.080 --> 45:56.840
The keyboard was like five keys that you could press as chords.

45:56.840 --> 46:02.120
So you could press all five or three of them, and they would produce different character

46:02.120 --> 46:03.120
outputs.

46:03.120 --> 46:05.880
I mean, they had a lot of things that we don't have.

46:05.880 --> 46:13.520
You know, their file system was node based, and so everything could be hyperlinked to.

46:13.520 --> 46:17.440
And they had permanent IDs everywhere, and they had journals.

46:17.440 --> 46:22.120
And they had implemented almost all of this in assembly at first, and it was on a time

46:22.120 --> 46:23.120
shared machine.

46:23.120 --> 46:26.800
So everything was collaborative instead of individual.

46:26.800 --> 46:30.680
But you know, so we'll get there eventually.

46:30.680 --> 46:36.320
It's a lot of, a lot of things have changed that we've had to, you know, fight against

46:36.320 --> 46:38.800
separating people from collaborating.

46:38.800 --> 46:44.760
And now everybody's trying to get back to you and say, let's build collaborative software.

46:44.760 --> 46:50.320
Yeah, I noticed that's another, another one of those cycles that I noticed was the talk

46:50.320 --> 46:57.080
of, I forget who, it was the guy who did the SQLite thing and how he, how he was basically

46:57.080 --> 47:03.720
saying, hey, text is great, but these, these somewhat relational databases have a lot of

47:03.720 --> 47:04.720
things to offer.

47:04.720 --> 47:07.200
And I'm thinking, yeah, of course, I agree.

47:07.200 --> 47:12.160
But it's just funny how so much of the Emacs ethos has been, text can do so much, and they

47:12.160 --> 47:13.160
were right.

47:13.160 --> 47:18.560
And then now, like, this is, it's like a turning point to say, hey, text can't do all these

47:18.560 --> 47:22.160
things, but let's use Emacs to take advantage of all this non-text stuff too.

47:22.160 --> 47:27.600
That's just, that's just one of those, kind of those cyclical things of where we do what

47:27.600 --> 47:31.360
we can with text, and then someone notices that, hey, we, maybe we could do something

47:31.360 --> 47:35.360
without text, and then that, that balance might shift and just go back and forth.

47:35.360 --> 47:39.560
And it sounds like it's the same, like you're talking about with collaboration.

47:39.560 --> 47:43.840
Have you ever seen VisiData?

47:43.840 --> 47:53.440
It's a curses program that one guy has written that can manipulate any sort of tabular information.

47:53.440 --> 48:00.360
It's the, it's the Emacs of, like, you don't want to use a spreadsheet, and you want to

48:00.360 --> 48:02.720
do data analysis.

48:02.720 --> 48:04.360
It's pretty unbelievable what's in there.

48:04.360 --> 48:06.560
It's written in Python.

48:06.560 --> 48:15.600
But he has asynchronous slurping of super large CSVs that are compressed and encrypted.

48:15.600 --> 48:17.600
So it's basically like a Unix tool.

48:17.600 --> 48:23.600
You can use a command line wise, but then it gives you a curses interface, and you can

48:23.600 --> 48:27.040
slice and dice and get histograms.

48:27.040 --> 48:28.040
So it's kind of amazing.

48:28.040 --> 48:30.680
I tried, the key bindings were so different.

48:30.680 --> 48:35.560
I did some work to try to make it more Emacs-like in that.

48:35.560 --> 48:40.600
But he would have something that would be so valuable if it wasn't connected to the

48:40.600 --> 48:41.600
curses interface.

48:41.600 --> 48:46.720
You know, it was an API, and, but he likes it that way.

48:46.720 --> 48:49.200
And so he just keeps developing it.

48:49.200 --> 48:55.440
But it's really amazing if you have to process a lot of data and don't want to use Excel

48:55.440 --> 48:56.440
or something.

48:56.440 --> 49:00.280
That's with a Z, Visi or S, or?

49:00.280 --> 49:02.280
No, V-I-S-I-D-A-T-A.

49:02.280 --> 49:05.160
You'll find it.

49:05.160 --> 49:12.000
It's his name is Paul Swanson.

49:12.000 --> 49:13.200
It's not Swanson.

49:13.200 --> 49:17.000
It's something like that, though.

49:17.000 --> 49:18.520
I think it is.

49:18.520 --> 49:22.640
I think according to his website, according to the website, it says Saul Pwonson.

49:22.640 --> 49:23.640
So I'm guessing that.

49:23.640 --> 49:24.640
Yes, Saul Pwonson.

49:24.640 --> 49:25.640
I get it backwards.

49:25.640 --> 49:26.640
I was Paul Swanson.

49:26.640 --> 49:31.640
Yeah, he's a great guy.

49:31.640 --> 49:32.640
That's another thing on my list.

49:32.640 --> 49:33.640
It'll go.

49:33.640 --> 49:34.640
Yeah, check it out.

49:34.640 --> 49:38.400
Don't blow your mind what's in there.

49:38.400 --> 49:43.960
And again, it's like there's a small community, but it's like all these people that it's such

49:43.960 --> 49:51.360
a simple download, you know, it's a standalone executable, but largely, you know, people

49:51.360 --> 49:52.440
just don't know about it.

49:52.440 --> 49:58.680
I tripped over it and I'm like, my God, how do you get this far without me hearing about

49:58.680 --> 49:59.680
it?

49:59.680 --> 50:01.240
I think that's one of those.

50:01.240 --> 50:06.840
Maybe it's a case where if you don't get a lot of attention, you end up doing things

50:06.840 --> 50:12.120
in a way that you take things in the direction that you want to take them.

50:12.120 --> 50:15.720
And sometimes that leads to a bad place and sometimes it leads to a really interesting

50:15.720 --> 50:16.720
and good place.

50:16.720 --> 50:23.120
And it's probably somewhere in between that seems like he's taking this to a place.

50:23.120 --> 50:28.360
He had some usability issues and then he got like two other people on the team and they

50:28.360 --> 50:34.360
really helped him, I think with that, you know, he takes feedback pretty well and the

50:34.360 --> 50:36.440
team takes feedback well.

50:36.440 --> 50:40.160
So they've been evolving it, you know, from version one to like, I think they're on three

50:40.160 --> 50:46.160
now and you know, it's come a long way that way too.

50:46.160 --> 50:52.120
And now he's got a job, I believe, where he can work on it as well.

50:52.120 --> 50:58.280
So yeah, that should advance it a lot too.

50:58.280 --> 51:03.960
So yeah, there's so much good stuff going on, you know, and it's just what's not going

51:03.960 --> 51:08.760
on is sort of what we had long ago was the reusability.

51:08.760 --> 51:13.560
Nobody's really building libraries anymore, you know, that people can build on.

51:13.560 --> 51:20.320
It's all like, well, we got to wrap a web app around our API and that's it.

51:20.320 --> 51:24.920
And we're not going to make the code underlying the API shareable.

51:24.920 --> 51:28.960
You have to consume it, but that's all you can do.

51:28.960 --> 51:35.160
And so I think where everybody's rebuilding the same things again and again now, because

51:35.160 --> 51:43.840
sort of what Stallman talks about, that sharing culture has been snuffed out so broadly, you

51:43.840 --> 51:49.520
know, in terms of what people spend most of their waking hours on, right?

51:49.520 --> 51:54.880
As professional developers and, you know, you kind of miss it, right?

51:54.880 --> 52:00.240
From when you could, because having written that old browser, I mean, what I would do,

52:00.240 --> 52:03.720
what I remember doing is saying, okay, here's a thousand classes.

52:03.720 --> 52:09.040
I'll just run my browser over it and get to understand the interrelationships.

52:09.040 --> 52:13.060
And it's like, well, where are those like, you know, they're out there, there's still

52:13.060 --> 52:18.540
numerical libraries and things, but you just don't have the ecosystem because the energy

52:18.540 --> 52:25.680
is going somewhere else, you know, to the finished products, more than reusable building

52:25.680 --> 52:26.680
blocks.

52:26.680 --> 52:27.680
I think.

52:27.680 --> 52:28.680
Yeah.

52:28.680 --> 52:30.480
Have you heard of Glorious Toolkit?

52:30.480 --> 52:35.680
I think that's what it's called, but it's a continuation of Smalltalk and it has a lot

52:35.680 --> 52:40.840
of concepts like that where you have multiple representations of the same data.

52:40.840 --> 52:46.480
Like the, also that Mother of All Demos where Engelbarton was doing that.

52:46.480 --> 52:47.480
Yeah.

52:47.480 --> 52:48.960
I know, I've seen that many times.

52:48.960 --> 52:53.560
I got to work with Doug maybe for a year or so.

52:53.560 --> 52:58.320
By the way, Plasma Strike, I'm going to put that on my queue to watch because I've never

52:58.320 --> 52:59.320
actually watched.

52:59.320 --> 53:00.320
I know about it.

53:00.320 --> 53:01.320
Oh yeah.

53:01.320 --> 53:02.320
It's great.

53:02.320 --> 53:03.320
It's great.

53:03.320 --> 53:05.040
It's nice to see him as a young man too.

53:05.040 --> 53:09.800
Like that was 1968, he started like 1957 or something.

53:09.800 --> 53:13.480
The stuff they had before 1960 is incredible.

53:13.480 --> 53:17.880
There's also another spreadsheet, like what you're talking about, but an Emacs and that

53:17.880 --> 53:23.240
talk right there too, but yeah.

53:23.240 --> 53:28.520
All this, I mean, just those initial tips, you know, I was finding stuff that I need.

53:28.520 --> 53:34.960
So I like that idea, I think might do something with that if we can get a good database and

53:34.960 --> 53:43.340
link it into Hyperbole with some simple exposure that kind of gets people into some of this

53:43.340 --> 53:48.880
but I'll tell you what I really want that I can't find.

53:48.880 --> 53:52.560
There's so much effort at low code environments now.

53:52.560 --> 54:01.120
I want a low code environment for spinning up web apps inside a company where it's not

54:01.120 --> 54:02.880
your focus.

54:02.880 --> 54:05.260
It's just for an internal app, right?

54:05.260 --> 54:11.520
Like we want to do say time tracking for one small team and we want to build it ourselves.

54:11.520 --> 54:16.380
You know, that's not the real use case, but if you took something like that, so you don't

54:16.380 --> 54:21.520
have a lot of resources, you don't have a lot of time, you know how to program, but

54:21.520 --> 54:28.040
you want something that lets you operate like you're building a Python command line thing,

54:28.040 --> 54:30.940
but you want it to be a web app.

54:30.940 --> 54:37.320
There's a cool project I saw for that that would be, that was a peer-to-peer KISS web

54:37.320 --> 54:42.560
browser.

54:42.560 --> 54:48.220
Because I've looked at a lot of these, you know, there's no code DB.

54:48.220 --> 54:57.640
The best one that I came to but has been hard to set up internally was, it's like from a

54:57.640 --> 55:04.940
German company, it's like designed in Germany and implemented in China, a lot or pieces

55:04.940 --> 55:09.260
of it, and what is it called?

55:09.260 --> 55:14.200
I'll have to look at my database.

55:14.200 --> 55:20.560
There's like something like Seaborn or something like that.

55:20.560 --> 55:33.720
There's a couple of projects that are named that way, but let's see, Seaborn, low code.

55:33.720 --> 56:01.320
Let's see something, find it, but, oh, low code, so there's something, it's amazing to

56:01.320 --> 56:11.560
me, oh, C table, that's it, C table, SEA table, that's kind of one we've been trying to get

56:11.560 --> 56:15.400
to work, but there's still limits.

56:15.400 --> 56:23.720
There's an environment where like if Emacs could let you do the mock-up of your web app

56:23.720 --> 56:33.480
using Lisp and then could be fully deployable onto a web stack, that would be, I mean, we

56:33.480 --> 56:41.200
have a web server, it's just a question of, and we have like C-based fast web servers

56:41.200 --> 56:49.480
that you could interface to Lisp, so I don't think like the capacity is the problem, but

56:49.480 --> 56:56.760
nobody's gone from providing the web server to here's how you could program the front

56:56.760 --> 57:00.840
end and connect it to the back end all in Lisp.

57:00.840 --> 57:08.960
That's one of my biggest issues is like, and you see it in the hyperbole work, is I want

57:08.960 --> 57:10.920
simplicity and uniformity.

57:10.920 --> 57:19.080
I can't like program in three languages at the same time, so I can't use JavaScript on

57:19.080 --> 57:25.840
the front end and Python on the back end and then have to deal with CSS as well.

57:25.840 --> 57:26.840
And HTML.

57:26.840 --> 57:27.840
Yeah.

57:27.840 --> 57:28.840
And HTML.

57:28.840 --> 57:34.840
It's like my mind just cracks up and I'm like, why do, and even if you were brought up that

57:34.840 --> 57:42.880
way, like how can you be a 22-year-old and say, oh, this is so simple, because they do,

57:42.880 --> 57:43.960
they say that all the time.

57:43.960 --> 57:47.240
Well, this is a really simple thing to do.

57:47.240 --> 57:54.560
I mean, yeah, if you're copying and pasting all your code, which is apparently what has

57:54.560 --> 58:01.040
become common now, right, is I'll just use this template, then yeah, that's simple.

58:01.040 --> 58:03.760
But what about building it originally?

58:03.760 --> 58:09.720
It's like, there's just so much for your mind to process.

58:09.720 --> 58:17.080
And there was something called Meta HTML, which was really cool when HTML first came

58:17.080 --> 58:21.800
out, and you're not going to be able to find this or even a reference to it, probably.

58:21.800 --> 58:30.600
But this was two guys from MIT, and they said, okay, instead of programming at the HTML level,

58:30.600 --> 58:39.720
let's write a list-like interpreter that uses HTML syntax, but will give you all the higher

58:39.720 --> 58:42.160
level programming constructs you need.

58:42.160 --> 58:47.840
And so you could write stuff that looked like HTML, but you'd be processing lists of things

58:47.840 --> 58:55.280
and manipulating the DOM in these very abstract ways and very little code.

58:55.280 --> 59:01.800
And again, you didn't have to mix a different syntax in like you have to now.

59:01.800 --> 59:09.940
It was great, and it wasn't a lot of code, and it worked, and nobody cared.

59:09.940 --> 59:11.280
Nobody did anything with it.

59:11.280 --> 59:12.880
It died on the vine.

59:12.880 --> 59:21.520
Well, we didn't need to endlessly measure every little mouse movement and eyeball engagement

59:21.520 --> 59:23.440
and then monetize it and analyze it.

59:23.440 --> 59:27.320
So you could focus on just doing what you needed to do.

59:27.320 --> 59:28.320
Yeah.

59:28.320 --> 59:29.320
Well, that's right.

59:29.320 --> 59:30.320
Friction drives.

59:30.320 --> 59:32.200
That's what I love.

59:32.200 --> 59:37.280
I'm stuck in a Microsoft environment now where there's a little bit of Linux here and there,

59:37.280 --> 59:40.480
but I'm either a Mac user.

59:40.480 --> 59:47.840
I've always been a Unix user, so Windows is enormously painful despite the strides that

59:47.840 --> 59:50.840
they've made.

59:50.840 --> 59:55.440
I always look at it, and I say, well, it's a brilliant business perspective because they

59:55.440 --> 01:00:02.280
know they create so many problems for people, so much friction that it creates enormous

01:00:02.280 --> 01:00:10.240
economic opportunities for many, many people, and that's what they do.

01:00:10.240 --> 01:00:11.640
They have WSL.

01:00:11.640 --> 01:00:13.720
Do you know about that?

01:00:13.720 --> 01:00:17.720
The Windows System for Linux, yeah.

01:00:17.720 --> 01:00:21.840
They had a guy working on that who was leading it, and they were just making stride after

01:00:21.840 --> 01:00:30.720
stride, and apparently some high-level executive probably did not like seeing this, and so

01:00:30.720 --> 01:00:35.740
they moved this guy off, and now it's like Microsofty.

01:00:35.740 --> 01:00:41.360
So now all you see come out of there is like we've improved Windows Terminal, and the whole

01:00:41.360 --> 01:00:47.000
WSL thing moves at a snail's pace now, and you have to think that wasn't just like the

01:00:47.000 --> 01:00:53.460
guy got promoted, but that there was a strategic decision that this was helping people too

01:00:53.460 --> 01:01:00.920
much to live in a non-Windows environment in their mind, and we can't be supporting

01:01:00.920 --> 01:01:01.920
that.

01:01:01.920 --> 01:01:13.440
I was going to say, even though if you say, I want to use Kubernetes or in Azure, they

01:01:13.440 --> 01:01:20.880
say, okay, use Linux VMs, so they'll do that all day long and tell you not to use Windows,

01:01:20.880 --> 01:01:26.800
so there is still parts of the company that are like that and are open to it, but they

01:01:26.800 --> 01:01:31.560
have it pretty well locked down.

01:01:31.560 --> 01:01:37.520
I think it goes in line with the attention economy where they want to control the computing

01:01:37.520 --> 01:01:43.520
experience, and you want to use Microsoft apps, Microsoft Office.

01:01:43.520 --> 01:01:49.240
We don't want to make sure that you can reach out too easily into other ecosystems.

01:01:49.240 --> 01:01:54.800
Embrace, extend, extinguish, right?

01:01:54.800 --> 01:01:55.800
Is that the...

01:01:55.800 --> 01:01:56.800
Yep.

01:01:56.800 --> 01:01:57.800
That's it.

01:01:57.800 --> 01:02:04.160
An interesting Windows feature is you can update Windows, see that it's all the way

01:02:04.160 --> 01:02:10.040
up to date, reboot it, wait a day, or wait a day, and all of a sudden you have more updates

01:02:10.040 --> 01:02:13.040
for like a week or something along those lines.

01:02:13.040 --> 01:02:17.600
I don't know of any other operating system that does that.

01:02:17.600 --> 01:02:24.900
You only have two minutes until your reboot is done, and then it's like it comes back.

01:02:24.900 --> 01:02:29.240
Now it's an hour, and then another half an hour, right?

01:02:29.240 --> 01:02:33.400
They only give you a little snippet.

01:02:33.400 --> 01:02:38.360
Is PlasmaStrike, by the way, is that stack that you're describing with LogSec and syncing

01:02:38.360 --> 01:02:39.360
and everything?

01:02:39.360 --> 01:02:41.400
Is that something that you've published any examples?

01:02:41.400 --> 01:02:46.080
I saw you said something in the IRC, but I just lost track of what was going on in IRC,

01:02:46.080 --> 01:02:49.080
so I'm sorry if I missed that.

01:02:49.080 --> 01:02:51.020
No, I haven't.

01:02:51.020 --> 01:02:58.880
This is although now I'm thinking about just putting a whole bunch of some resources together

01:02:58.880 --> 01:03:06.220
of HyperBowl does a really good job of showing you a knowledge base, plus enough configuration

01:03:06.220 --> 01:03:14.760
to use an EEV does a really good job of showing you enough in-source documentation to play

01:03:14.760 --> 01:03:19.840
it out and see how it actually works in practice.

01:03:19.840 --> 01:03:23.800
Our Chrome needs something like that, so I don't know if I'll...

01:03:23.800 --> 01:03:30.080
But you need some minimal config to work with that, so you can look at the more philosophy

01:03:30.080 --> 01:03:38.000
plus packages combination.

01:03:38.000 --> 01:03:44.560
How do you guys like the HyperBorg term, if we use that?

01:03:44.560 --> 01:03:48.200
Does that strike you as a little...

01:03:48.200 --> 01:03:50.080
Was that what you were going for?

01:03:50.080 --> 01:03:52.480
Were you trying to conjure up the Borg?

01:03:52.480 --> 01:03:53.480
Well, yeah.

01:03:53.480 --> 01:03:59.960
Well, Sasha came up with HyperOrg for hyperbole and org, and then I thought, well, it'd be

01:03:59.960 --> 01:04:09.160
funnier if we called it HyperBorg, because it kind of is like Stalvan talks about org

01:04:09.160 --> 01:04:16.580
wants to take you into this environment, and hyperbole certainly does too, so if we put

01:04:16.580 --> 01:04:21.240
the two together, we would definitely have something like the Borg.

01:04:21.240 --> 01:04:26.800
My impression, and I said something to Kielaro, I don't know if I spoke wrong, but my impression

01:04:26.800 --> 01:04:31.920
was that this was not something that was going to be created, this was just a way, just like

01:04:31.920 --> 01:04:32.920
a...

01:04:32.920 --> 01:04:33.920
Oh, right.

01:04:33.920 --> 01:04:34.920
It's just a...

01:04:34.920 --> 01:04:39.200
Yeah, the music kind of term, but I do want to do more work.

01:04:39.200 --> 01:04:45.080
I've joined the org mail list, and I mean, just I did a lot of work for that presentation

01:04:45.080 --> 01:04:53.840
and that sort of struck me, and I said, there's a certain level of work we need to do.

01:04:53.840 --> 01:05:00.760
Years ago, we were thinking we'd put hyperbole into Emacs, now that org is...

01:05:00.760 --> 01:05:07.600
There's no reason not to, and were it to be there, there are things that there's namings

01:05:07.600 --> 01:05:14.360
that we would correct, and the interface points to org, we would want to do something about

01:05:14.360 --> 01:05:17.920
and work out with them, especially the made a return key.

01:05:17.920 --> 01:05:23.080
That's the main, if we could resolve that between the two packages better, and we've

01:05:23.080 --> 01:05:28.180
done a pretty good job just on hyperboles in, but we've never talked to the org people

01:05:28.180 --> 01:05:29.180
about it.

01:05:29.180 --> 01:05:33.160
It kind of seems like the term would work better the opposite way, because org wants

01:05:33.160 --> 01:05:39.400
to go around and doesn't have that modularity that your package has.

01:05:39.400 --> 01:05:45.080
So you're suggesting like, let them give the key over to us, and then we'll support some

01:05:45.080 --> 01:05:46.080
of their...

01:05:46.080 --> 01:05:50.880
Well, it's more reading the board taking over everything, because org mode comes and they

01:05:50.880 --> 01:05:51.880
take over...

01:05:51.880 --> 01:06:02.040
All their code works with org mode, not K outline or markdown mode or anything along

01:06:02.040 --> 01:06:03.040
those lines.

01:06:03.040 --> 01:06:08.240
Yeah, more, so the board part comes more from the hyperbole side, yeah.

01:06:08.240 --> 01:06:12.520
Well, but maybe it's fitting in the long run, because no matter...

01:06:12.520 --> 01:06:18.600
Perhaps if you provide a, or if hyperbole provides a very convenient enhancement on

01:06:18.600 --> 01:06:23.320
top of how people used to use org mode, it'll just become part of org mode eventually.

01:06:23.320 --> 01:06:31.400
Yeah, that's something I can see too, is that they just become one big thing that Stallman

01:06:31.400 --> 01:06:36.880
doesn't like, because we do have a bit of that in all of them.

01:06:36.880 --> 01:06:42.280
I mean, I totally get what he's saying and I buy it, I'm kind of like a functional programmer

01:06:42.280 --> 01:06:49.800
and I like bottom up development, but people ask us all the time, okay, if you have four

01:06:49.800 --> 01:06:55.360
or five things in hyperbole, why don't you separate them into separate packages?

01:06:55.360 --> 01:06:57.200
And it was the same thing for Engelbart.

01:06:57.200 --> 01:07:02.840
Well, one, it would be a lot more overhead just in separate manuals and dealing with

01:07:02.840 --> 01:07:04.480
separate communities.

01:07:04.480 --> 01:07:09.840
We want everyone who uses it to have the same baseline experience.

01:07:09.840 --> 01:07:15.560
And so even though, yes, you could separate out the button functionality from the K-outliner

01:07:15.560 --> 01:07:23.880
and the Rolodex, and the Rolodex originally was a separate thing by itself, we find putting

01:07:23.880 --> 01:07:29.200
them all together gives people the same thing that Emacs provides, it's sort of, you don't

01:07:29.200 --> 01:07:34.680
have to use all of the libraries, but having them there ensures you that when somebody

01:07:34.680 --> 01:07:42.640
references it, it works and you have a lot fewer of those kinds of, well, I only have

01:07:42.640 --> 01:07:47.720
the subsystem, so when I invoke your code, it breaks.

01:07:47.720 --> 01:07:52.400
Yeah, I think, and I think, I mean, I don't think there's any, I don't personally have

01:07:52.400 --> 01:07:56.480
like a preference as to what the right direction is, I just acknowledge that the downsides

01:07:56.480 --> 01:08:00.880
and upsides of each choice, but one thing I have noticed is I think something, I think

01:08:00.880 --> 01:08:07.280
it was McGit, that's how I say it, but, you know, initially it was one thing and now I

01:08:07.280 --> 01:08:13.880
think it's turned into a dozen or maybe even a couple dozen different packages.

01:08:13.880 --> 01:08:19.320
And I remember I went to update it once and they had to, you know, navigate a few different,

01:08:19.320 --> 01:08:25.640
like, what's the word, combinatorial, you know, they had to go two or three levels of

01:08:25.640 --> 01:08:30.560
dependencies deep in each level or introduce two dishes, yeah.

01:08:30.560 --> 01:08:37.360
So yeah, that can happen, there's situations where you can see those downsides, where the

01:08:37.360 --> 01:08:42.000
more, you know, splitting things apart is...

01:08:42.000 --> 01:08:48.280
We're fighting with that at work right now, it's like, do we create more repos so we can

01:08:48.280 --> 01:08:54.880
deliver microservices or, you know, how do we split things out on the containers and

01:08:54.880 --> 01:09:00.500
it's very, very complicated and even, you know, with years, we've got years of experience

01:09:00.500 --> 01:09:08.640
with our architects and we're all like going back and forth on how far to go because one

01:09:08.640 --> 01:09:13.360
of the people is very worried that we get into that dependency hell kind of thing with

01:09:13.360 --> 01:09:16.120
some of our new get packages.

01:09:16.120 --> 01:09:23.920
So yeah, I wish there were easier solutions and that's, again, for hyperbole, there's,

01:09:23.920 --> 01:09:28.600
you know, there's none of it, there's no external dependencies, it's just what version of Emacs

01:09:28.600 --> 01:09:36.140
you're using and people don't realize that, yeah, they say, oh, it's so big, like, it's

01:09:36.140 --> 01:09:43.600
dependent on all this other stuff, but it's not, it's just, you know, I mean, it will

01:09:43.600 --> 01:09:48.640
leverage stuff, again, that's in core Emacs, but it won't require you to load a third party

01:09:48.640 --> 01:09:52.360
package just because, you know, it's useful or interesting.

01:09:52.360 --> 01:10:00.960
I think Emacs does a really good job on this because unlike the normal GUI apps, if I want

01:10:00.960 --> 01:10:07.520
to change my theme in Emacs, I get to change everything to a dark theme or white theme

01:10:07.520 --> 01:10:17.120
or whatever and unlike, and you can't really do that very in any way that shares any of

01:10:17.120 --> 01:10:24.200
the code or the settings with all your GUI applications, but also with a terminal, you

01:10:24.200 --> 01:10:34.960
miss out on a whole bunch more stuff because, well, you don't get GUIs or unless you're

01:10:34.960 --> 01:10:46.400
talking about TUI apps, but they're not really CLI apps because they're like a half stepchild,

01:10:46.400 --> 01:10:50.120
they don't get near as good themes because they can't integrate into all the packages

01:10:50.120 --> 01:10:59.000
near as well, you know, mouse and all the various other things like that.

01:10:59.000 --> 01:11:02.160
Where are you guys located?

01:11:02.160 --> 01:11:04.200
I'm in, I'm in Virginia.

01:11:04.200 --> 01:11:07.880
Oh, I just had guests from West Virginia.

01:11:07.880 --> 01:11:09.880
I'm in Connecticut.

01:11:09.880 --> 01:11:10.880
Utah.

01:11:10.880 --> 01:11:11.880
Oh, wow.

01:11:11.880 --> 01:11:12.880
Utah.

01:11:12.880 --> 01:11:17.160
So we're almost spanning the entire continent, almost.

01:11:17.160 --> 01:11:23.200
If we round up, we can consider it to be the case.

01:11:23.200 --> 01:11:29.400
I work with a lot of people in India, so we've got like a 12 hour difference much of the

01:11:29.400 --> 01:11:30.400
year.

01:11:30.400 --> 01:11:37.200
That's fascinating to try to work through all the time, but on Hyperbole, we have one

01:11:37.200 --> 01:11:44.240
guy in Sweden and one guy in Japan, so we're all over the map too.

01:11:44.240 --> 01:11:51.680
Yeah, I was involved with a little hobby group for something unrelated and we were in various

01:11:51.680 --> 01:11:56.400
countries and it was always, the best thing that we could do was just find the time at

01:11:56.400 --> 01:12:03.440
which all of us would be the least miserable and the least tired and not, you know, there

01:12:03.440 --> 01:12:07.720
was no good time for a meeting, there was just the least bad time.

01:12:07.720 --> 01:12:15.840
Well, I was struggling to finish up my presentation and just, you know, I would like want to show

01:12:15.840 --> 01:12:21.840
an example and then I'm like, well, I need to change the code a little bit so I go and,

01:12:21.840 --> 01:12:26.840
you know, I'd add capability and Hyperbole and it was just a lot more work than I expected.

01:12:26.840 --> 01:12:31.900
So November 4th was the deadline to send in your video.

01:12:31.900 --> 01:12:36.520
That came and went and then I couldn't touch anything until the weekend and I get maybe

01:12:36.520 --> 01:12:38.680
half a day with the holidays and stuff.

01:12:38.680 --> 01:12:43.720
So comes to be last night, still haven't sent the video in.

01:12:43.720 --> 01:12:49.240
You know, I had told them though a week ago that I'll do it live if I can't get the video

01:12:49.240 --> 01:12:53.360
in, but I'm like, you know, it'd be nice to have it recorded and they do all this stuff

01:12:53.360 --> 01:12:54.360
to it.

01:12:54.360 --> 01:13:04.600
So I finished the video at 5.30 in the morning and I just, you know, no, I was dead so I

01:13:04.600 --> 01:13:11.440
just uploaded it and I figured, you know, I had tested snippets before of how I recorded.

01:13:11.440 --> 01:13:17.560
So I sent the two of them, I go to bed, I get up and I have a message waiting.

01:13:17.560 --> 01:13:23.280
The video cuts off at 18 minutes and it was 36 minutes long and I'm like, oh, come on,

01:13:23.280 --> 01:13:28.560
it must be the software, like just can't handle a file that size and it's stupid.

01:13:28.560 --> 01:13:32.080
But I play it back on my system and it plays perfectly fine.

01:13:32.080 --> 01:13:36.560
And they gave me the checksum of the file, the size of the file, those matched up.

01:13:36.560 --> 01:13:38.360
So we knew we had uploaded a good thing.

01:13:38.360 --> 01:13:42.320
So I just went back to them and said, no, it works here.

01:13:42.320 --> 01:13:47.280
And then they went and researched and found, you know, it was their software and they were

01:13:47.280 --> 01:13:48.480
able to make it work.

01:13:48.480 --> 01:13:50.580
So I was good.

01:13:50.580 --> 01:13:53.760
But you know, that's like right at the edge.

01:13:53.760 --> 01:13:56.480
It's like 5.30 this morning.

01:13:56.480 --> 01:13:57.480
Yeah.

01:13:57.480 --> 01:14:00.440
And you haven't, and then you got some sleep after that?

01:14:00.440 --> 01:14:01.440
Yeah.

01:14:01.440 --> 01:14:07.080
I got up at like 9.30 so I'm running on a little, not too much sleep, but no, I was

01:14:07.080 --> 01:14:14.100
very happy because I got to, I actually, like Rahman who did his and he sort of had his

01:14:14.100 --> 01:14:23.200
face behind an Emacs window, transparency through the Emacs window.

01:14:23.200 --> 01:14:27.960
He spent like at least 20 hours, like just on the video part or something.

01:14:27.960 --> 01:14:30.680
I literally did one recording.

01:14:30.680 --> 01:14:35.120
I mean, I had done samples a little bit, but I sat down, I said, I'm just going to try

01:14:35.120 --> 01:14:37.800
to run through the whole thing, no breaks.

01:14:37.800 --> 01:14:44.680
I did both my face, you know, they were separating their face video from their audio for some

01:14:44.680 --> 01:14:45.680
reason.

01:14:45.680 --> 01:14:50.800
And they did all these separate tracks, one recording and threw it over the wall.

01:14:50.800 --> 01:14:53.800
So it was pretty good.

01:14:53.800 --> 01:14:58.800
I think it's easier to do with a longer video because I was in much the same situation.

01:14:58.800 --> 01:15:06.800
And if any organizers are reviewing this recording, you know, I was a day ahead of you, Bob.

01:15:06.800 --> 01:15:12.960
I submitted it a day before you and I went to sleep, I think roughly 24 hours before

01:15:12.960 --> 01:15:15.000
you did.

01:15:15.000 --> 01:15:21.120
But you know, it's, so I was scrambling to do a lot of those things too, but you know,

01:15:21.120 --> 01:15:22.120
because of my own fault.

01:15:22.120 --> 01:15:28.120
And again, if any organizers are listening, I sincerely apologize and thank you and admire

01:15:28.120 --> 01:15:32.920
your saintly level of tolerance and patience there.

01:15:32.920 --> 01:15:41.840
And I hope that they spend a lot of time and energy just hitting things with baseball bats

01:15:41.840 --> 01:15:47.880
after this conference, because I think that they've probably suppressed a lot of negative

01:15:47.880 --> 01:15:52.520
energy from having to process things like that.

01:15:52.520 --> 01:15:55.520
They're incredible.

01:15:55.520 --> 01:16:03.960
I said thank you like an hour into the conference because it was so, I was looking at all the

01:16:03.960 --> 01:16:09.240
detail they had and you know, you see the way it's grown from year to year that you

01:16:09.240 --> 01:16:13.840
could just tell there was a tremendous amount of effort put in to have all these different

01:16:13.840 --> 01:16:15.880
formats and dealing with it.

01:16:15.880 --> 01:16:21.480
People have disabilities and you know, I mean, they're just very thoughtful all around and

01:16:21.480 --> 01:16:23.480
a great set of people.

01:16:23.480 --> 01:16:26.760
So I think every year they get better at it.

01:16:26.760 --> 01:16:27.760
Yeah.

01:16:27.760 --> 01:16:33.400
Yeah, they're clearly, I like they took a DevOps kind of approach to it, which you can

01:16:33.400 --> 01:16:40.580
also see, I guess they have some people, they're using Ansible to maintain some of their environments.

01:16:40.580 --> 01:16:44.920
So it's like, wow, that's a pretty advanced way to do it.

01:16:44.920 --> 01:16:50.760
And it shows they struggled in parts, you know, it's like, like this, they had trouble,

01:16:50.760 --> 01:16:57.320
you know, I was asking multiple times, it's like, is the video going to be playable?

01:16:57.320 --> 01:16:59.360
And there'd like be no answer.

01:16:59.360 --> 01:17:03.440
And then it's like, okay, don't worry, we're taking care of it.

01:17:03.440 --> 01:17:08.080
But they couldn't say because they hadn't converted it the way they wanted to yet.

01:17:08.080 --> 01:17:12.720
And then they finally got there and they like 20 minutes before the presentation is when

01:17:12.720 --> 01:17:21.760
I guess I got on with you, right, plasma strike, and we did prep before prep.

01:17:21.760 --> 01:17:24.880
So it was a good experience.

01:17:24.880 --> 01:17:30.920
But I have to know, yeah, I thought I would have it done, no problem, November 4.

01:17:30.920 --> 01:17:37.480
So I think that and I did get very busy at work, but you know, that tells you something

01:17:37.480 --> 01:17:40.840
just about and I'm not, I don't do videos much.

01:17:40.840 --> 01:17:43.040
So that was part of the problem.

01:17:43.040 --> 01:17:45.600
Yeah, it's Yeah.

01:17:45.600 --> 01:17:50.360
I mean, I'd say the most concrete lesson that I learned, maybe not even a lesson so much

01:17:50.360 --> 01:17:57.940
as a as a punishment is that if I dare to submit anything next year, I'll, I'll make

01:17:57.940 --> 01:18:01.040
sure that I'm done recording it before I even propose it.

01:18:01.040 --> 01:18:07.880
Because I wouldn't want to have them wonder, is he gonna wait until the very end?

01:18:07.880 --> 01:18:11.660
Like, I'm gonna, I'm sure I am.

01:18:11.660 --> 01:18:15.600
So I will, I will have it done in the summer of 2023.

01:18:15.600 --> 01:18:19.080
And I will include it, I will upload it before I even submit it to them.

01:18:19.080 --> 01:18:21.480
Did you not get that message?

01:18:21.480 --> 01:18:23.000
Sasha was so nice about it.

01:18:23.000 --> 01:18:29.200
She's like, you know, it's really not a problem if you don't have time, you know, we can just

01:18:29.200 --> 01:18:30.200
cancel.

01:18:30.200 --> 01:18:36.320
And I'm like, I've never canceled on a talk before, so I'm gonna get it done, even if

01:18:36.320 --> 01:18:38.320
I have to do it live.

01:18:38.320 --> 01:18:43.680
Yeah, you know, I got I got similar ones got go ahead.

01:18:43.680 --> 01:18:44.680
How would that work?

01:18:44.680 --> 01:18:48.040
If you didn't know exactly how much time that you'd have for the talk?

01:18:48.040 --> 01:18:50.160
If you're going to do it all in advance?

01:18:50.160 --> 01:18:57.640
Oh, oh, for you, because it Yeah, well, you can take a shot.

01:18:57.640 --> 01:18:58.640
Don't give me a slot.

01:18:58.640 --> 01:19:01.360
You say I have a 20 minute video ready to go.

01:19:01.360 --> 01:19:02.360
Yeah, yeah.

01:19:02.360 --> 01:19:07.560
Or, I mean, and plus, I think it's also it would be it doesn't necessarily indicate that

01:19:07.560 --> 01:19:12.200
it's the final product, but it could be the final product, you could say, Okay, here's,

01:19:12.200 --> 01:19:14.720
here's 10 minutes or 15 minutes.

01:19:14.720 --> 01:19:16.680
And I will try to iterate on this.

01:19:16.680 --> 01:19:21.840
But if I if I default on this loan, so to speak, it's it serves as collateral, maybe

01:19:21.840 --> 01:19:24.280
it's not, not necessarily the final product.

01:19:24.280 --> 01:19:28.320
But if it needs to be the final product, they could use it that way.

01:19:28.320 --> 01:19:33.440
I think the thing that they're most worried about was just having to having to process

01:19:33.440 --> 01:19:39.880
things at the last minute and having to run it live, if necessary.

01:19:39.880 --> 01:19:49.000
So I don't think they they, you know, care that much about changing, you know, changing

01:19:49.000 --> 01:19:50.000
the length or so.

01:19:50.000 --> 01:19:51.000
Well, maybe they would, I don't know.

01:19:51.000 --> 01:19:53.000
But I guess that that would mess up the schedule.

01:19:53.000 --> 01:19:56.520
Well, the the subtitles were really popular, I understand.

01:19:56.520 --> 01:20:05.240
So that's, that's a big thing that would have been nice to have, which I imagine you're

01:20:05.240 --> 01:20:06.240
gonna process.

01:20:06.240 --> 01:20:13.640
Yeah, yeah, I, I, hopefully, I can, I can help them with with subtitling some of the

01:20:13.640 --> 01:20:16.160
things that didn't have them yet.

01:20:16.160 --> 01:20:20.960
Because, yeah, there's still a lot of work that I think needs to be done even after after

01:20:20.960 --> 01:20:21.960
the fact.

01:20:21.960 --> 01:20:26.800
And, you know, with transcribing these sessions, even not all of them, but at least some of

01:20:26.800 --> 01:20:28.800
the questions and answers and things.

01:20:28.800 --> 01:20:35.760
PlasmaStrike, did you that I hear that I understand you say that you you were a volunteer for

01:20:35.760 --> 01:20:37.320
managing the this year?

01:20:37.320 --> 01:20:42.320
No, I just I was just asking the question.

01:20:42.320 --> 01:20:43.320
I got you.

01:20:43.320 --> 01:20:44.320
No, I thought I heard you.

01:20:44.320 --> 01:20:45.320
I might have misheard something you said earlier.

01:20:45.320 --> 01:20:46.320
Are you Corbin?

01:20:46.320 --> 01:20:47.320
Me?

01:20:47.320 --> 01:20:48.320
Yeah.

01:20:48.320 --> 01:20:49.320
No.

01:20:49.320 --> 01:20:50.320
No.

01:20:50.320 --> 01:20:51.320
No.

01:20:51.320 --> 01:20:52.320
No.

01:20:52.320 --> 01:20:53.320
Okay.

01:20:53.320 --> 01:20:56.560
I thought you sounded like Corbin.

01:20:56.560 --> 01:20:57.680
You know him?

01:20:57.680 --> 01:20:58.680
Maybe a little bit.

01:20:58.680 --> 01:20:59.680
I can hear it a little bit.

01:20:59.680 --> 01:21:00.680
Okay.

01:21:00.680 --> 01:21:06.360
But you use, PlasmaStrike, you were saying that you you do use a lot of theming and things

01:21:06.360 --> 01:21:12.160
like that in terms of like your like various applications, like color themes and things.

01:21:12.160 --> 01:21:21.960
I've used various, I've Solarize, Doom themes, I think there's a Tron theme that I use, but

01:21:21.960 --> 01:21:26.800
now I'm just using the Modus themes, just simple black and white that's done really

01:21:26.800 --> 01:21:27.800
well.

01:21:27.800 --> 01:21:28.800
Yeah.

01:21:28.800 --> 01:21:29.800
Yeah.

01:21:29.800 --> 01:21:30.800
Simplicity.

01:21:30.800 --> 01:21:32.680
That was actually going to be one of the things that I wanted to mention in my talk.

01:21:32.680 --> 01:21:36.400
But again, those 10 minutes were turned out to be brutal.

01:21:36.400 --> 01:21:41.560
I wanted to mention how how people like like us and when I say us, I just mean I don't

01:21:41.560 --> 01:21:47.680
mean necessarily you two, just people that I was speaking for, are maybe a little bit

01:21:47.680 --> 01:21:48.680
scared of themes.

01:21:48.680 --> 01:21:52.400
You know, like I was going to mention that we like I try to stay the heck away from fonts

01:21:52.400 --> 01:21:58.600
and colors and things because I just, it's, I don't know if I have the bandwidth to keep

01:21:58.600 --> 01:21:59.600
them.

01:21:59.600 --> 01:22:02.840
I kind of just declare advanced bankruptcy on those and say, you know what, whatever

01:22:02.840 --> 01:22:06.320
it looks like, I'm going to live with it.

01:22:06.320 --> 01:22:13.040
I just look at like 20 themes, pick one that suits my taste and then live with that.

01:22:13.040 --> 01:22:21.600
So I found one called Cream Soddy, like cream soda, but S-O-D-Y and that's what I use as

01:22:21.600 --> 01:22:26.960
a dark theme and I find it, you know, very appealing in general.

01:22:26.960 --> 01:22:34.000
So, but yeah, I was noticing like the org people have so much, tweaking the visuals,

01:22:34.000 --> 01:22:36.200
you know, it was kind of amazing.

01:22:36.200 --> 01:22:42.080
Some people's presentations, I'm like, I'm really not into that.

01:22:42.080 --> 01:22:47.600
But I do have a feature in hyperbole, which is kind of cool.

01:22:47.600 --> 01:22:52.960
So there's this subsystem called high control, which lets you control your windows and your

01:22:52.960 --> 01:22:53.960
frames interactively.

01:22:53.960 --> 01:23:00.800
So it's, it's kind of like you go into a mode and it stays live until you quit.

01:23:00.800 --> 01:23:04.920
And so you can use regular insertion keys to manipulate things.

01:23:04.920 --> 01:23:12.800
One of the things it has in conjunction with a package called Zoom Frame is you can change

01:23:12.800 --> 01:23:20.560
your default face across like all your frames with one key, grow it, shrink it.

01:23:20.560 --> 01:23:25.960
And I found that, and not just the default face, but all the related faces so that everything

01:23:25.960 --> 01:23:28.840
stays a consistent size.

01:23:28.840 --> 01:23:34.560
Every time I would try any of the built-in things, I would always end up changing a face

01:23:34.560 --> 01:23:38.840
or multiple and something else would stay tiny.

01:23:38.840 --> 01:23:40.360
And it just annoyed the hell out of me.

01:23:40.360 --> 01:23:43.120
So I implemented that.

01:23:43.120 --> 01:23:44.880
This was in high control or Zoom?

01:23:44.880 --> 01:23:54.080
Yeah, it's in high control, the Z keys, you use I guess capital Z for make it bigger and

01:23:54.080 --> 01:23:56.320
lowercase Z to make it smaller.

01:23:56.320 --> 01:23:58.680
So you're zooming both ways.

01:23:58.680 --> 01:24:04.600
And the neat thing is that what high control has is a persistent prefix argument.

01:24:04.600 --> 01:24:10.920
So say like you want to move a window, say you want to move a frame two pixels at a time.

01:24:10.920 --> 01:24:14.920
So you set the prefix argument to two, and then every time you hit your arrow key or

01:24:14.920 --> 01:24:17.960
whatever moves it, it moves by two pixels.

01:24:17.960 --> 01:24:21.440
You can change that to 20 and it'll move by 20 pixels.

01:24:21.440 --> 01:24:26.840
And the 20 will apply to every successive operation until you change it.

01:24:26.840 --> 01:24:29.560
And to change it, you just hit a decimal point.

01:24:29.560 --> 01:24:34.280
So you can say period one, zero, and then you get a 10.

01:24:34.280 --> 01:24:38.920
Or just set it to zero and then it's off.

01:24:38.920 --> 01:24:40.240
And so it's very rapid.

01:24:40.240 --> 01:24:47.680
So you're doing these single keys NPF dot one, zero.

01:24:47.680 --> 01:24:51.960
And so you can string these together in your key series too.

01:24:51.960 --> 01:24:54.440
And you get this incredible operation.

01:24:54.440 --> 01:25:02.480
It can place frames at any of the corners or the top center of the screen too.

01:25:02.480 --> 01:25:10.680
And on a Mac, it will account for the toolbar and only grow so it doesn't overlap that.

01:25:10.680 --> 01:25:15.240
All these kind of fit and finish things are just pre-programmed in there.

01:25:15.240 --> 01:25:20.360
So when you're actually doing it, I mean, don't you hate that?

01:25:20.360 --> 01:25:26.520
It's like you expand your window programmatically and then half of it's off screen, right?

01:25:26.520 --> 01:25:27.520
For no reason at all.

01:25:27.520 --> 01:25:29.560
And then you got to go manipulate it.

01:25:29.560 --> 01:25:36.400
So I don't know, there was one time when I decided to do this and I just thought of those

01:25:36.400 --> 01:25:41.200
pain points and I took care of them all in there.

01:25:41.200 --> 01:25:45.360
So that's kind of a useful thing.

01:25:45.360 --> 01:25:54.640
And one guy, his fingers, if you saw the presentation, he was losing carpal tunnel like problems

01:25:54.640 --> 01:25:56.120
but very severely.

01:25:56.120 --> 01:26:03.520
So he went to voice control and he was using Emacs and he discovered high control.

01:26:03.520 --> 01:26:09.720
And he said that was like a life changer because he always wanted to manipulate his windows,

01:26:09.720 --> 01:26:10.720
his frames.

01:26:10.720 --> 01:26:14.800
And now he didn't have a good way because he couldn't hit all these keystrokes.

01:26:14.800 --> 01:26:25.880
And now he can just say those key sequences and it does it all for him very rapidly.

01:26:25.880 --> 01:26:33.360
Another guy, years ago I was working with, there's this brilliant guy named, oh God,

01:26:33.360 --> 01:26:35.320
this is, what is his name?

01:26:35.320 --> 01:26:40.160
Works for Google now and it's an Indian name.

01:26:40.160 --> 01:26:44.340
I forget his name, but he's been blind since birth.

01:26:44.340 --> 01:26:50.000
And he got a PhD in computer science and he's worked before Google.

01:26:50.000 --> 01:26:54.560
He worked at like Sun and just all the major companies.

01:26:54.560 --> 01:27:02.680
And I guess a lot of his work is on making technology accessible to the blind or disabled.

01:27:02.680 --> 01:27:13.080
So he wrote a package called EmacsSpeed, yeah, Raman, Raman is his name, TV Raman.

01:27:13.080 --> 01:27:22.920
And so EmacsSpeak is another whole environment that lets a blind person utilize Emacs as

01:27:22.920 --> 01:27:25.200
an advanced screen reader.

01:27:25.200 --> 01:27:31.000
Instead of reading you the whole screen, it knows what your context is and it just reads

01:27:31.000 --> 01:27:32.180
you appropriate stuff.

01:27:32.180 --> 01:27:35.360
So like he can understand code very rapidly.

01:27:35.360 --> 01:27:39.640
Additionally, he can change the speed of the voice so he can listen to something at five

01:27:39.640 --> 01:27:41.440
times speed and absorb it.

01:27:41.440 --> 01:27:44.700
So he can actually get a picture of code and manipulate it.

01:27:44.700 --> 01:27:54.740
So he and I got together years ago and he integrated it with Hyperbole and he was using

01:27:54.740 --> 01:27:59.320
Hyperbole to give a macro kind of capability in a lot of stuff.

01:27:59.320 --> 01:28:01.120
So I thought that was very cool.

01:28:01.120 --> 01:28:06.880
And he was just a very cool guy out in Silicon Valley.

01:28:06.880 --> 01:28:10.840
So glad to see he's done so well all this time.

01:28:10.840 --> 01:28:17.400
He's got an example config in his package.

01:28:17.400 --> 01:28:21.920
I don't know if it has your package configured inside of it or...

01:28:21.920 --> 01:28:22.920
I don't know.

01:28:22.920 --> 01:28:23.920
I haven't.

01:28:23.920 --> 01:28:27.600
He's got some for using CSS.

01:28:27.600 --> 01:28:34.120
I think that he was talking, something I read is it would change how the tones and voices

01:28:34.120 --> 01:28:37.320
that the voice was using.

01:28:37.320 --> 01:28:38.320
Right.

01:28:38.320 --> 01:28:45.080
The funny thing is that he's so devoted to his seeing eye dogs, right?

01:28:45.080 --> 01:28:48.060
He's had to have a number of them through his life.

01:28:48.060 --> 01:28:54.200
So he writes these fake press releases every time he releases a version and they're all

01:28:54.200 --> 01:28:59.240
named after the dog and the dog is making the announcement.

01:28:59.240 --> 01:29:07.860
It's like so and so is proud to announce Emacs, the friendliest dog release in history.

01:29:07.860 --> 01:29:10.520
So they're kind of fun to read.

01:29:10.520 --> 01:29:16.920
I've seen his messages on the mailing lists, rather I've seen his subject lines on the

01:29:16.920 --> 01:29:21.400
mailing list because I usually don't have, I don't give myself the time to read a lot

01:29:21.400 --> 01:29:22.400
of those messages.

01:29:22.400 --> 01:29:27.840
But now that I have that context, I'll dig into his messages and see because it sounds

01:29:27.840 --> 01:29:28.840
very interesting.

01:29:28.840 --> 01:29:29.840
Yeah.

01:29:29.840 --> 01:29:30.840
I mean, it would be.

01:29:30.840 --> 01:29:39.880
And if you're like my son has no problem seeing, but he has a bit of trouble processing words

01:29:39.880 --> 01:29:41.880
when he's reading.

01:29:41.880 --> 01:29:46.840
So he uses audible while he reads and it's too slow for him.

01:29:46.840 --> 01:29:53.720
So he uses audible at like twice the speed and finds that that really helps him understand

01:29:53.720 --> 01:29:54.720
passages.

01:29:54.720 --> 01:30:01.040
So it may have utility for people without visual disabilities too.

01:30:01.040 --> 01:30:02.520
Good point.

01:30:02.520 --> 01:30:03.520
Yeah.

01:30:03.520 --> 01:30:09.800
That's probably so much there that doesn't really get thought about because just think

01:30:09.800 --> 01:30:11.440
this is what, how we have to do it.

01:30:11.440 --> 01:30:15.880
It's in front of you, consume it, consume it the same way everybody else consumes it.

01:30:15.880 --> 01:30:18.600
And if you have trouble, then it's on you.

01:30:18.600 --> 01:30:24.680
Well, here's an interesting usability to bit, Robin, a different Robin, the Robin who

01:30:24.680 --> 01:30:32.040
works on hyperbole was showing me his presentation and he had the text of the presentation there.

01:30:32.040 --> 01:30:37.460
And every time he would say something, the word that he was saying would be highlighted

01:30:37.460 --> 01:30:38.460
on the screen.

01:30:38.460 --> 01:30:41.520
And I'm like, wow, that's very impressive.

01:30:41.520 --> 01:30:45.440
And it followed his speaking perfectly.

01:30:45.440 --> 01:30:48.520
I'm like, how did you do that?

01:30:48.520 --> 01:30:55.920
And he said, Oh, I'm just highlighting each word manually.

01:30:55.920 --> 01:30:56.920
Wow.

01:30:56.920 --> 01:31:01.760
Now that it's, it's like being a drummer, you know, he had such perfect cadence that

01:31:01.760 --> 01:31:07.200
I couldn't tell that this wasn't automated, that he did it so beautifully while he was

01:31:07.200 --> 01:31:14.520
speaking or, or watching him self speak, played back.

01:31:14.520 --> 01:31:20.040
It would have been nice if it was an automated thing, but apparently it takes the human to

01:31:20.040 --> 01:31:21.040
do it.

01:31:21.040 --> 01:31:25.460
I had to rig something up when I was recording my video, cause I, I wrote, I did it, I scripted

01:31:25.460 --> 01:31:26.460
it all.

01:31:26.460 --> 01:31:31.240
Um, and I, I just couldn't, I wasn't, I didn't have the mental bandwidth to try to memorize

01:31:31.240 --> 01:31:32.440
it at that point.

01:31:32.440 --> 01:31:37.840
So I just split everything up into, into half paragraphs basically, and tried to get it

01:31:37.840 --> 01:31:43.720
up as close to my camera as I could, um, scroll my mouse wheel.

01:31:43.720 --> 01:31:48.040
Every time I came to the end of a paragraph, I had to scroll the script with one hand and

01:31:48.040 --> 01:31:52.200
my other hand was controlling the slot, the so-called slide show, which was just paging

01:31:52.200 --> 01:31:54.400
through my org, my org outline.

01:31:54.400 --> 01:32:01.240
Um, and I think about five to 10 times I had to stop recording it because I, I scrolled,

01:32:01.240 --> 01:32:05.320
I got off sync with, with either my script or my outline or both.

01:32:05.320 --> 01:32:10.200
And just, you know, with 10 minutes, like, Oh, I can't go back and I lost, I lost like

01:32:10.200 --> 01:32:11.440
5% of my time.

01:32:11.440 --> 01:32:13.360
I have to start over.

01:32:13.360 --> 01:32:16.680
So I can't imagine doing it on a word by word basis.

01:32:16.680 --> 01:32:22.640
It's strange we're still recording this, but we're getting into just the, you know, interesting

01:32:22.640 --> 01:32:23.640
story.

01:32:23.640 --> 01:32:24.640
Oh, it's the last thing.

01:32:24.640 --> 01:32:29.880
So, you know, this is just kind of like, I feel like this is the, the after party, right?

01:32:29.880 --> 01:32:31.640
Maybe they'll cut it off.

01:32:31.640 --> 01:32:36.720
So I work with a British guy, brilliant, uh, mathematician kind of guy.

01:32:36.720 --> 01:32:44.520
He's a financial guy and, uh, he, he has that, you know, often British kind of capability.

01:32:44.520 --> 01:32:52.760
He, he speaks beautifully, but he can speak off the cuff about anything he's working on,

01:32:52.760 --> 01:32:56.500
just like he has spent a week, uh, working on it.

01:32:56.500 --> 01:33:02.040
So he gets called on like, you know, the bigger bosses will say, we got to show this, do this

01:33:02.040 --> 01:33:08.600
demo for this client, literally like five minutes ahead of time, and he'll just go into

01:33:08.600 --> 01:33:12.240
it and there won't be an um, there won't be a pause.

01:33:12.240 --> 01:33:14.840
It'll just be this fluid sort of thing.

01:33:14.840 --> 01:33:20.960
And I'm like, man, if you could bottle that, uh, you know, because do it, what you're saying,

01:33:20.960 --> 01:33:27.640
doing, uh, you're on camera, doing a video thing, speaking, managing your thoughts, you

01:33:27.640 --> 01:33:32.120
know, keeping your context, it's, uh, super hard, I think.

01:33:32.120 --> 01:33:37.120
And, uh, when you see somebody who has that, like Steve Jobs, you know, he would practice

01:33:37.120 --> 01:33:46.240
I guess, but he had that ability that he could communicate anything, uh, beautifully.

01:33:46.240 --> 01:33:47.820
That's an art.

01:33:47.820 --> 01:33:48.820
Maybe not.

01:33:48.820 --> 01:33:51.240
Maybe it's just a personality trait.

01:33:51.240 --> 01:33:56.360
It's a, yeah, I don't, I don't think you can train, you can definitely improve, but I don't

01:33:56.360 --> 01:34:02.360
think you can train people if you're not born with that kind of silver tongue.

01:34:02.360 --> 01:34:03.360
Yeah.

01:34:03.360 --> 01:34:04.360
Right.

01:34:04.360 --> 01:34:07.480
And maybe it has to do with not being conscious of things.

01:34:07.480 --> 01:34:13.520
I think a lot of times it has, it's, you've never really thought about what, about what

01:34:13.520 --> 01:34:19.000
happens if you mess up or something just hasn't, you're blessed to not be able to worry about

01:34:19.000 --> 01:34:20.000
certain things.

01:34:20.000 --> 01:34:21.000
Yeah, that's true.

01:34:21.000 --> 01:34:27.800
That's why you see all the technical people that struggle, right, is, uh, but he's, you

01:34:27.800 --> 01:34:29.800
know, he has that too.

01:34:29.800 --> 01:34:32.220
He'll be very self-critical at times and stuff.

01:34:32.220 --> 01:34:37.320
But I think when, you know, like all of us, I mean, if I start out, I may be thinking

01:34:37.320 --> 01:34:43.760
about a bunch of things, but once I'm into it, you can see, you know, you sort of relax

01:34:43.760 --> 01:34:50.040
and you're just focused on that and all those other things kind of fade away, right?

01:34:50.040 --> 01:34:51.320
You can get into that zone.

01:34:51.320 --> 01:34:52.600
It's there for all of us.

01:34:52.600 --> 01:34:59.640
Well, as you become competent in things, the technology more and more disappears because

01:34:59.640 --> 01:35:05.800
I don't, as Emacs users, we don't think about what keyboards we, our touch typing is generally

01:35:05.800 --> 01:35:11.200
at another level because we split the windows without ever thinking about it.

01:35:11.200 --> 01:35:12.200
Muscle memory.

01:35:12.200 --> 01:35:13.200
Yeah.

01:35:13.200 --> 01:35:14.600
And that's what I'm saying.

01:35:14.600 --> 01:35:19.680
It's like, use that for like the value add and then, you know, literally have your muscles

01:35:19.680 --> 01:35:26.280
almost take care of the stuff that's silly, like, you know, opening a directory when it's

01:35:26.280 --> 01:35:29.840
part of a path, colon, separated, set of things.

01:35:29.840 --> 01:35:31.080
I don't want to think about that.

01:35:31.080 --> 01:35:33.320
I just want to point and go.

01:35:33.320 --> 01:35:38.760
And I don't want to know what the key binding is or any of that kind of stuff, so that we're

01:35:38.760 --> 01:35:44.800
definitely trying to like push it down to your unconscious and then see how far we can

01:35:44.800 --> 01:35:49.120
take that, you know, like what, how can you fly?

01:35:49.120 --> 01:35:55.960
Uh, I, you know, people sometimes have said there's some magic or that's why I mentioned

01:35:55.960 --> 01:35:59.200
that term today, but I think that's an important concept.

01:35:59.200 --> 01:36:06.360
You know, if it, if it seems like magic, then you've probably got it down to the right level

01:36:06.360 --> 01:36:12.640
that people don't have to think about it anymore and they're just, it's in their subconscious

01:36:12.640 --> 01:36:18.120
and they can move on to more interesting things, which is sort of why we build software in

01:36:18.120 --> 01:36:19.120
the first place.

01:36:19.120 --> 01:36:20.120
I think, right.

01:36:20.120 --> 01:36:26.680
It's to automate the mundane and let us keep adding value at another level.

01:36:26.680 --> 01:36:27.680
Yeah.

01:36:27.680 --> 01:36:30.640
Although it's very hard to remember that sometimes.

01:36:30.640 --> 01:36:31.640
Right.

01:36:31.640 --> 01:36:36.560
When you're, when you're saying, Oh, move this pixel over here.

01:36:36.560 --> 01:36:37.560
Right?

01:36:37.560 --> 01:36:38.560
Yeah.

01:36:38.560 --> 01:36:43.840
Like you were saying about front end development and how hard it can be sometimes that all

01:36:43.840 --> 01:36:50.040
the business people want to put their two cents in, it has to be, it has to be making

01:36:50.040 --> 01:36:52.040
somebody money at some point.

01:36:52.040 --> 01:36:53.040
Yeah.

01:36:53.040 --> 01:36:59.160
It's helpful, helpful when it does, but you know, not all you can build.

01:36:59.160 --> 01:37:03.780
You can spend a lot of money on things and they, I mean, look at, uh, look at what's

01:37:03.780 --> 01:37:09.680
happening to the tech companies now after billions of dollars invested and they're just

01:37:09.680 --> 01:37:18.120
throwing away thousands of people and all their knowledge bases and yeah, it's, it's

01:37:18.120 --> 01:37:19.120
competitive.

01:37:19.120 --> 01:37:25.280
I mean, you know, it's like, we don't need a thousand task management, commercial tools,

01:37:25.280 --> 01:37:26.280
right?

01:37:26.280 --> 01:37:27.640
Project management tools.

01:37:27.640 --> 01:37:29.920
So the market will shake out.

01:37:29.920 --> 01:37:32.220
There'll be three big ones maybe.

01:37:32.220 --> 01:37:36.380
And then everybody else is, if they exist, they're losing money.

01:37:36.380 --> 01:37:40.980
So what, you know, so are you going to be one of those three?

01:37:40.980 --> 01:37:47.200
That's that's the problem is that there's not enough room left for a lot of the things

01:37:47.200 --> 01:37:49.200
that people are trying to do.

01:37:49.200 --> 01:37:51.680
You talked about advancing things.

01:37:51.680 --> 01:37:55.000
It's like stuff like hyperbole or this mother of all demos.

01:37:55.000 --> 01:38:01.800
It's like sometimes we don't always have to move forward because all this mother of all

01:38:01.800 --> 01:38:08.680
demos is in a lot of ways, way ahead of anything we have now.

01:38:08.680 --> 01:38:16.180
And seems like it's ahead of hyperbole in a lot of ways and well, I've talked to a lot

01:38:16.180 --> 01:38:20.520
of non-technical people and they always say, you know, the problem I have is technology

01:38:20.520 --> 01:38:21.520
moves so fast.

01:38:21.520 --> 01:38:22.520
I can't keep up.

01:38:22.520 --> 01:38:31.120
And I say, well, actually in thinking about it over decades now that I've aged, uh, I

01:38:31.120 --> 01:38:33.980
see it as cycles much more, right?

01:38:33.980 --> 01:38:40.000
And like a sine wave that, uh, first of all, we, we do lose knowledge.

01:38:40.000 --> 01:38:42.280
We don't have a good way of capturing it.

01:38:42.280 --> 01:38:47.180
And I mean, I literally knew something about Engelbart's work and it was over a decade

01:38:47.180 --> 01:38:53.140
later that I rediscovered it and, and then got in touch and interacted with him.

01:38:53.140 --> 01:38:58.480
So, so we're definitely like forgetting about the past and get a new generation in.

01:38:58.480 --> 01:39:00.380
They don't know the lessons.

01:39:00.380 --> 01:39:01.900
They screwed things up.

01:39:01.900 --> 01:39:06.720
And eventually we rediscover that somebody already solved this and we can go and use

01:39:06.720 --> 01:39:07.720
it again.

01:39:07.720 --> 01:39:11.800
And then we start building on that and then the war happens and it gets destroyed.

01:39:11.800 --> 01:39:15.080
And then we got, so, so you actually get a lot of time, right?

01:39:15.080 --> 01:39:16.680
Like ethernet, right?

01:39:16.680 --> 01:39:23.340
To the masses from when it was invented to when it got deployed, uh, you know, hypertext.

01:39:23.340 --> 01:39:30.880
So let's say if Engelbart was showing it in 1968 and before that Ted Nelson was opining

01:39:30.880 --> 01:39:37.640
about it a ton, uh, so 1991 or two is when we got the web.

01:39:37.640 --> 01:39:40.840
So 25 years at least.

01:39:40.840 --> 01:39:42.440
And I think that's sort of cycles.

01:39:42.440 --> 01:39:47.680
I don't think there's a lot of technology cycles that are less than 10 years, uh, but

01:39:47.680 --> 01:39:56.600
you often see that the 10 to 15 to 20 year cycles from research to, you know, broad consumer

01:39:56.600 --> 01:40:01.760
adoption, uh, you've got about that amount of time to deal with it.

01:40:01.760 --> 01:40:09.320
So if you can have a research team that stays 10 years ahead of like what's out in the marketplace,

01:40:09.320 --> 01:40:11.960
you have lots of time to develop your product.

01:40:11.960 --> 01:40:14.400
It's not this, it's gotta be out yesterday.

01:40:14.400 --> 01:40:17.480
You only have two months or the market's going to close up.

01:40:17.480 --> 01:40:23.580
But it's very difficult to convince business people of that because there's so much chatter

01:40:23.580 --> 01:40:29.420
on the business side and people will show their, their mockups and their demos very

01:40:29.420 --> 01:40:30.420
broadly.

01:40:30.420 --> 01:40:34.120
And then they're like, they've got it, you know, it's like, what have they got?

01:40:34.120 --> 01:40:36.000
Well that I saw it, I saw it.

01:40:36.000 --> 01:40:37.000
Yeah.

01:40:37.000 --> 01:40:41.120
And what's behind that thing that you saw, you know, they just whipped it up right over

01:40:41.120 --> 01:40:46.400
a weekend and there's nothing, there's no database, there's no, uh, there's no user

01:40:46.400 --> 01:40:47.400
validation.

01:40:47.400 --> 01:40:53.880
So you kind of have to contend with that, which is probably why a lot of Emacs users

01:40:53.880 --> 01:40:59.400
are in academia and they don't want to deal with those issues.

01:40:59.400 --> 01:41:00.400
Yeah.

01:41:00.400 --> 01:41:07.000
It's kind of like also advanced by doing the, uh, doubling down on the stuff that works

01:41:07.000 --> 01:41:12.160
like for instance, uh, cars like, Oh look, the car's better.

01:41:12.160 --> 01:41:14.440
It's got a higher Bluetooth version.

01:41:14.440 --> 01:41:15.540
See it's better.

01:41:15.540 --> 01:41:17.640
But what about the gas mileage?

01:41:17.640 --> 01:41:19.200
How long does the motor last?

01:41:19.200 --> 01:41:22.520
But it's got a higher Bluetooth version.

01:41:22.520 --> 01:41:28.580
See it's, it's more technology and then, then the job is to create the need and the desire

01:41:28.580 --> 01:41:30.600
for that higher Bluetooth version.

01:41:30.600 --> 01:41:31.600
Right.

01:41:31.600 --> 01:41:32.600
Yeah.

01:41:32.600 --> 01:41:38.480
Well, haven't you bought like the same brand of car, even the same model, like a couple

01:41:38.480 --> 01:41:41.760
of years later and you're like, what did I just buy?

01:41:41.760 --> 01:41:45.320
I really loved the one from five years before.

01:41:45.320 --> 01:41:51.440
My, my first job out of school was in Motorola, which had a great engineering culture.

01:41:51.440 --> 01:41:59.560
But there came a time when, uh, they, they brought in automotive designers to shape,

01:41:59.560 --> 01:42:02.720
uh, the shape, the physical shape of the products.

01:42:02.720 --> 01:42:08.600
And we had some very sexy, beautiful looking things that those guys left the company and

01:42:08.600 --> 01:42:13.560
they hired a bunch of people pretty much out of college, you know, who had studied the

01:42:13.560 --> 01:42:14.680
field.

01:42:14.680 --> 01:42:21.080
And all of a sudden we had like these blocky kinds of things that like, nobody would want

01:42:21.080 --> 01:42:26.440
to hold in their hand and, uh, and I'm like, what, wait, what just happened?

01:42:26.440 --> 01:42:29.080
Didn't they document any of their work or anything?

01:42:29.080 --> 01:42:35.220
But that's, you know, we really do need the knowledge base inside people's head because

01:42:35.220 --> 01:42:38.600
we're nowhere near documenting it well enough.

01:42:38.600 --> 01:42:44.320
Uh, the design principles that people use, you know, you look at, you can see it in Apple

01:42:44.320 --> 01:42:46.220
a little bit too, right?

01:42:46.220 --> 01:42:51.640
Since Johnny Ive left, it's like, yeah, where's, where's the next design language?

01:42:51.640 --> 01:42:58.320
I just got an update to my iPhone and I noticed they changed some of the icons, but they just

01:42:58.320 --> 01:43:06.600
made like the time on my home screen, like three times as thick, the font width, you

01:43:06.600 --> 01:43:12.400
know, it's like ultra bold and I'm like, yeah, that it doesn't really look right.

01:43:12.400 --> 01:43:18.440
It just looks like it's in my face and I'm like, well, somebody, you know, got that through

01:43:18.440 --> 01:43:24.760
whatever they're running there now, but I've would have tossed that on the, you know, the

01:43:24.760 --> 01:43:25.760
bad idea pile.

01:43:25.760 --> 01:43:26.760
I think.

01:43:26.760 --> 01:43:27.760
Huh?

01:43:27.760 --> 01:43:34.000
It seems like a bit of an obnoxious change to make it for something that is so supposed

01:43:34.000 --> 01:43:37.520
to be, it's when you want it, you really want it and when you don't want it, it's supposed

01:43:37.520 --> 01:43:38.520
to be unobtrusive.

01:43:38.520 --> 01:43:42.800
I don't know that way.

01:43:42.800 --> 01:43:43.800
Yeah.

01:43:43.800 --> 01:43:44.800
Oh.

01:43:44.800 --> 01:43:45.800
Yeah.

01:43:45.800 --> 01:43:54.480
I wonder if that uses more power since it's, if it's white using all your, all your pixels

01:43:54.480 --> 01:43:55.480
there.

01:43:55.480 --> 01:43:57.080
Oh yeah.

01:43:57.080 --> 01:43:59.280
So I guess we have time in the end.

01:43:59.280 --> 01:44:05.080
I mean that like, you know, we all have these crazy deadlines, but in the end to actually

01:44:05.080 --> 01:44:10.480
move the needle forward, it's going to take a while and there's going to be certain steps

01:44:10.480 --> 01:44:11.480
backwards.

01:44:11.480 --> 01:44:16.800
And I think Emacs is sort of our shared community knowledge base, right?

01:44:16.800 --> 01:44:21.140
As long as we have these libraries, even if they get a little out of date, we can update

01:44:21.140 --> 01:44:24.320
them to the next generation when we're ready.

01:44:24.320 --> 01:44:27.440
And that's something that a lot of people don't have, right?

01:44:27.440 --> 01:44:33.140
They're just going from application to applications and they're losing all the core capabilities

01:44:33.140 --> 01:44:36.760
every time they transition.

01:44:36.760 --> 01:44:41.080
Well I think that's the, like when I was talking about the themes and the modularity and just

01:44:41.080 --> 01:44:46.840
using all that stuff is, if you can use all that stuff and especially if you can use a

01:44:46.840 --> 01:44:53.380
whole bunch of really old code, that's, that's the tricky question of how do you use as many

01:44:53.380 --> 01:45:00.600
things as you, as possible at once without everything clobbering each other?

01:45:00.600 --> 01:45:13.060
Well, I learned this lesson, don't, don't add a date created entry to your code files

01:45:13.060 --> 01:45:21.440
if you don't also include a last modified date, because we had 1991 entries in hyperbole

01:45:21.440 --> 01:45:26.640
files and people would download it and they look and they're like, this thing is ancient.

01:45:26.640 --> 01:45:33.360
I'm not going to use this because we had pulled out the modified because you need certain

01:45:33.360 --> 01:45:37.400
code to update the modified automatically when you save it.

01:45:37.400 --> 01:45:41.240
And you know, not every developer would necessarily have that.

01:45:41.240 --> 01:45:46.680
So, but when that started happening, I said, we'll put this back because they didn't want

01:45:46.680 --> 01:45:54.560
to get rid of the create date and lose that, that you sort of know how far back it goes.

01:45:54.560 --> 01:46:02.520
Yeah, yeah, I've, I've always gotten a little, I always find it interesting when I see working

01:46:02.520 --> 01:46:06.400
with something and I, and I realized that it hasn't been touched for, or it appears

01:46:06.400 --> 01:46:12.040
not to have been touched for a couple of decades and I think, oh my gosh, either I, if I found

01:46:12.040 --> 01:46:15.080
a problem, I'm thinking, oh, I, this can't be right.

01:46:15.080 --> 01:46:18.080
I must be missing something here because there's no way that this problem could have existed

01:46:18.080 --> 01:46:22.680
for 20 years and no one ever noticed it or cared about it.

01:46:22.680 --> 01:46:24.120
And sometimes I'm wrong.

01:46:24.120 --> 01:46:25.120
Sometimes I'm right.

01:46:25.120 --> 01:46:26.120
It's not a problem.

01:46:26.120 --> 01:46:32.200
Well, you have this quote for Emacs, it's like Emacs is you want editors, like you want

01:46:32.200 --> 01:46:33.200
wine.

01:46:33.200 --> 01:46:34.200
I think it's wine.

01:46:34.200 --> 01:46:41.040
It's like, the older it is, the better it gets because you get that composite of all

01:46:41.040 --> 01:46:50.080
these philosophies, workflows, workflows and forming packages and if you're going to be

01:46:50.080 --> 01:46:57.600
on the cutting edge, 95% of the ideas will probably not be good, 5% of the ideas will

01:46:57.600 --> 01:47:05.280
be good, but versus looking at the older stuff where a lot more of the ideas will be good

01:47:05.280 --> 01:47:08.460
and you'll get all like matured packages.

01:47:08.460 --> 01:47:13.160
Like you were talking about how you have all the window control with the Mac stuff.

01:47:13.160 --> 01:47:19.000
You just get the stuff, uh, Streamlint.

01:47:19.000 --> 01:47:25.760
And maybe like, you know, if we look at Richard Stallman's Emacs environment and maybe yours,

01:47:25.760 --> 01:47:30.200
John, you'd like to keep it simple, like you said, not beaming it because you've gotten,

01:47:30.200 --> 01:47:32.920
you know, to a steady state that works well for you.

01:47:32.920 --> 01:47:40.440
I visited Xerox park years ago and when I went around looking at all of the workstations,

01:47:40.440 --> 01:47:48.300
they were all using like 10 year old window managers, just like the oldest look and feel.

01:47:48.300 --> 01:47:50.940
Nobody was touching anything, right?

01:47:50.940 --> 01:47:59.280
Because they were creating the future, they thought, and they really didn't care about

01:47:59.280 --> 01:48:02.760
keeping up to date on, on their packages.

01:48:02.760 --> 01:48:04.840
They had to write their own stuff.

01:48:04.840 --> 01:48:10.840
So I thought that was kind of fascinating to learn that a lot of, you know, high level

01:48:10.840 --> 01:48:18.120
thinkers don't necessarily treat their tooling environments the same way.

01:48:18.120 --> 01:48:21.240
At least not, not every day.

01:48:21.240 --> 01:48:30.520
They probably say finish whatever they're doing or, you know, reach five years or something.

01:48:30.520 --> 01:48:35.120
That's what I'm sticking with this one Subaru car and I've had a bunch of other things,

01:48:35.120 --> 01:48:39.840
but this one has an engine that they don't make anymore, a V6.

01:48:39.840 --> 01:48:45.920
Now they're sort of like turboizing things to get the equivalent power and it doesn't

01:48:45.920 --> 01:48:47.120
perform the same way.

01:48:47.120 --> 01:48:52.880
So I'm like, well, I got to wait until the bottom of this car rusts out before I replace

01:48:52.880 --> 01:48:56.600
it because I like so much about it.

01:48:56.600 --> 01:49:04.440
Even though I'm missing some of the new technology, I just don't want to change it out.

01:49:04.440 --> 01:49:12.040
One of the things I like a lot about how Emacs looks as it looks to me, really nice in a

01:49:12.040 --> 01:49:20.120
real bullshit, ultra functional way where it's like, I like that it doesn't do the smooth

01:49:20.120 --> 01:49:25.880
scrolling that it scrolls line by line by line, even though that's not as modern and

01:49:25.880 --> 01:49:34.960
hip because it's more down or down to earth functional, I don't know, like a more engineering

01:49:34.960 --> 01:49:40.160
or something that's just not as flashy normal way.

01:49:40.160 --> 01:49:44.920
Yeah, no, I agree.

01:49:44.920 --> 01:49:52.240
And it affects, it really affects how it feels like you're somewhere in your brain, you're

01:49:52.240 --> 01:49:55.480
some kind of object that your brain thinks that you're dealing with, even if it's not

01:49:55.480 --> 01:49:59.840
really an object, you know, part of your brain just has to really to the world that way.

01:49:59.840 --> 01:50:04.200
And I think that's just one of those things is that if you can, your brain can actually

01:50:04.200 --> 01:50:09.640
feel like you're, you can almost feel each line like passing past, you're going past

01:50:09.640 --> 01:50:12.640
your scrolling action.

01:50:12.640 --> 01:50:18.840
Your brain is like, you keep helps keep you oriented, like you can, it's like, it's your

01:50:18.840 --> 01:50:24.200
visual experience creates a tactile experience for you.

01:50:24.200 --> 01:50:31.200
I think that's one of the the VR problems that the industry is suffering from is that

01:50:31.200 --> 01:50:40.160
it's so easy to program things that will entirely screw up somebody's, what do you call this

01:50:40.160 --> 01:50:45.760
subconscious parts of our, our nerve nervous systems.

01:50:45.760 --> 01:50:50.800
So right, I mean, they can scare the hell out of people, they can make them sense something

01:50:50.800 --> 01:50:52.720
that's not there.

01:50:52.720 --> 01:50:58.680
And it's like, you know, it's just, we're not ready for that in so many ways, and it's

01:50:58.680 --> 01:51:00.280
just too easy.

01:51:00.280 --> 01:51:09.060
And so if you can't depend that like physics will keep you from like flying off the earth,

01:51:09.060 --> 01:51:12.400
you know, anything can happen.

01:51:12.400 --> 01:51:18.120
I don't know how many people will want to really, you know, experience that for any

01:51:18.120 --> 01:51:20.400
continual amount of time.

01:51:20.400 --> 01:51:24.280
The other thing you don't get is like, you don't have to worry about how much time it

01:51:24.280 --> 01:51:25.280
does a scroll.

01:51:25.280 --> 01:51:27.760
So it's going to be a lot more performant, faster.

01:51:27.760 --> 01:51:32.720
I love turn, as a counter example, I love turning off the animations on my phone because

01:51:32.720 --> 01:51:38.640
it makes it snappier, faster, and I don't want to just insert animations on my phone

01:51:38.640 --> 01:51:43.920
just to slow it down and you open up your contacts, it's like, I want to make, I turn

01:51:43.920 --> 01:51:51.240
the DPI on my Android phone down, down, so that I can see more contacts at once.

01:51:51.240 --> 01:51:59.600
So I don't have to scroll as many times and I want, I make the home screen have more icons

01:51:59.600 --> 01:52:01.680
on it because I'm accurate with my thumbs.

01:52:01.680 --> 01:52:09.520
So I want to see as many icons as I can so I don't, so I can much faster see and click

01:52:09.520 --> 01:52:12.960
the right one I want to, I scroll less pages.

01:52:12.960 --> 01:52:19.920
Yeah, and you probably have a hard time making it do what you want, I'm guessing too, because

01:52:19.920 --> 01:52:29.780
it's just the one area where, for phones especially, it's just one area where you are not respected.

01:52:29.780 --> 01:52:34.920
You're going to take whatever experience they figured was the right one that week and force

01:52:34.920 --> 01:52:39.160
you to eat it, like a head of cattle.

01:52:39.160 --> 01:52:44.480
You're eating that experience like it's feed and it'll change whenever you want, whenever

01:52:44.480 --> 01:52:49.880
they want, and it's going to, I don't know if you feel the same way.

01:52:49.880 --> 01:52:55.040
My first phone was a Windows mobile phone that the person was selling because they wanted

01:52:55.040 --> 01:53:05.240
an Android phone and I've always been on custom ROMs, although lately I've been getting annoyed

01:53:05.240 --> 01:53:11.760
about it because they've been losing all the, let's see, I remember reading this blog post

01:53:11.760 --> 01:53:16.320
about somebody liking custom ROMs and they were saying that Android was becoming more

01:53:16.320 --> 01:53:22.280
restrictive because they would be putting an image through the USB port so you could

01:53:22.280 --> 01:53:29.320
have a Linux ISO connected to your computer through your phone and they wanted SE Linux

01:53:29.320 --> 01:53:34.600
but they'd have to compile the kernel in a different way and have the patch and all that

01:53:34.600 --> 01:53:42.680
type of stuff is just becoming more and more of a nightmare and you're not able to do that.

01:53:42.680 --> 01:53:46.560
Right now I'm messing with a Linux phone.

01:53:46.560 --> 01:53:59.440
Do you guys agree with Stallman and GNU thinking for FFF philosophy in general or sort of like

01:53:59.440 --> 01:54:03.600
you're more middle of the road about it?

01:54:03.600 --> 01:54:11.880
I mean I personally, I think there's a need for that philosophy.

01:54:11.880 --> 01:54:22.440
I don't, at least now, I don't personally 100% dedicate my beliefs and actions to it.

01:54:22.440 --> 01:54:32.720
I'm not certain about anything to be honest but I'm not ready to say that everything outside

01:54:32.720 --> 01:54:41.280
of it has no place for me or has no place at all but I think about the commonalities.

01:54:41.280 --> 01:54:47.600
I think that there's good that will come, there's a truth to it and there's a good that

01:54:47.600 --> 01:54:56.360
it will do and there's certainly no reason to not offer.

01:54:56.360 --> 01:54:59.720
You don't have to agree that it's the only way to agree that there's something good about

01:54:59.720 --> 01:55:00.720
it.

01:55:00.720 --> 01:55:04.760
That's my point of view.

01:55:04.760 --> 01:55:11.760
I think that you have the philosophy, like the Emacs is a great example of an ecosystem

01:55:11.760 --> 01:55:17.080
informed by that philosophy and it's an artifact of that philosophy because you look at an

01:55:17.080 --> 01:55:22.840
Emacs package, chances are if you look at any of the Zettelkasten systems, they're not

01:55:22.840 --> 01:55:29.520
going to be trying to, it's not going to be, let's see, you have org.roam.

01:55:29.520 --> 01:55:36.240
It's not Roam because Roam requires you to pay for a Sass subscription and it's only

01:55:36.240 --> 01:55:40.520
accessible online and it's like any Emacs package you use, generally you're going to

01:55:40.520 --> 01:55:46.120
have all the data on your local machine and it's...

01:55:46.120 --> 01:55:50.560
Is that, I think there was something called Roam, is that Roam research, is that what

01:55:50.560 --> 01:55:51.560
you're talking about?

01:55:51.560 --> 01:55:52.560
Yes.

01:55:52.560 --> 01:55:53.560
That's right.

01:55:53.560 --> 01:55:55.560
I thought Roam was just a verb.

01:55:55.560 --> 01:55:56.560
Sorry.

01:55:56.560 --> 01:56:03.480
They built the interface to be like that, yeah.

01:56:03.480 --> 01:56:05.000
It's interesting, right?

01:56:05.000 --> 01:56:10.080
Because yeah, you hear all these terms and you don't always know.

01:56:10.080 --> 01:56:18.400
Like a lot of people are like, hyperbole has adopted this org thing because they don't

01:56:18.400 --> 01:56:27.920
know it existed before org because the org obviously has a much broader reach right now.

01:56:27.920 --> 01:56:35.400
So yeah, understanding that history and that Emacs is tied into the FSF philosophy, there's

01:56:35.400 --> 01:56:42.280
probably a fraction of the Emacs users that even are very aware of that.

01:56:42.280 --> 01:56:51.840
But I think, yeah, Stallman, he's seen a lot and he's somebody who does think a lot from

01:56:51.840 --> 01:56:55.720
first principles and is very logical.

01:56:55.720 --> 01:57:02.000
He doesn't necessarily want to deal with parts of the world that exist.

01:57:02.000 --> 01:57:09.440
But if he makes a statement, it's usually fairly true.

01:57:09.440 --> 01:57:17.520
So the fact that he's concluded this and been very definitive about it for decades tells

01:57:17.520 --> 01:57:22.200
you that there's some truth in there that you should look into.

01:57:22.200 --> 01:57:23.200
Yeah.

01:57:23.200 --> 01:57:30.120
I think if I think of like today's earlier session where some of the questions were exposed

01:57:30.120 --> 01:57:35.920
some tension there and I think one of the reasons why we see that tension is because

01:57:35.920 --> 01:57:43.040
of the success and the kind of the more broad appeal of that org mode has brought Emacs

01:57:43.040 --> 01:57:46.040
and it's a healthy sign.

01:57:46.040 --> 01:57:52.120
It's a sign that there's people coming into the community who may not be familiar with

01:57:52.120 --> 01:57:57.000
the origins, the philosophical origins of the tools that they're using.

01:57:57.000 --> 01:58:01.640
I also think that you have a lot of the people who are interested in Emacs are probably interested

01:58:01.640 --> 01:58:04.640
in the Free Software Foundation.

01:58:04.640 --> 01:58:09.080
So it's something like the philosophy.

01:58:09.080 --> 01:58:15.800
I mean, maybe, but right, they could just be interested in what, which is what Stallman

01:58:15.800 --> 01:58:17.240
talks about too a lot.

01:58:17.240 --> 01:58:22.080
It's like you may just want the functionality that some software has and you may not care

01:58:22.080 --> 01:58:26.240
about free licensing, but you should.

01:58:26.240 --> 01:58:32.080
And here's why, you know, so yeah, but you start using all the, you start using all the

01:58:32.080 --> 01:58:37.520
packages and then the philosophy, then it kicks you into the philosophy from the reverse

01:58:37.520 --> 01:58:39.800
direction.

01:58:39.800 --> 01:58:45.160
And so I think as if you, if you start resonating with that philosophy, Emacs is the place to

01:58:45.160 --> 01:58:46.160
be.

01:58:46.160 --> 01:58:55.760
So we'll all be slanted towards wanting the GPL license or at least the BSD license because

01:58:55.760 --> 01:59:05.920
it's the place that it's the place in philosophy that exploits all those advantages practically.

01:59:05.920 --> 01:59:12.600
It's interesting because maybe, I don't know how many years ago, 10, 15 years ago, there

01:59:12.600 --> 01:59:18.040
was that big debate about open source and versus free software.

01:59:18.040 --> 01:59:24.840
And you know, it was just raging and it doesn't even seem like it's a topic anymore.

01:59:24.840 --> 01:59:29.680
It's like the GPL has done very well.

01:59:29.680 --> 01:59:38.680
Other licenses have too, but the model of software being free and open is established

01:59:38.680 --> 01:59:45.780
at all levels in the economy and in the technical world.

01:59:45.780 --> 01:59:54.920
So you know, Stallman is sort of playing the long game and what did they say, like the

01:59:54.920 --> 02:00:03.120
justice system bends towards right, but it's over a really long period of time or something.

02:00:03.120 --> 02:00:04.760
Eventually it gets to the right answer.

02:00:04.760 --> 02:00:08.480
I think it's sort of like that, you know, it's that we're going to have all these ups

02:00:08.480 --> 02:00:15.760
and downs, but eventually you'll have dictators and such, but eventually freedom will win.

02:00:15.760 --> 02:00:22.440
People win out over, you know, being crushed under the boot like the Russians are today.

02:00:22.440 --> 02:00:28.120
You know, what comes out of their society after they get crushed by the Ukrainians,

02:00:28.120 --> 02:00:36.920
I think will be hopefully for them, you know, because they had such great intellectual capacity,

02:00:36.920 --> 02:00:41.260
but they've had this broken culture for over a hundred years.

02:00:41.260 --> 02:00:46.460
And so if you don't, going back to Engelbart again, if you just evolve your technology

02:00:46.460 --> 02:00:52.920
without your process, your culture, you're left with something that may not work well

02:00:52.920 --> 02:00:54.600
at all for you.

02:00:54.600 --> 02:00:57.640
You have to take stock every now and then you need that time.

02:00:57.640 --> 02:01:00.960
And that's another point that I wanted to make in my talk, but I just couldn't find

02:01:00.960 --> 02:01:10.600
room for it is that if you know that you're going to make that time in the future, then

02:01:10.600 --> 02:01:14.480
you can focus on the present.

02:01:14.480 --> 02:01:19.040
But if you never make that time, and I don't mean, you know, it could apply to anything,

02:01:19.040 --> 02:01:27.880
but whether it's societal or technical, but don't stop and really think about what you

02:01:27.880 --> 02:01:36.160
are, you know, am I doing what I represent or are my actions representing myself and

02:01:36.160 --> 02:01:40.440
my needs and my goals?

02:01:40.440 --> 02:01:47.240
Every person, every organization of people, every society should really think about that.

02:01:47.240 --> 02:01:54.500
And it seems like it just, there's certain ways that society can grow where it becomes,

02:01:54.500 --> 02:01:58.560
you can't think about that because when you start to think about that is when you become

02:01:58.560 --> 02:02:07.080
vulnerable or you, I don't know, I'm not a philosopher, I'm not an international scholar.

02:02:07.080 --> 02:02:14.800
Does ZMAX rank up there on your hierarchy of needs, it's like number two or take that

02:02:14.800 --> 02:02:19.960
away from me and my survival will be jeopardized.

02:02:19.960 --> 02:02:25.840
And as much as my digital self is, absolutely, it's probably very close to, I mean, it really

02:02:25.840 --> 02:02:33.320
did, I think, save me from destruction in terms of organization personally.

02:02:33.320 --> 02:02:38.680
I think it was, what was it, it must have been 2008 or so, I was just so disorganized

02:02:38.680 --> 02:02:46.000
and I was, you know, missing bills and things like that, just because I had a pile of papers

02:02:46.000 --> 02:02:50.760
and I said, you know what, I need to be able to take notes, and I was taking notes, but

02:02:50.760 --> 02:02:56.080
I had just a bunch of flat text files and I said, I need to be able to collapse my text

02:02:56.080 --> 02:03:03.000
and I want to be able to take outline notes and I ended up, sorry, go ahead, I just ended

02:03:03.000 --> 02:03:08.880
up finding, I think it was work mode at the time, I think it was still a separate package

02:03:08.880 --> 02:03:15.880
and I was like, okay, finally, just this ability to collapse my notes into hierarchical structure

02:03:15.880 --> 02:03:19.680
so that I could have one thing, that I could think about multiple, one file, think about

02:03:19.680 --> 02:03:24.560
multiple things and collapse them when I didn't need to think about them anymore, and I was

02:03:24.560 --> 02:03:30.640
just like, okay, finally, this is the thing that's going to help me stay organized and

02:03:30.640 --> 02:03:38.800
from there on out, it worked, so in terms of whatever I am today, you know, I couldn't

02:03:38.800 --> 02:03:45.920
undo that anymore, like that's committed to my identity at this point, so yeah, yeah.

02:03:45.920 --> 02:03:49.800
That's a great explanation of it, you know.

02:03:49.800 --> 02:03:56.080
Have you looked at the ARG narrowing at all, or Emacs narrowing stuff?

02:03:56.080 --> 02:04:03.720
Yeah, I do that a lot, it helps me, it helped me focus on writing some of my notes for the

02:04:03.720 --> 02:04:04.720
talk.

02:04:04.720 --> 02:04:12.560
Yeah, that's very important because you can end up capturing so much, it makes it so easy

02:04:12.560 --> 02:04:18.360
to capture and then you one day said, okay, I captured too much, I need to, you know,

02:04:18.360 --> 02:04:24.000
that outline, having all those stars and whatever in your outline can be very distracting and

02:04:24.000 --> 02:04:30.200
I use very old stuff, so I still have, you know, just regular, a series of asterisks

02:04:30.200 --> 02:04:39.120
aligned to my left side, so I have a lot of visual noise in there, but yeah, yeah, I mean,

02:04:39.120 --> 02:04:46.960
do you have any special ways that you use it, like in terms of the narrowing or anything?

02:04:46.960 --> 02:04:56.240
I like using the VertiCo package because it allows you to set up different commands to

02:04:56.240 --> 02:05:01.800
either like be in a buffer or mini buffer or various things like that, so I can choose

02:05:01.800 --> 02:05:07.920
how to do that or change that over time.

02:05:07.920 --> 02:05:14.720
For me with Emacs, I think that is the most useful about it is I generally like trying

02:05:14.720 --> 02:05:22.560
out new things and Emacs is a program that got onto my computer, never left because anytime

02:05:22.560 --> 02:05:28.220
I want to try something new, I can just try out the packages or parts of the configs or

02:05:28.220 --> 02:05:34.220
variables and I get to try that stuff out, some stuff has stayed, a lot of stuff doesn't

02:05:34.220 --> 02:05:40.800
necessarily stay, draw up my files and...

02:05:40.800 --> 02:05:47.240
The first time when I'm bringing up a new system is I always like get some micro Emacs

02:05:47.240 --> 02:05:53.960
version just so I can edit my config files and then I get the OS stable enough and then

02:05:53.960 --> 02:06:02.400
I install a new Emacs and it's like I never used VI, I never learned VI, I was lucky,

02:06:02.400 --> 02:06:10.640
I guess, you know, they taught us first year of college we used Emacs, so all these people

02:06:10.640 --> 02:06:16.640
I bet they've gone through 7 to 10 editors and I'm like, well, I've gone through versions

02:06:16.640 --> 02:06:19.800
of Emacs and that's it.

02:06:19.800 --> 02:06:26.080
So it's been a little different and it is, it's crept into my subconscious, you know,

02:06:26.080 --> 02:06:34.480
so much so that the talk about getting Emacs, using Emacs to fill in your web form fields

02:06:34.480 --> 02:06:42.080
was very interesting to me because years ago I did that, when Sun was popular there was

02:06:42.080 --> 02:06:49.600
also Apollo which had a better networking and a better OS and so we were using some

02:06:49.600 --> 02:06:58.560
of their workstations and they had every shell and every window had an editing capability,

02:06:58.560 --> 02:07:05.400
was essentially an editor field but it was their own editor so I modified it so it was

02:07:05.400 --> 02:07:12.040
Emacs and you know everywhere on Apollo and it was a really beautiful environment and

02:07:12.040 --> 02:07:20.240
like then HP bought them and killed the OS in favor of HP UX so that went away and I

02:07:20.240 --> 02:07:25.160
couldn't use it anymore but we had built a really cool environment on there but that

02:07:25.160 --> 02:07:31.360
again, I wouldn't hand over the workstations, I was setting them up for a research team

02:07:31.360 --> 02:07:36.120
and I wouldn't hand them over until I had built this environment so that they all had

02:07:36.120 --> 02:07:40.800
the consistent editing experience and they wouldn't go off and just do something random

02:07:40.800 --> 02:07:43.800
with it.

02:07:43.800 --> 02:07:48.760
It's funny how you describe that bootstrap process because the way that I think about

02:07:48.760 --> 02:07:54.920
it is that a lot of times you end up, what's the path they talk about is that you need

02:07:54.920 --> 02:08:02.240
to learn enough bash to install Python or something like that and that's the joke is

02:08:02.240 --> 02:08:10.280
that that's the only amount of bash that you need to know but if you go to the Emacs path,

02:08:10.280 --> 02:08:12.160
you might not even need Python.

02:08:12.160 --> 02:08:15.840
You mentioned having it installed to edit configs and things like that and edit what

02:08:15.840 --> 02:08:20.880
you need to do to get another version of Emacs installed but I could see, I would love, maybe

02:08:20.880 --> 02:08:27.840
that'll be my inspiration for next year's talk is to find a way to, yeah, everything,

02:08:27.840 --> 02:08:31.520
just use Emacs as a substitute for Python and Ansible.

02:08:31.520 --> 02:08:37.760
I could probably use some of the packages that were out there like, what was it, Anthony

02:08:37.760 --> 02:08:44.320
or Tropin, Andrew Tropin, he had the RD, the reproducible Emacs, I could look at that and

02:08:44.320 --> 02:08:45.320
use that.

02:08:45.320 --> 02:08:51.880
It tells me about living through, we're always manipulating JSON now and I'm like, why does

02:08:51.880 --> 02:08:59.680
JavaScript have such a crappy format, it could just be S expressions and then we get rid

02:08:59.680 --> 02:09:08.460
of all this noise that we have to keep dealing with and it represents the same things but

02:09:08.460 --> 02:09:13.420
instead we settled on this crappier thing that's a little closer to the way we would

02:09:13.420 --> 02:09:21.920
have done it in C probably and because it is JavaScript's object format and it's like

02:09:21.920 --> 02:09:28.120
it's annoying to know and of course you could write a processor so it converts bi-directionally

02:09:28.120 --> 02:09:30.140
but nobody will do it.

02:09:30.140 --> 02:09:37.740
If you've ever used Lisp to replace your HTML, same sort of thing, you don't have to deal

02:09:37.740 --> 02:09:43.840
with your closing tags and you get all the auto editing and it's just like even without

02:09:43.840 --> 02:09:50.680
abstracting above any of the tags, just replacing them one for one, it's so much better but

02:09:50.680 --> 02:09:53.380
can you get anybody to do it?

02:09:53.380 --> 02:10:00.040
You look at Gix and you have the init system, that's written in Guile or scheme and then

02:10:00.040 --> 02:10:07.680
you got the cron program, it's mcron, that's written in Guile and you can use the normal

02:10:07.680 --> 02:10:12.360
cron syntax for that or a different one where you can do that and you can start labeling

02:10:12.360 --> 02:10:15.700
it with like say how many hours I want to do.

02:10:15.700 --> 02:10:21.320
I think the example they give in their documentation is like I want it to do the first Wednesday

02:10:21.320 --> 02:10:28.160
of every month or you could put if statements in there or a whole bunch of interesting things

02:10:28.160 --> 02:10:35.400
like that and it's like their package definitions are in Guile so it's like the whole operating

02:10:35.400 --> 02:10:37.200
system is in Guile.

02:10:37.200 --> 02:10:39.000
That's what we're trying to do, right?

02:10:39.000 --> 02:10:46.120
That was going to be the scripting language for Canoe, was going to be Guile and they

02:10:46.120 --> 02:10:50.760
were doing that which again, this is all like from MIT, right?

02:10:50.760 --> 02:10:57.600
Stallman's from the MIT AI lab, all this stuff, scheme, it's all evolved from that environment

02:10:57.600 --> 02:11:03.600
and they were right, this stuff is pretty good but it's like it's interesting to listen

02:11:03.600 --> 02:11:11.600
to him say if we were to update Emacs and allow another language to be the programming

02:11:11.600 --> 02:11:16.360
language, it would be scheme.

02:11:16.360 --> 02:11:24.760
It's not even on the radar of anybody in the industry to do that but he doesn't care.

02:11:24.760 --> 02:11:32.880
He's like he's the Mekana class, he sees the value, he sees what's technically good.

02:11:32.880 --> 02:11:39.000
Have you ever read any of his compiler code or something, I mean read his Emacs code,

02:11:39.000 --> 02:11:48.120
it's so clean, it's so beautiful, it's not like super abstract but it's like even the

02:11:48.120 --> 02:11:52.580
C code to implement the list of primitives, I mean now you don't know what he wrote versus

02:11:52.580 --> 02:11:58.160
somebody else and you can see in Emacs that it's gone away from the sort of stuff you

02:11:58.160 --> 02:12:06.360
used to write but his mind is just like so clear when doing things like that, that like

02:12:06.360 --> 02:12:12.440
you can learn an infinite number of things from kind of looking at the way he structures

02:12:12.440 --> 02:12:13.440
stuff.

02:12:13.440 --> 02:12:17.920
I'm going to have to, I'm making a note for myself to go seek that out specifically because

02:12:17.920 --> 02:12:22.360
I don't think I've ever, I've seen some of the code that he's written, I've just never

02:12:22.360 --> 02:12:30.880
seen it in that context of specifically going in to try to get a sense of what it is.

02:12:30.880 --> 02:12:37.340
I mean when you read, like read the Emacs manual, right, I mean at least through version

02:12:37.340 --> 02:12:48.120
19 he wrote that, right, and it's like step by step he takes you from what a point is

02:12:48.120 --> 02:12:55.800
to marks to windows and it's just, it's very thoughtful and you're like well he's been

02:12:55.800 --> 02:13:00.120
embedded in this for years and like this is second nature to him, he doesn't even think

02:13:00.120 --> 02:13:07.640
about it but when he talks about it, it all comes out from first principle and I think

02:13:07.640 --> 02:13:14.120
that's what made him a master programmer and some of the stuff that they tried to do, build

02:13:14.120 --> 02:13:18.320
an operating system from scratch even though they didn't have all the success they wanted

02:13:18.320 --> 02:13:26.220
but you look at how good they made the Unix tools compared to what they were in Berkeley

02:13:26.220 --> 02:13:33.400
and elsewhere and you know it's fabulous programming as well, I think very impressive.

02:13:33.400 --> 02:13:39.960
Cool, I know that he got, at least I saw some people praising that C manual that he recently

02:13:39.960 --> 02:13:48.720
published, I think it was in the last, somewhere in the last year, probably more like six months

02:13:48.720 --> 02:13:57.120
he released some kind of C documentation so I would wonder if he would ever consider doing

02:13:57.120 --> 02:14:01.640
something for Elisp or for Emacs or anything like that.

02:14:01.640 --> 02:14:07.360
Yeah he did talk about, that was one of the things he wanted, to update the Emacs list

02:14:07.360 --> 02:14:16.080
but I mean I think the intro of it if I remember, right, Chiselle's book right, I wanted to

02:14:16.080 --> 02:14:24.880
read it, I think the manual is pretty good but yeah, I mean there's so much to keep up

02:14:24.880 --> 02:14:32.360
with, I mean Ellie is so productive and I mean the rate at which they're adding stuff

02:14:32.360 --> 02:14:39.480
to Emacs is pretty, and that I mean if you ever look at the developer list it's a massive

02:14:39.480 --> 02:14:44.720
number, it's the same with the org, I don't know how people get anything done, they have

02:14:44.720 --> 02:14:53.400
so many, and Ehor processes like every message on there, this must be his job to some extent

02:14:53.400 --> 02:15:01.360
because it just, it would be so much time and like the hyperbole list, there's nothing,

02:15:01.360 --> 02:15:06.800
I mean it's no problem at all, it doesn't take any time but they have so many topics

02:15:06.800 --> 02:15:11.160
that people are talking about, it's very impressive.

02:15:11.160 --> 02:15:18.000
I don't understand how they get by without a better tracking system, I mean DevBugs is

02:15:18.000 --> 02:15:28.000
certainly good but it's not as, trying to find the right words here, I don't think I'm

02:15:28.000 --> 02:15:35.600
not trying to insult it but it's like a backlog, like a more kind of elaborate tracking system

02:15:35.600 --> 02:15:40.520
that kind of like separates, all right let's put this in our backlog, let's prioritize

02:15:40.520 --> 02:15:48.520
it, let's analyze it, but no, it just comes in and gets immediately handled and gets resolved,

02:15:48.520 --> 02:15:54.880
whether it's a no or a yes, things tend to be addressed and finished very quickly.

02:15:54.880 --> 02:15:58.920
So you're saying it's topics that concern me, I should bring up with them and they'll

02:15:58.920 --> 02:16:04.120
actually get dealt with pretty quickly?

02:16:04.120 --> 02:16:11.680
Whether to your satisfaction or not, I think so, my sense is in general that things don't

02:16:11.680 --> 02:16:18.520
come in and then get planned, they come in and they get done or they don't get done ever.

02:16:18.520 --> 02:16:25.440
My issues with the org, I think they've done a lot of great stuff from a user perspective,

02:16:25.440 --> 02:16:32.960
my issues have been with the way it was written, was very sloppy code for a long time, now

02:16:32.960 --> 02:16:39.020
they've spent a lot of time rewriting stuff so I think it's a lot better but I was looking

02:16:39.020 --> 02:16:45.080
at something the other day and it was clear that this should be at least a separate function

02:16:45.080 --> 02:16:49.960
or abstracted out and it was all hard coded in the function, so I think they sort of do

02:16:49.960 --> 02:16:57.680
that on a piecemeal basis because they've got a lot of legacy code from the way it started

02:16:57.680 --> 02:17:03.280
and they knew that it wasn't written the way they wanted, like having to write a totally

02:17:03.280 --> 02:17:08.600
new parser is a good example and yeah, we all go through that refactoring and stuff

02:17:08.600 --> 02:17:16.160
but I think it's because it was a quick and dirty solution for Karsten to solve, the same

02:17:16.160 --> 02:17:24.960
way the web was, right, I mean they just wanted a publishing platform for physicists, so now

02:17:24.960 --> 02:17:36.300
the guy who wrote that is a true genius, what's his name, the web inventor, so he took a broader

02:17:36.300 --> 02:17:41.480
approach to it but basically they had to get something up fast and running and that just

02:17:41.480 --> 02:17:49.120
sort of proved the concept and then you had to have the whole engineering team at Mosaic

02:17:49.120 --> 02:17:56.800
come in and actually do a lot more with it but they lost, the original web had full editing

02:17:56.800 --> 02:18:03.740
capabilities like in wikis and they lost that almost immediately when they went to the graphical

02:18:03.740 --> 02:18:11.060
web and so we've been hurting, you know, like every time I used to go when I was, early

02:18:11.060 --> 02:18:18.000
days of the web, I'd look and I'd look at this form and I'd say okay, so this is like

02:18:18.000 --> 02:18:22.800
you enter this data and then it runs this program and it does this thing, so how do

02:18:22.800 --> 02:18:31.920
I see what the program does, how does it process the form, it was never connected, the code

02:18:31.920 --> 02:18:39.520
was never connected to the form of like why would you want this set of inputs that is

02:18:39.520 --> 02:18:46.920
totally disconnected from the way it's processed, right, it was hidden in the back end, right,

02:18:46.920 --> 02:18:52.680
which you had no access to, it's like I guess good for proprietary vendors but it's like

02:18:52.680 --> 02:18:58.400
so for engineers to understand the system, it was very, very difficult, what if I have

02:18:58.400 --> 02:19:05.480
a hundred forms, so I see, yeah, that there's like one function that's referred to in the

02:19:05.480 --> 02:19:11.440
form but I don't know anything about that, I can't even see it's calling invocation

02:19:11.440 --> 02:19:18.960
a lot of times, right, so it's like that's just broken architecture and nobody cared,

02:19:18.960 --> 02:19:24.240
they just like let it go on and now you have all these, what, I mean was there an alternative

02:19:24.240 --> 02:19:31.720
to that, did it start somewhere else and then, well you encapsulate it as like the processing

02:19:31.720 --> 02:19:39.800
is part of the form abstraction, that it's an active entity and they can be separated

02:19:39.800 --> 02:19:45.480
if they live, right, like you have the front end and the back end piece of the form behavior

02:19:45.480 --> 02:19:51.320
but maybe you want that abstraction to be able to migrate front end to back end across

02:19:51.320 --> 02:19:59.120
time and so you need to have these two parts and we see this in building things now, right,

02:19:59.120 --> 02:20:04.680
what are we using, we're using TypeScript on the front end and we're using C sharp on

02:20:04.680 --> 02:20:12.080
the back end, so I imagine there's some impedance mismatches going on around there but we actually

02:20:12.080 --> 02:20:17.580
introduced a Python validation framework, I don't want to get into this too much but

02:20:17.580 --> 02:20:23.960
we are using those technologies and we can share those now across the front end and back

02:20:23.960 --> 02:20:34.520
end and so, you know, a lot of languages that you need to understand and I just think, so

02:20:34.520 --> 02:20:40.140
like closures, right, you're familiar with closures, right, so I mean that's what you're

02:20:40.140 --> 02:20:49.080
doing is you're passing around the environment so that you can interpret the data properly

02:20:49.080 --> 02:20:57.400
because you have the closure which wraps around it and so many things get, when you want to

02:20:57.400 --> 02:21:05.380
deal with unwinding state, you know, through many levels, having the closures allows you

02:21:05.380 --> 02:21:12.200
to do that easily, sort of the lexical binding versus the dynamic binding and so, you know,

02:21:12.200 --> 02:21:20.920
the callback hell that they talk about in Node.js is reflective of not having a good

02:21:20.920 --> 02:21:29.880
closure-based environment, when you look at most of the list-based web environments are

02:21:29.880 --> 02:21:36.920
closure-based and they can do much more interesting application building without dealing with

02:21:36.920 --> 02:21:41.000
a lot of the plumbing than if they didn't have that.

02:21:41.000 --> 02:21:49.480
Interesting and when you refer to closures, are you saying that there's a certain paradigm

02:21:49.480 --> 02:21:56.760
of form processing on the web that's more like a closure-based solution?

02:21:56.760 --> 02:22:04.480
That's right, yeah, look at the common Lisp, like Hutchin2 and frameworks built on top

02:22:04.480 --> 02:22:07.400
of that and you'll see.

02:22:07.400 --> 02:22:12.480
I definitely will do that but I meant more like when you're talking about the early days

02:22:12.480 --> 02:22:20.600
and how they separated the form from the actions, are you saying that that's a situation where

02:22:20.600 --> 02:22:26.960
like something that would be like a closure is more or are you just strictly talking about

02:22:26.960 --> 02:22:27.960
that?

02:22:27.960 --> 02:22:32.640
That would help solve that problem, I would say, because it gives you, you know, sort

02:22:32.640 --> 02:22:38.040
of you're seeing some of it in React now, they're like, oh, we've discovered components

02:22:38.040 --> 02:22:46.040
and so, you know, we only have to do partial updates now because we can like walk our tree

02:22:46.040 --> 02:22:54.080
and know that only this subcomponent, you know, and it's like, yeah, by building all

02:22:54.080 --> 02:23:02.400
these abstractions, you simplify your state management a lot and you simplify that and

02:23:02.400 --> 02:23:06.720
you localize where any of your issues can be.

02:23:06.720 --> 02:23:15.140
And so, if I have my processing engine totally disconnected from my input state, you know,

02:23:15.140 --> 02:23:19.600
it's going to cause a lot of problems and you saw it in the early days of the web where

02:23:19.600 --> 02:23:26.200
everything was, what was it, CGI, is that what it was, right?

02:23:26.200 --> 02:23:32.240
You just sort of, you had a totally separate back end and there was just this very thin

02:23:32.240 --> 02:23:39.480
kind of connection to the front end and everybody's rediscovered, they rediscovered sockets, okay,

02:23:39.480 --> 02:23:45.160
we need sockets and then everybody's fighting, well, I have to replicate the data on the

02:23:45.160 --> 02:23:53.120
front end and the back end, you know, just handling tables is such a bear on the web

02:23:53.120 --> 02:23:54.920
for similar reasons, right?

02:23:54.920 --> 02:24:02.360
So you had, what was that company Apollo or that was one of their frameworks who was trying

02:24:02.360 --> 02:24:11.360
to do real time front end, back end framework so that you can do all these pushes to a million

02:24:11.360 --> 02:24:18.160
clients, right, of any change and you could get like real time updates.

02:24:18.160 --> 02:24:23.320
You know, that seems fundamental to me if you're going to have a Facebook like kind

02:24:23.320 --> 02:24:29.820
of environment and you look at how much money Facebook had to spend to just build their

02:24:29.820 --> 02:24:33.560
basic application that scales at the level that they needed it.

02:24:33.560 --> 02:24:35.540
I mean, it's just nymph.

02:24:35.540 --> 02:24:38.760
You're talking about hot reloading, right, of data?

02:24:38.760 --> 02:24:46.560
Yeah, yeah, but I'm talking about like how it flows and where it's maintained and, you

02:24:46.560 --> 02:24:50.040
know, is there a single source of truth, right?

02:24:50.040 --> 02:24:51.360
That's what we really want.

02:24:51.360 --> 02:24:57.000
So people try to push stuff to the back end, but then you get all of this problem of the

02:24:57.000 --> 02:24:58.960
front ends out of date.

02:24:58.960 --> 02:25:00.640
So what's your method?

02:25:00.640 --> 02:25:07.440
You keep web sockets open, you know, it's like, well, then I have too many of those.

02:25:07.440 --> 02:25:17.360
So yeah, and what's your programming model for pushing all that data around anyway, right?

02:25:17.360 --> 02:25:25.000
Pushing, pulling, it's complex stuff, but if you solve it, there's a guy who wrote a

02:25:25.000 --> 02:25:32.120
web server, like tiny, tiny WB or something.

02:25:32.120 --> 02:25:38.720
I could look it up, but it's like, and he shows benchmarks of what he can process from

02:25:38.720 --> 02:25:41.100
this one like C-based program.

02:25:41.100 --> 02:25:48.860
And it's like five times the speed of other things just based on the algorithms that he

02:25:48.860 --> 02:25:55.840
implemented and so, you know, so you get your scale right like that and then you keep adding

02:25:55.840 --> 02:26:00.600
on some abstraction layers because now you can afford it.

02:26:00.600 --> 02:26:06.200
And then you simplify your programming model and like, we could be building the kinds of

02:26:06.200 --> 02:26:12.240
web applications that we want, you know, with menus even without, have you ever figured

02:26:12.240 --> 02:26:16.640
out how to do a good menu on a web app, you know?

02:26:16.640 --> 02:26:22.920
It's so much energy, right, when like in Emacs it would be just, here's my menu item and

02:26:22.920 --> 02:26:23.920
I'm done.

02:26:23.920 --> 02:26:32.220
So I think the baseline of what your programming model is matters so much from the syntax down

02:26:32.220 --> 02:26:40.320
to like the lexical scoping and, you know, and we're just lucky that Lisp got a lot of

02:26:40.320 --> 02:26:45.780
things right, that we have that as sort of like the thinking man's programming environment

02:26:45.780 --> 02:26:52.460
while all these other people were stuffed into Java, you know, in the 80s and they built

02:26:52.460 --> 02:27:01.560
Java beans and if you've ever looked at J2EE, I mean, that was such a monstrosity that it

02:27:01.560 --> 02:27:04.880
just collapsed literally of its own weight sort of.

02:27:04.880 --> 02:27:11.440
I mean, people are still using Java but it's like nobody wants to field a new web app,

02:27:11.440 --> 02:27:16.760
you know, in J2EE, it's just not done.

02:27:16.760 --> 02:27:23.340
So unless you have, you know, a ton of legacy investment that you have to keep up.

02:27:23.340 --> 02:27:30.480
So I think these design choices matter a lot and I think Apple's renaissance has been based

02:27:30.480 --> 02:27:36.860
on, you know, really saying, well, we'll iterate through our designs before we subject the

02:27:36.860 --> 02:27:38.360
users to them.

02:27:38.360 --> 02:27:45.840
We're not going to just make everybody one big beta test like Facebook or Microsoft and,

02:27:45.840 --> 02:27:52.280
you know, you see that like people have, you know, certainly in the consumer space have,

02:27:52.280 --> 02:27:58.760
you know, the shops are always full, I mean, wherever Apple store you go to and, you know,

02:27:58.760 --> 02:28:04.480
Microsoft is trying, Sony tries to have stores and stuff but you don't, they're not filled

02:28:04.480 --> 02:28:10.480
with this traffic, you know, because people aren't attached to the design aesthetic the

02:28:10.480 --> 02:28:11.480
same way.

02:28:11.480 --> 02:28:12.480
True, yeah.

02:28:12.480 --> 02:28:17.120
Yeah, they got something, they certainly have something that people want.

02:28:17.120 --> 02:28:24.760
Every program grows until it's a half a common list implementation or it's got a mail server

02:28:24.760 --> 02:28:31.120
in it, like you got those two sayings, oh, have you seen this at all?

02:28:31.120 --> 02:28:36.240
It's kind of lets you make desktop like apps with Common Lisp.

02:28:36.240 --> 02:28:44.160
I like the name though, Omnificent GUI Builder, you're giving us a lot of great links today,

02:28:44.160 --> 02:28:45.160
it's making me happy.

02:28:45.160 --> 02:28:53.880
It's for a YouTube video but they also have a GitHub page somewhere.

02:28:53.880 --> 02:29:02.560
I wish I did more Common Lisp but this is, and this is pretty new too, this is about

02:29:02.560 --> 02:29:04.440
a half a year old only.

02:29:04.440 --> 02:29:09.320
Well, does it look decent?

02:29:09.320 --> 02:29:10.880
Is it real or is it like?

02:29:10.880 --> 02:29:18.160
Well, it seems kind of like React.js where you're not writing, where you're, it's not

02:29:18.160 --> 02:29:26.320
the pure HTML post Git model where it's more like an application and like if you look at

02:29:26.320 --> 02:29:30.240
the screen, like you have the applications, you can move them around like it is in this

02:29:30.240 --> 02:29:31.240
up.

02:29:31.240 --> 02:29:40.440
It certainly looks functional, that would be my way to say it.

02:29:40.440 --> 02:29:45.920
And then you just write it in all one language.

02:29:45.920 --> 02:29:50.040
Just like Smalltalk, like what their environment used to look like.

02:29:50.040 --> 02:29:57.640
Oh yeah, and that, the glorious toolkits is the thing I was...

02:29:57.640 --> 02:30:03.840
Well there was a time when we had single UI builder environments and then you would just

02:30:03.840 --> 02:30:11.160
say what theme you wanted, Windows, Mac OS, and instantly it would look like the other

02:30:11.160 --> 02:30:14.600
environment and you had to do no work to get that.

02:30:14.600 --> 02:30:22.560
It's like, wow, that would be nice these days.

02:30:22.560 --> 02:30:27.720
Another thing with that philosophy of the copying the programs, you had Keanu Reeves

02:30:27.720 --> 02:30:34.200
talking about NFTs and it's like, what do you think about these NFTs with the matrix?

02:30:34.200 --> 02:30:40.000
You mean we're gonna have a computer, let's see, you mean we're gonna spend all this,

02:30:40.000 --> 02:30:47.080
you mean we're gonna have, you want me to be on board with charging people for these

02:30:47.080 --> 02:30:55.320
digital things on a computer that's designed to make copies?

02:30:55.320 --> 02:31:01.520
The whole person just like completely stopped because they're trying to, yeah, showed you

02:31:01.520 --> 02:31:04.720
how the idea was fundamentally wrong.

02:31:04.720 --> 02:31:09.360
Yeah, get your baseline, right?

02:31:09.360 --> 02:31:18.880
I mean, I've had to, I'm very pro-Ukraine and so I've learned a lot more about Russian

02:31:18.880 --> 02:31:19.880
history.

02:31:19.880 --> 02:31:27.520
I also have a number of Russian workmates who are very nice people, but they left Russia

02:31:27.520 --> 02:31:38.560
as well and a lot of what's going on seems to be from decisions that were made eons ago

02:31:38.560 --> 02:31:44.280
in the back to the Mongols and the way they ran their systems.

02:31:44.280 --> 02:31:49.760
So it's like when everybody says we've got to run so fast and we don't have time to really

02:31:49.760 --> 02:31:57.520
think through the design, they can't see the impact that that's gonna have on their enterprise

02:31:57.520 --> 02:31:58.520
or anything else.

02:31:58.520 --> 02:32:05.520
And if you're a long-term person, you obviously have to do things fast enough so the company

02:32:05.520 --> 02:32:11.560
can survive, but you have to think about that strategic level as well.

02:32:11.560 --> 02:32:14.960
Those who don't know history are doomed to repeat it.

02:32:14.960 --> 02:32:17.520
Yeah, exactly.

02:32:17.520 --> 02:32:19.120
Sometimes very badly.

02:32:19.120 --> 02:32:27.080
So how do we get Lisp to be something again?

02:32:27.080 --> 02:32:28.760
People are worried about Emacs dying out.

02:32:28.760 --> 02:32:35.680
I don't think that's happening so much, but certainly Lisp missed its position in web

02:32:35.680 --> 02:32:42.680
development, it seems, even though it can be quite capable there, but because of its

02:32:42.680 --> 02:32:53.640
image model and lack of focus on threading, it seems like you can't get anybody to even

02:32:53.640 --> 02:32:58.400
look at it now, right?

02:32:58.400 --> 02:33:04.360
I mean, unless you're talking about Clojure, like you talked about.

02:33:04.360 --> 02:33:09.280
You're talking about how Scheme would have been a lot better for JavaScript when JavaScript

02:33:09.280 --> 02:33:15.560
was first released, or like Emacs, because Emacs is good for a platform for distributing

02:33:15.560 --> 02:33:25.280
apps versus HTML as a document reader that they shoved applications into.

02:33:25.280 --> 02:33:28.800
I like the way you describe things.

02:33:28.800 --> 02:33:34.080
Yeah, I can't argue with that.

02:33:34.080 --> 02:33:37.520
But it is interesting to me.

02:33:37.520 --> 02:33:45.120
A lot of people don't know certain systems that are Lisp based that have been super successful,

02:33:45.120 --> 02:33:55.240
like Orbitz was based on the technology of a Cambridge company that implemented the bulk

02:33:55.240 --> 02:34:05.000
of their flight scheduling software in Lisp, and they had a very active kind of Lisp community.

02:34:05.000 --> 02:34:07.280
So you know, it's still-

02:34:07.280 --> 02:34:10.040
Hacker News is another one.

02:34:10.040 --> 02:34:14.080
Hacker News, yeah, that's built in Lisp?

02:34:14.080 --> 02:34:21.040
Yeah, the person who founded it was using Lisp and Paul Graham.

02:34:21.040 --> 02:34:23.880
Sam Altman?

02:34:23.880 --> 02:34:25.440
Paul Graham?

02:34:25.440 --> 02:34:27.440
Paul Graham.

02:34:27.440 --> 02:34:28.440
He founded it.

02:34:28.440 --> 02:34:29.440
Oh, I didn't know he was-

02:34:29.440 --> 02:34:31.440
Or at least he was involved in it anyway.

02:34:31.440 --> 02:34:32.440
Yeah, yeah, yeah.

02:34:32.440 --> 02:34:33.440
It was either that or Reddit.

02:34:33.440 --> 02:34:34.440
It was one or the other.

02:34:34.440 --> 02:34:44.400
He had an interesting Yahoo shopping experience where he wrote about that, how he leveraged

02:34:44.400 --> 02:34:46.840
Lisp to his advantage.

02:34:46.840 --> 02:34:51.840
So yeah, I think Python was that way until it got discovered.

02:34:51.840 --> 02:35:02.640
I worked with those guys back in Silicon Valley for a little while, and when we were trying

02:35:02.640 --> 02:35:09.680
to show the world that Python was something good, but it hadn't been noticed yet.

02:35:09.680 --> 02:35:17.000
So there's a lot of leverage that you can get if you're careful about it.

02:35:17.000 --> 02:35:23.920
One thing that I thought was interesting is you look at the- Google did some survey of

02:35:23.920 --> 02:35:32.160
the most efficient programming languages to run, and I think C was number one, and you

02:35:32.160 --> 02:35:39.280
look at the list, and the only one that even looks remotely high level is Common Lisp,

02:35:39.280 --> 02:35:51.200
where it's sent per the TDP or whatever that would be called, sent per execution or whatever.

02:35:51.200 --> 02:35:53.760
Everything else is more like C.

02:35:53.760 --> 02:35:59.200
Have you heard of Pico Lisp?

02:35:59.200 --> 02:36:01.160
A little bit.

02:36:01.160 --> 02:36:09.840
On RosettaCode, where they write the different implementations of algorithms in different

02:36:09.840 --> 02:36:16.720
languages, look at any sort of algorithm and the Pico Lisp implementation next to all the

02:36:16.720 --> 02:36:25.600
others, and it's always super tiny, and you've got just a ton more code and everything else.

02:36:25.600 --> 02:36:32.920
And then Pico Lisp is like Lisp with a database, maybe a triplet database built in, and it's

02:36:32.920 --> 02:36:35.880
pretty small and efficient.

02:36:35.880 --> 02:36:39.160
But I don't think anybody uses it.

02:36:39.160 --> 02:36:46.200
But it's an interesting example of a special case Lisp that you could embed in other things

02:36:46.200 --> 02:36:48.200
or use.

02:36:48.200 --> 02:36:53.720
One guy in Germany has been doing it for many years.

02:36:53.720 --> 02:36:57.480
Is that like an internet rule or a computing rule that we could come up with?

02:36:57.480 --> 02:37:01.720
No matter what you could think of, no matter what you find, there's one guy in Germany

02:37:01.720 --> 02:37:07.440
who's already done it.

02:37:07.440 --> 02:37:09.760
Well, I knew some Dutch people.

02:37:09.760 --> 02:37:12.080
I was in embedded systems at Motorola.

02:37:12.080 --> 02:37:16.560
We were working with very small microcontrollers with no memory.

02:37:16.560 --> 02:37:21.960
So we needed these super efficient cross compilers to build anything for us.

02:37:21.960 --> 02:37:27.520
And this company in Amsterdam seemed to have some skills.

02:37:27.520 --> 02:37:31.600
And so we started talking to them, and then we flew over there to do due diligence and

02:37:31.600 --> 02:37:32.600
check them out.

02:37:32.600 --> 02:37:38.040
And God, if they did not have one of the most advanced software development operations I'd

02:37:38.040 --> 02:37:42.620
ever seen, total quality assurance, great people.

02:37:42.620 --> 02:37:46.860
But everything was like to the T. This is how we do it, boom, boom, boom.

02:37:46.860 --> 02:37:54.600
So that's the only way you could get the efficiency out of compilers at the time.

02:37:54.600 --> 02:37:56.920
And so we worked with them.

02:37:56.920 --> 02:38:06.680
But they had that German kind of culture of the fit and finish has to be just so.

02:38:06.680 --> 02:38:14.800
So we used to have to do things like there was 256 bytes of memory.

02:38:14.800 --> 02:38:18.360
There's no K in there, of RAM.

02:38:18.360 --> 02:38:28.400
And so you would like to use overlays where you're repeating what you store in each word

02:38:28.400 --> 02:38:33.840
at different times in the program, and you had to manually keep track of the lifetime

02:38:33.840 --> 02:38:34.840
of objects.

02:38:34.840 --> 02:38:36.720
And it was a nightmare.

02:38:36.720 --> 02:38:41.280
But it was the only way to kind of squeeze some of the stuff in there.

02:38:41.280 --> 02:38:47.560
And we started in assembler, and then we went to C. And then we had this one time that was

02:38:47.560 --> 02:38:55.040
really fun that we had, God, I'm really dating myself now, but some of the people in product

02:38:55.040 --> 02:39:02.980
had these terminals, like 12 inch terminals with eight inch floppy disks on the terminal.

02:39:02.980 --> 02:39:11.800
And they were using those to interface to the microcontroller boards for emulator boards,

02:39:11.800 --> 02:39:17.080
where we would test out new software for a board that hadn't been released to production

02:39:17.080 --> 02:39:18.080
yet.

02:39:18.080 --> 02:39:20.600
And we would be able to iterate on that.

02:39:20.600 --> 02:39:26.960
And right next to these things were sun workstations that the engineers used for their normal development.

02:39:26.960 --> 02:39:30.400
So I was moved from research to product.

02:39:30.400 --> 02:39:34.960
And they said, so this is how you're going to have to do your code on this monochrome

02:39:34.960 --> 02:39:35.960
terminal.

02:39:35.960 --> 02:39:40.200
And I'm like, well, what about using the sun workstation?

02:39:40.200 --> 02:39:43.880
And it's just a serial port, so we'll just interface it.

02:39:43.880 --> 02:39:45.760
No, we tried that two years ago.

02:39:45.760 --> 02:39:46.760
It didn't work.

02:39:46.760 --> 02:39:48.760
We can't do it.

02:39:48.760 --> 02:39:55.080
I'm like, I am not going to sit here and use this dumpy thing for a week.

02:39:55.080 --> 02:40:01.200
So that afternoon, I figured out the protocol and got the thing, the sun workstation, talking

02:40:01.200 --> 02:40:02.200
to it.

02:40:02.200 --> 02:40:09.760
And then I wrote a disassembler tool so I could work the assembly, the math, behind

02:40:09.760 --> 02:40:11.320
it at a higher level.

02:40:11.320 --> 02:40:13.920
And I had all that going the first week.

02:40:13.920 --> 02:40:18.440
But people came over, and they're like, what are you doing?

02:40:18.440 --> 02:40:21.600
How is this possible?

02:40:21.600 --> 02:40:26.600
They just had started from the vantage point that they really had to live here, and they

02:40:26.600 --> 02:40:29.600
hadn't done enough of an assessment.

02:40:29.600 --> 02:40:36.760
So I would just look back at that when people say, this is the only way to do something.

02:40:36.760 --> 02:40:42.660
That's one of the great things about computers is it can speak too many languages.

02:40:42.660 --> 02:40:48.280
So if you want to just speak Lisp, you can just speak Lisp, relatively, anyway.

02:40:48.280 --> 02:40:56.520
Or if everybody else wants to speak that worst language that you don't like as much, you

02:40:56.520 --> 02:41:03.800
don't necessarily have to speak that, I guess, except for the www, but anyway.

02:41:03.800 --> 02:41:11.720
Omnificent web development language, and tell everybody that this is the be all and all.

02:41:11.720 --> 02:41:15.320
I think what I like the most about that is that I don't believe that omnificent is actually

02:41:15.320 --> 02:41:23.680
a word, so that can be accused of being incorrect, because there is no definition of omnificent

02:41:23.680 --> 02:41:26.040
that they can be shown not to conform to.

02:41:26.040 --> 02:41:29.720
I could be talking about that, but that's...

02:41:29.720 --> 02:41:30.800
There's a Latin word.

02:41:30.800 --> 02:41:36.720
That's why you know what it means, is because omni is everything, efficient is something

02:41:36.720 --> 02:41:44.440
about knowing, or everywhere, like the all-knowing GUI builder.

02:41:44.440 --> 02:41:46.440
Isn't that kind of how you read the omni-efficient?

02:41:46.440 --> 02:41:49.080
I think that's actually omniscient.

02:41:49.080 --> 02:41:50.080
I think...

02:41:50.080 --> 02:41:51.080
Omniscient, yeah.

02:41:51.080 --> 02:41:52.080
Oh, omniscient.

02:41:52.080 --> 02:41:53.080
Yeah, that's right.

02:41:53.080 --> 02:41:54.080
You're close.

02:41:54.080 --> 02:41:55.080
I think, yeah.

02:41:55.080 --> 02:42:00.520
C-L-O-G, so it's the clog builder.

02:42:00.520 --> 02:42:02.960
That sounds like a Lisp-y kind of thing, you know?

02:42:02.960 --> 02:42:09.680
It doesn't have any sexiness to it, but we've invented the clog builder.

02:42:09.680 --> 02:42:10.680
You know, that's funny.

02:42:10.680 --> 02:42:12.480
That was another thing I wanted to mention when I was writing this.

02:42:12.480 --> 02:42:15.120
It's just to clog how everybody else does things.

02:42:15.120 --> 02:42:16.120
Just clog it up.

02:42:16.120 --> 02:42:19.120
No, you don't have to do it that way.

02:42:19.120 --> 02:42:24.800
Is that something that is real?

02:42:24.800 --> 02:42:32.140
I feel like a lot of Emacs users are maybe just that type of person in general.

02:42:32.140 --> 02:42:38.400
We want things that look, not look, but sound, like clog.

02:42:38.400 --> 02:42:47.360
We prefer things that are awkward and are stupid acronyms, and if it seems like effort

02:42:47.360 --> 02:42:53.720
has been put into something to make it sound sick or market or anything, it's like, I don't

02:42:53.720 --> 02:42:54.720
know.

02:42:54.720 --> 02:42:55.720
I'm not sure.

02:42:55.720 --> 02:43:00.480
I think that goes back to what I was talking about with the scrolling down.

02:43:00.480 --> 02:43:03.600
I want it to not have animations.

02:43:03.600 --> 02:43:10.600
It's just spending CPU cycles to make my experience worse.

02:43:10.600 --> 02:43:15.520
Why would I want to scroll down half a line so I can read half of a text?

02:43:15.520 --> 02:43:21.120
Well, if you scroll half of a finger, that's what it would be, if you just do this.

02:43:21.120 --> 02:43:22.400
Oh, is this the guy?

02:43:22.400 --> 02:43:26.960
I think this is the guy, the one, the G toolkit, yeah, the glamorous toolkit.

02:43:26.960 --> 02:43:28.920
I read about this a while ago.

02:43:28.920 --> 02:43:31.560
This was one Google guy.

02:43:31.560 --> 02:43:40.700
We had a team, and then I think he left Google, and he's trying to do it, implemented in Faro,

02:43:40.700 --> 02:43:43.000
the pure object-oriented language.

02:43:43.000 --> 02:43:45.760
Yeah, this sounds like one of those things.

02:43:45.760 --> 02:43:47.760
Yeah, that's what it is.

02:43:47.760 --> 02:43:52.200
You know, there's, yeah, it's like, just get the base right, right?

02:43:52.200 --> 02:43:53.240
That's what Lisp did.

02:43:53.240 --> 02:44:00.480
Just give me Kar and Kutter and Lambda Calculus and go for it.

02:44:00.480 --> 02:44:01.480
What?

02:44:01.480 --> 02:44:03.040
And I will move the world.

02:44:03.040 --> 02:44:04.040
Yeah.

02:44:04.040 --> 02:44:09.080
Well, when you think, you know, I mean, look at the opportunity that was lost with Lisp

02:44:09.080 --> 02:44:10.080
machines.

02:44:10.080 --> 02:44:11.920
I was around for those too.

02:44:11.920 --> 02:44:14.520
I'm near dead, I guess.

02:44:14.520 --> 02:44:24.520
But I was young, at least then, and they microcoded Lisp, right?

02:44:24.520 --> 02:44:29.480
So everything atop that was Lisp.

02:44:29.480 --> 02:44:33.800
The Windows system was Lisp, you know, sort of like what Jobs was trying to do.

02:44:33.800 --> 02:44:39.240
He was trying to do, I don't know, well, when he did display PostScript, or he was trying

02:44:39.240 --> 02:44:42.920
to get common experience at different levels.

02:44:42.920 --> 02:44:48.320
But like, if you really have a consistent programming model across your whole damn system,

02:44:48.320 --> 02:44:58.120
you know, it's probably thousands of man years of work that you just eliminate right there

02:44:58.120 --> 02:45:02.920
if you have a decent language, right, and then a debugging environment.

02:45:02.920 --> 02:45:09.520
I mean, we still use stuff that there is no debugging environment for, right?

02:45:09.520 --> 02:45:15.240
Because it solves some problem that exists in the industry, and we haven't gotten rid

02:45:15.240 --> 02:45:17.440
of it yet.

02:45:17.440 --> 02:45:22.320
I want to set up some Raspberry Pi lights.

02:45:22.320 --> 02:45:27.380
If you have like that with an embedded controller, if you run that with Lisp, you're probably

02:45:27.380 --> 02:45:33.720
going to get a REPL for free that is going to allow you to remotely control your lights.

02:45:33.720 --> 02:45:42.280
You know, they have MicroPython for that, if you're into Python at all.

02:45:42.280 --> 02:45:48.500
That was a physicist, I don't know if he was German, but a physicist who implemented that

02:45:48.500 --> 02:45:52.840
to do controller hardware, and it's pretty good.

02:45:52.840 --> 02:45:59.320
He's moved a lot of, I think they actually got money behind it, and then started moving

02:45:59.320 --> 02:46:01.680
all the libraries into that too.

02:46:01.680 --> 02:46:02.680
So that runs pretty well.

02:46:02.680 --> 02:46:08.340
And you got stuff like CPython too, but I think part of the thing that makes Python

02:46:08.340 --> 02:46:14.120
appealing to people is you got all these libraries that people can use to build their apps with,

02:46:14.120 --> 02:46:18.360
and if you're running MicroPython or CPython, do you have access to those?

02:46:18.360 --> 02:46:19.360
Right.

02:46:19.360 --> 02:46:24.120
Well, that's what I'm saying, they like have been moving on that to get a lot more of the

02:46:24.120 --> 02:46:31.200
libraries available, because at first, that's right, that was part of what they were lacking.

02:46:31.200 --> 02:46:36.720
But just, you know, being able to put your language at the hardware level without a separate

02:46:36.720 --> 02:46:41.760
operating system is kind of an interesting concept too.

02:46:41.760 --> 02:46:47.280
And at that time with the Lisp machines, they were making the CPUs in line with, you had

02:46:47.280 --> 02:46:53.800
somebody making CPUs specifically for the Lisp machines, and ever since then, we've

02:46:53.800 --> 02:46:59.960
always been making CPUs to specifically target C, and I wonder how much that kind of like

02:46:59.960 --> 02:47:07.800
the philosophy and artifacts that you design, I wonder if like CPUs would look different

02:47:07.800 --> 02:47:13.880
and stuff like that, because we'd be optimizing them for Lambda calculus or something, and

02:47:13.880 --> 02:47:17.760
Reples, and if that would result in anything different.

02:47:17.760 --> 02:47:25.120
Well, I always ask my friend in London who knows everything, or he knows something about

02:47:25.120 --> 02:47:38.720
everything, why I remember the fastest computer I ever used was a DEC Alpha in the 80s, and

02:47:38.720 --> 02:47:45.720
it was, or maybe the beginning of the 90s, so it was a 64-bit machine at the time, and

02:47:45.720 --> 02:47:52.760
it used SCSI disks, and I would, you know, compilation took a while of programs, but

02:47:52.760 --> 02:47:57.640
I would go to compile, and I would just see these messages fly by me, and it would be

02:47:57.640 --> 02:48:04.400
like Go is today, right, be done in an instant, and like, how is that possible, I go over

02:48:04.400 --> 02:48:11.520
to this other machine, and they were emulating, I thought it had 128-bit data paths, but we

02:48:11.520 --> 02:48:17.080
looked it up, it was 64-bit, but they did have 128-bit words.

02:48:17.080 --> 02:48:22.480
You're talking about like boot up speed, and like how fast when you press a letter G on

02:48:22.480 --> 02:48:26.680
a keyboard, how fast it appears on your screen, and stuff like that, right?

02:48:26.680 --> 02:48:32.840
No, compilation of a complex application, how long that would take, and how long I would

02:48:32.840 --> 02:48:38.560
have to wait, and it was near instantaneous in many cases, and I had never experienced

02:48:38.560 --> 02:48:39.600
that before.

02:48:39.600 --> 02:48:48.680
So their disks were super fast, the throughput on the data buses was super fast, and I mean,

02:48:48.680 --> 02:48:56.120
it just worked like if you wanted a fast computer, it felt right, and I've not, you know, despite

02:48:56.120 --> 02:49:02.700
all the hardware I've had access to, I haven't had that same experience on any other machine

02:49:02.700 --> 02:49:03.700
to do.

02:49:03.700 --> 02:49:11.240
I know the Zig programming language has recently gotten an incremental compiler for it.

02:49:11.240 --> 02:49:12.240
Nice.

02:49:12.240 --> 02:49:13.240
So it would.

02:49:13.240 --> 02:49:15.640
Yeah, they're doing good work, they're doing good.

02:49:15.640 --> 02:49:17.640
Have you seen Vlang too?

02:49:17.640 --> 02:49:19.760
That's sort of interesting.

02:49:19.760 --> 02:49:24.160
I've seen that a little bit, but I haven't looked too much into it.

02:49:24.160 --> 02:49:33.720
There's this one Russian guy, and he's building his own Go-like replacement for C, because

02:49:33.720 --> 02:49:40.000
he likes Go a lot, but he wants to solve some other problems that he didn't like in Go,

02:49:40.000 --> 02:49:43.280
and the things he says about it are incredible.

02:49:43.280 --> 02:49:47.640
It doesn't, well, it didn't have garbage collection at first, right, because he wants to do all

02:49:47.640 --> 02:49:54.760
those machine-level things, but they seem to be able to build things that they promote

02:49:54.760 --> 02:49:59.160
as doing a lot, like an entire web framework they have already.

02:49:59.160 --> 02:50:06.760
They have their own graphics system and, you know, should be able to do very fast compositing.

02:50:06.760 --> 02:50:13.040
Who knows, you know, and so a lot of people say that he's over-promising, but he keeps

02:50:13.040 --> 02:50:21.080
delivering these snippets about, well, V, originally he had to translate V to C to get it to compile.

02:50:21.080 --> 02:50:29.800
Now it's self-hosting, and he can compile the whole language in 1.8 seconds from start,

02:50:29.800 --> 02:50:39.120
right, things like that, and so he's bootstrapping these super-efficient things to get to a very

02:50:39.120 --> 02:50:45.680
Rust-like systems programming language, but potentially cleaner.

02:50:45.680 --> 02:50:51.640
But it doesn't have, you know, people behind it like Rust, and you don't know if what he's

02:50:51.640 --> 02:50:56.640
saying is actually true, but if it is, you know, it might be like Zig and be something

02:50:56.640 --> 02:50:58.640
really interesting.

02:50:58.640 --> 02:51:04.560
Zig did cached compilations, so if you compiled something and then you changed a little bit

02:51:04.560 --> 02:51:07.800
and you compile it again, you're not going to compile very much.

02:51:07.800 --> 02:51:11.680
Right, so it'll be super-fast that way too.

02:51:11.680 --> 02:51:20.000
Yeah, I mean, memoization, that's caching if you can do it right, I'll save your ass

02:51:20.000 --> 02:51:22.960
every time, right, that's sort of.

02:51:22.960 --> 02:51:27.240
Then they have a self-hosted compiler, so I think that's one that will do the incremental

02:51:27.240 --> 02:51:34.680
compilations, so like that one will just be much faster and give you more debug stuff.

02:51:34.680 --> 02:51:38.720
But it is interesting, it's like, yeah, start with the REPL, right?

02:51:38.720 --> 02:51:41.280
Can you do a REPL in your language or not?

02:51:41.280 --> 02:51:46.360
Can you give me an interactive environment, even if everything has to be compiled?

02:51:46.360 --> 02:51:50.280
Like Julia, I guess, is going for some of this, right?

02:51:50.280 --> 02:51:56.040
They're taking some from LIST, they're taking all these efficient scientific libraries,

02:51:56.040 --> 02:52:02.600
and they're trying to meld them into a functional environment that gives you the most efficient

02:52:02.600 --> 02:52:06.000
code for any line that you write, right?

02:52:06.000 --> 02:52:15.440
Because it compiles it based on the dynamic types or something that it experiences, so

02:52:15.440 --> 02:52:17.600
it's very interesting.

02:52:17.600 --> 02:52:19.920
Have you seen the JANET Lisp language?

02:52:19.920 --> 02:52:25.920
It's kind of like V, where it's a very small language that has a web framework for it as

02:52:25.920 --> 02:52:26.920
well.

02:52:26.920 --> 02:52:29.640
No, I haven't seen that.

02:52:29.640 --> 02:52:31.160
I got a link on it right there.

02:52:31.160 --> 02:52:34.840
Yeah, I see it here, JANET Lisp, not too hard to find.

02:52:34.840 --> 02:52:40.440
I like their logo, 1950s JANET.

02:52:40.440 --> 02:52:45.600
Functional and imperative programming language runs on Windows, Linux, Mac OS, and Steam.

02:52:45.600 --> 02:52:47.920
Entire language is less than one megabyte.

02:52:47.920 --> 02:52:58.000
This sounds like REBOL, called Sasslerath, it did a lot of FORTH, and then he wrote REBOL,

02:52:58.000 --> 02:53:02.560
which has now evolved into REDLANG.

02:53:02.560 --> 02:53:08.800
It doesn't seem like a great language, but it's got that FORTH efficiency, and it's super

02:53:08.800 --> 02:53:15.040
small with its super small graphics, but it's not that easy to write, I think.

02:53:15.040 --> 02:53:16.040
This is cool.

02:53:16.040 --> 02:53:17.660
This sounds really interesting.

02:53:17.660 --> 02:53:22.500
So who's doing this, JANET?

02:53:22.500 --> 02:53:27.360
You know where it comes from?

02:53:27.360 --> 02:53:28.360
What source?

02:53:28.360 --> 02:53:30.760
They don't have about.

02:53:30.760 --> 02:53:32.560
Tell us about JANET.

02:53:32.560 --> 02:53:37.240
Oh, Calvin Rose and contributors.

02:53:37.240 --> 02:53:41.920
So again, we have one guy and contributor.

02:53:41.920 --> 02:53:43.960
That's well, you know, that's modern.

02:53:43.960 --> 02:53:45.080
That's how it is.

02:53:45.080 --> 02:53:51.160
You know, we talk about repeating the cycles of and how old problems are going to manifest

02:53:51.160 --> 02:53:57.040
with new technologies, maybe that's the problem that we're doing is that now everyone will

02:53:57.040 --> 02:54:02.120
have their own language and their own system and has become so satisfying and easy to do

02:54:02.120 --> 02:54:08.240
that that every single person will write their own programming language, their own architecture,

02:54:08.240 --> 02:54:11.820
and everyone will become it's like a it's like a monkey's paw or the genie granting

02:54:11.820 --> 02:54:13.400
you a curse.

02:54:13.400 --> 02:54:18.120
Everyone will become perfectly competent at this stuff, but not be able to communicate

02:54:18.120 --> 02:54:20.920
with each other because everyone's has their personal language.

02:54:20.920 --> 02:54:23.960
It's like the new Tower of Babel.

02:54:23.960 --> 02:54:29.380
You know, that's the claim that like my my guy in London makes about Lisp, that it's

02:54:29.380 --> 02:54:35.040
so efficient in making DSLs that nobody can communicate with each other.

02:54:35.040 --> 02:54:43.720
And I've heard that said about groups working in Lisp together, but I've never seen it.

02:54:43.720 --> 02:54:52.560
And it doesn't make a lot of sense to me because if you build your DSL for the domain, well,

02:54:52.560 --> 02:54:58.920
then it's like if people have any concept of the domain, it's going to be quite understandable.

02:54:58.920 --> 02:55:04.720
And because it's representative, you know, they're not going to struggle with it.

02:55:04.720 --> 02:55:10.680
It's only if you like, you know, make up terms that don't relate to anything and use that

02:55:10.680 --> 02:55:11.680
all over.

02:55:11.680 --> 02:55:16.100
Or if you take the scientists and they use their single character variable names, that's

02:55:16.100 --> 02:55:21.440
going to be a lot less understandable than something tailored for the domain that you're

02:55:21.440 --> 02:55:22.440
working in.

02:55:22.440 --> 02:55:23.440
Right?

02:55:23.440 --> 02:55:24.440
Good point.

02:55:24.440 --> 02:55:25.440
Yeah.

02:55:25.440 --> 02:55:28.200
I wonder how much of it has to do with going back and forth.

02:55:28.200 --> 02:55:32.920
You know, like if you can't spend all of your time or dedicate a long enough time, if you

02:55:32.920 --> 02:55:38.760
just go in and look at whatever this DSL is, switch back to idiomatic stuff.

02:55:38.760 --> 02:55:44.520
It's like, oh, you know, my brain is, you have to context switch all the time, maybe.

02:55:44.520 --> 02:55:54.200
One of the RACQ talk that was like the best talk for free software, and one of the observations

02:55:54.200 --> 02:55:59.640
they made was that most of everything was made by one person.

02:55:59.640 --> 02:56:05.440
And even if you look at a lot of the projects that have more than two people, you have one

02:56:05.440 --> 02:56:07.960
person and then a maintainer takes over.

02:56:07.960 --> 02:56:10.760
So it's still really one person working on it.

02:56:10.760 --> 02:56:19.520
It's like, that's going to be like 95% of everything out there, and everybody chooses

02:56:19.520 --> 02:56:22.760
a language that's not for that purpose.

02:56:22.760 --> 02:56:25.460
This was kind of the law of what they were.

02:56:25.460 --> 02:56:28.700
So if you're going to be doing that, you want to, if you're going to be working on a project

02:56:28.700 --> 02:56:33.640
over a long period of time, you want a language that has more features that you can master

02:56:33.640 --> 02:56:39.200
over a long period of time rather than how fast you can write hello world that can keep

02:56:39.200 --> 02:56:44.760
you interested in over a long period of, like Emacs for instance, Emacs can keep you interested

02:56:44.760 --> 02:56:50.280
in it for decades.

02:56:50.280 --> 02:56:53.000
And I think it's a cognitive mismatch.

02:56:53.000 --> 02:56:54.000
Go ahead.

02:56:54.000 --> 02:57:02.440
It's good to know that when given the freedom, like in software being such a new technology,

02:57:02.440 --> 02:57:13.400
to do whatever you want that humans will still recreate the Tower of Babel every single time.

02:57:13.400 --> 02:57:20.840
We'll never be able to agree on what's a good or right looking language.

02:57:20.840 --> 02:57:25.280
But I think the reality is that there are better ones.

02:57:25.280 --> 02:57:35.320
I think languages, written languages without accent marks are fundamentally better than

02:57:35.320 --> 02:57:38.120
those with accent marks.

02:57:38.120 --> 02:57:44.200
And so if you're stuck on one with there, you're probably going to get left behind even

02:57:44.200 --> 02:57:47.120
though you can produce the same meanings.

02:57:47.120 --> 02:57:58.480
And I think languages without Lisp type macros are never going to be able to solve the problems

02:57:58.480 --> 02:58:07.640
even though they're computationally equivalent that Lisp people attack because they just

02:58:07.640 --> 02:58:10.840
can't wrap the complexity in their mind enough.

02:58:10.840 --> 02:58:19.680
You'd have to have somebody who's 100 times better with a weaker language to do what the

02:58:19.680 --> 02:58:29.600
essentially average Lisp guy leveraging the macro capability could do.

02:58:29.600 --> 02:58:36.840
Like in hyperbole, one of the things that we solve that you can't do, I think very well

02:58:36.840 --> 02:58:38.880
in other languages.

02:58:38.880 --> 02:58:47.880
So we have our implicit button definitions look like regular defunds, but they have two

02:58:47.880 --> 02:58:50.080
parts in them.

02:58:50.080 --> 02:58:54.640
One which is the pattern match, am I in the right context?

02:58:54.640 --> 02:58:59.600
And then the one that calls the action.

02:58:59.600 --> 02:59:07.400
But you need, so to make it look the same, like there's only one path that you're running

02:59:07.400 --> 02:59:13.480
through this code, even though you have to do the pattern matching when you're called

02:59:13.480 --> 02:59:18.040
one time and you have to do the action invocation when you called another.

02:59:18.040 --> 02:59:29.440
There's a macro that we created called the hacked, H-A-C-T, and the macro actually takes

02:59:29.440 --> 02:59:40.240
a, there's a function that it uses that's implicit, that is set to different values

02:59:40.240 --> 02:59:43.840
at different states in the program.

02:59:43.840 --> 02:59:50.800
So when you're just looking for the pattern matching, that's all it does.

02:59:50.800 --> 02:59:53.360
And it sort of drops through the other behavior.

02:59:53.360 --> 03:00:01.600
And then when it comes back around and you're not doing pattern matching anymore, it executes

03:00:01.600 --> 03:00:02.800
the action.

03:00:02.800 --> 03:00:09.320
But looking at the code, you only see that one defund straight kind of path through it.

03:00:09.320 --> 03:00:14.680
So the engine handles all that, and I don't think you could write anything quite like

03:00:14.680 --> 03:00:19.280
that without the macro.

03:00:19.280 --> 03:00:26.560
It's magical, it's probably the closest thing to magic that we have, I guess.

03:00:26.560 --> 03:00:35.360
Well, you guys have filled up my brain, so I'm going to get some sleep, too.

03:00:35.360 --> 03:00:36.360
You deserve it.

03:00:36.360 --> 03:00:42.720
I'm a day ahead of you in that respect, so I'm amazed you've made it this long, to be

03:00:42.720 --> 03:00:43.720
honest.

03:00:43.720 --> 03:00:51.040
I don't know if I, did I, was there any, like, is there anything that you guys had, that

03:00:51.040 --> 03:00:53.840
I had neglected or anything that I should focus on?

03:00:53.840 --> 03:00:57.320
Well, I don't know, but I'm going to sign off.

03:00:57.320 --> 03:01:04.500
It's been a real pleasure talking to you guys, and John, I'll get in touch about, you know,

03:01:04.500 --> 03:01:10.200
give you a chance to take a look at Hyperbole a little bit, and then we could talk about,

03:01:10.200 --> 03:01:15.160
you know, how you could feedback some stuff, or if you want to interact with, meet some

03:01:15.160 --> 03:01:19.040
of the other guys in the team sometime, and just talk.

03:01:19.040 --> 03:01:24.160
Yeah, any of that, yeah, and you've got, I think, I mean, I'll email you if I, or you

03:01:24.160 --> 03:01:26.360
email me, email me either way.

03:01:26.360 --> 03:01:33.280
Okay, and on PlasmaStrike, if you're interested, it's open, too, I mean, we need smart people

03:01:33.280 --> 03:01:42.080
like yourself with lots of ideas and understanding of where things come from to just help out

03:01:42.080 --> 03:01:43.080
on that.

03:01:43.080 --> 03:01:48.600
If you have any cycles and you want to get involved, let me know.

03:01:48.600 --> 03:01:56.840
My email address is all over the Hyperbole code, so easy to find, just rsw.cadu.org will

03:01:56.840 --> 03:01:57.840
work as well.

03:01:57.840 --> 03:02:03.640
Yeah, if, yeah, and either of you guys feel free to, if you have any interesting ideas

03:02:03.640 --> 03:02:10.840
or anything, reach out and email me, I'm on the, I'm on the chatroom, thanks so much,

03:02:10.840 --> 03:02:16.280
I can't wait till they get this session, and they're like, wait, it's 180,000, it's the

03:02:16.280 --> 03:02:27.600
easiest thing I've got out of control, I guess, but, you know, they'll want to keep this because

03:02:27.600 --> 03:02:31.800
it's a great wide-ranging conversation, posterity.

03:02:31.800 --> 03:02:36.520
I have a feeling they won't run all of it through voice recognition.

03:02:36.520 --> 03:02:39.280
It definitely belongs with a 10-minute talk.

03:02:39.280 --> 03:02:47.160
Well, I'll tell you this, and I, not to prolong things, but this is, this is very representative

03:02:47.160 --> 03:02:51.680
of the amount of time that I, the proportional amount of effort and time that I spent preparing

03:02:51.680 --> 03:02:57.000
for this 10-minute talk, because for, I'll tell you something that, first, is when you

03:02:57.000 --> 03:03:00.640
realize that you have a 10-minute talk and you say, how am I going to get 10 minutes?

03:03:00.640 --> 03:03:05.600
Then you start preparing, and you start, and somehow you wind up with 100 minutes, and

03:03:05.600 --> 03:03:11.640
then it takes you 10 times as long to cut out, to choose which 90 minutes to cut out.

03:03:11.640 --> 03:03:16.360
So this is appropriate, it's appropriate for me, this is like my bookend, that I can talk

03:03:16.360 --> 03:03:21.400
for three hours about that, or at least starting with that time.

03:03:21.400 --> 03:03:26.440
You should give a talk about that, sort of like how Michelangelo went from the piece

03:03:26.440 --> 03:03:32.000
of marble to the David, and it's like, you know, I had this infinite amount of material

03:03:32.000 --> 03:03:37.080
coalescing it to 10 minutes is a 100-hour effort, because it's really true.

03:03:37.080 --> 03:03:41.240
I like it, because that's, that's a lot of what these tools do, is they allow you to

03:03:41.240 --> 03:03:43.160
capture your stuff.

03:03:43.160 --> 03:03:47.200
They allow you to organize it, and they allow you to formalize it, and that organizing part

03:03:47.200 --> 03:03:52.840
is what, is what gave me, well, isn't, isn't that what they say, that a professional programmer

03:03:52.840 --> 03:03:59.880
is somebody who will spend an hour automate, spend 100 hours automating something that

03:03:59.880 --> 03:04:02.920
only takes an hour, one time.

03:04:02.920 --> 03:04:07.280
I think that's what, I think maybe some professional programmers may say that.

03:04:07.280 --> 03:04:11.160
I don't know if their bosses would agree.

03:04:11.160 --> 03:04:13.480
There's some truth to it though, right?

03:04:13.480 --> 03:04:18.520
So have a great night guys, appreciate it.

03:04:18.520 --> 03:04:22.120
And yeah, and PlasmaStrike, I don't know if you, if you do end up posting anything of

03:04:22.120 --> 03:04:27.700
your, of your setup or anything, if you feel like it, just hit me up if you're interested

03:04:27.700 --> 03:04:31.600
in any of my shit, looking at it, because if you do, I'd, I'd be interested.

03:04:31.600 --> 03:04:32.600
That's all.

03:04:32.600 --> 03:04:33.600
No pressure.

03:04:33.600 --> 03:04:34.600
Yep.

03:04:34.600 --> 03:04:35.600
All right.

03:04:35.600 --> 03:04:36.600
Take it easy.

03:04:36.600 --> 03:04:37.600
Great, great meeting you.

03:04:37.600 --> 03:04:38.600
Great talking to you.

03:04:38.600 --> 03:04:39.600
Yep.

03:04:39.600 --> 03:04:40.600
You too.

03:04:40.600 --> 03:04:41.600
See ya.

03:04:41.600 --> 03:04:42.600
See ya.

03:04:42.600 --> 03:04:58.280
You're currently the only person in...

03:04:58.280 --> 03:05:00.340
you

03:05:28.280 --> 03:05:30.340
you

03:05:58.280 --> 03:06:00.340
you