summaryrefslogblamecommitdiffstats
path: root/2022/captions/emacsconf-2022-rms--what-id-like-to-see-in-emacs--answers.vtt
blob: eee7b8ccfa930e711c7d510a97471d3bd9453a5e (plain) (tree)
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








































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
WEBVTT

00:00:00.000 --> 00:00:02.492
[Amin]: Yep, thanks RMS for the great talk.

00:00:02.493 --> 00:00:04.759
Now it's time for questions and answers.

00:00:04.760 --> 00:00:13.519
I will paste the questions here and RMS will choose which ones to answer.

00:00:13.520 --> 00:00:17.501
[Richard]: Please don't post a lot of questions in the Mumble chat

00:00:17.502 --> 00:00:19.239
and fill up the buffer.

00:00:19.240 --> 00:00:25.359
There's a limit to what I can see on the screen, so make sure it's visible.

00:00:25.360 --> 00:00:27.159
Don't get too far ahead.

00:00:27.160 --> 00:00:42.279
[Amin]: Sure, I will only paste one or two questions at a time.

00:00:42.280 --> 00:00:43.639
I think it would also be helpful

00:00:43.640 --> 00:00:47.359
if you read out the questions as you answer them, Richard.

00:00:47.360 --> 00:00:56.799
[Richard]: Okay.

NOTE Pragmatically, how are people that buy into these ideals, and especially those that build the software, meant to live/thrive, short of renouncing many of the luxuries of modern life, as many have been struggling to reconcile both it appears. Wouldn't it be smarter and more productive longer-term to solve that problem too?

00:00:56.800 --> 00:01:01.079
Well, this question is a little silly.

00:01:01.080 --> 00:01:05.159
It's based on sort of all or none thinking.

00:01:05.160 --> 00:01:09.079
Pragmatically, how are people that buy into these ideals?

00:01:09.080 --> 00:01:11.199
I find that term offensive.

00:01:11.200 --> 00:01:16.479
And especially those that build the software meant to live/thrive,

00:01:16.480 --> 00:01:20.839
short of renouncing many of the luxuries of modern life.

00:01:20.840 --> 00:01:24.239
It's repackaged standard.

00:01:24.240 --> 00:01:30.319
You'll die if you don't write proprietary software.

00:01:30.320 --> 00:01:33.839
But most people in the world don't write proprietary software

00:01:33.840 --> 00:01:36.079
and that doesn't kill them.

00:01:36.080 --> 00:01:41.799
Whatever you do to make money, if you're reasonably well paid at it,

00:01:41.800 --> 00:01:44.119
which if you're working in software, I hope you are,

00:01:44.120 --> 00:01:49.479
that enables you to have a lot of time to do something else,

00:01:49.480 --> 00:01:53.199
like write some free software, even supposing you find no way

00:01:53.200 --> 00:02:01.639
to make any money from the free software world, but that's just the worst case.

00:02:01.640 --> 00:02:08.079
And for a lot of people, the life they find isn't the worst case.

00:02:08.080 --> 00:02:13.559
So I think it's basically, the question is an exaggeration.

00:02:13.560 --> 00:02:16.399
We don't need to worry about it.

00:02:16.400 --> 00:02:22.479
There are many businesses which do hire people to write free software.

00:02:22.480 --> 00:02:26.079
So write whatever free program for the business

00:02:26.080 --> 00:02:28.079
that the business wants you to write.

00:02:28.080 --> 00:02:32.759
And make sure you get permission to write your own software

00:02:32.760 --> 00:02:34.639
and release it as free software

00:02:34.640 --> 00:02:38.239
and contribute it to free software projects,

00:02:38.240 --> 00:02:46.759
and you'll be able to contribute.

00:02:46.760 --> 00:02:48.439
How can I help?

00:02:48.440 --> 00:02:52.519
In addition, one very big part of the software business

00:02:52.520 --> 00:02:56.359
is custom software development for a client.

00:02:56.360 --> 00:02:59.919
One client at a time, basically.

00:02:59.920 --> 00:03:05.519
And if that business is not treating its clients as suckers,

00:03:05.520 --> 00:03:10.719
it will release the code to them under a free software license.

00:03:10.720 --> 00:03:14.039
Okay, there you are. You're getting paid to write free software.

00:03:14.040 --> 00:03:24.599
Perfectly ethical.

NOTE I have been admiring your work for free software for many years now. I am a bit concerned about what will happen to the GNU project when you retire (not soon, I hope!!). Have you planned how to manage the GNU project in the long run?

00:03:24.600 --> 00:03:28.719
I have been admiring your work for free software for many years now.

00:03:28.720 --> 00:03:33.639
I'm a bit concerned about what will happen to the GNU project when you retire.

00:03:33.640 --> 00:03:37.359
Have you planned how to manage the GNU project in the long run?

00:03:37.360 --> 00:03:45.359
I haven't found a way. I had an idea for what to do.

00:03:45.360 --> 00:03:54.639
I hoped to train some people who were activists and committed supporters

00:03:54.640 --> 00:04:01.159
to start making some decisions without me and I would give them feedback.

00:04:01.160 --> 00:04:10.199
But I didn't succeed in getting them to discuss issues and propose decisions.

00:04:10.200 --> 00:04:11.719
Well, I guess I'll have to try again. Over.

00:04:11.720 --> 00:04:28.679
Just a second. I have to go and open the door.

NOTE In response to your aversion to JavaScript support in Emacs: In the same way that to revolt against the nonfree spirit in software development one has to develop software, and that to fight nonfree compilers one has to write a free compiler - can you fairly consider rejection of JavaScript as a tool conducive to improving the state of free JavaScript? A server can send back any MIME type to execute on your machine, JS was just the most convenient.

00:04:52.520 --> 00:04:55.479
In response to your aversion to JavaScript support in Emacs

00:04:55.480 --> 00:04:58.039
in the same way that to revolt against

00:04:58.040 --> 00:05:00.479
the non-free spirit in software development,

00:05:00.480 --> 00:05:04.439
one has to develop software and that to fight non-free compilers,

00:05:04.440 --> 00:05:05.999
one has to write a free compiler.

00:05:06.000 --> 00:05:11.199
Can you fairly consider rejection of JavaScript as a tool conducive

00:05:11.200 --> 00:05:14.159
to improving the state of free JavaScript?

00:05:14.160 --> 00:05:16.759
There's a fundamental confusion here.

00:05:16.760 --> 00:05:23.439
The problem with JavaScript is not comparable to the problem of

00:05:23.440 --> 00:05:31.519
non-free C compilers or C++ compilers or Java compilers.

00:05:31.520 --> 00:05:36.839
This is a totally different kind of issue.

00:05:36.840 --> 00:05:40.479
We have free JavaScript support.

00:05:40.480 --> 00:05:45.839
Free browsers contain that.

00:05:45.840 --> 00:05:48.519
That's not the issue.

00:05:48.520 --> 00:05:52.399
The issue is what about the programs you're going to run?

00:05:52.400 --> 00:05:58.359
If you're talking about C, well, if you're going to run a C program,

00:05:58.360 --> 00:06:02.799
it's because at compile at first, it's because you got the source code.

00:06:02.800 --> 00:06:09.039
Probably it's free software or else it's a private project,

00:06:09.040 --> 00:06:14.919
internal project, and there's no particular danger in that.

00:06:14.920 --> 00:06:18.399
If JavaScript were just like that,

00:06:18.400 --> 00:06:21.319
there'd be no particular danger in JavaScript either.

00:06:21.320 --> 00:06:26.959
The problem is that hundreds of thousands of websites,

00:06:26.960 --> 00:06:33.199
or is it millions, are sending JavaScript programs to their visitors

00:06:33.200 --> 00:06:35.919
who don't even know what JavaScript is,

00:06:35.920 --> 00:06:39.159
who are not programmers, who have no idea what's going on.

00:06:39.160 --> 00:06:43.439
So these programs are usually non-free.

00:06:43.440 --> 00:06:48.599
They end up in the user's browser, they run, many of them are malware.

00:06:48.600 --> 00:06:51.039
So what's going to happen?

00:06:51.040 --> 00:06:57.679
Basically, JavaScript is a platform for websites to mistreat users.

00:06:57.680 --> 00:06:59.679
I know it can be used in other ways,

00:06:59.680 --> 00:07:06.319
but socially, the existence of those other ways makes little difference.

