summaryrefslogtreecommitdiffstats
path: root/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--main.vtt
blob: 3f7600e1588805577ab186a3a269ab6b03b97b54 (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
WEBVTT

00:11.610 --> 00:13.974
Hello EmacsConf! Hello world!

00:13.974 --> 00:15.940
Today I will talk to you about 

00:15.940 --> 00:19.040
how Emacs made me appreciate 

00:19.040 --> 00:20.900
software freedom.

00:20.900 --> 00:24.180
My name is Protesilaos, also known as "Prot".

00:24.180 --> 00:28.430
I am joining you from the mountains of Cyprus.

00:28.430 --> 00:30.274
Cyprus is an island 

00:30.274 --> 00:32.940
in the Eastern Mediterranean Sea.

00:32.940 --> 00:35.107
So let's remove this header 

00:35.107 --> 00:37.174
from the top of the presentation 

00:37.174 --> 00:40.307
and proceed with today's talk. 

00:40.307 --> 00:41.907
In that header, you can find a link

00:41.907 --> 00:45.974
to my website, protesilaos.com .

00:45.974 --> 00:50.207
My presentation focuses on the intersection

00:50.207 --> 00:52.210
between software freedom

00:52.210 --> 00:55.890
and what we find in the Emacs milieu.

00:55.890 --> 00:57.640
Here "the Emacs milieu" 

00:57.640 --> 01:00.507
encompasses two magnitudes:

01:00.507 --> 01:03.320
(i) the program we use and

01:03.320 --> 01:06.740
(ii) the diverse, global community of people

01:06.740 --> 01:10.530
that has grown organically around it.

01:10.530 --> 01:12.007
I will talk to you about 

01:12.007 --> 01:13.707
how Emacs made me appreciate

01:13.707 --> 01:14.940
software freedom

01:14.940 --> 01:16.674
and helped me exercise it

01:16.674 --> 01:19.830
to its full potential.

01:19.830 --> 01:21.440
Personal anecdotes are not 

01:21.440 --> 01:23.650
the main focus of this talk.

01:23.650 --> 01:26.740
Rather, they serve the ancillary role 

01:26.740 --> 01:31.470
of making certain insights more relatable.

01:31.470 --> 01:34.574
The presentation is theoretical in nature

01:34.574 --> 01:38.430
and targeted at a general audience.

01:38.430 --> 01:42.020
No knowledge of programming is required.

01:42.020 --> 01:43.840
It is assumed, however, 

01:43.840 --> 01:45.374
that you are familiar 

01:45.374 --> 01:47.074
with some basic concepts,

01:47.074 --> 01:50.707
such as the fact that Emacs is extended

01:50.707 --> 01:53.507
with the Emacs Lisp programming language, 

01:53.507 --> 01:56.807
or that Emacs is a GNU project 

01:56.807 --> 02:02.450
that champions end-user software freedom.

02:02.450 --> 02:04.574
Let's start with a few words about me 

02:04.574 --> 02:07.280
before elaborating further.

02:07.280 --> 02:11.540
I was born in Greece in 1988 

02:11.540 --> 02:13.379
and was raised there.

02:13.379 --> 02:16.307
As a kid I was not into

02:16.307 --> 02:19.207
tech-related activities. Not at all.

02:20.480 --> 02:22.973
All I cared about was playing football

02:22.973 --> 02:26.440
(association football, also known as soccer) 

02:26.440 --> 02:29.840
and staying outdoors.

02:29.840 --> 02:33.074
My formal education is in the humanities

02:33.074 --> 02:35.690
(or else, the liberal arts).

02:35.690 --> 02:38.040
I had a career in politics.

02:38.040 --> 02:41.107
I lived in Brussels, Belgium 

02:41.107 --> 02:42.840
where I worked at the 

02:42.840 --> 02:46.050
European Parliament, among others.

02:46.050 --> 02:49.774
+ After some intense soul-searching, 

02:49.774 --> 02:52.607
I realised I did not want to be 

02:52.607 --> 02:55.040
a political operator any more 

02:55.040 --> 02:59.950
and made radical changes in my life.

02:59.950 --> 03:02.207
I have since come to terms with the fact 

03:02.207 --> 03:04.709
that I am a philosopher.

03:04.709 --> 03:07.640
I am not a programmer.

03:07.640 --> 03:10.709
Neither by trade nor education.

03:10.709 --> 03:13.140
I code for leisure.

03:13.140 --> 03:17.370
I was not tech-savvy until my mid-20s.

03:17.370 --> 03:20.740
I have been using GNU/Linux distributions

03:20.740 --> 03:24.180
since the summer of 2016.

03:24.180 --> 03:26.374
While I switched to Emacs full-time 

03:26.374 --> 03:30.190
in the summer of 2019.

03:30.190 --> 03:31.840
Before that switch, I was running

03:31.840 --> 03:33.774
a bespoke environment

03:33.774 --> 03:36.907
that involved several standalone programs

03:36.907 --> 03:41.360
like Vim, Tmux, and a tiling window manager.

03:41.360 --> 03:44.874
I am the creator and maintainer 

03:44.874 --> 03:47.340
of the modus-themes package.

03:47.340 --> 03:50.707
The themes are modus-operandi 

03:50.707 --> 03:52.440
and modus-vivendi,

03:52.440 --> 03:53.874
but they are grouped together

03:53.874 --> 03:57.007
in the package called modus-themes.

03:57.760 --> 03:59.274
These are designed to conform

03:59.274 --> 04:01.840
with the highest accessibility standard 

04:01.840 --> 04:05.007
for legibility, and optionally 

04:05.007 --> 04:07.007
support the needs of users 

04:07.007 --> 04:09.269
with red-green colour deficiency

04:09.269 --> 04:12.307
(deuteranopia, as it is known).

04:12.307 --> 04:14.940
The themes are built into 

04:14.940 --> 04:17.579
Emacs version 28 or higher.

04:17.579 --> 04:19.574
A section of my website 

04:19.574 --> 04:21.307
is dedicated to them

04:21.307 --> 04:23.840
as well as to all my other 

04:23.840 --> 04:27.620
Emacs-related contributions.

04:27.620 --> 04:30.274
For the remainder of this 40-minute talk,

04:30.274 --> 04:31.907
I will explain how Emacs 

04:31.907 --> 04:34.240
made me appreciate software freedom, 

04:34.240 --> 04:36.374
how it empowers me 

04:36.374 --> 04:38.924
in my day-to-day computing,

04:38.924 --> 04:40.374
and the lessons I have drawn 

04:40.374 --> 00:04:44.206
from that liberating experience.

04:44.207 --> 04:47.174
So let's proceed to the body

04:47.174 --> 04:48.407
of this presentation,

04:48.407 --> 04:51.740
and the first section is titled:

04:51.740 --> 04:54.807
"The inherent Emacs qualities 

04:54.807 --> 04:56.860
for an autodidact."

04:56.860 --> 05:00.440
Emacs has this reputation 

05:00.440 --> 05:02.774
of being extremely hard to learn 

05:02.774 --> 05:06.469
and difficult to get started with.

05:06.469 --> 05:08.140
So how does someone like me, 

05:08.140 --> 05:10.607
who was not even tech-literate 

05:10.607 --> 05:11.907
a few years ago,

05:11.907 --> 05:15.120
go on to use Emacs effectively?

05:15.120 --> 05:16.640
How do you start from zero,

05:16.640 --> 05:19.140
with no knowledge of ELisp

05:19.140 --> 05:22.174
and with only a rudimentary understanding

05:22.174 --> 05:23.474
of programming, 

05:23.474 --> 05:25.974
to eventually maintain packages for Emacs, 

05:25.974 --> 05:29.430
and even contribute directly to emacs.git

05:29.430 --> 05:32.710
and other sources?

05:32.710 --> 05:35.207
The answer to these and related questions

05:35.207 --> 05:37.974
lies in the very description of Emacs

05:37.974 --> 05:41.539
as a "self-documenting" piece of software.

05:41.539 --> 05:45.574
It means that Emacs has a robust Help system 

05:45.574 --> 05:48.207
which informs you about the state 

05:48.207 --> 05:50.930
of a given construct.

05:50.930 --> 05:53.574
Such as what the original and current values

05:53.574 --> 05:56.430
of a variable are.

05:56.430 --> 05:58.574
Or whether some function is being "advised",

05:58.574 --> 05:59.640
as it is known,

05:59.640 --> 06:02.440
else, dynamically adjusted, 

06:02.440 --> 06:04.074
by another function,

06:04.074 --> 06:08.939
and what that advice amounts to.

06:08.939 --> 06:10.907
The self-documenting nature of Emacs 

06:10.907 --> 06:12.407
is combined with the fact 

06:12.407 --> 06:16.319
that it consists of free software.

06:16.319 --> 06:18.040
Not only do we get information 

06:18.040 --> 06:19.540
about what Emacs knows, 

06:19.540 --> 06:22.009
but have the underlying code

06:22.009 --> 06:24.099
readily available to us.

06:24.099 --> 06:26.840
For example, every Help buffer 

06:26.840 --> 06:29.107
provides a link to the source 

06:29.107 --> 06:31.490
of the item it references.

06:31.490 --> 06:37.960
We can study that and edit it as we wish.

06:37.960 --> 06:39.340
Self-documentation and free software 

06:39.340 --> 06:41.307
are blended together 

06:41.307 --> 06:45.007
with a third quality of Emacs: 

06:45.007 --> 06:48.174
its implementation as a Lisp machine,

06:48.174 --> 06:52.440
or else, its ability to evaluate Lisp code

06:52.440 --> 06:56.129
and make use of it directly.

06:56.129 --> 06:58.774
The ubiquity and uniformity 

06:58.774 --> 07:00.307
of the Lisp interpreter,

07:00.307 --> 07:04.007
together with the immediacy of its results 

07:04.007 --> 07:06.580
help one learn how to use Emacs

07:06.580 --> 07:10.360
and how to write Emacs Lisp expressions.

07:10.360 --> 07:13.474
For someone who is self-taught like me

07:13.474 --> 07:15.307
and who often learns through 

07:15.307 --> 07:17.507
a process of trial and error, 

07:17.507 --> 07:20.589
this is of great value.

07:20.589 --> 07:23.074
Learning how to use Emacs 

07:23.074 --> 07:25.007
and how to write in ELisp 

07:25.007 --> 07:27.707
is the basic skillset you need

07:27.707 --> 07:30.474
to also start extending Emacs 

07:30.474 --> 07:32.140
for your own use, 

07:32.140 --> 07:34.807
or even for publishing packages 

07:34.807 --> 07:36.607
and making contributions

07:36.607 --> 07:40.490
to emacs.git directly.

07:40.490 --> 07:42.840
That is because the skills you acquire 

07:42.840 --> 07:46.974
by tinkering with your init.el as a beginner 

07:46.974 --> 07:49.207
will always stay with you 

07:49.207 --> 07:53.550
throughout your time as an Emacs user.

07:53.550 --> 07:56.210
That is empowering in itself.

07:56.210 --> 07:58.593
It rewards your investment 

07:58.593 --> 08:00.270
in time and effort.

08:00.270 --> 08:01.374
The more you learn, 

08:01.374 --> 08:03.340
the more capable you become 

08:03.340 --> 08:06.007
to enact change, 

08:06.007 --> 08:08.074
to configure things to your liking 

08:08.074 --> 08:11.974
and develop the exact workflow that you want 

08:11.974 --> 08:16.569
without making any compromises.

08:16.569 --> 08:18.507
Compare that to, say,

08:18.507 --> 08:21.449
my tiling window manager.

08:21.449 --> 08:24.479
I can configure it with a shell script.

08:24.479 --> 08:29.689
So I learn POSIX shell or, let's say, Bash.

08:29.689 --> 08:31.804
But my knowledge of the shell

08:31.804 --> 08:34.072
does not extend to modifying 

08:34.072 --> 08:37.593
the behaviour of the window manager as such, 

08:37.593 --> 08:40.471
because that is not implemented 

08:40.471 --> 08:42.140
as a shell script, 

08:42.140 --> 08:44.250
but in another language.

08:44.250 --> 08:46.942
So for an autodidact like me, 

08:46.942 --> 08:49.634
it is more difficult to learn 

08:49.634 --> 08:51.430
yet another paradigm

08:51.430 --> 08:54.860
before I can achieve what I want.

08:54.860 --> 08:57.342
How do you make that extra step 

08:57.342 --> 08:59.437
without self-documentation 

08:59.437 --> 09:02.605
and the immediacy as well as transparency 

09:02.605 --> 09:04.307
that you get from 

09:04.307 --> 09:06.850
the Emacs Lisp interpreter?

09:06.850 --> 09:10.029
It is more demanding,

09:10.029 --> 09:12.843
which makes Emacs comparatively easier

09:12.843 --> 09:14.274
when we account for 

09:14.274 --> 00:09:17.106
the longer-term effort involved.

09:17.107 --> 09:21.410
Let's move to the next section:

09:21.410 --> 09:24.640
"The interconnectedness of the Emacs space."

09:24.640 --> 09:27.607
As I already mentioned, 

09:27.607 --> 09:28.874
Emacs rewards you 

09:28.874 --> 09:31.374
for the investment in time and effort 

09:31.374 --> 09:33.649
you put into it.

09:33.649 --> 09:34.891
In my experience, 

09:34.891 --> 09:36.707
this makes it easier to master

09:36.707 --> 09:38.007
than a combination 

09:38.007 --> 09:40.434
of otherwise disparate tools,

09:40.434 --> 09:42.649
each with its own paradigm 

09:42.649 --> 09:45.440
of interaction and particularities

09:45.440 --> 09:48.350
of implementation.

09:48.350 --> 09:50.035
Before switching to Emacs, 

09:50.035 --> 09:51.507
I was using a combination 

09:51.507 --> 09:53.640
of standalone programs 

09:53.640 --> 09:56.274
as part of a bespoke computing environment 

09:56.274 --> 09:58.860
that I had pieced together.

09:58.860 --> 10:00.507
The program called "Mutt" 

10:00.507 --> 10:02.140
would handle my emails, 

10:02.140 --> 10:06.440
Newsboat dealt with my RSS feeds, 

10:06.440 --> 10:08.407
the Music Player Daemon 

10:08.407 --> 10:10.907
took care of my music collection, 

10:10.907 --> 10:12.207
while I was doing work

10:12.207 --> 10:14.507
inside of a terminal emulator 

10:14.507 --> 10:17.707
which was running a multiplexer (tmux) 

10:17.707 --> 10:22.959
and Vim for on-the-fly text editing.

10:22.959 --> 10:25.707
Each of these, and others related to them,

10:25.707 --> 10:29.290
are fine in their own right.

10:29.290 --> 10:32.507
But their gestalt, their combined form, 

10:32.507 --> 10:35.680
leaves something to be desired.

10:35.680 --> 10:38.174
Their lack of homogeneity 

10:38.174 --> 10:40.800
meant that I could not develop

10:40.800 --> 10:43.240
portable skills between them. 

10:43.240 --> 10:45.740
There is no inter-operability.

10:46.329 --> 10:48.140
What holds true in Vim

10:48.140 --> 10:50.210
does not apply to the multiplexer.

10:50.210 --> 10:53.240
The prevalent methods in the email client 

10:53.240 --> 10:59.140
cannot be used in the RSS reader, and so on.

10:59.140 --> 10:59.940
Whereas everything 

10:59.940 --> 11:02.207
that is implemented in ELisp 

11:02.207 --> 11:04.440
partakes in the same environment 

11:04.440 --> 11:05.540
automatically.

11:05.540 --> 11:08.574
If, say, you know how to 

11:08.574 --> 11:10.174
use keyboard macros to edit code, 

11:10.174 --> 11:12.274
you already know how to 

11:12.274 --> 11:13.507
use the exact same skill to, 

11:13.507 --> 11:19.221
for example, create and delete windows 

11:19.221 --> 11:23.219
in a process that involves text editing 

11:23.219 --> 11:25.107
and some elaborate

11:25.107 --> 11:27.340
file management operations

11:27.340 --> 11:30.607
with Emacs's directory editor program, 

11:30.607 --> 11:33.107
or file manager, Dired. 

11:33.107 --> 11:35.307
If you have a command 

11:35.307 --> 11:38.374
that scrolls down half a screen, 

11:38.374 --> 11:40.174
it immediately works in all your buffers,

11:40.174 --> 11:44.140
regardless of whether their major mode 

11:44.140 --> 11:46.674
is about reading emails, editing text, 

11:46.674 --> 11:51.269
enqueuing songs to a playlist, and so on.

11:51.269 --> 11:55.582
Emacs provides a level of integration 

11:55.582 --> 11:58.420
that I consider peerless.

11:58.420 --> 12:00.471
Everything the user deals with 

12:00.471 --> 12:02.060
is implemented in ELisp.

12:02.060 --> 12:04.402
And all the user edits 

12:04.402 --> 12:07.459
is ultimately done with ELisp.

12:07.459 --> 12:10.463
As such, the environment itself 

12:10.463 --> 12:13.749
provides the conditions for drawing

12:13.749 --> 12:15.774
linkages between different,

12:15.774 --> 12:18.540
yet [consubstantial], 

12:18.540 --> 12:21.339
modes of interaction.

12:21.339 --> 12:25.040
For example, I use bongo.el

12:25.040 --> 12:26.406
to play back songs 

12:26.406 --> 12:29.110
from my music collection.

12:29.110 --> 12:30.340
My ~/Music directory 

12:30.340 --> 12:33.440
is configured to have a special minor mode, 

12:33.440 --> 12:36.440
so when I access it with dired,

12:36.440 --> 12:38.407
it has commands that allow me

12:38.407 --> 12:41.140
to enqueue albums/songs

12:41.140 --> 12:42.074
to a playlist, 

12:42.074 --> 12:44.999
create playlists, et cetera.

12:44.999 --> 12:48.307
Also, I have an org-capture template 

12:48.307 --> 12:51.174
which lets me store the details 

12:51.174 --> 12:53.274
of the currently playing track

12:53.274 --> 12:57.189
and tag it accordingly.

12:57.189 --> 12:59.603
Continuing with the example of Bongo, 

12:59.603 --> 13:00.810
I make it interface

13:00.810 --> 13:04.210
with my RSS reader, elfeed.el, 

13:04.210 --> 13:06.953
by having the latter add 

13:06.953 --> 13:09.469
podcast and video links 

13:09.469 --> 13:12.720
to the former's playback queue.

13:12.720 --> 13:14.131
All this is done 

13:14.131 --> 13:15.709
by simply re-using 

13:15.709 --> 13:18.283
the same Emacs Lisp skills I learnt 

13:18.283 --> 13:23.120
while configuring and extending Emacs.

13:23.120 --> 13:26.989
The interconnectedness of the Emacs space

13:26.989 --> 13:29.160
empowers the end-user.

13:29.160 --> 13:33.149
It makes such emergent workflows possible.

13:33.149 --> 13:35.359
And the best part is

13:35.359 --> 13:38.334
there are no dirty hacks involved: 

13:38.334 --> 13:41.690
it is an innate feature of the system.

13:41.690 --> 13:43.840
You are leveraging the freedom 

13:43.840 --> 13:45.107
that Emacs gives you 

13:45.107 --> 13:49.240
in a way that confers agency on you.

13:49.240 --> 13:50.970
You assume the initiative.

13:50.970 --> 13:53.707
It gives you confidence 

13:53.707 --> 13:55.340
to continue honing your skills 

13:55.340 --> 13:58.807
in anticipation of further optimising---

13:58.807 --> 13:59.807
and controlling in full---

13:59.807 --> 00:14:07.873
your own integrated computing environment.

14:07.874 --> 14:09.600
Next section:

14:09.600 --> 14:12.629
the documentation culture 

14:12.629 --> 14:15.309
of the Emacs community.

14:15.309 --> 14:17.107
If what I have mentioned thus far 

14:17.107 --> 14:19.140
was all there was 

14:19.140 --> 14:20.007
to the Emacs experience,

14:20.007 --> 14:21.440
there would still be

14:21.440 --> 14:24.209
something to be desired.

14:24.209 --> 14:26.721
Because while self-documentation is great, 

14:26.721 --> 14:28.808
it is meant to draw from---

14:28.808 --> 14:30.741
and be a complement to---

14:30.741 --> 14:32.829
some hand-written material.

14:32.829 --> 14:35.807
Both new and existing users

14:35.807 --> 14:37.380
must be able to read 

14:37.380 --> 14:41.740
what something is supposed to do,

14:41.740 --> 14:42.774
what its main points of entry are, 

14:42.774 --> 14:47.279
how it relates to other parts, and so on.

14:47.279 --> 14:50.181
This is about the human aspect of Emacs, 

14:50.181 --> 14:52.280
the strong documentation culture 

14:52.280 --> 14:53.425
of its community, 

14:53.425 --> 14:55.589
rather than an irreducible feature

14:55.589 --> 14:58.839
of the program we use.

14:58.839 --> 15:02.393
As a matter of packaging etiquette, 

15:02.393 --> 15:06.552
every non-trivial form in an Elisp library

15:06.552 --> 15:09.920
must have a documentation string.

15:09.920 --> 15:12.785
What a variable or function does

15:12.785 --> 15:16.189
needs to be spelt out in clear terms.

15:16.189 --> 15:17.788
Furthermore, the best 

15:17.788 --> 15:20.333
and most well-maintained packages, 

15:20.333 --> 15:22.507
whether those are built into Emacs

15:22.507 --> 15:24.440
or distributed via

15:24.440 --> 15:27.540
an Emacs Lisp Package Archive,

15:27.540 --> 15:28.674
also known as ELPA,

15:28.674 --> 15:33.350
come with their own Info manual.

15:33.350 --> 15:34.944
Unlike a generic README, 

15:34.944 --> 15:37.112
those manuals are more like 

15:37.112 --> 15:38.738
fully fledged books, 

15:38.738 --> 15:42.146
with a table of contents, cross-references, 

15:42.146 --> 15:45.107
and indices for concepts, functions, 

15:45.107 --> 15:47.189
variables, key bindings...

15:47.189 --> 15:49.555
In short, there is a tradition 

15:49.555 --> 15:52.262
around programming with Emacs Lisp

15:52.262 --> 15:55.387
which values informative,

15:55.387 --> 15:58.451
high-quality guidelines 

15:58.451 --> 16:01.389
intended for end-users.

16:01.389 --> 16:02.274
Apart from what

16:02.274 --> 16:04.684
each individual package does,

16:04.684 --> 16:06.712
Emacs itself ships with 

16:06.712 --> 16:10.174
a helpful tutorial for newcomers, 

16:10.174 --> 16:11.374
a comprehensive manual, 

16:11.374 --> 16:14.940
a book targeted at non-programmers 

16:14.940 --> 16:17.474
titled "An Introduction to

16:17.474 --> 16:20.107
Programming in Emacs Lisp",

16:20.107 --> 16:21.307
as well as a reference manual 

16:21.307 --> 16:24.290
for Emacs Lisp itself.

16:24.290 --> 16:25.999
All this material, 

16:25.999 --> 16:28.699
all that wealth of knowledge, 

16:28.699 --> 16:31.605
is readily available to the end-user

16:31.605 --> 16:34.350
through the built-in Info reader.

16:34.350 --> 16:37.936
The details on how to access the Info reader

16:37.936 --> 16:40.512
are already explained 

16:40.512 --> 16:45.080
in the initial learn-by-doing tutorial.

16:45.080 --> 16:47.440
For people like me who are self-taught, 

16:47.440 --> 16:51.408
the documentation culture of the community

16:51.408 --> 16:55.600
ensures that we are not left behind.

16:55.600 --> 16:56.840
It gives us the chance 

16:56.840 --> 16:59.011
to learn from the experts

16:59.011 --> 17:03.639
and to become better ourselves.

17:03.639 --> 17:06.340
Writing concise and clear documentation 

17:06.340 --> 17:09.474
is also beneficial for those who do it: 

17:09.474 --> 17:10.707
it helps them clarify their ideas

17:10.707 --> 17:17.250
and improve their communication skills.

17:17.250 --> 17:19.868
These contribute to fostering 

17:19.868 --> 17:22.399
a more humane social element.

17:22.399 --> 17:25.774
In my experience, the Emacs community 

17:25.774 --> 17:30.646
has a propensity against

17:30.646 --> 17:32.149
becoming elitist.

17:32.149 --> 17:34.907
It helps integrate new members 

17:34.907 --> 17:37.732
by not hiding anything from them,

17:37.732 --> 17:39.040
on top of Emacs' inherent 

17:39.040 --> 17:43.470
emancipatory qualities, as described before

17:43.470 --> 17:46.374
(self-documentation, Elisp interpreter,

17:46.374 --> 17:47.960
free software).

17:47.960 --> 17:49.807
At the same time, 

17:49.807 --> 17:52.899
the community strives for excellence,

17:52.899 --> 17:54.840
so it expects newcomers

17:54.840 --> 17:56.940
to do their part in reading

17:56.940 --> 18:00.680
what is generously offered to them.

18:00.680 --> 18:01.940
There is a difference between 

18:01.940 --> 18:03.240
sharing knowledge

18:03.240 --> 18:06.740
and spoon-feeding it to users.

18:06.740 --> 18:09.140
The latter method, that of spoon-feeding, 

18:09.140 --> 18:11.499
keeps users dependent on it

18:11.499 --> 18:14.574
and is thus detrimental to them

18:14.574 --> 18:15.940
in the long run.

18:15.940 --> 18:18.374
The Emacs community 

18:18.374 --> 18:20.507
disseminates what it knows

18:20.507 --> 18:23.974
and wants newcomers to assume agency

18:23.974 --> 18:26.907
and be responsible for doing their part

18:26.907 --> 18:30.740
in learning how things work.

18:30.740 --> 18:33.307
The community's documentation culture

18:33.307 --> 18:36.074
and uncompromising standards 

18:36.074 --> 18:37.674
ensure that even

18:37.674 --> 18:41.174
once-unskilled users like me

18:41.174 --> 18:43.707
can become productive with Emacs

18:43.707 --> 18:46.574
and unleash its full potential.

18:46.574 --> 18:50.488
What newcomers need is commitment 

18:50.488 --> 00:18:55.039
and an open mind to study what they have.

18:55.040 --> 18:58.269
Next section:

18:58.269 --> 18:59.707
"The Promethean Ideal 

18:59.707 --> 19:05.230
of freeing know-how and expertise."

19:05.230 --> 19:06.807
The documentation culture 

19:06.807 --> 19:08.074
of the Emacs community 

19:08.074 --> 19:10.307
springs from a consideration 

19:10.307 --> 19:12.840
of practicality.

19:12.840 --> 19:15.351
When you explain what your program does,

19:15.351 --> 19:16.505
it is more likely 

19:16.505 --> 19:19.477
that others will show interest in it 

19:19.477 --> 19:22.450
and incorporate it in their workflow,

19:22.450 --> 19:24.674
whereas freed source code 

19:24.674 --> 19:26.085
that is distributed

19:26.085 --> 19:29.309
without any accompanying documentation 

19:29.309 --> 19:32.300
will most likely only attract 

19:32.300 --> 19:35.690
a handful of enthusiastic hackers.

19:35.690 --> 19:39.460
Still good, but could be better.

19:39.460 --> 19:41.640
Apart from its practical use though, 

19:41.640 --> 19:44.407
writing documentation for the end-user 

19:44.407 --> 19:47.140
shows a spirit of altruism, 

19:47.140 --> 19:50.274
an ethos of caring for others 

19:50.274 --> 19:52.540
and wanting to empower them 

19:52.540 --> 19:55.130
in their endeavours.

19:55.130 --> 19:57.774
It essentially is the same

19:57.774 --> 19:58.674
as helping someone; 

19:58.674 --> 20:02.607
helping them escape from the ignorance

20:02.607 --> 20:03.907
that contributes

20:03.907 --> 20:07.810
to their sense of powerlessness.

20:07.810 --> 20:09.974
I experienced this myself:

20:09.974 --> 20:12.007
by reading the docs, 

20:12.007 --> 20:13.450
I was able to go from

20:13.450 --> 20:15.274
an unskilled rookie 

20:15.274 --> 20:17.909
to a competent Emacs user.

20:17.909 --> 20:20.839
Part of that competence consists in 

20:20.839 --> 20:23.037
maintaining Elisp packages 

20:23.037 --> 20:25.480
and contributing code directly

20:25.480 --> 20:28.760
to emacs.git.

20:28.760 --> 20:29.740
Writing documentation

20:29.740 --> 20:31.207
is about disseminating 

20:31.207 --> 20:34.015
knowledge and expertise,

20:34.015 --> 20:36.707
not keeping it an exclusive right 

20:36.707 --> 20:39.919
of some elite.

20:39.919 --> 20:42.928
Allow me then to liken this 

20:42.928 --> 20:47.120
to the ancient Greek myth of Prometheas

20:47.120 --> 20:48.559
(Prometheus).

20:48.559 --> 20:52.972
Prometheas was a titan, or else a deity, 

20:52.972 --> 20:54.988
who decided to teach 

20:54.988 --> 20:57.772
the know-how of handling fire

20:57.772 --> 20:59.020
to humanity.

20:59.020 --> 21:00.447
The art of fire 

21:00.447 --> 21:04.192
is an allegory about know-how in general, 

21:04.192 --> 21:06.840
not specifically pyrotechnics.

21:06.840 --> 21:11.571
So Prometheas liberated that key knowledge

21:11.571 --> 21:13.215
by taking it away 

21:13.215 --> 21:16.231
from the exclusivity of the gods 

21:16.231 --> 21:17.693
and bringing it 

21:17.693 --> 21:21.512
into the domain of humankind 

21:21.512 --> 21:24.390
as a libre resource.

21:24.390 --> 21:26.507
This act of altruism 

21:26.507 --> 21:30.029
propelled humanity to new heights.

21:30.029 --> 21:32.590
Every field of expertise 

21:32.590 --> 21:35.255
is about handling "fire", 

21:35.255 --> 21:38.681
in the figurative sense 

21:38.681 --> 21:43.679
of implementing essential know-how.

21:43.679 --> 21:47.123
Why would Prometheas, an exalted being, 

21:47.123 --> 21:48.586
ever bother with 

21:48.586 --> 21:52.250
the fallible and frail humanity?

21:52.250 --> 21:56.007
Why did a god want to empower humans

21:56.007 --> 22:00.077
instead of, say, making them dependent

22:00.077 --> 22:02.970
on the know-how of "fire"?

22:02.970 --> 22:05.747
If we look at the world around us, 

22:05.747 --> 22:07.970
we witness how its overlords

22:07.970 --> 22:10.186
are unscrupulously trying

22:10.186 --> 22:12.274
to enclose the commons 

22:12.274 --> 22:16.076
and take advantage of expertise 

22:16.076 --> 22:18.809
in order to exploit us.

22:18.809 --> 22:22.700
Why would Prometheas not do the same thing

22:22.700 --> 22:27.570
and enslave us for the rest of eternity?

22:27.570 --> 22:29.343
The answer is that 

22:29.343 --> 22:32.891
unlike this world's aspiring tyrants, 

22:32.891 --> 22:36.842
Prometheas represents a higher conscience, 

22:36.842 --> 22:40.640
one that is not corrupted by egocentrism

22:40.640 --> 22:45.510
and the greed of short-term profiteering.

22:45.510 --> 22:47.490
This higher conscience 

22:47.490 --> 22:50.332
makes sense of the bigger picture

22:50.332 --> 22:51.710
and can foresee

22:51.710 --> 22:54.260
that the distribution of know-how 

22:54.260 --> 22:56.960
empowers those who access it freely 

22:56.960 --> 23:00.530
to reach their potential.

23:00.530 --> 23:04.650
It is no coincidence that the ancient sages

23:04.650 --> 23:09.320
used the name "Prometheas", 

23:09.320 --> 23:16.659
meaning the "prescient one", the "foreseer".

23:16.659 --> 23:19.765
This is a lesson on the outlook 

23:19.765 --> 23:21.791
we ought to maintain, 

23:21.791 --> 23:25.330
where we aspire to our highest.

23:25.330 --> 23:28.501
We want to be the best version of ourselves,

23:28.501 --> 23:31.710
by being more like Prometheas.

23:31.710 --> 23:33.940
We want our actions to be guided 

23:33.940 --> 23:36.674
by this Promethean Ideal

23:36.674 --> 23:39.097
of liberating know-how,

23:39.097 --> 23:42.307
of making expertise readily available, 

23:42.307 --> 23:44.507
and of providing others

23:44.507 --> 23:48.350
with the chance to prosper.

23:48.350 --> 23:49.927
When we all do so, 

23:49.927 --> 23:52.500
we are collectively better-off.

23:52.500 --> 23:56.340
Free software is a microcosm 

23:56.340 --> 00:23:59.528
of that principle.

23:59.529 --> 24:02.940
So let's move on to the next section:

24:02.940 --> 24:08.020
"The 'killer apps' of Emacs."

24:08.020 --> 24:10.860
Let's be a bit more practical now.

24:10.860 --> 24:13.789
Many new users are attracted to Emacs

24:13.789 --> 24:16.066
because it has one or a few 

24:16.066 --> 24:18.858
immensely useful applications 

24:18.858 --> 24:21.000
they would like to use.

24:21.000 --> 24:23.019
This typically covers Org 

24:23.019 --> 24:27.090
and/or one of its numerous accoutrements,

24:27.090 --> 24:33.023
though there are other excellent packages

24:33.023 --> 24:34.760
like Magit.

24:34.760 --> 24:36.107
The fact that Emacs has 

24:36.107 --> 24:38.870
such killer apps is good.

24:38.870 --> 24:41.535
It shows that its extensibility

24:41.535 --> 24:44.200
is not some theoretical upside

24:44.200 --> 24:46.340
of the Lisp interpreter.

24:46.340 --> 24:49.816
It has tangible utility to a wide user base,

24:49.816 --> 24:51.940
including those who do not 

24:51.940 --> 24:54.850
write Elisp themselves.

24:54.850 --> 24:57.927
Furthermore, those killer apps are good

24:57.927 --> 25:00.418
as they help bring newcomers 

25:00.418 --> 25:04.370
and potential contributors to the fold,

25:04.370 --> 25:06.968
while they provide real value 

25:06.968 --> 25:10.519
to the existing members of the community.

25:10.519 --> 25:12.339
The more people we have

25:12.339 --> 25:15.330
and the happier they are with Emacs, 

25:15.330 --> 25:18.726
the higher the chances that we receive 

25:18.726 --> 25:21.600
some new ideas or code from them.

25:21.600 --> 25:26.305
The notion of a killer app does, however,

25:26.305 --> 25:29.519
come with a latent downside

25:29.519 --> 25:32.040
when targeted at outsiders

25:32.040 --> 25:34.470
to the Emacs milieu.

25:34.470 --> 25:36.307
And that is because 

25:36.307 --> 25:39.362
packages like Org and Magit

25:39.362 --> 25:42.000
do not have a standalone presence.

25:42.000 --> 25:46.770
They are always used in Emacs or, rather, 

25:46.770 --> 25:50.840
together with the rest of Emacs,

25:50.840 --> 25:54.470
which means that the user has to know

25:54.470 --> 25:57.120
what to expect from Emacs.

25:57.120 --> 25:59.986
You may be aware of the type of user 

25:59.986 --> 26:02.680
who proclaims that they want to 

26:02.680 --> 26:04.785
boost their productivity 

26:04.785 --> 26:08.070
but who also expects immediate results.

26:08.070 --> 26:11.152
When you bring the "killer app" rhetoric 

26:11.152 --> 26:12.581
to such a crowd, 

26:12.581 --> 26:15.608
you run the risk of misleading them 

26:15.608 --> 26:18.720
into a false sense of self-confidence

26:18.720 --> 26:24.330
and concomitant expectations of success.

26:24.330 --> 26:26.655
Such users may be tempted 

26:26.655 --> 26:29.249
to try Org, Magit, and others

26:29.249 --> 26:32.470
but are most likely going to endure

26:32.470 --> 26:36.179
a frustrating experience overall.

26:36.179 --> 26:39.834
The reason is that they are oblivious

26:39.834 --> 26:41.598
to what Emacs is 

26:41.598 --> 26:44.874
and what is required 

26:44.874 --> 26:46.540
to get started with it 

26:46.540 --> 26:47.820
on a sustainable basis.

26:47.820 --> 26:50.874
Org, Magit, and friends

26:50.874 --> 26:54.899
are fantastic tools in their own right.

26:54.899 --> 26:57.399
But they still are part of Emacs.

26:57.399 --> 26:59.406
To use them effectively,

26:59.406 --> 27:01.109
you have to develop 

27:01.109 --> 27:04.090
at least a modicum of understanding

27:04.090 --> 27:06.340
on what Emacs does.

27:06.340 --> 27:07.692
You must be patient 

27:07.692 --> 27:09.519
and approach this endeavour

27:09.519 --> 27:12.500
with an open mind.

27:12.500 --> 27:14.372
Go through the tutorial, 

27:14.372 --> 27:18.939
familiarise yourself with the Help system, 

27:18.939 --> 27:23.401
make a habit out of reading Info manuals, 

27:23.401 --> 27:26.820
and take things slowly.

27:26.820 --> 27:30.358
No killer app can ever be a substitute

27:30.358 --> 27:33.132
for commitment to a cause;

27:33.132 --> 27:35.621
no vaunted life hack 

27:35.621 --> 27:39.771
will ever provide a direct conduit 

27:39.771 --> 27:44.419
to some fountain of wisdom.

27:44.419 --> 27:46.597
With regard to software freedom 

27:46.597 --> 27:48.094
and user empowerment, 

27:48.094 --> 27:50.024
what I have learnt is that 

27:50.024 --> 27:52.240
the impulse for the killer app

27:52.240 --> 27:53.974
ought to emanate 

27:53.974 --> 27:56.707
from a position of knowledge.

27:56.707 --> 27:58.974
You need to know what you are searching for, 

27:58.974 --> 28:00.107
and you need to know

28:00.107 --> 28:01.840
where you will implement that.

28:01.840 --> 28:06.571
First, we need to temper our expectations

28:06.571 --> 28:10.340
and prefer propitious growth in learning 

28:10.340 --> 28:14.159
over instant gratification.

28:14.159 --> 28:17.323
With Emacs, we have a strong foundation 

28:17.323 --> 28:19.245
for our computing freedom: 

28:19.245 --> 28:21.951
it consists of the inherent qualities 

28:21.951 --> 28:23.367
of the program 

28:23.367 --> 28:27.051
together with the documentation culture

28:27.051 --> 28:30.169
and creativity of the community.

28:30.169 --> 28:32.670
Once we learn how to benefit from those, 

28:32.670 --> 28:34.174
we have everything we need

28:34.174 --> 28:35.893
to become proficient

28:35.893 --> 28:38.592
in all the modes of interaction

28:38.592 --> 28:42.330
that are available to us.

28:42.330 --> 28:46.889
Think of it as choosing Emacs and Org, 

28:46.889 --> 28:48.876
Emacs and Magit, 

28:48.876 --> 00:28:53.139
Emacs and Org and Magit, et cetera.

28:53.140 --> 28:56.889
Next section: 

28:56.889 --> 29:01.899
"You can't be an Emacs tourist."

29:01.899 --> 29:04.521
What I just talked about implies that 

29:04.521 --> 29:06.799
you cannot simply switch to Emacs

29:06.799 --> 29:09.960
over the weekend or on a whimsy.

29:09.960 --> 29:12.915
You can't use it opportunistically 

29:12.915 --> 29:14.603
to run a quick demo 

29:14.603 --> 29:18.901
with which to impress your peers 

29:18.901 --> 29:22.940
and win some inane "nerd cred".

29:22.940 --> 29:24.907
Forget about such frivolous

29:24.907 --> 29:26.170
superficialities.

29:26.170 --> 29:29.000
Emacs is a sophisticated tool 

29:29.000 --> 29:32.600
intended for some serious work.

29:32.600 --> 29:35.436
It has been around for several decades 

29:35.436 --> 29:38.116
and it incorporates the knowledge 

29:38.116 --> 29:41.639
of a diverse group of contributors.

29:41.639 --> 29:43.616
Even if you want to use Emacs

29:43.616 --> 29:46.766
just for Org mode or whatever killer app,

29:46.766 --> 29:48.605
you still have to try

29:48.605 --> 29:51.059
to learn things in earnest.

29:51.059 --> 29:52.140
You still need to read

29:52.140 --> 29:54.196
the relevant Info manual,

29:54.196 --> 29:56.663
understand how to make changes 

29:56.663 --> 30:00.006
to the plethora of user options on offer, 

30:00.006 --> 30:03.117
and generally don't feel lost 

30:03.117 --> 30:05.710
while working with Emacs.

30:05.710 --> 30:08.264
This is more so if you use Emacs 

30:08.264 --> 30:09.967
to its full potential 

30:09.967 --> 30:13.297
as an integrated computing environment; 

30:13.297 --> 30:16.127
as your general purpose interface 

30:16.127 --> 30:17.460
to the computer,

30:17.460 --> 30:19.633
where you handle uniformly 

30:19.633 --> 30:21.726
coding and writing prose, 

30:21.726 --> 30:23.820
your email correspondence,

30:23.820 --> 30:25.022
your RSS feeds,

30:25.022 --> 30:26.908
your music collection, 

30:26.908 --> 30:30.626
your agenda and to-do lists, 

30:30.626 --> 30:31.909
and so on.

30:31.909 --> 30:33.872
The difficulty of Emacs 

30:33.872 --> 30:37.144
is much higher for those who approach it

30:37.144 --> 30:38.667
without understanding 

30:38.667 --> 30:41.299
what they are getting themselves into,

30:41.299 --> 30:43.711
or for those who are naive enough

30:43.711 --> 30:47.294
to believe that they can cheat their way

30:47.294 --> 30:50.340
out of learning the fundamentals.

30:50.340 --> 30:51.574
The gist is that 

30:51.574 --> 30:54.940
you cannot be an Emacs tourist.

30:54.940 --> 30:57.165
You can't go into Emacsland 

30:57.165 --> 30:59.469
thinking that you will spend 

30:59.469 --> 31:02.475
a couple of memorable days there 

31:02.475 --> 31:04.206
and head back home 

31:04.206 --> 31:05.755
to regale others 

31:05.755 --> 31:08.580
with stories about your adventures.

31:08.580 --> 31:11.850
It does not work that way.

31:11.850 --> 31:15.250
You commit to Emacs for the long-term, 

31:15.250 --> 31:17.990
for the freedom it offers you.

31:17.990 --> 31:20.142
Freedom in the moral sense

31:20.142 --> 31:23.123
but also in the very practical ways 

31:23.123 --> 31:25.851
in which you can mould and extend

31:25.851 --> 31:27.907
your personal workflows 

31:27.907 --> 31:31.160
with precision.

31:31.160 --> 31:32.773
Now you may wonder 

31:32.773 --> 31:35.320
why do I mention those things?

31:35.320 --> 31:39.169
Shouldn't we make Emacs easier for everyone?

31:39.169 --> 31:42.333
Yes, we should make everything

31:42.333 --> 31:44.760
as simple as possible.

31:44.760 --> 31:48.031
Though that still does not refashion Emacs

31:48.031 --> 31:51.460
into something entirely different.

31:51.460 --> 31:52.740
We continue to have 

31:52.740 --> 31:55.829
a potent tool at our disposal

31:55.829 --> 31:57.040
that we must treat 

31:57.040 --> 32:00.020
with the requisite respect.

32:00.020 --> 32:03.954
Take, for instance, the various frameworks 

32:03.954 --> 32:07.571
that set up Emacs in an opinionated way 

32:07.571 --> 32:10.465
so that newcomers get everything

32:10.465 --> 32:13.360
set up for them out-of-the-box.

32:13.360 --> 32:14.507
There is nothing wrong

32:14.507 --> 32:16.220
with those frameworks.

32:16.220 --> 32:19.417
In fact, a large part of the community

32:19.417 --> 32:21.690
uses them to great effect.

32:21.690 --> 32:24.105
However, the point stands: 

32:24.105 --> 32:26.342
even after every package 

32:26.342 --> 32:28.490
has been set up for you,

32:28.490 --> 32:30.174
you still have to put in the work

32:30.174 --> 32:31.507
in making use 

32:31.507 --> 32:35.360
of your newfound computing freedom.

32:35.360 --> 32:37.648
But, you may insist, 

32:37.648 --> 32:41.789
is that not some sort of gate-keeping?

32:41.789 --> 32:43.750
Are you not being an elitist 

32:43.750 --> 32:45.972
by telling people how they must 

32:45.972 --> 32:48.009
invest time and effort

32:48.009 --> 32:49.804
in making the best 

32:49.804 --> 32:52.639
out of their Emacs experience?

32:52.639 --> 32:56.830
No, I think this is not elitism.

32:56.830 --> 32:59.358
There are no secrets here, 

32:59.358 --> 33:02.530
no artificial barriers to entry, 

33:02.530 --> 33:06.562
no impediments to making progress,

33:06.562 --> 33:09.409
no tricks and gimmicks.

33:09.409 --> 33:13.460
It just is a statement of fact.

33:13.460 --> 33:16.309
Freedom entails responsibility.

33:16.309 --> 33:20.481
It requires people to take the initiative 

33:20.481 --> 33:23.728
and assert control over the factors

33:23.728 --> 33:26.420
that are within their reach.

33:26.420 --> 33:29.267
Freedom ultimately means 

33:29.267 --> 33:33.254
that we no longer remain dependent 

33:33.254 --> 33:35.419
on being spoon-fed.

33:35.419 --> 00:33:39.173
We assume agency.

33:39.174 --> 33:41.540
And with this, I want to come to 

33:41.540 --> 33:44.940
the final section of this presentation.

33:44.940 --> 33:46.407
The title is: 

33:46.407 --> 33:52.250
"Emacs as a champion of software freedom."

33:52.250 --> 33:56.272
To my mind, Emacs is the embodiment 

33:56.272 --> 33:59.289
of the GNU project's ethos.

33:59.289 --> 34:01.245
Everything you expect from a program 

34:01.245 --> 34:02.990
that is underpinned by the values

34:02.990 --> 34:05.342
of software freedom 

34:05.342 --> 34:07.460
is found in Emacs.

34:07.460 --> 34:10.962
What you get is not merely an ethical tool, 

34:10.962 --> 34:13.032
important though that is, 

34:13.032 --> 34:17.405
but also a gift that will keep on giving; 

34:17.405 --> 34:20.840
a gift for you to further empower yourself

34:20.840 --> 34:24.020
as a computer user.

34:24.020 --> 34:27.457
I understood that freedom of software

34:27.457 --> 34:31.600
is not about liberating the code itself.

34:31.600 --> 34:34.950
It is about sharing libre code 

34:34.950 --> 34:38.410
in order to emancipate the user.

34:38.410 --> 34:40.899
The best way to achieve that 

34:40.899 --> 34:43.302
is by emulating Prometheas: 

34:43.302 --> 34:47.187
don't just give people the so-called "fire"; 

34:47.187 --> 34:50.907
offer them the underlying know-how.

34:50.907 --> 34:52.940
Emacs taught me

34:52.940 --> 34:54.378
the virtues of software freedom

34:54.378 --> 34:57.362
in a way that nothing else

34:57.362 --> 35:01.150
in the GNU/Linux space ever did.

35:01.150 --> 35:04.210
Here's an example from a few years ago.

35:04.210 --> 35:07.050
I needed a Markdown editor.

35:07.050 --> 35:09.099
I wanted it to centre 

35:09.099 --> 35:12.080
the body of the text on display.

35:12.080 --> 35:15.384
It should have configurable font families 

35:15.384 --> 35:17.030
and point sizes.

35:17.030 --> 35:19.646
Spell checking for Greek and English 

35:19.646 --> 35:20.990
should be included.

35:20.990 --> 35:25.007
The colours had to be editable as well, 

35:25.007 --> 35:26.940
so I could adjust them 

35:26.940 --> 35:30.064
to a level of legibility

35:30.064 --> 35:32.760
I was comfortable with.

35:32.760 --> 35:35.657
While there were plenty of libre programs, 

35:35.657 --> 35:37.174
I did not find one 

35:37.174 --> 35:39.905
I could control and inspect

35:39.905 --> 35:43.190
to the extent I can with Emacs.

35:43.190 --> 35:46.982
Which made me feel that I had stagnated: 

35:46.982 --> 35:49.572
there was an indelible line 

35:49.572 --> 35:53.500
dividing users from developers.

35:53.500 --> 35:55.899
Whereas Emacs invites you 

35:55.899 --> 35:58.106
to blur the distinction 

35:58.106 --> 36:00.590
between user and the developer.

36:00.590 --> 36:03.837
It furnishes the means to become 

36:03.837 --> 36:05.510
proficient in it,

36:05.510 --> 36:07.717
while the community complements those

36:07.717 --> 36:10.744
with its documentation culture 

36:10.744 --> 36:12.990
and overall creativity.

36:12.990 --> 36:15.679
You start off as a complete ignoramus, 

36:15.679 --> 36:19.190
but soon pick up skills that remain useful

36:19.190 --> 36:22.200
for as long as you work with Emacs.

36:22.200 --> 36:23.574
And if you really want to 

36:23.574 --> 36:25.150
take it a step further,

36:25.150 --> 36:27.569
you know where to look 

36:27.569 --> 36:30.620
for inspiration and guidance.

36:30.620 --> 36:32.722
Before you realise it, 

36:32.722 --> 36:35.556
you start writing code in ELisp

36:35.556 --> 36:39.030
and can one day share it with others.

36:39.030 --> 36:42.060
What I have learnt over the past 2.5 years

36:42.060 --> 36:43.331
as an Emacs user 

36:43.331 --> 36:45.661
is that if you go from scratch 

36:45.661 --> 36:48.442
and are meticulous in your approach, 

36:48.442 --> 36:51.379
you will need a few days or weeks 

36:51.379 --> 36:54.750
before everything starts to make sense.

36:54.750 --> 36:57.477
After that initial awkward phase

36:57.477 --> 37:00.428
during which you familiarise yourself 

37:00.428 --> 37:01.748
with the basics, 

37:01.748 --> 37:06.050
everything else will become easier to learn.

37:06.050 --> 37:09.524
It is a matter of gaining more experience, 

37:09.524 --> 37:11.060
one step at a time.

37:11.060 --> 37:13.537
As with every field of expertise, 

37:13.537 --> 37:15.870
Emacs expects you to work for it

37:15.870 --> 37:19.110
and to earn it.

37:19.110 --> 37:21.240
For me, that is worth it.

37:21.240 --> 37:23.655
In terms of being malleable 

37:23.655 --> 37:25.294
in a consistent way

37:25.294 --> 37:28.388
and transparent in what it does, 

37:28.388 --> 37:31.390
Emacs is in a league of its own.

37:31.390 --> 37:33.707
In conclusion, folks,

37:33.707 --> 37:36.898
Emacs allowed me to assert control

37:36.898 --> 37:39.260
over a great portion

37:39.260 --> 37:42.780
of my quotidian computing.

37:42.780 --> 37:44.827
It helped me grow out of 

37:44.827 --> 37:47.448
the state of ignorance I was in;

37:47.448 --> 37:49.811
a state that rendered me 

37:49.811 --> 37:52.528
powerless to use the computer 

37:52.528 --> 37:54.430
exactly how I wanted.

37:54.430 --> 37:57.910
For that I am grateful.

37:57.910 --> 38:00.071
I now consider it my duty

38:00.071 --> 38:02.025
to contribute back to 

38:02.025 --> 38:04.007
this wonderful project 

38:04.007 --> 38:06.390
and this awesome community.

38:06.390 --> 38:09.174
So thank you very much for your attention

38:09.174 --> 38:12.690
in watching today's presentation.

38:12.690 --> 38:13.874
Special thanks to 

38:13.874 --> 38:18.207
the EmacsConf organizers and volunteers.

38:18.207 --> 38:20.574
This is all from my side, folks.

38:20.574 --> 38:23.910
Thank you very much. Goodbye.