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
|
WEBVTT
00:01.040 --> 00:03.520
Welcome to this EmacsConf 2021 talk
00:03.520 --> 00:06.160
on Emacs as Design Pattern Learning.
00:06.160 --> 00:08.400
I'm Greta Goetz, and this talk
00:08.400 --> 00:10.080
is for people who are interested
00:10.080 --> 00:11.679
in thinking about Emacs
00:11.679 --> 00:13.840
as a tool that's sophisticated enough
00:13.840 --> 00:17.680
not only to cope with activities and tasks,
00:17.680 --> 00:19.760
but also sophisticated enough
00:19.760 --> 00:22.560
to cater to a complex assemblage
00:22.560 --> 00:24.000
of [not just] tasks and activities,
00:24.000 --> 00:26.160
but also people, outcomes,
00:26.160 --> 00:27.760
as well as tools.
00:27.760 --> 00:31.039
This is a definition of epistemic fluency
00:31.039 --> 00:33.440
from a work by Markauskaite and Goodyear
00:33.440 --> 00:35.040
that is relevant to us
00:35.040 --> 00:36.320
if we're interested in
00:36.320 --> 00:37.600
learning how to learn [and]
00:37.600 --> 00:39.840
how to continuously iterate knowledge
00:39.840 --> 00:44.480
to fit changing complex specific contexts.
00:44.480 --> 00:46.719
Some software oversimplifies.
00:46.719 --> 00:49.039
Emacs both helps users
00:49.039 --> 00:50.559
implement design pattern learning
00:50.559 --> 00:53.360
that can cope with complexity,
00:53.360 --> 00:57.360
and it models complex design pattern learning.
00:57.360 --> 00:59.920
So, what do we mean by design patterns?
00:59.920 --> 01:03.120
The term comes from design theorist and
01:03.120 --> 01:05.199
architect Christopher Alexander,
01:05.199 --> 01:06.400
whose work influenced
01:06.400 --> 01:08.479
a broad variety of disciplines.
01:08.479 --> 01:11.680
I'll be drawing on a work in programming
01:11.680 --> 01:14.240
by Richard Gabriel, and in pedagogy,
01:14.240 --> 01:16.239
by Peter Goodyear.
01:16.240 --> 01:17.920
What are design patterns?
01:17.920 --> 01:20.159
They are patterns of micro solutions
01:20.159 --> 01:22.560
combining method and artifact,
01:22.560 --> 01:24.080
and macro solutions
01:24.080 --> 01:25.680
of these micro patterns
01:25.680 --> 01:27.680
when viewed together.
01:27.680 --> 01:29.280
This approach allows for the
01:29.280 --> 01:31.840
specialization, customization,
01:31.840 --> 01:35.600
extension, and reuse of patterns.
01:35.600 --> 01:37.360
This is useful if we're seeking to
01:37.360 --> 01:40.079
deal with complexity. It helps extend
01:40.079 --> 01:42.560
the assemblage of learning components
01:42.560 --> 01:45.040
that we have, without having to build
01:45.040 --> 01:46.640
from scratch.
01:46.640 --> 01:48.320
Another important feature
01:48.320 --> 01:49.520
of design patterns
01:49.520 --> 01:51.759
and their relevance to Emacs
01:51.759 --> 01:54.799
is the human-centeredness.
01:54.799 --> 01:57.360
Christopher Alexander critiqued
01:57.360 --> 01:58.320
the mechanical
01:58.320 --> 02:00.880
and championed the human place.
02:00.880 --> 02:03.439
Emacs, too, champions the human place.
02:03.439 --> 02:06.079
So why Emacs and design learning?
02:06.079 --> 02:09.679
One reason is indeed this extensibility
02:09.679 --> 02:13.360
through Emacs, which allows a person
02:13.360 --> 02:16.720
to extend their learning and use of Emacs
02:16.720 --> 02:18.800
as far as they wish to take it.
02:18.800 --> 02:22.959
This is thanks to its free software core,
02:22.959 --> 02:24.720
and this permits what we call
02:24.720 --> 02:25.843
in networked learning
02:25.843 --> 02:27.040
'e-quality' [cf. Beaty et al.],
02:27.040 --> 02:28.160
which is to say,
02:28.160 --> 02:31.120
the opportunity to co-create knowledge.
02:31.120 --> 02:32.959
So if one wishes to extend
02:32.959 --> 02:35.120
their learning trajectory with Emacs
02:35.120 --> 02:37.120
such that they're able to
02:37.120 --> 02:38.560
write packages for Emacs,
02:38.560 --> 02:41.040
if these packages become part of the core,
02:41.040 --> 02:43.440
they're really co-creating knowledge
02:43.440 --> 02:44.879
within the community
02:44.879 --> 02:48.800
and extending the capabilities of Emacs.
02:48.800 --> 02:50.480
Emacs can also be considered
02:50.480 --> 02:52.319
in terms of design pattern learning,
02:52.319 --> 02:53.440
because it can be used
02:53.440 --> 02:54.800
for different purposes.
02:54.800 --> 02:57.280
This is true even at the very basic level
02:57.280 --> 02:58.959
of Emacs functionalities,
02:58.959 --> 02:59.920
which is a point
02:59.920 --> 03:01.280
that should really be stressed.
03:01.280 --> 03:03.680
So even newcomers coming to Emacs
03:03.680 --> 03:04.879
who don't know programming
03:04.879 --> 03:07.040
can do a very broad variety
03:07.040 --> 03:09.040
of different things with their Emacs,
03:09.040 --> 03:11.760
using these basic functionalities:
03:11.760 --> 03:14.800
for example, simply by customizing
03:14.800 --> 03:15.840
the language variable
03:15.840 --> 03:17.923
in the initialization file.
03:17.923 --> 03:20.879
This, thanks to the powerful Emacs Lisp
03:20.879 --> 03:22.640
interpreter, makes it possible for one
03:22.640 --> 03:24.640
to do a wide variety of different things
03:24.640 --> 03:26.560
within Emacs: from making graphs
03:26.560 --> 03:29.360
to exporting in LaTeX.
03:29.360 --> 03:32.000
And also part of the Emacs basic
03:32.000 --> 03:34.239
functionalities are
03:34.239 --> 03:36.159
how we can cycle through
03:36.159 --> 03:38.400
different tasks and texts very easily
03:38.400 --> 03:40.000
through buffer cycling,
03:40.000 --> 03:44.640
or how within Org we can use tree outlines
03:44.640 --> 03:48.159
that can hierarchize the material
03:48.159 --> 03:49.519
that we're working with
03:49.519 --> 03:52.080
and even change a headline
03:52.080 --> 03:54.799
into a to-do. So we see this extensibility,
03:54.799 --> 03:57.280
this flexibility. Also, within Org,
03:57.280 --> 03:58.799
we can see how by writing
03:58.799 --> 04:00.159
just a few lines of code
04:00.159 --> 04:02.239
such as through header arguments
04:02.239 --> 04:04.879
or code blocks, we can change the way
04:04.879 --> 04:06.159
in which a file,
04:06.159 --> 04:08.480
or part of a file, is executed.
04:08.480 --> 04:10.239
An illustration of what this means
04:10.239 --> 04:12.720
to the beginner would be how easy it is
04:12.720 --> 04:15.280
to export a LaTeX file,
04:15.280 --> 04:17.040
so one doesn't even need to know
04:17.040 --> 04:19.199
all of LaTeX to be able to implement
04:19.199 --> 04:23.360
parts of LaTeX within Org. So this
04:23.360 --> 04:25.280
variety of different purposes, then,
04:25.280 --> 04:27.600
can be experienced by the beginner.
04:27.600 --> 04:30.400
Emacs is also an example
04:30.400 --> 04:32.080
of design pattern learning
04:32.080 --> 04:34.320
because it is a design pattern
04:34.320 --> 04:35.919
of learning itself.
04:35.919 --> 04:39.040
Here we're thinking about design patterns
04:39.040 --> 04:41.919
as a visual representation.
04:41.919 --> 04:44.320
We can think of how systems of systems,
04:44.320 --> 04:47.680
which Emacs is an example of,
04:47.680 --> 04:50.560
stem from a successful center,
04:50.560 --> 04:53.280
and 'this center is surrounded
04:53.280 --> 04:55.440
by a boundary which is itself
04:55.440 --> 04:57.040
made up of centers' [Gabriel].
04:57.040 --> 04:59.440
So, where we have Emacs at the center,
04:59.440 --> 05:02.720
we also have packages such as Magit.
05:02.720 --> 05:04.800
Magit can be viewed as a center
05:04.800 --> 05:07.120
unto itself. However, this center
05:07.120 --> 05:09.520
only exists thanks to the center
05:09.520 --> 05:11.759
of the center, which is Emacs.
05:11.759 --> 05:14.320
And thus we speak of Emacs
05:14.320 --> 05:17.039
as being a successful design pattern
05:17.039 --> 00:05:18.799
implementation [cf. Gabriel].
00:05:18.800 --> 00:05:20.880
And why do we care about
05:20.880 --> 05:25.500
design pattern approaches? Here, well,
05:25.520 --> 05:28.560
what I'm trying to say is that
05:28.560 --> 05:30.080
this is useful to the person
05:30.080 --> 05:32.240
who is interested in being able to
05:32.240 --> 05:34.000
more efficiently cope with
05:34.000 --> 05:36.639
complex and specific situations,
05:36.639 --> 05:40.240
and this design pattern allows for this
05:40.240 --> 05:43.039
because of its extensibility,
05:43.039 --> 05:46.400
because we can find these specializations
05:46.400 --> 05:50.000
or customizations that are able to reach
05:50.000 --> 05:52.880
these changing contexts [that we seek to interact with].
05:52.880 --> 05:55.039
This can be compared with
05:55.039 --> 05:56.479
other software applications
05:56.479 --> 05:58.000
that are prefabricated
05:58.000 --> 05:59.680
so they already decide
05:59.680 --> 06:01.600
what it is a person is going to do
06:01.600 --> 06:02.800
when they use them.
06:02.800 --> 06:04.319
This also means that what they're doing
06:04.319 --> 06:05.520
within these applications
06:05.520 --> 06:06.639
can get stranded there,
06:06.639 --> 06:08.479
that it's harder to integrate
06:08.479 --> 06:10.319
their knowledge or their texts
06:10.319 --> 06:12.240
or their activities
06:12.240 --> 06:13.440
with each other.
06:13.440 --> 06:15.759
A lot of software also makes assumptions
06:15.759 --> 06:18.240
on who their users are. We know that
06:18.240 --> 06:20.160
we speak in user experience design
06:20.160 --> 06:23.120
of the 'customer journey' or of 'personas',
06:23.120 --> 06:24.720
and very often, then,
06:24.720 --> 06:27.840
the customer journey is pre-designed.
06:27.840 --> 06:29.680
But within Emacs, we can be
06:29.680 --> 06:32.079
our own persona.
06:32.079 --> 06:33.440
Practical use of Emacs
06:33.440 --> 06:35.680
can also make non-programmers
06:35.680 --> 06:36.720
into programmers.
06:36.720 --> 06:38.400
So this is to say that
06:38.400 --> 06:40.240
as we are using Emacs,
06:40.240 --> 06:41.840
we can continue to develop
06:41.840 --> 06:44.479
as far as we wish.
06:44.479 --> 06:46.240
Therefore we are not only users
06:46.240 --> 06:48.720
within Emacs, but we are also
06:48.720 --> 06:51.280
creative persons and producers.
06:51.280 --> 06:54.400
So here I am citing work by ivan Illich.
06:54.400 --> 06:56.079
We can further contribute
06:56.079 --> 06:58.880
to the evolution of the rules of Emacs.
06:58.880 --> 07:01.680
To draw on Bernard Stiegler,
07:01.680 --> 07:04.880
if I may also make an analogy,
07:04.880 --> 07:07.520
within our inits, we contribute to
07:07.520 --> 07:08.800
the evolution of the rules
07:08.800 --> 07:11.759
according to which our Emacs works for us.
07:11.759 --> 07:13.120
But again, if we're extending
07:13.120 --> 07:14.560
our learning trajectory,
07:14.560 --> 07:16.319
and if we write a package,
07:16.319 --> 07:18.400
and the package becomes part of the core,
07:18.400 --> 07:21.440
we do indeed contribute to the evolution
07:21.440 --> 07:23.840
of the rules of Emacs.
07:23.840 --> 07:25.359
But because it stems
07:25.359 --> 07:26.560
from our personal use
07:26.560 --> 07:28.479
and our personal customizations,
07:28.479 --> 07:30.000
we can think of it as being
07:30.000 --> 07:31.600
a personal toolkit [cf. Stallman].
07:31.600 --> 07:35.840
So this design pattern iteration approach
07:35.840 --> 07:39.680
to Emacs is the very reason
07:39.680 --> 07:41.840
why it is that we can customize it
07:41.840 --> 07:43.440
to our own liking,
07:43.440 --> 07:46.160
and using Emacs to extend our freedom
07:46.160 --> 07:48.720
then helps us to develop heuristics.
07:48.720 --> 07:51.919
It helps us develop our decision-making,
07:51.919 --> 07:54.719
our problem-solving
07:54.719 --> 07:57.839
and responsibility for what it is
07:57.839 --> 07:58.880
that we're doing,
07:58.880 --> 08:00.640
and these skill sets
08:00.640 --> 08:02.480
are extensible beyond Emacs.
08:02.480 --> 08:04.240
These can be considered as life skills
08:04.240 --> 08:05.839
that have relevance beyond.
08:05.839 --> 08:07.520
This is a very good example
08:07.520 --> 08:10.560
of why it is that being exposed
08:10.560 --> 08:12.480
to complex assemblages
08:12.480 --> 08:14.320
matter to us as human beings.
08:14.320 --> 08:17.120
It's good training ground for life.
08:17.120 --> 08:19.680
But it's also important
08:19.680 --> 08:22.719
for a very basic pedagogical point.
08:22.719 --> 08:24.160
So now I'm going to draw on work
08:24.160 --> 08:26.560
by Hélène Trocmé-Fabre,
08:26.560 --> 08:27.839
who explains that
08:27.839 --> 08:30.719
reduced and poor contextualizations
08:30.719 --> 08:32.800
flatten communication.
08:32.800 --> 08:33.760
So, for example,
08:33.760 --> 08:35.279
within the field of software,
08:35.279 --> 08:37.680
if we are using an application
08:37.680 --> 08:40.640
that only asks us to swipe left or right,
08:40.640 --> 08:42.880
this deprives us of our ability
08:42.880 --> 08:45.600
to respond in a more sophisticated way.
08:45.600 --> 08:48.640
By contrast, by being exposed
08:48.640 --> 08:51.600
to a rich contextualization within Emacs,
08:51.600 --> 08:53.839
we are learning to contextualize,
08:53.839 --> 08:57.040
which Trocmé-Fabre says is the first step
08:57.040 --> 08:58.719
in learning how to learn.
08:58.719 --> 08:59.920
So we can understand
08:59.920 --> 09:01.760
just how important it is
09:01.760 --> 09:03.520
to be exposed to complexity.
09:03.520 --> 09:05.440
It's not just a mere
09:05.440 --> 09:06.719
intellectual exercise,
09:06.719 --> 09:08.719
but it is indeed how it is
09:08.719 --> 09:12.239
that we begin to learn.
09:12.240 --> 09:13.760
If this sounds too abstract,
09:13.760 --> 09:15.520
maybe we can step back for a moment
09:15.520 --> 09:17.520
and think about visualizing Emacs
09:17.520 --> 09:19.600
as a mental map. So here, too,
09:19.600 --> 09:21.839
I'm going to draw on Trocmé-Fabre,
09:21.839 --> 09:24.560
and she is building her ideas
09:24.560 --> 09:26.240
on those of Tony Buzan,
09:26.240 --> 09:29.120
who was the popularizer of the mind map.
09:29.120 --> 09:31.519
So mind maps begin with a core,
09:31.519 --> 09:33.760
which with Emacs is the Emacs core,
09:33.760 --> 09:36.320
which now includes Org.
09:36.320 --> 09:38.719
They extend outwards from the core
09:38.719 --> 09:40.800
through relational codes.
09:40.800 --> 09:44.399
And then through keywords and cycling,
09:44.399 --> 09:46.240
mind maps function to bring out
09:46.240 --> 09:48.320
further ideas, and this may be
09:48.320 --> 09:49.760
the experience you've already had
09:49.760 --> 09:52.640
with your Emacs. Then finally,
09:52.640 --> 09:54.800
these mind maps extend outwards
09:54.800 --> 09:56.480
at the periphery.
09:56.480 --> 10:00.240
In thinking about how this applies to Emacs,
10:00.240 --> 10:02.320
we can think about how yes, indeed,
10:02.320 --> 10:04.240
we all share the same core,
10:04.240 --> 10:07.360
but then we extend this core outwards
10:07.360 --> 10:09.680
into our personal configurations.
10:09.680 --> 10:11.360
So this is the social moment,
10:11.360 --> 10:12.480
but this social moment
10:12.480 --> 10:13.839
is integral to Emacs
10:13.839 --> 10:16.800
because Emacs fully achieves its meaning
10:16.800 --> 10:18.959
when it is being applied, extended,
10:18.959 --> 10:20.880
and customized in this way.
10:20.880 --> 10:23.279
Further, these social branches
10:23.279 --> 10:25.839
are relevant to the continuation
10:25.839 --> 10:28.560
of learning how to learn how to use Emacs.
10:28.560 --> 10:30.800
So for example, we may have
10:30.800 --> 10:33.279
our first configuration file,
10:33.279 --> 10:35.040
and then we might want to compare it
10:35.040 --> 10:37.440
with other people's configuration files,
10:37.440 --> 10:40.240
not only to see what code they're using,
10:40.240 --> 10:42.480
but also to see how it is that they are
10:42.480 --> 10:44.240
implementing certain functionalities
10:44.240 --> 10:46.000
within their workflow.
10:46.000 --> 10:48.080
So along these lines, then,
10:48.080 --> 10:50.160
descriptive configuration files
10:50.160 --> 10:53.360
are extremely helpful.
10:53.360 --> 10:56.160
This map, then, of Emacs
10:56.160 --> 10:57.519
can be considered as a
10:57.519 --> 11:00.399
frontierless heuristic schema,
11:00.399 --> 11:02.000
borrowing from Trocmé-Fabre.
11:02.000 --> 11:04.080
Frontierless, because we can extend
11:04.080 --> 11:06.320
our use of Emacs as far as we want.
11:06.320 --> 11:08.399
Heuristic, again, because we're using it
11:08.399 --> 11:10.640
to solve problems, etc.
11:10.640 --> 11:13.360
This is a free system that extends
11:13.360 --> 11:15.920
following our own 'paths of desire',
11:15.920 --> 11:18.640
if I can use that phrase from design.
11:18.640 --> 11:20.640
So it's following our own 'paths of desire',
11:20.640 --> 11:22.480
but yet it is a shared tool,
11:22.480 --> 11:26.880
so this is an idea of the convivial tool
11:26.880 --> 11:29.999
to draw on Ivan Illich.
11:30.000 --> 11:31.760
Emacs is itself
11:31.760 --> 11:33.440
a design pattern framework,
11:33.440 --> 11:35.279
so we can visualize this
11:35.279 --> 11:36.640
through the mind map,
11:36.640 --> 11:40.160
but we can also go back to thinking about
11:40.160 --> 11:42.399
how Christopher Alexander's work
11:42.399 --> 11:44.240
inspired Richard Gabriel
11:44.240 --> 11:46.640
to think about systems of systems
11:46.640 --> 11:49.040
within software. And he,
11:49.040 --> 11:50.240
drawing on Alexander,
11:50.240 --> 11:52.240
says, well, there is such a thing
11:52.240 --> 11:55.600
as a "being" of successful software,
11:55.600 --> 11:59.519
if it succeeds in being
11:59.519 --> 12:00.640
a center of centers,
12:00.640 --> 12:02.240
as we saw before.
12:02.240 --> 12:04.480
So in Emacs, then, we have a system
12:04.480 --> 12:06.880
that's made up of other systems
12:06.880 --> 12:08.719
of 'communicating components
12:08.719 --> 12:09.839
that work together
12:09.839 --> 12:11.600
to provide a comprehensive set
12:11.600 --> 12:14.399
of capabilities that can be customized,
12:14.399 --> 12:16.000
specialized, and extended
12:16.000 --> 12:16.959
to provide more
12:16.959 --> 12:18.959
or slightly different capabilities' [Gabriel].
12:18.959 --> 12:21.200
So if we're not finding what we need
12:21.200 --> 12:25.120
within the core, we can look for packages
12:25.120 --> 12:27.519
that allow us to extend in a certain way,
12:27.519 --> 12:28.560
or we write our own,
12:28.560 --> 12:31.680
or we begin to write in Emacs Lisp.
12:31.680 --> 12:34.800
And speaking of personal customizations,
12:34.800 --> 12:37.839
Emacs can be considered as an extension
12:37.839 --> 12:40.079
of the as yet unfulfilled promise of
12:40.079 --> 12:41.600
general computing.
12:41.600 --> 12:44.000
In the 1980s, Michael Crichton wrote
12:44.000 --> 12:46.320
that it's easy to use computers, which is
12:46.320 --> 12:48.000
fortunate because everyone's going to
12:48.000 --> 12:49.040
have to learn.
12:49.040 --> 12:51.440
It's not easy to use computers wisely,
12:51.440 --> 12:52.880
which is unfortunate because
12:52.880 --> 12:54.719
everyone's going to have to learn.
12:54.719 --> 12:56.639
Emacs is wise computing
12:56.639 --> 12:59.600
because everyone's Emacs is their own.
12:59.600 --> 13:01.680
We see that it is an exercise
13:01.680 --> 13:05.760
in heuristics, but while it is complex,
13:05.760 --> 13:08.000
at on some level, we want to remember
13:08.000 --> 13:10.240
that it can be used easily by anybody,
13:10.240 --> 13:12.560
as often or as seldom as they want,
13:12.560 --> 13:15.200
for the purpose that they are choosing,
13:15.200 --> 13:17.519
and shaped according to their own taste.
13:17.519 --> 13:20.480
So again I'm drawing on Ivan Illich here.
13:20.480 --> 13:24.880
Emacs then champions the human place
13:24.880 --> 13:28.800
and is a support in our learning
13:28.800 --> 00:13:30.638
how to learn.
00:13:30.639 --> 00:13:32.000
So now I want to think about
13:32.000 --> 13:34.959
being inspired by the Emacs design pattern
13:34.959 --> 13:37.040
and comparing what I think
13:37.040 --> 13:40.480
I've learned about how Emacs works
13:40.480 --> 13:43.600
with some research that has been done
13:43.600 --> 13:46.240
by Philip Guo and his colleagues
13:46.240 --> 13:47.920
about how technology is being used
13:47.920 --> 13:51.120
in certain online teaching contexts.
13:51.120 --> 13:52.800
Researchers continue to note
13:52.800 --> 13:55.200
how the modes of delivery of content
13:55.200 --> 13:56.880
continue to change in terms of
13:56.880 --> 13:58.240
what is considered effective
13:58.240 --> 13:59.600
and what is not.
13:59.600 --> 14:02.000
The talking head was considered effective,
14:02.000 --> 14:05.360
for example. Lectures needed to be
14:05.360 --> 14:07.760
broken down into shorter segments.
14:07.760 --> 14:11.360
But I would say that by using Emacs
14:11.360 --> 14:14.320
and by working within the Emacs ecosystem,
14:14.320 --> 14:16.519
one is already used to
14:16.519 --> 14:18.959
're-presenting' one's knowledge
14:18.959 --> 14:20.800
in a variety of different ways.
14:20.800 --> 14:22.320
So if we are called tomorrow
14:22.320 --> 14:24.240
to deliver in a different way,
14:24.240 --> 14:26.240
we're already used to
14:26.240 --> 14:28.399
thinking about this within Emacs.
14:28.399 --> 14:30.639
So, for example,
14:30.639 --> 14:32.399
merely by changing a header argument,
14:32.399 --> 14:34.880
one can change the way in which
14:34.880 --> 14:36.480
text in a file is executed,
14:36.480 --> 14:39.600
so we see then this easy iteration
14:39.600 --> 14:42.160
within Emacs. We can also think about
14:42.160 --> 14:45.760
how Emacs can be considered in terms of
14:45.760 --> 14:49.839
a help for developing rhetorical 'topoi',
14:49.839 --> 14:52.240
'topoi' being places where we find things,
14:52.240 --> 14:54.480
places where we find ideas,
14:54.480 --> 14:56.320
because we can circulate
14:56.320 --> 14:58.959
among the different tasks and texts
14:58.959 --> 14:59.920
that we are working on
14:59.920 --> 15:01.920
within Emacs seamlessly.
15:01.920 --> 15:04.000
This increases the likelihood
15:04.000 --> 15:07.519
that we can gain inspiration
15:07.519 --> 15:11.440
from the collage of different ideas
15:11.440 --> 15:14.079
that bring out new ideas.
15:14.079 --> 15:14.959
At least this is how
15:14.959 --> 15:16.160
I've experienced Emacs,
15:16.160 --> 15:19.279
if I may add that anecdotal observation.
15:19.279 --> 15:22.480
And speaking of bringing out ideas,
15:22.480 --> 15:26.079
we see how changing Emacs functionalities
15:26.079 --> 15:27.680
can help us bring out ideas
15:27.680 --> 15:30.079
for example, through how we can
15:30.079 --> 15:32.000
use PlantUML easier today
15:32.000 --> 15:35.519
than ever before, so we can now include
15:35.519 --> 15:38.880
mental maps within our Emacs files
15:38.880 --> 15:40.800
if we want to, but also
15:40.800 --> 15:45.120
if we're thinking about Emacs helping us
15:45.120 --> 15:47.600
both remember the material
15:47.600 --> 15:48.719
that we're working with
15:48.719 --> 15:50.000
and 're-present' it,
15:50.000 --> 15:51.040
we can think of it
15:51.040 --> 15:53.120
in terms of its archival functions,
15:53.120 --> 15:54.880
So we can see an example of this
15:54.880 --> 15:57.040
in Sacha Chua's init,
15:57.040 --> 15:59.120
where she is using Emacs
15:59.120 --> 16:02.399
to manage her recent sketches.
16:02.399 --> 16:03.839
This would be really useful
16:03.839 --> 16:06.000
for implementation
16:06.000 --> 16:08.160
in terms of what the researchers
16:08.160 --> 16:10.480
(Philip Guo and his colleagues) discovered
16:10.480 --> 16:12.656
with regards to how today
16:12.656 --> 16:14.880
Khan-style slides are considered
16:14.880 --> 16:17.920
more effective than traditional slides,
16:17.920 --> 16:20.160
because if one is able to integrate
16:20.160 --> 16:21.519
the other kinds of sketches
16:21.519 --> 16:23.680
that one has been doing within Emacs -
16:23.680 --> 16:25.999
and therefore have them at hand
16:25.999 --> 16:27.999
more easily, it would be easier to
16:27.999 --> 16:30.800
're-present' this material as needed
16:30.800 --> 16:33.600
in the ever-changing context of the classroom.
16:33.600 --> 16:35.519
We can see from this example
16:35.519 --> 16:38.320
of Sacha Chua's init that we learn
16:38.320 --> 16:39.999
by following the traces
16:39.999 --> 16:41.998
left by others in the community.
16:41.999 --> 16:43.279
So we were saying then that
16:43.279 --> 16:45.040
Emacs extends outwards
16:45.040 --> 16:46.479
through these social branches,
16:46.479 --> 16:48.560
and indeed we can speak
16:48.560 --> 16:50.640
of the grammar of interaction,
16:50.640 --> 16:52.320
that we benefit from by being
16:52.320 --> 16:54.720
a member of the Emacs community.
16:54.720 --> 16:56.960
And this wonderful phrase comes to us
16:56.960 --> 16:58.880
from a book that was co-edited
16:58.880 --> 17:01.736
by our very own former Org father,
17:01.736 --> 17:03.680
Bastien Guerry, in an interview
17:03.680 --> 17:05.359
that he led with Nicolas Gaume [Andler & Guerry].
17:05.359 --> 17:07.040
Nicolas Gaume was explaining
17:07.040 --> 17:10.640
how in video games, we see our character
17:10.640 --> 17:12.160
and compare our character
17:12.160 --> 17:14.160
to other characters,
17:14.160 --> 17:16.080
and we watch how other characters
17:16.080 --> 17:17.040
make decisions,
17:17.040 --> 17:19.040
and the outcomes of these decisions,
17:19.040 --> 17:21.440
and their trajectories in the game,
17:21.440 --> 17:23.119
and then we compare where we are
17:23.119 --> 17:24.720
with respect to this,
17:24.720 --> 17:27.119
and by having this comparison,
17:27.119 --> 17:29.840
it helps us chart out our own path.
17:29.840 --> 17:31.280
So we can experience
17:31.280 --> 17:32.800
this grammar of interaction
17:32.800 --> 17:35.200
within Emacs every time we compare
17:35.200 --> 17:38.720
our config with that of others.
17:38.720 --> 17:41.760
Emacs further champions the social element
17:41.760 --> 17:43.920
through co-individuation, which is
17:43.920 --> 17:46.880
a term coined by Bernard Stiegler.
17:46.880 --> 17:48.720
This means the meaning that is known
17:48.720 --> 17:50.960
and shared by other individuals.
17:50.960 --> 17:52.560
What is it that we know and share
17:52.560 --> 17:54.560
within Emacs? It is how to
17:54.560 --> 17:55.600
improve our lives
17:55.600 --> 17:57.280
through customizing Emacs
17:57.280 --> 18:00.479
in specific ways. So if one person
18:00.479 --> 18:03.040
reaches the apotheosis
18:03.040 --> 18:04.239
of individuation,
18:04.239 --> 18:05.920
and they're living the life
18:05.920 --> 18:07.760
they dreamed of
18:07.760 --> 18:08.960
through their Emacs use,
18:08.960 --> 18:10.720
they can share this information
18:10.720 --> 18:11.680
with somebody else
18:11.680 --> 18:14.320
who too can come to realize themselves
18:14.320 --> 18:15.920
in this way.
18:15.920 --> 18:17.280
Without the social milieu,
18:17.280 --> 18:18.880
without this attention
18:18.880 --> 18:21.040
to the human element,
18:21.040 --> 18:23.600
the technical milieu inevitably becomes
18:23.600 --> 18:24.414
a negative externality
18:24.414 --> 18:25.760
[which is a philosophical problem].
18:25.760 --> 18:27.840
Here I'm drawing on Bernard Stiegler.
18:27.840 --> 18:29.680
What does this mean? This means
18:29.680 --> 18:32.400
where knowledge becomes automaticized,
18:32.400 --> 18:33.760
it becomes a closed
18:33.760 --> 18:36.560
and self-referential system.
18:36.560 --> 18:39.520
Because it's self-referential and closed,
18:39.520 --> 18:41.999
there is no need for any human input,
18:41.999 --> 18:43.600
so the human within this system
18:43.600 --> 18:46.080
turns into a servant.
18:46.080 --> 18:50.800
By contrast, by using human-centered Emacs,
18:50.800 --> 18:53.520
we are able to take care of our neighbors.
18:53.520 --> 18:55.840
We can write extensions for them.
18:55.840 --> 18:58.560
We can help each other on the forums.
18:58.560 --> 19:00.800
We can even teach just one more person
19:00.800 --> 19:02.640
how to use Emacs.
19:02.640 --> 19:04.880
And this idea comes from Ivan Illich
19:04.880 --> 19:06.800
who extends it to say
19:06.800 --> 19:08.880
that by taking care of our neighbors
19:08.880 --> 19:09.680
in this way,
19:09.680 --> 19:11.840
this enables us to excel
19:11.840 --> 19:13.999
at using the best available tools.
19:13.999 --> 19:16.239
The tool here being Emacs.
19:16.239 --> 19:19.200
The community aspect of Emacs
19:19.200 --> 19:20.320
can also be seen
19:20.320 --> 19:22.720
in how the core of Emacs itself
19:22.720 --> 19:25.040
is evolving. So just like we are
19:25.040 --> 19:27.119
configuring and programming Emacs
19:27.119 --> 19:28.720
while we are using it,
19:28.720 --> 19:32.239
Emacs, too, continues to develop
19:32.239 --> 19:34.560
as the core expands.
19:34.560 --> 19:36.880
So in this, too, we see how Emacs
19:36.880 --> 19:39.680
is a model of design pattern learning
19:39.680 --> 19:42.320
that we can be inspired from,
19:42.320 --> 19:44.960
and the fact that people
19:44.960 --> 19:46.320
from the Emacs community
19:46.320 --> 19:49.280
are able to contribute to the core
19:49.280 --> 19:52.720
brings emphasis to the community role
19:52.720 --> 19:53.999
in this design pattern.
19:53.999 --> 19:55.440
So at the beginning, we were saying
19:55.440 --> 19:56.239
we're interested
19:56.239 --> 19:57.680
in the complex assemblage,
19:57.680 --> 19:59.520
not just of activities and tools,
19:59.520 --> 20:00.960
but also of people.
20:00.960 --> 20:03.119
So here we are talking about
20:03.119 --> 20:04.720
an 'Emacs community'.
20:04.720 --> 20:06.880
This is also thanks to
20:06.880 --> 20:08.560
the selfless work of people
20:08.560 --> 20:11.999
like Sacha Chua, or blog rings
20:11.999 --> 20:13.760
such as Planet Emacs Life
20:13.760 --> 20:14.960
that bring us together
20:14.960 --> 20:16.880
so that we truly can say
20:16.880 --> 20:18.479
that there is a community.
20:18.479 --> 20:20.080
This conference is an example of this:
20:20.080 --> 20:23.440
and thank you to the conference organizers.
20:23.440 --> 20:24.880
But this community,
20:24.880 --> 20:28.640
because of the free core,
20:28.640 --> 20:30.160
allows for there to be
20:30.160 --> 20:31.119
different viewpoints
20:31.119 --> 20:32.320
within the community.
20:32.320 --> 20:33.440
One thing that I've noticed
20:33.440 --> 20:34.880
about the Emacs community
20:34.880 --> 20:36.320
is that there are sometimes even
20:36.320 --> 20:38.880
competing views within the community.
20:38.880 --> 20:40.160
This can be considered
20:40.160 --> 20:42.239
proof of concept of systems thinker
20:42.239 --> 20:44.479
and philosopher Edgar Morin's idea
20:44.479 --> 20:46.720
of a 'cognitive democracy',
20:46.720 --> 20:48.160
which is to say,
20:48.160 --> 20:50.880
a community that is nourished
20:50.880 --> 20:52.320
by antagonisms
20:52.320 --> 20:55.840
while also regulating them.
20:55.840 --> 20:57.280
The "being" of this
20:57.280 --> 20:58.560
very special community,
20:58.560 --> 21:01.119
then, very importantly,
21:01.119 --> 21:03.920
stems from how at the center,
21:03.920 --> 21:05.999
we have free software
21:05.999 --> 21:08.720
that allows for this range of difference
21:08.720 --> 21:11.440
and range of extensibility to exist
21:11.440 --> 21:13.599
even within the community.
21:13.599 --> 21:16.880
So, by way of a conclusion,
21:16.880 --> 21:18.080
we can think of Emacs
21:18.080 --> 21:21.359
as the center of centers that expands,
21:21.359 --> 21:24.160
that is relational and free.
21:24.160 --> 21:27.280
Only in some systems, we should add,
21:27.280 --> 21:28.720
does this "being" emerge.
21:28.720 --> 21:31.040
So going back to Richard Gabriel,
21:31.040 --> 21:32.960
just to champion Emacs one more time
21:32.960 --> 21:34.400
before we say goodbye:
21:34.400 --> 21:35.599
only in some systems,
21:35.599 --> 21:36.640
some software systems,
21:36.640 --> 21:38.960
does a system succeed
21:38.960 --> 21:40.080
in becoming the center
21:40.080 --> 21:41.680
of all of the other centers
21:41.680 --> 21:43.920
and become a framework
21:43.920 --> 21:45.520
that can be used and reused,
21:45.520 --> 21:47.840
which gives systems and objects
21:47.840 --> 21:48.720
their spirit.
21:48.720 --> 21:51.520
So Emacs is being used and reused
21:51.520 --> 21:53.599
through these packages,
21:53.599 --> 21:55.119
and it gives to them their spirit.
21:55.119 --> 21:56.320
The spirit, I would argue,
21:56.320 --> 21:59.040
is in part this extensibility,
21:59.040 --> 22:01.520
and sometimes even difference.
22:01.520 --> 22:03.120
Emacs values the value [cf. Stiegler]
22:03.120 --> 22:04.240
of the freedom to create,
22:04.240 --> 22:05.680
use, and share [cf. Illich],
22:05.680 --> 22:06.960
so we can be inspired
22:06.960 --> 22:09.119
by this design pattern.
22:09.119 --> 22:11.359
It is... It rallies
22:11.359 --> 22:14.320
an autonomous designer mindset
22:14.320 --> 22:16.800
and encourages and supports us
22:16.800 --> 22:18.400
on our path towards
22:18.400 --> 22:20.960
design pattern iteration.
22:20.960 --> 22:23.359
It is not a 'flattened' contextualization.
22:23.359 --> 22:25.359
It permits ongoing learning,
22:25.359 --> 22:27.040
reassembling contexts,
22:27.040 --> 22:29.520
and an adaptable design pattern
22:29.520 --> 22:31.520
extensibility.
22:31.520 --> 22:33.200
Ultimately, it helps us create
22:33.200 --> 22:35.520
circumstances where learning is coherent
22:35.520 --> 22:37.920
with what is valued in the rest of life:
22:37.920 --> 22:41.520
pleasure, growth, and transformation.
22:41.520 --> 22:43.200
So thank you, on that note,
22:43.200 --> 22:45.280
to all of the developers, maintainers,
22:45.280 --> 22:47.119
contributors, and community
22:47.119 --> 22:48.560
for championing our freedom
22:48.560 --> 22:51.760
to co-individuate complex design patterns
22:51.760 --> 22:54.320
the way we want to, so we, too,
22:54.320 --> 22:57.359
can leave original traces, if we want to.
22:57.359 --> 23:00.003
Thank you very much.
23:00.003 --> 23:00.920
[captions by sachac]
|