00:07:06.320 --> 00:07:10.799
The important thing about JavaScript is the danger that it creates.

NOTE With all the recent additions and optimizations to Emacs Lisp (lexical scoping, native compilation etc.) would you deem Emacs Lisp suitable for general purpose programming outside Emacs (i.e. scripting, running web servers). If not, why?

00:07:27.000 --> 00:07:32.279
This question is about the idea of using Emacs Lisp

00:07:32.280 --> 00:07:37.919
for general purpose programming that has nothing to do with Emacs.

00:07:37.920 --> 00:07:44.479
Well, in theory, I guess, in principle, there's nothing wrong with that.

00:07:44.480 --> 00:07:56.879
But I think that would be a distraction, and I'd rather we didn't do it.

00:07:56.880 --> 00:08:02.359
Now, if we had a thousand great programmers ready to do that,

00:08:02.360 --> 00:08:05.999
and every other thing we could use, sure.

00:08:06.000 --> 00:08:12.639
But the fact is, we don't. And I'd really rather--

00:08:12.640 --> 00:08:17.479
There are many platforms that are fine to write programs on.

00:08:17.480 --> 00:08:26.399
So I'd rather we work on making Emacs better at editing

00:08:26.400 --> 00:08:30.799
and improving Emacs Lisp in the ways that help that goal,

00:08:30.800 --> 00:08:38.999
and leave developing general purpose programming platforms to other languages.

NOTE Could you give a few examples of the medium-sized jobs necessary for WYSIWYG-editor support in Emacs?

00:08:44.760 --> 00:08:51.559
Could I give a list of the specific medium-sized jobs

00:08:51.560 --> 00:08:54.959
necessary for WYSIWYG editing?

00:08:54.960 --> 00:08:58.999
Well, I can't really. I don't have a list of one.

00:08:59.000 --> 00:09:04.399
And I'd really appreciate it if people started putting together such a list.

00:09:04.400 --> 00:09:08.839
But if you look at every feature that LibreOffice has

00:09:08.840 --> 00:09:14.399
that Emacs doesn't have, I think you will get a list.

00:09:14.400 --> 00:09:17.679
Now, maybe some of those are not that important.

00:09:17.680 --> 00:09:23.759
Maybe only a subset of them would make the list of really important ones.

00:09:23.760 --> 00:09:27.439
But I think that will give everybody a start.

NOTE Should GNU (or someone else) define a safe-subset of HTML/CSS/JS to make web browsers simpler and safer (e.g. by preventing JS from contacting servers)?

00:09:33.480 --> 00:09:39.159
Should GNU or someone else define a safe subset of HTML, CSS, JS

00:09:39.160 --> 00:09:41.559
to make web browsers simpler and safer?

00:09:41.560 --> 00:09:46.519
You know, that would be an interesting thing to explore.

00:09:46.520 --> 00:09:48.879
But I don't know whether it can be done.

00:09:48.880 --> 00:09:53.439
The thing is, one of the dangerous things about JavaScript

00:09:53.440 --> 00:09:55.959
is browser profiling.

00:09:55.960 --> 00:10:02.559
Every machine runs a program at a slightly different speed.

00:10:02.560 --> 00:10:09.399
And the idea of browser profiling is that the website sends a JavaScript program

00:10:09.400 --> 00:10:13.399
to run on every visitor's browser.

00:10:13.400 --> 00:10:19.999
And it's actually a collection of benchmarks.

00:10:20.000 --> 00:10:26.079
And the collection of results is different for each user's computer.

00:10:26.080 --> 00:10:30.919
And so it enables the website to recognize each one when it comes back

00:10:30.920 --> 00:10:34.799
even if there's no cookie to help it.

00:10:34.800 --> 00:10:42.719
So, which features are sufficient to make possible browser profiling?

00:10:42.720 --> 00:10:46.799
There may be no particular unusual feature that's crucial.

00:10:46.800 --> 00:10:48.639
But arithmetic might be enough.

NOTE How can we ensure the continuity of an understanding of the more arcane parts of the [Emacs] source code, and increase their evolvability, notably with regards to display, single-threading limitations, etc.?

00:10:57.440 --> 00:11:00.679
How can we ensure the continuity of an understanding

00:11:00.680 --> 00:11:02.999
of the more arcane parts of source code

00:11:03.000 --> 00:11:08.279
and increase their evolvability, notably with regard to display,

00:11:08.280 --> 00:11:14.879
single-threading limitations, etc.?

00:11:14.880 --> 00:11:19.759
Well, single-threading is a very specific thing.

00:11:19.760 --> 00:11:26.559
And the furthest that I've bothered to think about it is

00:11:26.560 --> 00:11:33.799
how can we enable easily multiple list program threads

00:11:33.800 --> 00:11:35.199
to be running in parallel.

00:11:35.200 --> 00:11:39.759
But if you're talking about multi-threading in display,

00:11:39.760 --> 00:11:42.239
I don't know if that even helps.

00:11:42.240 --> 00:11:48.599
Of course, my machine doesn't really enable me to run

00:11:48.600 --> 00:11:57.719
multiple threads in a single program, so it never mattered to me.

00:11:57.720 --> 00:12:06.319
Basically, now, development of a display code

00:12:06.320 --> 00:12:12.239
not in regard to threads, well, that's more feasible.

00:12:12.240 --> 00:12:19.279
But the thing is, generally, any new feature is likely to require

00:12:19.280 --> 00:12:25.799
changes in the buffer data structure to represent the use of the feature.

00:12:25.800 --> 00:12:29.199
And I think that's going to be the hard part.

00:12:29.200 --> 00:12:33.479
So, display won't be the hard part, and it won't be the first part.

00:12:33.480 --> 00:12:37.599
The first part is figuring out how you're going to represent a buffer

00:12:37.600 --> 00:12:43.519
with a certain display bell or whistle in it.

00:12:43.520 --> 00:12:47.719
And once you've worked that out and worked out how it's going to work well

00:12:47.720 --> 00:12:51.359
in editing, then I think you'll be able to figure out

00:12:51.360 --> 00:12:55.119
what display has to do to handle it.

00:12:55.120 --> 00:13:01.079
Of course, you have to decide that data structure,

00:13:01.080 --> 00:13:05.199
thinking about how display is going to handle it efficiently.

00:13:05.200 --> 00:13:13.119
If the data structure is bad, it won't be possible to display efficiently.

00:13:13.120 --> 00:13:15.759
So you need to think about that at that stage.

00:13:15.760 --> 00:13:19.599
But the actual work is working out the data structure

00:13:19.600 --> 00:13:21.559
and the editing to handle it.

00:13:21.560 --> 00:13:31.639
Do you recommend reaching out to schools for volunteers instead of universities

00:13:31.640 --> 00:13:35.639
because they're more prone to value the objectives of freedom?

00:13:35.640 --> 00:13:38.519
Well, reaching out for what?

00:13:38.520 --> 00:13:43.719
Reaching out to try to teach people about freedom?

00:13:43.720 --> 00:13:47.479
Or reaching out to find more developers?

00:13:47.480 --> 00:13:50.479
Maybe that person could respond.

NOTE Are there any problems or disadvantages using the GNU AGPL for non-networked software like Emacs packages?

00:13:50.480 --> 00:14:05.199
Is there any problem or disadvantage in using the GNU AGPL

00:14:05.200 --> 00:14:08.519
for non-network software like Emacs packages?

00:14:08.520 --> 00:14:10.239
I don't see one.

00:14:10.240 --> 00:14:17.359
The reason why I didn't put the AGPL clause into the regular GNU GPL

00:14:17.360 --> 00:14:22.319
is it seemed a bit radical and I figured the community

00:14:22.320 --> 00:14:27.079
would be happier if that radical change didn't happen

00:14:27.080 --> 00:14:31.839
in the GNU general public license itself.

00:14:31.840 --> 00:14:35.839
I would like the person who asked the previous question

00:14:35.840 --> 00:14:40.719
to respond to what I said so I can get that answer

00:14:40.720 --> 00:14:43.519
and finish answering her question.

00:14:43.520 --> 00:14:46.119
Right.

00:14:46.120 --> 00:14:50.279
I will let you know if we end up hearing back from you--from per.

NOTE Is there a list of Emacs issues which can be solved by programmers with different levels? For example my level is A, I know basic elisp and C. How can I help?

00:14:50.280 --> 00:15:03.439
Is there a list of Emacs issues which can be solved by programmers

00:15:03.440 --> 00:15:05.079
with different levels?

00:15:05.080 --> 00:15:07.319
I don't know of one.

00:15:07.320 --> 00:15:14.159
I tend to think that people who know basic programs

00:15:14.160 --> 00:15:20.359
the basic level of list programming can't contribute yet.

00:15:20.360 --> 00:15:25.919
They might be able to start debugging problems.

00:15:25.920 --> 00:15:30.359
It won't be easy but that might be a good first thing to do.

00:15:30.360 --> 00:15:36.359
Look at bugs that are waiting and see if you can debug one of them

00:15:36.360 --> 00:15:39.519
and then when you find out what's actually going wrong

00:15:39.520 --> 00:15:44.159
you can send that to the developers and it will very likely

00:15:44.160 --> 00:15:46.679
enable them to fix the problem quickly.

00:15:46.680 --> 00:15:52.279
In the process you'll learn a lot about programs

00:15:52.280 --> 00:15:54.039
and how programs are actually written

00:15:54.040 --> 00:15:56.959
and how to understand the code you actually come across.

00:15:56.960 --> 00:16:02.439
With features like Org mode and enriched mode,

00:16:02.440 --> 00:16:06.759
it seems that Emacs is getting closer to the goal of WYSIWYG.

00:16:06.760 --> 00:16:10.799
Well it's got somewhat closer but it has a very long way to go.

00:16:10.800 --> 00:16:15.119
If you compare it with something like LibreOffice

00:16:15.120 --> 00:16:17.039
you'll see how long away there is to go.

00:16:17.040 --> 00:16:31.399
There was an effort called GuileEmacs a while back

00:16:31.400 --> 00:16:36.839
which was some effort to get Guile to be able to compile and run Emacs Lisp.

NOTE What roadblocks kept some of the other efforts from being used with Emacs?

00:16:36.840 --> 00:16:40.959
[Amin]: You mentioned there were still some challenges relating to Guile.

00:16:40.960 --> 00:16:45.879
What roadblocks kept some of the other efforts from being used with Emacs?

00:16:45.880 --> 00:16:50.275
[Richard]: Well we never finished solving the problem

00:16:50.276 --> 00:16:55.239
of reconciling Guile data types with Emacs Lisp data types.

00:16:55.240 --> 00:17:02.439
We got an idea for how to deal with the fact that

00:17:02.440 --> 00:17:08.599
Scheme handling of nil is different from Lisp handling of nil.

00:17:08.600 --> 00:17:14.679
The idea was that maybe this would get us close enough it could actually work.

00:17:14.680 --> 00:17:19.359
But I don't think anyone fully implemented it and made it actually work.

NOTE What do you use emacs for beyond editing?

00:17:36.240 --> 00:17:39.759
What do you use Emacs for beyond editing?

00:17:39.760 --> 00:17:42.679
Well I use it for reading and writing email.

00:17:42.680 --> 00:17:44.759
That's what I mainly do.

00:17:44.760 --> 00:17:47.839
That's what I do most of the day.

00:17:47.840 --> 00:17:52.559
I could... I mean should I sing my song?

00:17:52.560 --> 00:17:55.119
Sure.

NOTE Song about e-mail

00:17:55.120 --> 00:18:02.639
I've been answering my email all the goddamn day.

00:18:02.640 --> 00:18:10.879
I've been answering my email 'cause my work gets done that way.

00:18:10.880 --> 00:18:14.879
Can't you feel the fingers aching?

00:18:14.880 --> 00:18:18.479
Type until early in the morn.

00:18:18.480 --> 00:18:22.319
Can't you see the letters blurring?

00:18:22.320 --> 00:18:25.799
It's just an ad for porn.

00:18:25.800 --> 00:18:30.519
You can see how out of date that song is 'cause we don't

00:18:30.520 --> 00:18:32.039
get ads for porn much anymore.

00:18:32.400 --> 00:18:37.279
[Amin]: Thanks for the performance.

NOTE Emacs is used by a small population relative to the population that could benefit from it. Do you have any thoughts on how to expand the user base more broadly even among software developers?

00:18:49.556 --> 00:18:52.919
[Richard]: Emacs is used by a small population relative to

00:18:52.920 --> 00:18:54.639
the population that could benefit from it.

00:18:54.640 --> 00:18:59.519
Do you have any thoughts on how to expand the user base more broadly,

00:18:59.520 --> 00:19:02.159
even among software developers?

00:19:02.160 --> 00:19:11.679
No. Basically, the fact is that on that aspect of things,

00:19:11.680 --> 00:19:20.759
VS Code has an advantage and the advantage comes from Microsoft.

00:19:20.760 --> 00:19:28.159
It's pushing that together as part of a large collection

00:19:28.160 --> 00:19:32.839
of evil proprietary software that subjugates its users.

00:19:32.840 --> 00:19:36.119
But those users don't understand that issue.

00:19:36.120 --> 00:19:40.639
So, I mean, I sure wish I could come up with an idea

00:19:40.640 --> 00:19:44.279
for how to spread awareness of free software

00:19:44.280 --> 00:19:46.599
and the injustice of non-free software.

00:19:46.600 --> 00:19:52.879
The best one that I know of is to show them the TEDx talk that you saw.

00:19:52.880 --> 00:19:57.239
If you show that to people, they'll get at least a basic idea

00:19:57.240 --> 00:19:59.039
of what's at stake here and why.

NOTE Would a namespace system similar to Common Lisp packages but without :USE work in Emacs? Modern CL implementations have package local nicknames to create package local prefixes.

00:20:05.760 --> 00:20:10.719
Would a namespace system similar to Common Lisp packages but without :USE

00:20:10.720 --> 00:20:12.199
work in Emacs?

00:20:12.200 --> 00:20:14.319
I suppose it would.

00:20:14.320 --> 00:20:18.399
I mean, basically, the thing that's really broken about

00:20:18.400 --> 00:20:21.599
Common Lisp packages is use.

00:20:21.600 --> 00:20:29.999
But it's not crucial, or at least it's not crucial to allow that to exist

00:20:30.000 --> 00:20:32.119
for arbitrary use.

00:20:32.120 --> 00:20:37.079
Maybe you want to have something saying where a package can specify

00:20:37.080 --> 00:20:42.759
whether to use the standard system functions and variables and so on.

00:20:42.760 --> 00:20:49.679
But there is a drawback to Common Lisp packages,

00:20:49.680 --> 00:21:01.719
which is that all of the aspects of any given symbol have to go together.

00:21:01.720 --> 00:21:07.319
So if compile-foo is a variable and it's also a function,

00:21:07.320 --> 00:21:09.999
and it's also a property name,

00:21:10.000 --> 00:21:15.359
then if your symbol foo is aliased to compile-foo,

00:21:15.360 --> 00:21:21.839
that means it's aliased as a function, aliased as a variable,

00:21:21.840 --> 00:21:23.959
and aliased as a property name.

00:21:23.960 --> 00:21:30.319
And aliased is anything else that you're going to point to from list structure.

00:21:30.320 --> 00:21:35.799
So it's not going to work really smoothly.

00:21:35.800 --> 00:21:42.239
And I tend to think that we're better off with a naming convention.

00:21:42.240 --> 00:21:50.599
Since the use feature of Common Lisp packages causes trouble,

00:21:50.600 --> 00:21:57.919
well if you don't use that, why is it better to write compile-foo

00:21:57.920 --> 00:22:03.479
and have that be foo in the compile package than to write compile-foo?

00:22:03.480 --> 00:22:09.959
The packages are almost equivalent to name prefixes.

00:22:09.960 --> 00:22:18.799
And I think that there is an advantage of clarity to writing the name prefixes,

00:22:18.800 --> 00:22:20.639
even in the same file.

00:22:20.640 --> 00:22:28.759
That abbreviation, which is meant to just shorten the code and make it simpler,

00:22:28.760 --> 00:22:32.319
looks simpler, I believe doesn't actually help.

00:22:32.320 --> 00:22:42.439
And I say that based on many years of writing code that way.

NOTE With Emacs 29 adding more (awesome) features into vanilla Emacs, how should we ensure vanilla Emacs does not get bloated with many similar features? (example: ido/icomplete, vc/magit)

00:22:42.440 --> 00:22:48.719
With Emacs 29 adding more awesome features into Vanilla Emacs,

00:22:48.720 --> 00:22:52.919
how should we ensure vanilla Emacs does not get bloated

00:22:52.920 --> 00:22:54.879
with many similar features?

00:22:54.880 --> 00:23:03.799
Example, ido/icomplete, vc/magit.

00:23:03.800 --> 00:23:08.759
Well, to some extent we can't. Users do things differently.

00:23:08.760 --> 00:23:13.679
I have never used Magit because I don't want to get used to using anything

00:23:13.680 --> 00:23:18.839
that's not, packages that are not actually part of Emacs.

00:23:18.840 --> 00:23:25.199
Now, a couple of years ago, the author of Maggot said he was starting to work

00:23:25.200 --> 00:23:30.919
on getting the copyright assignments to include Magit in Emacs.

00:23:30.920 --> 00:23:36.159
But I was unable to get any information on how this is progressing.

00:23:36.160 --> 00:23:44.599
So because I've never actually seen Magit and because Git is actually not

00:23:44.600 --> 00:23:50.559
the VC system that I use most, I don't know if I'd want to use Magit.

00:23:50.560 --> 00:23:53.199
I'd probably be happier using VC.

00:23:53.200 --> 00:23:59.959
I'm told that they have extremely different basic approaches to doing things.

00:23:59.960 --> 00:24:03.319
They're not just slight variants of each other.

00:24:03.320 --> 00:24:07.039
Now, having multiple slight variants, you know,

00:24:07.040 --> 00:24:10.919
things doing similar jobs in little different ways,

00:24:10.920 --> 00:24:13.959
that could be seen as redundant.

00:24:13.960 --> 00:24:23.759
But when packages have very different approaches, I think that's not redundant.

00:24:23.760 --> 00:24:26.919
Clarified version of earlier question.

NOTE Do you recommend reaching out in [high] schools for volunteers instead of universities because they are more prone to value the objectives of freedom?

00:24:26.920 --> 00:24:31.599
Do you recommend reaching out in schools for volunteers for both advocacy

00:24:31.600 --> 00:24:35.239
and development instead of universities?

00:24:35.240 --> 00:24:40.839
I think that you'll find few people in high schools.

00:24:40.840 --> 00:24:46.799
I think the question when it says schools means high schools.

00:24:46.800 --> 00:24:51.079
I think you will find only very rarely someone in high school

00:24:51.080 --> 00:24:57.279
who is good enough at programming to start actually developing things.

00:24:57.280 --> 00:25:00.239
Once in a while, I guess.

00:25:00.240 --> 00:25:07.039
As an activist, I think somewhat more often.

00:25:07.040 --> 00:25:09.919
But the main thing is, do you know how to have a rapport

00:25:09.920 --> 00:25:13.039
with high school students?

00:25:13.040 --> 00:25:16.359
If you do, it would be a great thing to try.

00:25:16.360 --> 00:25:26.519
We have had some projects of teaching free software to people in public schools.

00:25:26.520 --> 00:25:32.559
And if you want to work on that, I suggest sending me an email

00:25:32.560 --> 00:25:35.039
and I'll put you in touch with someone who's done it.

NOTE What was the thought process behind making Emacs Lisp dynamically scoped when you first created it? What advantages did it provide over the alternative?

00:25:35.040 --> 00:25:44.719
What was the thought process behind making Emacs Lisp dynamically scoped?

00:25:44.720 --> 00:25:46.039
It was easy.

00:25:46.040 --> 00:25:53.159
I knew perfectly well how to write a simple, small Lisp interpreter

00:25:53.160 --> 00:25:55.039
that was dynamically scoped.

00:25:55.040 --> 00:26:03.919
And small was absolutely necessary at the time because I was trying to make it

00:26:03.920 --> 00:26:12.079
able to run in a machine whose total address space was one megabyte.

00:26:12.080 --> 00:26:16.639
So the code had to be small.

00:26:16.640 --> 00:26:25.239
Why did I implement if and I believe not cond?

00:26:25.240 --> 00:26:30.359
Why did I implement or and not unless?

00:26:30.360 --> 00:26:33.439
Because you didn't need those others.

00:26:33.440 --> 00:26:39.839
You could write your Lisp code with a smaller Lisp interpreter

00:26:39.840 --> 00:26:49.759
if you didn't have those other convenient traditional standard parts of Lisp.

00:26:49.760 --> 00:26:54.519
So I stripped Emacs Lisp down to bare bones.

00:26:54.520 --> 00:27:01.679
Of course, nowadays that's not necessary anymore.

00:27:01.680 --> 00:27:08.239
Emacs used to be criticized as eight megabytes and constantly swapping.

00:27:08.240 --> 00:27:10.799
And someone pointed out to me ten years ago

00:27:10.800 --> 00:27:13.079
that if something's only eight megabytes,

00:27:13.080 --> 00:27:14.879
it's not going to swap at all anymore.

NOTE It's hard to pick up Emacs if you do not speak English. Can something be done to address that?

00:27:18.766 --> 00:27:21.759
It's hard to pick up Emacs if you do not speak English.

00:27:21.760 --> 00:27:24.679
Can something be done to address that?

00:27:24.680 --> 00:27:28.239
Well, what do you actually suggest?

00:27:28.240 --> 00:27:30.039
Is it the documentation?

00:27:30.040 --> 00:27:34.279
Is it the names of commands?

00:27:34.280 --> 00:27:39.319
Is it the doc strings or is it the manual or both?

00:27:39.320 --> 00:27:43.879
Is it the messages that Emacs displays?

00:27:43.880 --> 00:27:47.679
I mean, each of these is a different issue technically.

00:27:47.680 --> 00:27:51.759
Now, the easiest thing to deal with would be the messages

00:27:51.760 --> 00:27:53.679
because in other GNU packages,

00:27:53.680 --> 00:27:57.639
we have a system for internationalizing messages.

00:27:57.640 --> 00:28:01.079
It's hard to adapt it directly to Emacs

00:28:01.080 --> 00:28:06.199
because it's designed for programs, tools, or applications

00:28:06.200 --> 00:28:09.639
that have a fixed set of messages to display.

00:28:09.640 --> 00:28:12.239
Emacs doesn't. You load in a different Lisp program,

00:28:12.240 --> 00:28:14.359
it's got a different set of messages.

00:28:14.360 --> 00:28:17.119
How exactly do you want to handle this?

00:28:17.120 --> 00:28:18.439
But it could be done.

00:28:18.440 --> 00:28:20.879
It's not a terribly hard problem.

00:28:20.880 --> 00:28:25.559
If you're interested, please work on it.

00:28:25.560 --> 00:28:29.719
What about the command names?

00:28:29.720 --> 00:28:35.319
Well, you could imagine coming up with an alternate set of command names

00:28:35.320 --> 00:28:40.159
and maybe a different character instead of M-x

00:28:40.160 --> 00:28:46.839
so that it would read only the translated command names

00:28:46.840 --> 00:28:51.319
and the ordinary Emacs command names wouldn't get in the way.

00:28:51.320 --> 00:28:57.719
M-x might still be there, but if you type this other thing, M-foobar,

00:28:57.720 --> 00:29:05.799
then it would only complete over the command names in the other language.

00:29:05.800 --> 00:29:10.479
This might be pretty simple to do technically,

00:29:10.480 --> 00:29:16.559
although working out the details might take a good deal of thought.

00:29:16.560 --> 00:29:20.999
And then docstrings?

00:29:21.000 --> 00:29:25.799
Well, you could just write another set of them

00:29:25.800 --> 00:29:28.839
and have other help commands to display them.

NOTE Do you use Org or Org mode, and if so, to what extent?

00:29:28.840 --> 00:29:36.159
Do you use Org or Org mode, and if so, to what extent?

00:29:36.160 --> 00:29:39.759
I have never used them, and here's why.

00:29:39.760 --> 00:29:48.359
I think that the design process of Org mode went awry,

00:29:48.360 --> 00:29:52.959
not at the very beginning, but at the next stage.

00:29:52.960 --> 00:29:56.759
Originally, Org mode was an outlining mode.

00:29:56.760 --> 00:29:58.559
It's not something I wanted to use.

00:29:58.560 --> 00:30:02.999
I had nothing against including it, but I didn't ever try to use it.

00:30:03.000 --> 00:30:08.719
The documentation of it somehow wasn't easy for me to grasp,

00:30:08.720 --> 00:30:11.719
especially since I had no actual use for it,

00:30:11.720 --> 00:30:16.079
no reason to go through and remember all those things.

00:30:16.080 --> 00:30:24.599
Anyway, then people started developing other facilities to use the Org syntax,

00:30:24.600 --> 00:30:27.599
and they're totally unrelated to each other.

00:30:27.600 --> 00:30:30.599
They just happen to use the Org syntax,

00:30:30.600 --> 00:30:34.719
and some of them, occasionally, I thought it might be interesting to use this,

00:30:34.720 --> 00:30:38.639
but to use it, first I'd have to learn the Org syntax,

00:30:38.640 --> 00:30:43.199
and that was a task that had already proved discouraging.

00:30:43.200 --> 00:30:46.759
Now, the mistaken design, I think,

00:30:46.760 --> 00:30:51.159
was to integrate all those other facilities with Org mode.

00:30:51.160 --> 00:30:54.239
They should all have been separate, modularly separate,

00:30:54.240 --> 00:30:59.439
so that you could maybe use them with Org mode if you wanted to,

00:30:59.440 --> 00:31:03.199
but also use them separately from Org mode,

00:31:03.200 --> 00:31:05.279
and they'd be documented separately,

00:31:05.280 --> 00:31:08.999
and those I wanted to use, I would have learned to use.

00:31:09.000 --> 00:31:10.999
But that was hard to do.

00:31:11.000 --> 00:31:16.639
They had been welded together such that it was not easy to separate them.

00:31:16.640 --> 00:31:20.439
I really wish they'd get separated, but that's not an easy job.

00:31:20.440 --> 00:31:23.759
Each one needs to be remodularized.

00:31:23.760 --> 00:31:31.759
Anyway, there is something for which I think Org mode could become an advance.

00:31:31.760 --> 00:31:39.759
I'm not saying it isn't useful for people who like what it does,

00:31:39.760 --> 00:31:46.399
but it might play an important role if it were extended to do it,

00:31:46.400 --> 00:31:53.639
and that is we could use a replacement for Texinfo.

00:31:53.640 --> 00:31:57.639
Texinfo's syntax is arcane.

00:31:57.640 --> 00:32:05.559
It was based on what I could implement on top of TeX in 1984 or so.

00:32:05.560 --> 00:32:15.519
And, well, Org mode, Org syntax doesn't make all the distinctions,

00:32:15.520 --> 00:32:20.599
all the semantic markup distinctions that we can make in Texinfo.

00:32:20.600 --> 00:32:25.839
If it did, which would require extending it,

00:32:25.840 --> 00:32:33.399
then it might become a good format to write GNU manuals in.

00:32:33.400 --> 00:32:37.639
It could conceivably become a better format than we have now,

00:32:37.640 --> 00:32:39.719
and that would be a good thing.

00:32:39.720 --> 00:32:43.599
Not that many people know Texinfo syntax.

00:32:43.600 --> 00:32:47.479
It's not widely used except for GNU manuals.

00:32:47.480 --> 00:32:52.439
But probably more people know Org syntax,

00:32:52.440 --> 00:32:57.239
and if it were extended so that it did in a fairly natural way

00:32:57.240 --> 00:33:02.319
all the things that Texinfo does and maybe some additional ones,

00:33:02.320 --> 00:33:05.279
then it could be superior.

00:33:05.280 --> 00:33:11.239
And then we could gradually switch our manuals over to it.

00:33:11.240 --> 00:33:14.119
But we need to be able to generate all the output formats

00:33:14.120 --> 00:33:15.359
that we can generate now.

00:33:15.360 --> 00:33:19.999
That means HTML to put on websites.

00:33:20.000 --> 00:33:27.159
That means either info files or perhaps another form of the HTML output

00:33:27.160 --> 00:33:30.079
that would be good for an info browser,

00:33:30.080 --> 00:33:34.079
including the one inside Emacs and the one that's separate.

00:33:34.080 --> 00:33:42.479
And generating input to TeX so that it would generate pretty-looking manuals,

00:33:42.480 --> 00:33:46.719
which is one of the advantages of Texinfo.

00:33:46.720 --> 00:33:48.719
This is not a gigantic job.

00:33:48.720 --> 00:33:54.479
I'd say this is a medium-sized job, or maybe two or three medium-sized jobs.

NOTE What do you have in mind for more modular Emacs development?

00:33:54.480 --> 00:34:05.879
What do you have in mind for more modular Emacs development?

00:34:05.880 --> 00:34:13.479
I think that that's...

00:34:13.480 --> 00:34:17.679
There's no specific feature that I have in mind to solve that.

00:34:17.680 --> 00:34:21.719
It's more of an approach to how you develop things.

00:34:21.720 --> 00:34:28.719
It's thinking about modularity when you write each package that you write,

00:34:28.720 --> 00:34:34.119
because you will find situations where it has to interact

00:34:34.120 --> 00:34:37.439
in various ways with other packages.

00:34:37.440 --> 00:34:40.879
And sometimes you'll find the other packages have hooks

00:34:40.880 --> 00:34:42.719
that will enable you to do it.

00:34:42.720 --> 00:34:45.239
And sometimes you'll find that

00:34:45.240 --> 00:34:47.679
the hook you'd really need for this is missing.

00:34:47.680 --> 00:34:52.519
In that case, the best thing to do might be to add

00:34:52.520 --> 00:34:58.479
a suitable, fairly general hook that can be used for your job

00:34:58.480 --> 00:35:00.879
to the other existing package,

00:35:00.880 --> 00:35:08.399
so that instead of a rigid connection to other parts of Emacs,

00:35:08.400 --> 00:35:09.599
which is somewhat unmodular,

00:35:09.600 --> 00:35:12.999
you could use a general-purpose hook,

00:35:13.000 --> 00:35:17.039
which you designed because it could do a lot of things,

00:35:17.040 --> 00:35:19.039
including the thing you need to do.

NOTE Reframing the school question

00:35:19.040 --> 00:35:32.039
It might be interesting to reframe the school question.

00:35:32.040 --> 00:35:34.399
I think it is related to the first part,

00:35:34.400 --> 00:35:36.959
how to bring Libre software into schools.

00:35:36.960 --> 00:35:42.159
For example, my entry point was LaTeX in school.

00:35:42.160 --> 00:35:44.439
Well, it's okay.

00:35:44.440 --> 00:35:50.599
I don't see anything wrong with that, by all means, if it works.

00:35:50.600 --> 00:36:00.479
Now, my naive, perhaps, guess is that it wouldn't arouse much interest,

00:36:00.480 --> 00:36:05.879
because I suspect most people would rather use a WYSIWYG text editor

00:36:05.880 --> 00:36:13.959
than a text formatter like LaTeX, any text formatter.

00:36:13.960 --> 00:36:18.639
But if your experience is otherwise, go ahead.

NOTE In light of that critique of JavaScript not being about the language per se but rather the "culture of blindly getting and running packages/libraries", what's so different with what's currently done by the vast majority of Emacs/Elisp users to just install packages blindly?

00:36:18.640 --> 00:36:28.799
In the light of that critique of JavaScript not being about language per se,

00:36:28.800 --> 00:36:33.759
but rather the culture of blindly getting and running packages, libraries.

00:36:33.760 --> 00:36:36.119
What's so different with what's currently done by the vast

00:36:36.120 --> 00:36:42.199
majority of EmacsLib users to just install packages blindly?

00:36:42.200 --> 00:36:44.199
Well, they know they're installing a package,

00:36:44.200 --> 00:36:46.799
and that makes all the difference.

00:36:46.800 --> 00:36:50.879
And people can post various versions of a package,

00:36:50.880 --> 00:36:53.679
and then people can compare them and say,

00:36:53.680 --> 00:36:59.279
"Hey, I looked at that version there, and it has a horrible bug."

00:36:59.280 --> 00:37:03.959
And so the community can do something about that.

00:37:03.960 --> 00:37:09.519
With JavaScript sent by websites, there is no way to do anything like that.

00:37:09.520 --> 00:37:13.039
And in addition, most of those programs are not free.

00:37:13.040 --> 00:37:16.559
How would you know? If you're not running LibreJS,

00:37:16.560 --> 00:37:20.799
you don't know what JavaScript programs are being installed

00:37:20.800 --> 00:37:25.319
into your browser at any given moment, or whether they're free.

00:37:25.320 --> 00:37:31.119
You know, very likely you'll just get a bunch of obfuscript,

00:37:31.120 --> 00:37:35.559
and you won't know what the source code is, or whether you could even find it.

00:37:35.560 --> 00:37:41.399
These things don't happen with EmacsList packages.

00:37:41.400 --> 00:37:48.799
At least not when they're in reputable package archives.

NOTE Do you still intend to merge your patch to the "shorthands" feature to the master branch?

00:37:48.800 --> 00:37:55.839
Do you still intend to merge your patch to the shorthands feature

00:37:55.840 --> 00:37:57.519
to the master branch?

00:37:57.520 --> 00:38:05.159
Yes, but I've seen that something needs to be done with the docstrings,

00:38:05.160 --> 00:38:17.679
because s.el mentions in its docstrings the function names used in s.el,

00:38:17.680 --> 00:38:27.199
and the magnars string library that works just by renaming those symbols

00:38:27.200 --> 00:38:31.119
really would want to alter the docstrings too.

00:38:31.120 --> 00:38:34.719
And now there are multiple ways of doing that.

00:38:34.720 --> 00:38:39.519
One of them maybe is to edit the s.el source file

00:38:39.520 --> 00:38:42.559
so it'll do the right thing in either case.

00:38:42.560 --> 00:38:48.879
That would need a new docstring construct.

00:38:48.880 --> 00:38:52.159
Well, we've added many docstring constructs.

00:38:52.160 --> 00:38:54.879
We could add one more. It's not that hard a thing.

NOTE Do you think the freedom e.g., we have in Emacs, becomes a hurdle for some people to pursue more important things in the world? I used to do a lot of Emacs programming, but I recently try to stay away from tinkering on Emacs.

00:38:54.880 --> 00:39:05.799
Do you think the freedom, e.g., we have in Emacs becomes a hurdle

00:39:05.800 --> 00:39:09.319
for some people to pursue more important things in the world?

00:39:09.320 --> 00:39:12.359
Is there something more important in the world?

00:39:12.360 --> 00:39:17.399
I used to do a lot of Emacs programming, but recently I decided to stay away

00:39:17.400 --> 00:39:22.199
from tink-linking, from tinking Emacs.

00:39:22.200 --> 00:39:27.159
I'm not sure what-- tinking is a strange word to me, tinkering with maybe.

00:39:27.160 --> 00:39:33.559
Well, there may be more important things for you to do than extend Emacs.

00:39:33.560 --> 00:39:39.239
On the other hand, when you look at all the distractions that the world offers

00:39:39.240 --> 00:39:42.439
that distract a lot more people than this,

00:39:42.440 --> 00:39:47.799
it really seems unfair to criticize Emacs because it's something

00:39:47.800 --> 00:39:50.959
you could put a lot of time into tinkering with.

00:39:50.960 --> 00:39:54.599
Look how much time people put into playing video games,

00:39:54.600 --> 00:39:58.199
which achieves nothing except distracting them.

00:39:58.200 --> 00:40:04.599
And if you distract yourself by playing with Emacs Lisp code,

00:40:04.600 --> 00:40:07.399
that's surely better.

00:40:07.400 --> 00:40:10.919
It has a chance of resulting in something

00:40:10.920 --> 00:40:17.919
actually useful and a chance that you'd learn something

00:40:17.920 --> 00:40:27.919
that's more important as learning than how to win a certain video game.

NOTE Question about software freedom: how does it apply to software that are art/media experiences, like videogames? In your view, Is the creator of a videogame obliged to release it under a free license?

00:40:27.920 --> 00:40:29.919
Questions about software freedom.

00:40:29.920 --> 00:40:34.719
How does it apply to software that are art/media experiences

00:40:34.720 --> 00:40:36.919
like video games in your view?

00:40:36.920 --> 00:40:42.719
Well, I'd say that a video game typically is a collection of things,

00:40:42.720 --> 00:40:49.319
some of which are programs and some of which are art.

00:40:49.320 --> 00:40:54.719
And so once you analyze the game in that way,

00:40:54.720 --> 00:40:59.479
if you agree with my ideas about what the moral rules are

00:40:59.480 --> 00:41:04.319
for each of those categories, you can apply them separately

00:41:04.320 --> 00:41:06.759
to each thing in the collection.

00:41:06.760 --> 00:41:12.279
Programs are operational. They do things for you.

00:41:12.280 --> 00:41:15.879
And anything that does things for you should be free.

00:41:15.880 --> 00:41:20.999
The art that is simply displayed is not of that kind,

00:41:21.000 --> 00:41:26.239
so it doesn't, in my view, have to be free.

00:41:26.240 --> 00:41:29.359
It does have to be shareable.

00:41:29.360 --> 00:41:36.199
You have to be free to non-commercially redistribute an exact copy.

00:41:36.200 --> 00:41:40.039
When I talk about sharing, that's what it means, precisely that.

00:41:40.040 --> 00:41:45.319
Non-commercially redistribute exact copies to others when you wish.

00:41:45.320 --> 00:41:58.359
How would technologies like WebAssembly fit with the JavaScript issues?

00:41:58.360 --> 00:42:00.519
They don't change anything much.

00:42:00.520 --> 00:42:06.079
Basically, if the program is JavaScript source code

00:42:06.080 --> 00:42:09.999
that you could actually read, well, then if it had a free license on it,

00:42:10.000 --> 00:42:11.279
it would be free software.

00:42:11.280 --> 00:42:16.319
And if the free license is indicated in the standardized format

00:42:16.320 --> 00:42:24.959
that LibreJS understands, it would actually recognize it as free software.

00:42:24.960 --> 00:42:30.759
If it's obfuscated, then it's not the source code.

00:42:30.760 --> 00:42:35.599
And if it's WebAssembly, then it's not the source code.

00:42:35.600 --> 00:42:41.999
So those are both compiled versions of source code that isn't in the page.

00:42:42.000 --> 00:42:45.759
So they make things somewhat nastier,

00:42:45.760 --> 00:42:51.159
in the sense that you couldn't have much chance of reading it

00:42:51.160 --> 00:42:52.999
and seeing what it does.

00:42:53.000 --> 00:42:55.479
But either way, it's not free,

00:42:55.480 --> 00:43:00.599
even if it's source code with no free license, it's still not free.

00:43:00.600 --> 00:43:03.639
If it's a compiled version rather than source,

00:43:03.640 --> 00:43:07.359
that's a little further away from being free.

00:43:07.360 --> 00:43:11.599
But further away from being free doesn't make it worse.

00:43:11.600 --> 00:43:13.599
It's equally bad.

00:43:13.600 --> 00:43:18.559
If it gets further away from being free,

00:43:18.560 --> 00:43:23.439
that means the work that you might have to do to free it is more,

00:43:23.440 --> 00:43:26.239
but it's not worse.

00:43:26.240 --> 00:43:28.839
Non-free is bad.

NOTE Have you seen Haketilo? It seems similar to LibreJS.

00:43:35.915 --> 00:43:38.959
Have you seen Haketilo?

00:43:38.960 --> 00:43:41.679
It seems similar to LibreJS.

00:43:41.680 --> 00:43:44.519
Haketilo is meant to enable people

00:43:44.520 --> 00:43:49.199
to get some of the benefits of the free software community

00:43:49.200 --> 00:43:54.439
with free replacement JavaScript programs for websites.

00:43:54.440 --> 00:44:00.879
So potentially it offers a real solution to the JavaScript problem.

00:44:00.880 --> 00:44:05.039
It has a long way to go from what I hear.

00:44:05.040 --> 00:44:07.999
If you want to work on it, please do.

00:44:08.000 --> 00:44:14.159
Of course, writing free replacement JavaScript

00:44:14.160 --> 00:44:16.919
for a million websites is an enormous job,

00:44:16.920 --> 00:44:19.319
but maybe we could do it for some sites.

00:44:19.320 --> 00:44:24.319
It depends how many people get enthusiastic about doing it

00:44:24.320 --> 00:44:25.959
and how many sites cooperate.

00:44:25.960 --> 00:44:32.719
Is writing free software replacement to GitHub Copilot

00:44:32.720 --> 00:44:36.759
with proper license attribution a good idea?

00:44:36.760 --> 00:44:44.959
Maybe, but remember that Copilot is not a program. Copilot is a service.

00:44:44.960 --> 00:44:50.119
It is something that somebody else's computer will do for you.

00:44:50.120 --> 00:44:55.439
It's a computation that someone else's server will do for you when you ask.

00:44:55.440 --> 00:45:06.239
And so what are the practical problems of doing that? I'm not sure.

00:45:06.240 --> 00:45:13.479
The point is, of course, the server runs by running a program.

00:45:13.480 --> 00:45:17.439
The service operates by running programs.

00:45:17.440 --> 00:45:21.119
But still, a service is a very different kind of thing from a program.

00:45:21.120 --> 00:45:28.999
People who use Copilot don't get any sort of copy of Copilot.

00:45:29.000 --> 00:45:33.319
All they do is send something they're working on to that server

00:45:33.320 --> 00:45:34.999
and they get something back.

00:45:35.000 --> 00:45:45.567
So it might be a good idea.

NOTE
Do you have any suggestions for helping propective contributers streamline
the copyright assignment needed to contribute to Emacs (and other FSF software
projects)?

00:45:45.568 --> 00:45:48.359
Do you have any suggestions for helping prospective contributors

00:45:48.360 --> 00:45:53.359
streamline the copyright assignment needed to contribute to Emacs?

00:45:53.360 --> 00:45:57.279
I don't think that's needed.

00:45:57.280 --> 00:46:04.359
Basically, the copyright assignment itself is pretty easy

00:46:04.360 --> 00:46:06.599
and doesn't take very long.

00:46:06.600 --> 00:46:09.919
What is sometimes harder is the copyright disclaimer,

00:46:09.920 --> 00:46:14.959
the employer disclaimer, where your employer,

00:46:14.960 --> 00:46:20.399
if you're employed to program, or if your job includes programming

00:46:20.400 --> 00:46:24.399
or could include programming, we want to be sure that your employer

00:46:24.400 --> 00:46:30.559
is not going to say that you had no right to contribute that to any program

00:46:30.560 --> 00:46:37.799
because it belonged to the employer all along and you broke the rules

00:46:37.800 --> 00:46:42.319
and the project you contributed to is shafted.

00:46:42.320 --> 00:46:50.679
Well, we are working on some simplifications to that text

00:46:50.680 --> 00:46:55.119
in the hope of making it easier to get companies to say yes to it.

00:46:55.120 --> 00:46:59.039
But fundamentally, they've got to say yes to it.

00:46:59.040 --> 00:47:06.279
We need them to say yes to it.

00:47:06.280 --> 00:47:08.719
We can't make them say yes to it.

00:47:08.720 --> 00:47:09.799
We can only ask.

NOTE Can complexity induced by company-funded free/libre code become a problem, when the company pulls out, leaving the code potentially unmaintainable?

00:47:09.800 --> 00:47:13.759
Can complexity induced by company funded...

00:47:13.760 --> 00:47:17.119
Sorry, it talks about open code.

00:47:17.120 --> 00:47:21.359
I don't know what that means.

00:47:21.360 --> 00:47:23.759
Is this talking about free software?

00:47:23.760 --> 00:47:27.759
[Amin]: I think it would be safe to assume that they are indeed

00:47:27.760 --> 00:47:28.959
talking about free software.

00:47:28.960 --> 00:47:34.119
[Richard]: Okay, because I don't use the term open to classify programs.

00:47:34.120 --> 00:47:39.359
I'm not a supporter of open source and I never was.

00:47:39.360 --> 00:47:42.519
And the reason is very important.

00:47:42.520 --> 00:47:50.199
I touched on this briefly in the TEDx video.

00:47:50.200 --> 00:47:58.639
But basically, the idea of the free software movement is that users deserve

00:47:58.640 --> 00:48:04.559
the freedom to study, change and redistribute the code that they use.

00:48:04.560 --> 00:48:09.879
And it is an injustice to deny that to users.

00:48:09.880 --> 00:48:13.719
And therefore, software must be free.

00:48:13.720 --> 00:48:16.159
It's wrong if it's not free.

00:48:16.160 --> 00:48:22.879
Well, the people who created the idea of open source about 14 years later,

00:48:22.880 --> 00:48:27.719
they wanted to avoid bringing up that question.

00:48:27.720 --> 00:48:31.999
And they more or less succeeded when people talk about open source.

00:48:32.000 --> 00:48:38.959
Occasionally, that question has seeped in from the free software community.

00:48:38.960 --> 00:48:41.599
But most of the time, it never occurs to them.

00:48:41.600 --> 00:48:47.519
They simply take for granted that it's legitimate for a program not to be open.

00:48:47.520 --> 00:48:52.759
Well, that's missing the point that I consider most important.

00:48:52.760 --> 00:48:57.679
So whenever I talk about this area, I talk about it in

00:48:57.680 --> 00:49:04.039
terms of free, libre, freedom-respecting software.

00:49:04.040 --> 00:49:09.839
So, can complexity-induced by company-funded free code

00:49:09.840 --> 00:49:12.399
become a problem when the company pulls out,

00:49:12.400 --> 00:49:16.239
leaving the code potentially unmaintainable?

00:49:16.240 --> 00:49:21.999
Well, I'd say over-complicated free programs

00:49:22.000 --> 00:49:24.879
which don't have community contributors

00:49:24.880 --> 00:49:27.359
can fall into that problem.

00:49:27.360 --> 00:49:31.279
It's not limited to programs developed by companies, I think.

NOTE What do you think of Hyperbole or EEV instead of org mode, or other things for the stuff that org mode does "second brain / knowledge base", or GTD 'getting things done' etc... among other things in Emacs or other Emacs packages

00:49:31.280 --> 00:49:42.239
What do you think of Hyperbole or EEV instead of Org mode?

00:49:42.240 --> 00:49:46.759
Well, I don't actually know that much about either of them.

00:49:46.760 --> 00:49:49.439
I don't know what EEV is.

00:49:49.440 --> 00:49:54.257
I've heard of Hyperbole, but it was many years ago that I looked at it,

00:49:54.258 --> 00:49:56.399
and I don't remember what I saw.

00:49:56.400 --> 00:50:03.199
So, I'm sorry I can't have an educated opinion about those specific things.

00:50:03.200 --> 00:50:07.319
It would be interesting for somebody to study that.

00:50:07.320 --> 00:50:10.319
Now, there'd be a lot to study.

00:50:10.320 --> 00:50:14.999
After all, Org mode consists of an outlining mode together

00:50:15.000 --> 00:50:20.119
with lots of other specific features that have been welded onto it.

00:50:20.120 --> 00:50:26.479
And if they were separated, made modular, separate parts of Emacs,

00:50:26.480 --> 00:50:31.599
it would be a lot easier to adapt some of them to work with hyperbole

00:50:31.600 --> 00:50:32.799
if we wanted to.

00:50:32.800 --> 00:50:34.879
Of course, do we want to?

00:50:34.880 --> 00:50:36.359
That's another question.

00:50:36.360 --> 00:50:38.519
What is EEV?

00:50:38.520 --> 00:50:46.279
I think it's similar in many ways to hyperbole.

00:50:46.280 --> 00:50:50.039
I haven't used either of them too much myself, but yeah,

00:50:50.040 --> 00:50:51.759
they are fairly similar as far as I know.

00:50:51.760 --> 00:50:55.759
If they're fairly similar, I guess that brings up the question,

00:50:55.760 --> 00:50:58.319
is either of them actually part of Emacs?

00:50:58.320 --> 00:51:04.639
I think hyperbole is a GNU package.

00:51:04.640 --> 00:51:07.719
I'm not sure if it's part of Emacs or GNU ELPA.

00:51:07.720 --> 00:51:10.879
It might be, but EEV is not as of yet.

00:51:10.880 --> 00:51:12.159
But both are free software.

00:51:12.160 --> 00:51:19.159
Well, it might be that it doesn't make sense to include them both in any sense.

00:51:19.160 --> 00:51:21.159
People can write them and distribute them,

00:51:21.160 --> 00:51:23.679
but that doesn't mean we need to pick them up.

00:51:23.680 --> 00:51:28.359
We might want to compare them and see which one is better

00:51:28.360 --> 00:51:32.799
and then look at whether it could be improved further

00:51:32.800 --> 00:51:35.319
by bringing in features from the other.

00:51:35.320 --> 00:51:40.199
This is what you do if those two things exist

00:51:40.200 --> 00:51:42.519
and you want to make the best possible thing

00:51:42.520 --> 00:51:44.999
to add, for instance, to Emacs.

00:51:45.000 --> 00:51:56.319
But since I don't know any specifics anymore, and with EEV I never did,

00:51:56.320 --> 00:52:01.639
I don't want to state any sort of a priori preference.

00:52:01.640 --> 00:52:06.250
I don't have one.

NOTE Are there plans to bring modal editing (eg. evil-mode, viper) to Emacs core and did your opinion on modal editing change over the years?

00:52:06.251 --> 00:52:10.959
Are there plans to bring modal editing to Emacs core?

00:52:10.960 --> 00:52:11.759
What does that mean?

00:52:11.760 --> 00:52:19.399
[Amin]: I think they're speaking about projects or editing modes such as VI,

00:52:19.400 --> 00:52:23.639
where by default whatever you type is not getting inserted,

00:52:23.640 --> 00:52:28.319
but you can navigate between different modes

00:52:28.320 --> 00:52:30.199
and one of them being text insertion.

00:52:30.200 --> 00:52:35.759
[Richard]: Well, I don't have a wish for that.

00:52:35.760 --> 00:52:38.399
Now, I mean, it's not somehow morally anathema.

00:52:38.400 --> 00:52:49.279
I mean, it's not as if it were a non-free program.

00:52:49.280 --> 00:52:58.439
But it wouldn't be easy to design that in such a way that

00:52:58.440 --> 00:53:02.999
it fit into the framework of existing Emacs without doing any violence to it.

NOTE What is your opinion on the current state of large machine
learning/AI models?

00:53:03.000 --> 00:53:16.719
What is your opinion of the current state of large machine learning models?

00:53:16.720 --> 00:53:20.919
Even if the model is released under a free license,

00:53:20.920 --> 00:53:25.399
it cannot be modified in a meaningful way?

00:53:25.400 --> 00:53:29.039
I don't think that's true.

00:53:29.040 --> 00:53:33.279
A person who was in the field of machine learning

00:53:33.280 --> 00:53:35.839
told me that you can modify it.

00:53:35.840 --> 00:53:38.999
You can modify it by starting with what you've got

00:53:39.000 --> 00:53:40.839
and doing some further training,

00:53:40.840 --> 00:53:47.159
and you don't need, I'm told, the previously used training data to train it,

00:53:47.160 --> 00:53:49.439
to modify it.

00:53:49.440 --> 00:53:53.399
Based on that, I concluded that the trained neural network

00:53:53.400 --> 00:53:56.879
can be treated as source code.

00:53:56.880 --> 00:54:01.079
And after all, it's not made from any other kind of source code.

00:54:01.080 --> 00:54:04.839
So, in some sense, what else could the source code be?

NOTE I thought it was a virtue to separate the content from the style or
appearance of information. Part of being free is also to view information in the
format that you want. Does your WYSIWYG idea erode this virtue and lead to more
thinking -- perhaps undue thinking about style over substance?

00:54:14.302 --> 00:54:17.519
I thought it was a virtue to separate the content

00:54:17.520 --> 00:54:19.719
from the style or appearance of information.

00:54:19.720 --> 00:54:24.759
Part of being free is also to view information in the format you want.

00:54:24.760 --> 00:54:29.959
Does your WYSIWYG idea erode this virtue and lead to more thinking,

00:54:29.960 --> 00:54:34.359
perhaps undue thinking about style over substance?

00:54:34.360 --> 00:54:38.919
Well, I don't know, actually.

00:54:38.920 --> 00:54:43.959
I know that in LibreOffice you can make named styles,

00:54:43.960 --> 00:54:46.959
and you can apply them to parts of the text,

00:54:46.960 --> 00:54:51.239
and later on you can change what any given named style

00:54:51.240 --> 00:54:53.719
means in terms of appearance.

00:54:53.720 --> 00:55:03.319
So, is that enough independence of appearance from semantics?

00:55:03.320 --> 00:55:06.319
I am hardly a power user of LibreOffice.

00:55:06.320 --> 00:55:09.239
I've come across that feature. I've never used it.

00:55:09.240 --> 00:55:17.559
The only things I write with it are pretty simple.

00:55:17.560 --> 00:55:23.519
I have a feeling that I've been doing this for a rather long time.

00:55:23.520 --> 00:55:27.279
Do you recall when I started answering questions?

00:55:27.280 --> 00:55:29.799
I think it was something like an hour ago.

00:55:29.800 --> 00:55:35.759
Yeah, I think so. About an hour or 45 minutes-ish.

00:55:35.760 --> 00:55:38.839
Well, then I'll do a few questions more.

NOTE Do you ever dabble in retro-computing, e.g. logging into TOPS10/20 systems SDF, etc?

00:55:38.840 --> 00:55:42.679
Do you ever dabble in retrocomputing?

00:55:42.680 --> 00:55:47.319
No. I decided it's a waste of time.

00:55:47.320 --> 00:55:51.759
It basically would be tinkering that would not develop

00:55:51.760 --> 00:55:56.039
anything of any importance or use.

00:55:56.040 --> 00:56:02.839
And I know that if I'm going to enjoy developing something,

00:56:02.840 --> 00:56:06.079
I could enjoy it developing anything.

00:56:06.080 --> 00:56:10.239
You know, I could enjoy just as much developing something

00:56:10.240 --> 00:56:17.199
that I think is needed right now for non-retrocomputing

00:56:17.200 --> 00:56:20.679
as I could enjoy working on retrocomputing.

00:56:20.680 --> 00:56:26.079
So I decided never to let retrocomputing

00:56:26.080 --> 00:56:30.759
distract my attention from useful computing.

NOTE Do you know Gemini?

00:56:38.196 --> 00:56:40.359
Do you know the Gemini Project -

00:56:40.360 --> 00:56:45.239
a network of very simplified markdown-like text files without images

00:56:45.240 --> 00:56:52.759
and third-party materials transmitted via an open public free protocol,

00:56:52.760 --> 00:56:56.519
which is not HTTPS?

00:56:56.520 --> 00:56:58.839
I don't remember if I ever heard of that before.

00:56:58.840 --> 00:57:02.639
Sorry, I have no opinion about it.

00:57:02.640 --> 00:57:10.799
But I think that the lack of images will turn out to be a considerable drawback.

00:57:10.800 --> 00:57:14.159
I mean, imagine a website.

00:57:14.160 --> 00:57:19.439
Well, there are lots of reasons you might want to put in images.

00:57:19.440 --> 00:57:27.559
It's not limited just to making it look snazzy and distracting.

00:57:27.560 --> 00:57:32.159
There are a lot of pictures you might want to include and diagrams,

00:57:32.160 --> 00:57:37.719
and scientific papers include pictures and diagrams.

00:57:37.720 --> 00:57:41.359
It would be crippling if they couldn't be in there.

00:57:41.360 --> 00:57:46.519
So basically, I think that exclusion of images is a big loss.

00:57:46.520 --> 00:57:56.879
[Amin]: Thanks. I think that's so far all the questions I see on the pad,

00:57:56.880 --> 00:58:00.319
but let's give it maybe another minute or two

00:58:00.320 --> 00:58:04.479
if people have any other question or two to get in before we call this close.

NOTE stallmansupport.org

00:58:04.480 --> 00:58:27.520
[Richard] Well, I'd like to mention that if you've heard

00:58:27.521 --> 00:58:43.959
rumors of attacks against me that people have made, it's mostly false,

00:58:43.960 --> 00:58:50.079
and you can find out more by looking at stallmansupport.org.

00:58:50.080 --> 00:58:55.359
So I refer you there, and I hope you'll take a look.

00:58:55.360 --> 00:59:04.639
[Amin]: Yes, thank you.

00:59:04.640 --> 00:59:08.599
All right, I think that's pretty much all the questions that we have.

00:59:08.600 --> 00:59:10.559
Thanks again, Richard, both for your great talk

00:59:10.560 --> 00:59:14.319
and also for taking this much time answering so many questions.

00:59:14.320 --> 00:59:17.999
We really appreciate it.

00:59:18.000 --> 00:59:21.639
[Richard]: Well, this is what I do.

00:59:21.640 --> 00:59:28.839
GNU and the Free Software Movement are what I've dedicated my life to,

00:59:28.840 --> 00:59:34.679
and since I'm still alive, I've got more to dedicate to them.

00:59:34.680 --> 00:59:40.319
[Amin]: Wonderful, and we all hope that it keeps on coming

00:59:40.320 --> 00:59:43.839
and you're able to continue for a very long time into the future.

00:59:43.840 --> 00:59:46.079
[Richard]: Happy hacking.

00:59:46.080 --> 00:59:49.960
[Amin]: Happy hacking. Bye.