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
|
BEGIN:VCALENDAR
VERSION:2.0
PRODID:EmacsConf
X-WR-CALNAME:EmacsConf 2021
X-WR-TIMEZONE:America/Toronto
X-WR-CALNAME:EmacsConf
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:America/Toronto
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20210314T070000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20211107T060000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20220313T070000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20221106T060000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Opening remarks
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-day1-open
URL:https://emacsconf.org/2021/talks/day1-open
DTSTART;TZID=America/Toronto:20211127T090000
DTEND;TZID=America/Toronto:20211127T090500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/day1-open
\n# Opening remarks
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs News Highlights
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-news
URL:https://emacsconf.org/2021/talks/news
DTSTART;TZID=America/Toronto:20211127T090500
DTEND;TZID=America/Toronto:20211127T091000
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/news
\n# Emacs News Highlights\nSacha Chua <mailto:sa
cha@sachachua.com> - pronouns: she/her\n\nQuick overview of Emacs communit
y highlights since the last conference\n\n<https://github.com/sachac/emacs
conf-2021-emacs-news-highlights>
END:VEVENT
BEGIN:VEVENT
SUMMARY:The True Frownies are the Friends We Made Along the Way: An Anecdot
e of Emacs's Malleability
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-frownies
URL:https://emacsconf.org/2021/talks/frownies
DTSTART;TZID=America/Toronto:20211127T091100
DTEND;TZID=America/Toronto:20211127T093100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/frownies
\n# The True Frownies are the Friends We Mad
e Along the Way: An Anecdote of Emacs's Malleability\nCase Duckworth\n\nEm
acs is well-known for being extremely flexible\, programmable\, and\nexten
sible\; in fact\, that's probably the biggest reason it's still\nbeing use
d after 40+ years of existence\, and even has enough clout to\ngenerate an
entire conference in its name. In this medium-length\npresentation\, I w
ill add another point to the data set proving Emacs's\nabilities\, by narr
ating the latest package I made\, \\`frowny.el\\`\, from\nits conception t
o its current\, nearly-completed state.\n\nI wrote frowny.el to scratch so
meone else's itch as a joke on IRC\, but\nit has been called "pretty usefu
l\, for a joke package." I feel like\nthat encapsulates the spirit of Ema
cs and that's why I want to present\non this topic.\n\nAlong the way\, I'l
l discuss just a little of my own history of Emacs\,\nand why I feel it's
a great tool for non-technical users to sink their\nteeth into.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Choose Your Own (Technology-Enhanced Learning) Adventure
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-adventure
URL:https://emacsconf.org/2021/talks/adventure
DTSTART;TZID=America/Toronto:20211127T093400
DTEND;TZID=America/Toronto:20211127T095400
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/adventure
\n# Choose Your Own (Technology-Enhanced Le
arning) Adventure\nGreta Goetz\n\nThis presentation will move through Emac
s artifacts: first illustrating possible paths for beginners and then mapp
ing out the significance of the enhanced learning potential of Emacs (Cail
let in Andler & Guerry\, Engelbart\, Markauskaite & Goodyear). The technol
ogy-enhanced learning (TEL) that Emacs affords includes a systems view of
'many\, many features' (Stallman) which surpass the confines of a pre-fabr
icated environment (Stiegler). This affords diverse possibilities for indi
viduals to interact creatively and autonomously to satisfy their own needs
(Ill\nich). Its adaptability will be shown to be an asset in supporting t
he learning trends identified by the latest pedagogical research (Guo).\n\
n# Intro\n\nThe 'many\, many features' (Stallman 2002: 4) of Emacs do not
limit imaginable types of interactivity\, supporting both formal and infor
mal learning (cf. Caillet in Andler & Guerry 2008). Emacs can function as
a scaffold for development (cf. Vygotsky 1979: 86)\, promoting the creativ
e and autonomous ability of individuals to interact with their digital env
ironment and others who share the use of this tool (Illich 1973). Individu
als can use Emacs as often or seldom as they want to express their needs a
nd meaning in action\, with no obligation to use it (cf. Illich 1973).\n\n
The formal learning involved pertains to Emacs programs and documentation
(the 'temple') while related discussion and smaller task-based problem sol
ving represents examples of informal learning (the 'forum') (cf. Caillet i
n Andler & Guerry 2008). As a context-rich environment (Trocmé-Fabre 1999)
\, Emacs fulfills the promise of general computing: not boxing users into
personas (cf. Stiegler 2018) but allowing users at all levels to organize
and assemble multiple knowledge domains (Markauskaite & Goodyear 2017) and
programs so that they are 'just right'. People wanting to create tailored
learning environments who feel alienated or unsupported by pre-fabricated
text and programming environments will find their way with Emacs.\n\n1.
What if we are beginners overwhelmed by formal Emacs documentation? Two po
tential learning paths:\n\n - a. Build on a needs-basis. Make your own
artifacts: no use-case is too small\; leave your trace.\n - b. Study ot
hers' inits and use-cases\; Read Planet EmacsLife\; Consult programmer or
power user use-cases\; Map out workflows.\n\n2. Emacs as personal\, creati
ve\, autonomous:\n\n - a. Emacs allows for organic ongoing changes to t
he organization of knowledge\, imagination\, and experience (cf. Guerry &
Gaume 2009) . This is important as not all learners have the same spatial/
visual needs and because these needs and knowledge can change over time (V
ygotsky 1979\; Gardner 1983\; Wang 2020).\n - b. Emacs allows us to con
trol our tools and tasks (Illich 1973). By contrast\, care-less use of pre
-fabricated apps can lead to loss of know-how in life (Stiegler 2018).\n
- c. The art of collecting traces (digital or not) is timeless - and impo
rtant to survival.\n\n3. Emacs as systems design for technology-enhanced
learning (TEL):\n\n - a. Good TEL design performance should also educat
e the designer (Goodyear & Retalis 2010). Further\, good design focuses on
'frameworks'\, which are systems 'that can be customized\, specialized\,
or extended to provide more specific\, more appropriate\, or slightly diff
erent capabilities' (Alexander 1993 in Gabriel 1996)\, assembling epistemi
c domains (Markauskaite & Goodyear 2017). This pedagogical approach is sup
ported by Emacs artifacts (packages\, documentation\, forums\, etc.).\n
- b. The 'wise' use of programming (Crichton 1983) actively manages and
organizes workflow. This permits iterative development. Elementary use-cas
e: a workflow that relies on PPT and Zoom vs. already having a more modula
r viewpoint supported by diverse Emacs packages. The latter adaptability i
s supported by the latest educational research (Guo). Further: Emacs allow
s movement from user to contributor (Stiegler 2018\; Stavrou).\n - c. W
ise programming can include fun programming - 'there are people who want t
o put a stop to that' (Crichton 1983\; Gaffney 2019).\n - d. Extending
this systems/design view\, Emacs is developed and maintained by a communit
y dedicated to supporting this freedom of use in these multiple contexts (
cf. Illich 1973).\n - e. One perspective is less likely to override oth
ers in such a heterogeneous environment (Morin 2004).\n\n# Conclusion\n\nE
macs does not limit any imaginable type of interactivity and promotes a di
versity of related content\, further supporting the pursuit of more advanc
ed TEL (viz. Guo). This was illustrated through an elementary use-case tha
t compared being limited to PPT as opposed to having basic familiarity wit
h Emacs\, which permits manageable\, continuous exploration of knowledge\,
workflows\, and tools (cf. Alexander in Gabriel\; Goodyear & Retalis) and
movement from consumer to creator (Stiegler\; Stavrou). Using Emacs means
being able to use a sophisticated digital tool\, thanks to the contributi
ons of heterogeneous maintainers\, developers\, and community members whos
e artifacts comprise a meta picture. It is possible\, through using Emacs\
, to learn about the design of digital learning and learning in general as
access to knowledge is not walled off by prefabricated design(cf. Illich\
; Stiegler). We can choose our own adventure.\n\n\n# References\n\n## Gene
ral workflow and fun:\n- Bin\, C. (2020). Mastering Emacs in one year. <
https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/mast
er/guide-en.org#on-the-shoulders-of-giants>. Accessed 25 October 2021.\n-
Gaffney\, N. (2019). Oblique strategies. <https://github.com/zzkt/obliq
ue-strategies>. Accessed 25 October 2021.\n- Goetz\, G. (2021). Addition
al references: A back-to-school/GTD Emacs journey. <https://gretzuni.com/a
rticles/a-back-to-school-gtd-emacs-journey>. Accessed 25 October 2021.\n-
Guerry\, B. (2020). Org-mode features you may not know. <https://bzg.fr/
en/some-emacs-org-mode-features-you-may-not-know/>. Accessed 25 October 20
21.\n- Kaiser\, K. (2017). Writing a technical book in Emacs and Org-mod
e. <https://www.kpkaiser.com/programming/writing-a-technical-book-in-emacs
-and-org-mode/>. Accessed 25 October 2021.\n- Planet Emacs Life. <https:
//planet.emacslife.com/>. Accessed 25 October 2021.\n- Stavrou\, P. My p
ackages for GNU Emacs. <https://protesilaos.com/emacs/>. Accessed 25 Octob
er 2021.\n- Wellons\, C. Emacs articles. <https://nullprogram.com/tags/e
macs/>. Accessed 25 October 2021.\n\n## On TEL design:\n- Caillet\, E.
(2008). L’exposition\, le musée: L’éducation informelle comme école de l’é
ducation formelle. In Andler\, D. & Guerry\, B. (Eds.). *Apprendre demain:
Sciences cognitives et éducation à l’ère numérique*\, 137-154. Paris: Hat
ier.\n- Crichton\, M. (1983). *Electronic life*. New York: Knopf.\n- D
e Bono\, E. (2009). *Think! Before it's too late*. London: Random House.\n
- Engelbart\, D. (1962). *Augmenting human intellect: A conceptual frame
work*. Menlo Park: Stanford Research Institute.\n- Drosos\, I. & Guo\, P
. (2021). Streamers teaching programming\, art\, and gaming: Cognitive app
renticeship\, serendipitous teachable moments\, and tacit expert knowledge
. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)\
, short paper\, 2021. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October
2021.\n- Gabriel\, R. (1996). *Patterns of software*. New York\, Oxford:
Oxford University Press.\n- Goodyear\, P. & Retalis\, S. (2010). Learni
ng\, technology and design. In Goodyear\, P. & Retalis\, S. (Eds.). *Techn
ology-enhanced learning: Design patterns and pattern languages*\, 1-27. Ro
tterdam\, Boston: Sense Publishers.\n- Guerry\, B. & Gaume\, N. (2008).
Ce que les jeux vidéo nous apprennent. In Andler\, D. & Guerry\, B. (Eds.)
. *Apprendre Demain: Sciences cognitives et éducation à l’ère numérique*\,
155-159. Paris: Hatier.\n- Guo\, P. (2018). Students\, systems\, and in
teractions: Synthesizing the first\nfour years of Learning@Scale and chart
ing the future. L@S 2018\, June 26–28\, 2018\, London\, United Kingdom. DO
I: https://doi.org/10.1145/3231644.3231662. <https://pg.ucsd.edu/pubs.htm>
. Accessed 25 October 2021.\n- Guo\, P.\, Kim\, J. & Rubin\, R. (2014).
How video production affects student engagement: An empirical study of MOO
C videos. ACM Conference on Learning at Scale. <https://pg.ucsd.edu/pubs.h
tm>. Accessed 25 October 2021.\n- Illich\, I. (1973). *Tools of convivia
lity*. New York: Harper & Row.\n- Kim\, J.\, Guo\, P.\, Seaton\, D.\, Mi
tros\, P.\, Gajos\, K. & Miller\, R. (2014). Understanding in-video dropou
ts and interaction peaks in online lecture videos. ACM Conference on Learn
ing at Scale. <https://pg.ucsd.edu/pubs.htm>. Accessed 25 October 2021.\n-
Markauskaite\, L. & Goodyear\, P. (2017). *Epistemic fluency and profes
sional education: innovation\, knowledgeable action and actionable knowled
ge*. Dordrecht: Springer.\n- Markel\, J. & Guo\, P. (2020). Designing th
e future of experiential learning environments for a post-COVID world: A p
reliminary case study. NFW ’20 (Symposium on the New Future of Work)\, Aug
ust 3–5\, 2020\, Virtual Event. <https://pg.ucsd.edu/pubs.htm>. Accessed 2
5 October 2021.\n- Morin\, E. ([2004] 2008). *La Méthode - tome 6: Éthiq
ue*. Éditions du Seuil: Paris.\n- Stallman\, R. (2002). *Free software\,
free society*. GNU Press\, Free Software Foundation.\n- Stiegler\, B. (
2018). *The neganthropocene*. Open Humanities Press.\n- Trocmé-Fabre\, H
. (1999). *Réinventer le métier d’apprendre*. Paris: Éditions d’organisati
on.\n- Vygotsky\, L. (1979). *Mind in society: The development of higher
psychological processes*. Cambridge and London: Harvard University Press.
\n- Wang\, S. (2020). Open knowledge. Hope in Source. <https://hopeinsou
rce.com/open-knowledge/#open-source-knowledge-proof-of-work>. Accessed 25
October 2021.\n\n\n# Availability and preferred Q&A approach\n\nDue to the
pandemic situation\, my teaching schedule fluctuates so I\nwill not know
my availability until much closer to the\ndate. Therefore\, I can only gua
rantee delayed answer response\n(whatever you request)\, but if available\
, will join live.\nMay I please note that I will be pre-recording my video
if this submission is accepted.\n\n\n# Speaker release\n\nBy submitting t
his proposal\, I agree that my presentation at\nEmacsConf 2021 is subject
to the following terms and conditions:\n\nThe EmacsConf organizers may cap
ture audio and video (a "Recording")\nof my presentation and any associate
d materials\, which may include\nslides\, notes\, transcripts\, and prerec
ording(s) of my presentation\nthat I provide to the EmacsConf organizers.\
n\nI authorize the EmacsConf organizers to distribute\, reproduce\,\npubli
cly display\, and prepare derivative works of the Recording and\nany deriv
ative works of the Recording (the "Licensed Materials")\nunder the terms o
f the Creative Commons Attribution-ShareAlike 4.0\nInternational (CC BY-SA
4.0) license.\n\nI grant to the EmacsConf organizers permission to use my
name\,\nlikeness\, and biographic information in association with their u
se\nof the Licensed Materials under the above license.\n\nI represent that
I have the authority to grant the above license to\nthe EmacsConf organiz
ers. If my presentation incorporates any\nmaterial owned by third parties\
, I represent that the material is\nsublicensable to the EmacsConf organiz
ers or that my use of them is\nfair use.
END:VEVENT
BEGIN:VEVENT
SUMMARY:"GNU's Not UNIX: Why Emacs Demonstrates The UNIX Philosophy Isn't A
lways The Only Answer"
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-unix
URL:https://emacsconf.org/2021/talks/unix
DTSTART;TZID=America/Toronto:20211127T095600
DTEND;TZID=America/Toronto:20211127T100600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/unix
\n# GNU's Not UNIX: Why Emacs Demonstrates The U
NIX Philosophy Isn't Always The Only Answer\nDaniel Rose\n\nThe talk targe
ts users who are curious about computational philosophies\,\nor those who
might not know how to best utilise Emacs conceptually. The\ntalk will cove
r what the UNIX philosophy is\, the GNU Free Software\nprinciples\, a typi
cal (Neo)Vi(m) user's approach\, and then how one might\naccomplish this i
n Emacs combining the aformentioned ideals. The\nlisteners will learn how
they can approach Emacs ideologically\, and how\nblocking themselves into
one philosophy or the other will limit their\nefficiency. Although you may
be a veteran GNU/Linux and Emacs user\,\nunderstanding how to use both ph
ilosophies together will still allow you\nto be more performant than witho
ut.\n\n\n\n# Outline\n\n- 5-10 minutes:\n Cut out the portions of exp
laining the whole UNIX and GNU philosophies\n and instead talk about co
ncrete examples:\n - How can one limit their usage of CLI tools while
still maintaining\n the ideals of both.\n - How using CLI too
ls can still perfectly flow into Emacs.\n - How having all programs i
n Emacs and unified keybindings is akin\n to a terminal user.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs manuals translation and OmegaT
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-omegat
URL:https://emacsconf.org/2021/talks/omegat
DTSTART;TZID=America/Toronto:20211127T100900
DTEND;TZID=America/Toronto:20211127T101900
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/omegat
\n# Emacs manuals translation and OmegaT\nJean
-Christophe Helary\n\nEven if it is generally agreed that software localiz
ation is a good thing\, Emacs is lacking in that respect for a number of t
echnical reasons. Nonetheless\, the free software using public could great
ly benefit from Emacs manuals translations\, even if the interface were to
remain in English.\n\nOmegaT is a multiplatform GPL3+ "computer aided tra
nslation" (CAT) tool running on OpenJDK 8. CATs are roughly equivalent for
translators to what IDEs are for code writers. Casual translators can ben
efit from their features but professionals or commited amateurs are the mo
st likely to make the most use of such tools.\n\nWhen OmegaT\, free softwa
re based forges and Emacs meet\, we have a free multi-user translation env
ironment that can easily sustain the (close to) 2 million words load that
comprise the manuals distributed with Emacs\, along with powerful features
like arbitrary string protection for easy typing and QA (quality assuranc
e)\, automatic legacy translation handling\, glossary management\, history
based or predictive autocompletion\, etc.\n\nThe current trial project fo
r French is hosted on 2 different forges:\n\n1. sr.ht hosts the source fi
les\n <https://sr.ht/~brandelune/documentation_emacs/>\n2. chapril hos
ts the OmegaT team project architecture\n <https://sr.ht/~brandelune/do
cumentation_emacs/>\n\nThe sources are regularly updated with a po4a based
shell script.\n\n# Outline\n\n- Duration: 10 minutes\n- Software used dur
ing the presentation\n - [po4a](https://po4a.org) a tool to convert docum
entation formats to and from the commonly used `gettext` **PO** format.\n
po4a supports the `texinfo` format along with many others.\n - [OmegaT
](https://omegat.org) a "computer aided translation" tool used by translat
ors to efficiently combine translation ressources (legacy translations\, g
lossaries\, etc.) so as to produce more consistent translations.\n\nDuring
the presentation\, I will show:\n\n- How to use po4a to convert the texi
files to the PO format (the org.org file is also converted)\n- What are th
e specificities of the Emacs manuals and what difficulties they present to
the tanslator\n- How to address those specificities in OmegaT\, with regu
lar expressions\n- How to use OmegaT features such as arbitrary string pro
tection\, legacy translation handling\, glossaries\, autocompletion\, QA\,
etc.\n- How to use OmegaT with a team of 2 (or more) translators working
at the same time\n- How to solve translation conflicts\n\nI will *not* sho
w:\n\n- How to create an OmegaT project\n- How to setup an OmegaT team pro
ject\n- How to use OmegaT from the command line to work in localization pi
pelines\n- How to use machine translation and MT "post-edit"\n- How to con
vert back the translated files to texi format\n- How to install translated
texi files for use in Emacs
END:VEVENT
BEGIN:VEVENT
SUMMARY:NonGNU ELPA Update
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-nongnu
URL:https://emacsconf.org/2021/talks/nongnu
DTSTART;TZID=America/Toronto:20211127T102200
DTEND;TZID=America/Toronto:20211127T103200
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/nongnu
\n# NonGNU ELPA Update\nKaluđerčić\, Philip\n\
nNonGNU ELPA was announced last year\, as a package repository\nthat will
be enabled by default in Emacs\, but doesn't require\nany copyright assign
ment. This means that a lot of popular\npackages can now be installed easi
er\, without any additional\nconfiguration.\n\nIn this talk I would like t
he give a reminder of what NonGNU\nELPA is and how it works\, update the p
articipants on what has\nhappened since last year and what maintainers hav
e to do if they\nwant their packages to be added to the repository.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Manual Package Management in The Era of Repositories - Why and How
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-borg
URL:https://emacsconf.org/2021/talks/borg
DTSTART;TZID=America/Toronto:20211127T103500
DTEND;TZID=America/Toronto:20211127T104500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/borg
\n# Manual Package Management in The Era of Repo
sitories - Why and How\nDhavan (codingquark)\n\nEmacs now has many package
repositories - enought to have conflicts\nand arguments about. The packag
es are becoming big\, they depend on many\nother packages and it is not ea
sy to keep track of what all is being\ninstalled in our Emacsen. An aggres
sive way out of this is to use Yet\nAnother Package and install all elisp
code manually - with borg[1].\n\n[1]: <https://github.com/emacscollective/
borg>\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n
1. What are we trying to solve?\n 2. What is borg?\n 3. How to
use it?\n 4. Assimilate a package for demo
END:VEVENT
BEGIN:VEVENT
SUMMARY:telega.el and the Emacs community on Telegram
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-telega
URL:https://emacsconf.org/2021/talks/telega
DTSTART;TZID=America/Toronto:20211127T104800
DTEND;TZID=America/Toronto:20211127T105800
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/telega
\n# telega.el and the Emacs community on Teleg
ram\nGabriele Bozzola and Evgeny Zajcev\n\nTelegram is a cross-platform in
stant messaging system. The large number of\nfeatures and the widespread a
doption make it a good choice for both private\nconversations with friends
and for large online communities. In this talk\, I\nam going to present t
he Emacs community on Telegram and its initiatives. I\nam also going to di
scuss telega.el\, the Emacs client for Telegram. telega.el\nis a high-qual
ity package that perfectly integrates in Emacs. It supports\nthe vast majo
rity of the features supported by the official clients\, while\nadding sev
eral unique ones. In the talk\, I will present the package and\nhighlight
some of the most important features.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Introducing N-Angulator
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-nangulator
URL:https://emacsconf.org/2021/talks/nangulator
DTSTART;TZID=America/Toronto:20211127T110100
DTEND;TZID=America/Toronto:20211127T111100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/nangulator
\n# Introducing N-Angulator\nKevin Haddock
\n\nThe Unix file system is essentially an N-dimentional sparse array that
\ncurrently lacks a decent editor and browser which\ncan effectively lever
age the logical tri-angulation (or\, more properly\n"n-angulation") of ato
ms/blobs within it.\n\nN-Angulator is the genesis\, to wit\, the "Model-T\
," of such a program.\n\n(see google drive link below for a very old uncir
culated prototype\nvideo demo. Be sure and turn the volume UP!)\n\nna.in
tro.flv\n<https://drive.google.com/file/d/1EZN0Xs8eGlEbSIYFml2lp3GCNnmLQa9
8/view?usp=drive_web>\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descrip
tion/outline)\n\nThe reconceptualization of the Unix file system as the N-
Dimensional\nsparse array will be discussed.\n\nA simple pre-existing data
base will be queried.\n\nIf time\, questions will be entertained by video/
audio and/or IRC.
END:VEVENT
BEGIN:VEVENT
SUMMARY:A day in the life of a janitor
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-janitor
URL:https://emacsconf.org/2021/talks/janitor
DTSTART;TZID=America/Toronto:20211127T111400
DTEND;TZID=America/Toronto:20211127T113400
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/janitor
\n# A day in the life of a janitor\nStefan Mo
nnier\n\nBecause of a reckless former Emacs maintainer that shall\n bette
r stay unnamed\, ELisp has seen a fair bit of churn in the last 10\n year
s\, making it necessary to clean up "old" code [in order to open up\n the
road for yet more recklessness? ].\n In this documentary we will follow
a famous janitor in his every day job\n dealing with the aftermath of the
cl-lib / lexical-binding party.\n\n- ~20 minutes\n Here really\, I'm
not sure how much time this will take. I put 20\n minutes because I t
hink I might be able to fill that and I think more\n than that could tu
rn too boring. I intend to make it a "live coding"\n kind of thing\, w
ithout anything like an outline: it's basically "make"\n followed by fi
xing the warnings.
END:VEVENT
BEGIN:VEVENT
SUMMARY:How to help Emacs maintainers?
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-maintainers
URL:https://emacsconf.org/2021/talks/maintainers
DTSTART;TZID=America/Toronto:20211127T113900
DTEND;TZID=America/Toronto:20211127T114900
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/maintainers
\n# How to help Emacs maintainers?\nBasti
en Guerry\n\nAfter 11 years of helping as the Org maintainer\, I would\nli
ke to share a few lessons learned. My goal is help everyone take\ncare of
Emacs maintainance by taking care of Emacs maintainers.\n\n\n\n# Outline\
n\n- 5-10 minutes
END:VEVENT
BEGIN:VEVENT
SUMMARY:Typesetting Gregorian Chant with Emacs
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-gregorian
URL:https://emacsconf.org/2021/talks/gregorian
DTSTART;TZID=America/Toronto:20211127T115200
DTEND;TZID=America/Toronto:20211127T120200
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/gregorian
\n# Typesetting Gregorian Chant with Emacs\
nSpencer King\n\nThere are a variety of methods for typesetting gregorian\
nchant scores and outputting high-quality sheet music. One of these is\na
tool called Gregorio\, which integrates with LaTeX allowing scores to\nbe
cleanly inserted into other documents. All Gregorio files are plain\ntext\
, allowing them to easily be shared with other users and managed\nwith a v
ersion control system. In this talk\, I will give a brief\noverview of the
Gregorio tool and then show how it can be used in\nEmacs by typesetting a
simple score. All code and examples will be\nmade available to help new u
sers get started with typesetting their\nown scores.\n\n\n\n# Outline\n\n-
5-10 minutes: (brief description/outline)\n 1. Introduction to chan
t music\n 2. Introduction to Gregorio\n 3. Example of typesetting
a score in Emacs\n 4. Code and example availability
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs and Montessori Philosophy
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-montessori
URL:https://emacsconf.org/2021/talks/montessori
DTSTART;TZID=America/Toronto:20211127T123000
DTEND;TZID=America/Toronto:20211127T124000
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/montessori
\n# Emacs and Montessori Philosophy\n\n\nA
s a former Montessori guide and now parent\, I often think about the\nrela
tionship of this particular educational philosophy and how it manifests\ni
n my work with software\, Emacs in particular. This talk introduces the\nc
oncept of Emacs as an educational environment and how it expresses element
s of\nMontessori psychology regarding "Human Tendencies". Human tendencies
are innate\ndrives present in everybody that allow us to explore and make
sense of our world.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief descript
ion/outline)\n Quick overview of a Montessori classroom environment:\n\
n - the adults or guides primarily observe and present material\n
- the children are free to explore materials as they choose (within limi
ts)\n - the environment itself is prepared specifically to foster eng
agement\n\n Enumerate the "Human Tendencies":\n\n - Abstraction\n
- Activity\n - Communication\n - Exactness\n - Explora
tion\n - Manipulation (of the environment)\n - Order\n - Or
ientation\n - Repetition\n - Self-Perfection\n - Work (also
described as "purposeful activity")\n\n How does Emacs express these t
hings?\n\n - in the short version\, pose the question\, and perhaps g
ive one example.\n - Emacs is an environment that provides facilities
for individuals to\n find their way to proficiency through their H
uman Tendencies.\n - We are all both learners and guides\, Emacs is o
ur classroom
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs Research Group\, Season Zero: What we did together with Emacs
in 2 hours a week for a year
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-erg
URL:https://emacsconf.org/2021/talks/erg
DTSTART;TZID=America/Toronto:20211127T124300
DTEND;TZID=America/Toronto:20211127T125800
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/erg
\n# Emacs Research Group\, Season Zero: What we d
id together with Emacs in 2 hours a week for a year\nNoorah Alhasan\, Joe
Corneli\, Raymond Puzio\, Leo Vivier\n\nThe four of us met at EmacsConf 20
20\, and joined together around a\ncommon interest in Emacs and research.
Since then\, we have convened as\nthe Emacs Research Group for weekly mee
tings. During these meetings\, we\ntook notes collaboratively\, using a ‘
conflict-free replicated data type’\npackage (crdt.el)\; at the end of eac
h session\, we debriefed using a\ntemplate that we call a Project Action R
eview (PAR). As as a\nmeta-review of our sessions\, every six weeks we pr
epared a Causal\nLayered Analysis (CLA)\, which gave us a different perspe
ctive on what we\nhad done. We reflected further on our experiences and m
ethods\, linking\nour CLA to plans and design patterns. As a formal resea
rch output\, we\ncontributed a write-up of these matters to a joint paper
which we\npresented at the Pattern Languages of Programs Conference (PLoP
2021).\nThe paper included an interactive workshop\, in which we explored
roles\nin real-time problem solving and collaboration.\n\nIn our short tal
k we share information about these methods\, making a\ncase for other peop
le getting together and creating their own small\nresearch communities sim
ilar to ours.
END:VEVENT
BEGIN:VEVENT
SUMMARY:One effective CS grad student workflow
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-cs
URL:https://emacsconf.org/2021/talks/cs
DTSTART;TZID=America/Toronto:20211127T130100
DTEND;TZID=America/Toronto:20211127T131100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/cs
\n# One effective CS grad student workflow\nGreg C
oladonato\n\nWhen I was an undergrad\, I learned many things\, most of\nwh
ich I forgot. In the time since then\, I've discovered Org Mode\, Org\nRoa
m\, Org Noter\, Org Ref. PDF Tools\, and Anki. I would like to share\nmy a
pproach for capturing all the information that comes my way as a\nMS CS st
udent at Georgia Tech\, in the hopes that I can both get\nfeedback on ways
to improve the system I use\, as well as hopefully\ninspire others to bui
ld workflows that make them more productive.\n\n\n\n# Outline\n\n- 5-10
minutes: Go through some typical workflows associated with being a grad st
udent\, using the packages mentioned in the abstract.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Using Org-Mode For Recording Continuous Professional Development
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-professional
URL:https://emacsconf.org/2021/talks/professional
DTSTART;TZID=America/Toronto:20211127T131400
DTEND;TZID=America/Toronto:20211127T132400
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/professional
\n# Using Org-Mode For Recording Continu
ous Professional Development\nPhilip Beadling\n\nI recently had the pleasu
re of being audited for my CPD record with one\nof the large engineering p
rofessional bodies. I decided to harness\norg-mode's TODO lists to record
CPD items and my progress against them\ncompletely within Emacs. I also
wanted the ability to export the data\nin a well presented\, compact forma
t for auditing submission.\n\nThe project was a success (I passed the audi
t) and the resulting system\nintegrates really well into my wider daily Em
acs workflow\, making future\nCPD recording seamless.\n\nThe talk will exp
lain how I tweaked and extended org-mode to get it to\nrecord the data I w
anted\, followed by a demo.\n\nA basic demo org file with embedded elisp c
an be seen here:\n<https://raw.githubusercontent.com/falloutphil/Misc/mast
er/cpd.org>\n\nA basic generated PDF from the basic demo is here:\n![img](
https://preview.redd.it/nvdpmityhuw51.png?width=1169&format=png&auto=webp&
s=e0c5080560c877aa02933a40c224e52b8a1fed3b)\n\nI have a much more involved
example I could also use for the demo.\n\nThe template contains a few exa
mples. Examples are Goals that are split\nup into Activities. All Activit
ies must have a Goal\, and within a Goal\nall activities must be complete
for the Goal to be automatically set to\ncomplete.\n\nIt's basically lever
aging Org Capture Templates to create custom Goals\nand Activities.\n\nOn
save or update these are then rendered into a table using Column View.\n\n
Activities are sorted by date they were completed on.\n\nThe Column View i
s pre-configured to be exported to PDF in a condensed\nbut readable format
for submission. It stays fairly readable even when\nthe pages get busy.\n
\nThe elisp required is all under the "Config" bullet and Emacs will ask\n
to execute it on opening the Org file. The elisp concerns itself with\nnic
e custom org capture functions and a few functions to ensure nice\nformatt
ing on export\, etc.\n\n\n\n# Outline\n\n- 5-10 minutes:\n\nA quick walk
through of the setup and functions\, followed by a demo of how\nto add CPD
items\, and update them. Finally show generation of a PDF\ncontaining al
l the items tabulated and ready for audit review. I\nestimate this at app
rox 10 minutes.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Creating technical API documentation and presentations using org-ba
bel\, restclient\, and org-treeslide
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-tech
URL:https://emacsconf.org/2021/talks/tech
DTSTART;TZID=America/Toronto:20211127T132700
DTEND;TZID=America/Toronto:20211127T133700
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/tech
\n# Creating technical API documentation and pre
sentations using org-babel\, restclient\, and org-treeslide\nJan Ypma\n\nT
he emacs org-babel package is often mentioned in conjunction with\nliterat
e programming. The ability to mix code segments with prose\nindeed offers
an intuitive way to augment semantic code pieces with\ntextual description
s.\n\nIn recent projects\, I've started to turn to org-mode as the primary
\nformat to maintain technical documentation\, as well as slides for a\nte
chnical language course. By using org-babel to pull in "live" code\nfor RE
ST requests\, language examples\, and shell scripts\, one can be\nsure tha
t the documentation and slides are never out of date.\n\nThe session will
show how leverage org-babel\, restclient and\norg-treeslide to write and p
resent technical documentation with style.\n\n\n# Outline\n\n- Introductio
n\n- Demo: Developer guide\n- Demo: REST API guide\n- Demo: Presentations\
n- Used packages and configuration
END:VEVENT
BEGIN:VEVENT
SUMMARY:Org as an executable format
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-exec
URL:https://emacsconf.org/2021/talks/exec
DTSTART;TZID=America/Toronto:20211127T134100
DTEND;TZID=America/Toronto:20211127T135100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/exec
\n# Org as an executable format\nTom Gillespie\n
\nOrg mode is known for its flexibility\, power\, and staggeringly diverse
\nnumber of workflows\, users\, and use cases.\n\nThis talk explores just
how far we can push the boundaries of the sane\nand sensible with regard t
o Org workflows.\n\nIn particular it will discuss shebang blocks\, and elv
s: two parts of a\ncomplete system for creating executable Org files.\n\nO
rg syntax does not support shebang lines. However\, it turns out that\nOrg
syntax enables something even better —\; shebang blocks.\n\nOrg is
also (supposedly) not an executable file format. However\, by\ncombining
a shebang block with a Org babel source block\, and eval\nlocal variables
(elvs) Org becomes a multi-language executable format.\n\nIn this talk we
introduce shebang blocks and elvs as a two part system\nthat transforms Or
g files into executable documents that can run on any\nrecent version of E
macs.\n\nThese ideas are implemented in\n<https://github.com/tgbugs/orgstr
ap/blob/master/README.org> and\n<https://github.com/tgbugs/orgstrap/blob/m
aster/shebang.org>\, and\norgstrap.el is available as a package on MELPA a
nd can be installed\nvia M-x install-package orgstrap.\n\nThe talk will op
en with a demo of how to create an executable Org file\nusing the orgstrap
machinery.\n\nWe then discuss security considerations\, and show example
use cases.\n\nFinally the talk will cover the details and development of t
he\nportable shebang block for Org mode that works on a wide variety of\ns
ystems and shells\, and on the development of a formal specification\nand
a reference implementation for using Org source blocks to\ntransform Org f
iles from plain text documents with a bit of markup\ninto self describing
computational documents\, or interactive\napplications.\n\n\n\n# Outline\n
\n- 5-10 minutes:\n\nA demo of adding the orgstrap block and elvs\,\nadd
ing a shebang block\, and then running an org file.
END:VEVENT
BEGIN:VEVENT
SUMMARY:The use of Org mode syntax outside of GNU/Emacs
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-org-outside
URL:https://emacsconf.org/2021/talks/org-outside
DTSTART;TZID=America/Toronto:20211127T135400
DTEND;TZID=America/Toronto:20211127T140400
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/org-outside
\n# The use of Org mode syntax outside of
GNU/Emacs\nKarl Voit\n\nWith the rising interest in Org mode\, the GNU/Em
acs community gained\nmuch momentum in the last decade. Being a nicely des
igned lightweight\nmarkup language\, Org mode does not only benefit users
of GNU/Emacs.\nThere are many tools and services supporting Org mode synta
x documents\nthat do have no direct connection to GNU/Emacs. I would like
to\nelaborate on the advantages on using Org mode syntax for arbitrary\nte
xt outside of GNU/Emacs for better typing usability and\ncollaboration tas
ks.\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nT
his can only be a short teaser for the use of Org mode syntax without\nmuc
h comparison to other lightweight markup languages. For this\naudience\, I
do think that this would be too short because most\nattendees might alrea
dy have heard the rumors that Org mode is great\nor they have adapted Org
mode in their workflows already.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Using Org-mode to teach programming
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-teach
URL:https://emacsconf.org/2021/talks/teach
DTSTART;TZID=America/Toronto:20211127T140700
DTEND;TZID=America/Toronto:20211127T142700
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/teach
\n# Using Org-mode to teach programming\nDaniel
German\n\nIn this presentation I will explain how to use org-mode effecti
vely to\nprepare teaching materials\, and how to present them.\n\nFor the
last 5 years I have been using org-mode to teach programming\nin different
languages: C++\, SQL\, Ruby\, Python\, SML\nand Scheme. Org-mode has thre
e key advantages:\n\n1. it supports most programming languages with a com
mon interface\,\n2. it is an interactive medium for delivering teaching m
aterials\; and\n3. it is an always-up-to-date format that does not need t
o be exported in order to be published.\n\nI explain how I use org-mode in
my courses and how I combine org-mode\nnotes other tools such as github o
rg-mode to get\nalways up-to-date teaching materials that one can use for
both\nteaching and studying (see\n<https://github.com/dmgerman/csc116Moder
nCplusplus/blob/master/lectures/l-01-1-intro/01_1_intro.org>\nfor an examp
le).\n\nFinally\, I will discuss some important aspects to consider when u
sing\norg-mode for this purpose.\n\n\n\n# Outline\n\n20 minutes:\n\n- In
troduction\n- Quick demonstration\n- Workflow\n- Emacs configuration
\n- Important considerations\n- How to get started\n\nOh\, I made a sm
all mistake. I meant to propose a 40 minutes presentation.\nBut I can give
a quicker 20 minutes too.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Managing a research workflow (bibliographies\, note-taking\, and ar
Xiv)
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-research
URL:https://emacsconf.org/2021/talks/research
DTSTART;TZID=America/Toronto:20211127T143200
DTEND;TZID=America/Toronto:20211127T143700
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/research
\n# Managing a research workflow (bibliograp
hies\, note-taking\, and arXiv)\nAhmed Khaled\n\nResearchers and knowledge
workers have to read and discover new papers\,\nask questions about what
they read\, write notes and scratchwork\, and store\nmuch of this informat
ion for use in writing papers and/or code. Emacs allows\nus to do all of t
his (and more) using simple text interfaces that integrate\nwell together.
In this talk I will talk about the following:\n\na. Using elfeed and elfe
ed-score to read new papers from arXiv.\nb. Using org-ref to import arXiv
papers of interest into a local\nbibliography.\nc. Using Emacs hooks with
biber and rebiber in order to keep the local\n bibliography clean and up
-to-date with conference versions of papers.\nd. Using org-roam and org-ro
am-bibtex to take linked\, searchable notes in\norg on research papers.\n\
nThis text-based workflow allows for keeping everything accessible under\n
version\ncontrol and avoids the platform lock-in of binary formats (e.g. M
endeley). I\nwill share my Doom Emacs configuration for this workflow\, bu
t it is not\nlimited\nto Doom.\n\n\n\n# Outline\n\n- 5-10 minutes: I wil
l demo the packages I use in 5 minutes.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Babel for academics
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-babel
URL:https://emacsconf.org/2021/talks/babel
DTSTART;TZID=America/Toronto:20211127T144100
DTEND;TZID=America/Toronto:20211127T145100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/babel
\n# Babel for academics\nAsilata Bapat\n\nPlain
org-mode is already an extremely powerful and\ncustomisable tool for task
and time management\, note-taking\, calendar\nand agenda management\, and
much more. Babel takes org a step further\nby letting you write\, evaluat
e\, and export code in different languages\nfrom within a single file. In
this talk\, I will highlight some\nfeatures of babel that I find exciting
and extremely useful\,\nparticularly for an academic workflow.\n\nGetting
started with babel can be intimidating\, but it's hard to stop\nusing it o
nce you start. As an academic\, I typically don't manage\nlarge coding pro
jects. My primary purpose is writing lecture notes\,\nassignments\, and pa
pers\, and managing related admin. Typically\, I want\nto try and automate
the boring portions of my workflow without extra\noverhead. I also tend t
o find various tasks easier in some programming\nlanguages and harder in o
thers\, and prefer to mix and match languages\nas the task dictates. Babel
makes this process seamless.\n\nA basic use case is writing a document in
org-mode and exporting it to\nLaTeX or HTML. Org-mode even lets you write
multiple documents in a\nsingle org file\, which can be convenient. Babel
lets you add all sorts\nof enhancements to the same file. For example\, s
uppose we have a\nsingle org document with all the problem sets for a cour
se. Within\nthis single file\, we could now:\n\n- draw pictures in ditaa
\, graphviz\, or python instead of LaTeX\,\n- use python to do complex c
alculations and then output the result as LaTeX\,\n- define skeletons to
quickly draw up assignment templates\,\n- toggle exporting of assignmen
ts with or without solutions based on tags\,\n- locally change export se
ttings or run a post-export hook\,\n- automatically export to LaTeX afte
r saving\,\n- tangle code blocks from some or all of the languages to ex
ternal files.\n\nI will try to showcase features of babel that academics c
ould find\nhelpful\, by presenting some ways in which I have tried to use
babel. I\nwould also like to be inspired by other people's babel workflows
!\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n\nFor
a 5-10 minute presentation I will give a brief intro and present one or t
wo example files that heavily use babel. I will use these\nexamples to hig
hlight some of the features mentioned in the abstract.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Reproducible molecular graphics with Org-mode
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-molecular
URL:https://emacsconf.org/2021/talks/molecular
DTSTART;TZID=America/Toronto:20211127T145300
DTEND;TZID=America/Toronto:20211127T150300
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/molecular
\n# Reproducible molecular graphics with Or
g-mode\nBlaine Mooers\n\nResearch papers in structural biology should incl
ude the code used to make\nthe images of molecules in the article in the s
upplemental materials.\nSome structural bioinformaticists have started to
include\ntheir computer code in the supplemental materials to allow reader
s\nto reproduce their analyses. However\, authors of papers reporting new\
nmolecular structures often overlook the inclusion of the code that makes\
nthe images of the molecules reported in their articles. Nonetheless\,\nth
is aspect of reproducible research needs to become the standard practice\n
to improve the rigor of the science.\n\nIn a literate programming document
\, the author interleaves between blocks\nof prose the code that makes the
images of molecules. The document allows\nthe reader to reproduce the ima
ges in the manuscript by running the code.\nThe reader can also explore th
e effect of altering the parameters in the\ncode. Org files are one altern
ative for making such literate programming\ndocuments.\n\nWe developed a y
asnippet snippet library called orgpymolpysnips for\nstructural biologists
(<https://github.com/MooersLab/orgpymolpysnips>).\nThis library facilitat
es the assembly of literate programming documents\nwith molecular images m
ade by PyMOL. PyMOL is the most popular\nmolecular graphics program for cr
eating images for publication\; it has\nover 100\,000 users\, which is a l
ot of users in molecular biology. PyMOL\nhas been used to make many of the
images of biological molecules found\non the covers of many Cell\, Nature
\, and Science issues.\n\nWe used the `jupyter' language in org-babel to s
end commands from\ncode blocks in Org files to PyMOL's Python API. PyMOL r
eturns the\nmolecular image to the output block below the code block. An E
macs\nuser can convert the Org file into a PDF\, `tangle' the code blocks\
ninto a script file\, and submit these for non-Emacs users. We describe\nt
he content of the library and provide examples of the running PyMOL\nfrom
Org-mode documents.\n\n\n# Outline\n\n- 5-10 minutes: (brief description
/outline)\n - Title slide\n - Structural Biolog Workflow in the
Mooers Lab\n - Cover images made with PyMOL\n\n - Why develop a
snippet library for your field?\n - PyMOL in Org: kernel specificatio
n\n - Creating a conda env and installing PyMOL\n - Example code
block in Org to make DSSR block model of tRNA\n - Resulting image\n
- Summary\n - Acknowledgements
END:VEVENT
BEGIN:VEVENT
SUMMARY:Budgeting\, Project Monitoring and Invoicing with Org Mode
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-project
URL:https://emacsconf.org/2021/talks/project
DTSTART;TZID=America/Toronto:20211127T150600
DTEND;TZID=America/Toronto:20211127T151600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/project
\n# Budgeting\, Project Monitoring and Invoic
ing with Org Mode\nAdolfo Villafiorita\n\nIn this talk I will present how
we use Org Mode at Shair.Tech for\nbudgeting\, project monitoring\, and in
voicing.\n\nWe are a small company and we are still tuning and improving t
he\nprocess\, but with a bit of Emacs Lisp\, the functions Org Mode\nprovi
des\, and reading here and there what other users do\, we\nimplemented an
effective workflow we have been using for nearly a\nyear\, now\, and with
which we are very happy. Talk duration:\n\n–\;> 20 minutes seems to
be right (15 talk + questions)\n–\;> I can also make in 10 minutes\,
by focusing the talk on\n budgeting (or monitoring)
END:VEVENT
BEGIN:VEVENT
SUMMARY:Find Your (In)voice: Emacs for Invoicing
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-invoice
URL:https://emacsconf.org/2021/talks/invoice
DTSTART;TZID=America/Toronto:20211127T151900
DTEND;TZID=America/Toronto:20211127T152900
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/invoice
\n# Find Your (In)voice: Emacs for Invoicing\
nBala Ramadurai\n\nYe Freelance warriors\, please lend me your I/O devices
for 5 minutes.\n\nYour time is your money! Do you find it a pain to gener
ate an invoice\,\nrecord the details into your accounting software and kee
p track of\ntaxes and payments? You are not alone\, I found the whole invo
ice\nthingy to be extremely painful.\n\nBut worry not\, Emacs comes to our
rescue.\n\nMy talk will give you a basic intro on how to use org mode\, s
ome embedded python code and file jugglery to generate stylistic and profe
ssional invoices.\n\nWhat you will learn during the session:\n\n- How to
track your freelance time using orgmode\n- How to create the basic infr
astructure for invoice generation\n- How to generate the invoice\n- Ho
w to manage multiple clients\n- How to enter the finance details into yo
ur accounting software\n- How to track invoice payments\n\nWe will use t
he following packages:\n\n- Emacs+orgmode (duh?)\n- yasnippet\n- pyt
hon layer (I use spacemacs\, so whatever is the equivalent in your config)
\n- Some unnecessary Shakespearean references
END:VEVENT
BEGIN:VEVENT
SUMMARY:Productivity Dashboards with Emacs and Kindle
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-dashboard
URL:https://emacsconf.org/2021/talks/dashboard
DTSTART;TZID=America/Toronto:20211127T153200
DTEND;TZID=America/Toronto:20211127T154200
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/dashboard
\n# Productivity Dashboards with Emacs and
Kindle\nMehmet Tekman\n\nSince 2008\, Amazon have released a new Kindle de
vice every year\,\nsupplanting each generation with a newer model that boa
sts highly\npromoted incremental features which greatly devalues the price
of\ntheir older models. These forgotten models are sold on Ebay and\nothe
r secondhand websites at highly discount prices by owners who\ndo not see
the true potential of these devices: Kindles are\nexcellent high contrast
low-refresh display rate E-Ink devices\,\nwith Wifi capability\, that run
embedded Linux in the\nbackground. Depending on the model\, an idle Kindle
can last weeks\nbefore needing a recharge. This makes them ideal as passi
ve image\ndevices that can be configured easily using a few shell\nscripts
. Indeed\, efforts have been made in dedicated hacker forums\nto expose th
e Linux filesystem and to enable features such as\ncustom screensavers\, S
SH networking\, and more. By exploiting these\nfeatures\, and by carefully
disabling the software/bloatware that\ncomes with the device\, these Kind
les have found new life as online\ndashboard devices which can fetch and d
isplay information from the\ninternet at timely intervals.\n\nHere we desc
ribe a tool to control multiple Kindle devices with a\nsingle org-mode/she
ll-based tool\, built initially to periodically\nserve updated Emacs Org-A
genda views\, but later expanded to produce\nonline local weather reports
and work calendar\, Emacs calendars\n(calfw\, org-gcal)\, daily dietary in
formation (org-calories)\,\nOrg-Mode sparse TODO trees\, miscellaneous ima
ge and text content\n(via imagemagick)\, small messages\, and much more.\n
\nIn this talk\, we show how to configure multiple Kindles with any\ndesir
ed custom content\, following any daily/weekly schedule\, all\neasily mana
ged from Emacs within a single Org-Mode file.\n\n\n\n# Outline\n\n- 5-10
minutes:\n\n 1-3 mins\n Talk about repurposing Kindles:\n\n
- Cheap second-hand wifi device\, hackable\n - Low-powered\, long
battery life\, low refresh rate –\; perfect\n for a dashboar
d\n - Timely updated Org-Mode Agendas anyone?\n - Reference
to inspired projects (kindle-dashboard)\n\n 2-3 mins\n Generat
e content\n\n - A static text+picture image easily generated with ima
gemagick\n wrapper\n - An image of a sparse tree of org-mode T
ODO file\n - An image of another emacs view (e.g. Calfw\, or org-calo
ries)\n - Show post-processing for optimizing image for Kindles\n\n
1-2 mins\n Configuration in a single org-mode file\n\n - D
efining Machines\n - Defining Commands to generate content\n - D
efining Schedules to run Commands on multiple Machines at\n specifi
c points in the day\n\n 1-2 mins\n Export and Run:\n\n -
Show exported shell configs and generated cronjobs\n - Witness multip
le Kindles producing desired content with wakeup\n timers
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs with Nyxt: extend your editor with the power of a Lisp browse
r
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-nyxt
URL:https://emacsconf.org/2021/talks/nyxt
DTSTART;TZID=America/Toronto:20211127T154500
DTEND;TZID=America/Toronto:20211127T155500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/nyxt
\n# Emacs with Nyxt: extend your editor with the
power of a Lisp browser\nAndrea\n\nIn 2021 browsers are essential if you
use a computer. Even if Emacs\nusers love text as a format\, they may need
to shop and video call from\ntime to time (even more so in a pandemic!).
Some of us modified their\nbrowsers to at least have the same keybindings
as our editor of\nchoice. What if I told you there is an Emacsy browser in
the making?\nWhat if you could "ace-jump" within a web page? What if you
could run\na REPL to extend your browser while browsing? What if you could
record\nmacros?! The browser exists: its name is Nyxt!\n\nIn this talk I
will share why it has great potential\, how you can\nintegrate it with Ema
cs\, and how you can migrate your Emacs mastery to\nthe web!\n\nIf you wer
e wishing for a Lispy and Emacsy browser\, you should not\nmiss this talk!
\n\nYou can learn more about this at: <https://github.com/ag91/emacs-with-
nyxt>\n\n\n\n# Outline\n\n- 5-10 minutes: quick demo of running Nyxt fro
m Emacs and a little explanation of the code necessary for integration
END:VEVENT
BEGIN:VEVENT
SUMMARY:On the design of text editors
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-design
URL:https://emacsconf.org/2021/talks/design
DTSTART;TZID=America/Toronto:20211127T155800
DTEND;TZID=America/Toronto:20211127T160800
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/design
\n# On the design of text editors\nNicolas P.
Rougier\n\nText editors are written by and for developers. They come\nwit
h a large set of default and implicit choices in terms of layout\,\ntypogr
aphy\, colorization and interaction that hardly change from one\neditor to
the other. It is not clear if these implicit choices derive\nfrom the ign
orance of alternatives or if they derive from developers'\nhabits\, reprod
ucing what they are used to. Durint this talk\, I will\ncharacterize these
implicit choices and illustrate what are some\nalternatives using GNU Ema
cs.\n\n\n\n# Outline\n\n\n- 10 minutes alternative\n\nMostly a live demo
of my environment with pointers to the different\npackages
END:VEVENT
BEGIN:VEVENT
SUMMARY:How Emacs made me appreciate software freedom
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-freedom
URL:https://emacsconf.org/2021/talks/freedom
DTSTART;TZID=America/Toronto:20211127T161200
DTEND;TZID=America/Toronto:20211127T165200
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/freedom
\n# How Emacs made me appreciate software fre
edom\nProtesilaos Stavrou\n\nThe theme will be "how Emacs empowered my sof
tware freedom".\nI will outline the key moments in my transition to a GNU/
Linux operating\nsystem and mark those which eventually contributed toward
s me becoming\nan Emacs user\, maintainer of a—\;dare I say—\;
popular package\, and\ncontributor to upstream Emacs (among others). By a
lluding to personal\nexperiences\, I will draw generalisable insights and
connect them to what\nI believe are irreducible qualities of Emacs qua sof
tware and Emacs as a\ncommunity of like-minded people. The talk will be t
heoretical in\nnature: there won't be any code-related demonstration nor t
echnical\nreferences that only people with a background in computer scienc
e would\nlikely recognise. Personal anecdotes shall be tangential to the
point\nand considered as ancillary to the thesis of what Emacs represents
from\nthe standpoint of software freedom and user empowerment. The\nprese
ntation is intended for a general audience that is interested in\nGNU soft
ware in general and Emacs in particular. My formal educational\nbackgroun
d as a social scientist (i.e. not a programmer) and later as a\nphilosophe
r informs my approach to this topic.\n\nThe presentation shall be 40 minut
es long. Its text will be in essay\nform and shall be supplied as complem
entary material to the video. The\nnotation will be in Org mode. I canno
t provide an outline in advance\,\nas it will most likely not be consisten
t with the actual presentation.\nIf\, however\, this is absolutely require
d for administrative purposes I\nshall furnish one regardless with the pro
viso that I am in no way bound\nby it and thus reserve the right to modify
it ahead of the main event.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Closing remarks day 1
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-day1-close
URL:https://emacsconf.org/2021/talks/day1-close
DTSTART;TZID=America/Toronto:20211127T165200
DTEND;TZID=America/Toronto:20211127T165700
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/day1-close
\n# Closing remarks day 1
END:VEVENT
BEGIN:VEVENT
SUMMARY:Opening remarks day 2
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-day2-open
URL:https://emacsconf.org/2021/talks/day2-open
DTSTART;TZID=America/Toronto:20211128T090000
DTEND;TZID=America/Toronto:20211128T090500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/day2-open
\n# Opening remarks day 2
END:VEVENT
BEGIN:VEVENT
SUMMARY:How to write faster Emacs Lisp
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-faster
URL:https://emacsconf.org/2021/talks/faster
DTSTART;TZID=America/Toronto:20211128T090500
DTEND;TZID=America/Toronto:20211128T092500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/faster
\n# How to write faster Emacs Lisp\nDmitry Gut
ov\n\n- Before optimizing\, benchmark first.\n- Different benchmarking
approaches.\n- Live evaluation\, step-debugging\, measuring from a debu
gger breakpoint.\n- How to determine if a function is expensive. How to
pick one from\n competing alternatives (cl-lib\, seq\, dash\, lean core
).\n- Print-benchmarking.\n- Byte-compiled code can give a very differ
ent picture\, changing where\n the bottleneck is. How to quickly load a
byte-compiled version.\n- Steps taken to speed up the Xref package rece
ntly.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Tree-edit: Structural editing for Java\, Python\, C\, and beyond!
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-structural
URL:https://emacsconf.org/2021/talks/structural
DTSTART;TZID=America/Toronto:20211128T093000
DTEND;TZID=America/Toronto:20211128T094000
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/structural
\n# Tree-edit: Structural editing for Java
\, Python\, C\, and beyond!\nEthan Leba\n\nIn this talk\, I'll discuss a v
ision for how writing code could be\, where the\nediting operations map di
rectly to the primitives of the language itself -- and\nmy humble attempt
of implementing this vision. _tree-edit_ seeks to provides a\nstructural e
diting plugin supporting conceivably any language with a tree-sitter\npars
er.\n\n**Structural editing does not have to be relegated to lisps or nich
e DSLs.**\n\nI liken the state of code editing today to writing assembly.
The reason why\npeople like Python more than assembly is that for most pur
poses\, the building\nblocks of the language are mismatched with our thoug
ht process. We don't think\nin terms of registers and addresses\, we think
in terms of variables\, functions\,\netc. So when we write and edit code\
, why do we edit in terms of deleting\,\ninserting\, replacing characters
–\; not wrapping\, inserting\, raising\,\ndeleting expressions and s
tatements?\n\nI'll also discuss the implementation of tree-edit\, which us
es a novel\ncombination of the fantastic\n[tree-sitter](https://github.com
/emacs-tree-sitter/elisp-tree-sitter) parser\nwith an embedded logic progr
amming DSL ([miniKanren](http://minikanren.org/)\,\nusing elisp port [reaz
on](https://github.com/nickdrozd/reazon)) to power it's\nsyntax tree gener
ation.\n\nCheck out the GitHub repo [here](https://github.com/ethan-leba/t
ree-edit)!\n\n# Outline\n\n- Discuss motivation
(Why should I care?)\n- Demonstrate tree-edit (Li
ve-coding with tree-edit)\n- Demonstrate tree-edit syntax tree generator
(Elevator pitch on miniKanren)
END:VEVENT
BEGIN:VEVENT
SUMMARY:Self-Describing Smart DSL's: The Next Magits
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-dsl
URL:https://emacsconf.org/2021/talks/dsl
DTSTART;TZID=America/Toronto:20211128T094300
DTEND;TZID=America/Toronto:20211128T100300
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/dsl
\n# Self-Describing Smart DSL's: The Next Magits\
nPsionic\n\nWhen we begin programming\, the promise is to automate away re
petitive\ntasks in life. As those program's capability grows\, we begin t
o need\nconfiguration UI's. We can start with a CLI\, but as any CLI grow
s\, we\nrun into the following issues:\n\n- As options pile up\, the int
uition of simplicity is lost in helps and\nmanpages\n\n- Stateless opera
tion has no idea what to do next and loses terseness\n- Frequent dispatch
of commands to interrogate state required for the\noperator to decide what
action to perform\n\n- Composition compounds with all of these issues\n
\nMagit has the UI trifecta of being terse\, intuitive\, and intelligent.\
nMagit's UI input library\, Transient\, is a standalone package for\ndevel
oping more killer UI's\, and not just for CLI applications\, but\nalso for
server applications\, Emacs applications\, and Emacs itself.\n\nWhile Tra
nsient's potential is to create the most highly productive\nUI's short of
thought control\, going beyond simple command dispatchers\nrequires a deep
er dive. When we think like constructing a DSL for the\ntask and using tr
ansient to input that DSL\, we get an intelligent\,\nself-describing modal
programming system.\n\n\n# Outline\n\n- Updates to Transient documentati
on and demos of API examples\n- Wrapping a custom CLI tool in Transient
END:VEVENT
BEGIN:VEVENT
SUMMARY:"Yak-shaving to a UI framework" (/"Help! I accidentally yak-shaved
my way to writing a UI framework because overlays were slow")
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-ui
URL:https://emacsconf.org/2021/talks/ui
DTSTART;TZID=America/Toronto:20211128T100600
DTEND;TZID=America/Toronto:20211128T101600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/ui
\n# "Yak-shaving to a UI framework" (/"Help! I acc
identally yak-shaved my way to writing a UI framework because overlays wer
e slow")\nErik Anderson\n\nTui.el is a textual User Interface (UI) framewo
rk for Emacs Lisp\nmodeled after the popular JavaScript 'React' framework.
This package\nimplements React Component API's with the goal of simplify
ing\ndevelopment of interactive UI's for all Emacs users- regardless of\nt
heir prior experience with React or web programming. Components\nprovide
a useful functional unit for constructing complex interfaces\ndeclarativel
y and also eliminate much of the burden associated with\nupdating textual
content as application state changes. This talk will\ncover use of the tu
i.el API and its operation in a textual environment\nby implementing some
basic UI's.\n\n\n\n# Outline\n\n- 5-10 minutes:\n - Problem space:
UI implementation complexity.\n - API introduction: Displaying conten
t\, Components.\n - Visual taste of dashboards and applications built
with tui.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Extending Emacs in Rust with Dynamic Modules
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-rust
URL:https://emacsconf.org/2021/talks/rust
DTSTART;TZID=America/Toronto:20211128T101900
DTEND;TZID=America/Toronto:20211128T103900
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/rust
\n# Extending Emacs in Rust with Dynamic Modules
\nTuấn-Anh Nguyễn\n\nDynamic module support has been available since Emacs
25. It can be\nused to extend Emacs with native libraries\, for performan
ce\,\nOS-specific features\, or other functionalities that would take a lo
t\nof time to re-implement in Lisp. The officially supported language is\n
C\, which is tedious and error-prone to use. This talk discusses a\n**safe
** alternative that is also a lot **more convenient**: writing these\ndyna
mic modules in Rust.\n\n\n\n# Outline\n\n- Walking through creating **a s
imple dynamic module** in\n Rust\, including setting up CI.\n- Going t
hrough and explaining the **available APIs**.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs Application Framework: A 2021 Update
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-eaf
URL:https://emacsconf.org/2021/talks/eaf
DTSTART;TZID=America/Toronto:20211128T104400
DTEND;TZID=America/Toronto:20211128T105400
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/eaf
\n# Emacs Application Framework: A 2021 Update\nM
atthew Zeng\n\nEmacs Application Framework (EAF) is a customizable and ext
ensible GUI\napplication framework that extends Emacs graphical capabiliti
es using\nPyQt5. There are many new but important updates since EmacsConf2
020\nlast year\, this talk will briefly go over them.\n\n\n\n# Outline\n\n
- 5-10 minutes: (brief description/outline)
END:VEVENT
BEGIN:VEVENT
SUMMARY:Extending the "model" of Emacs to other applications
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-model
URL:https://emacsconf.org/2021/talks/model
DTSTART;TZID=America/Toronto:20211128T105800
DTEND;TZID=America/Toronto:20211128T110800
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/model
\n# Extending the "model" of Emacs to other app
lications\nLaszlo Krajnikovszkij\n\nEmacs is a great operating environment
in a sense that it provides consistency\nacross different tools and appli
cations within the Emacs ecosystem\, as well as\nexternal apps that can be
integrated into it. It is also the most truly\nmalleable environment\, ea
ch element of which can be adjusted or extended\,\ntherefore providing the
user with more power and freedom in personal computing.\nEmacs definitely
can be considered one of greatest software products in\nexistence.\n\nAs
a non-programmer\, having had the chance to stumble upon Emacs a couple of
\nyears ago\, the only regret to have is that it didn't happen earlier. Th
e definite\nkiller feature of Emacs - Org-mode\, is what draws many of the
less technical\nfolks to join the party and gradually start to use Emacs
for writing documents\,\nwhether personal or work related\, manage tasks\,
emails and potentially everything\nelse. The learning curve and differenc
e in approach\, however\, leaves some\npotential users too scared of the a
rcane interface even with all it's quirks and\nfeatures because it require
s at least some technical skills to understand and\nuse properly\, and doe
s not have an easy way to connect with external tools that\nmost people ar
e forced to use for work.\n\nThis talk proposes some ideas about how the m
odel of Emacs\, it's focus on\nconsistency\, extensibility\, as well as it
's powerful interaction model can be\ncarried over to make modern interfac
es\, whether desktop or web applications\,\nthat would be designed with a
goal of reflecting the spirit of Emacs in terms of\nthe aforementioned fea
tures it possesses\, and therefore enhance the capabilities\nof the Emacs\
, while at the same time utilizing it as a backend for\ntext-processing an
d editing to a large extent. It would be really great to have\na personal
web-interface for using modern task management tools\, chats\, emails\nand
such\, but from a UI defined by the user. The goal is to use it on a desk
top\nor mobile\, locally or self-hosted on a server\, with support for tou
ch and\ngesture-based workflows\, while preserving the Emacs philosophy an
d allowing to\nseamlessly switch between Emacs and its web extension\n\nTh
e proposed solution is to integrate more of the modern tools with Emacs\,\
nutilize Org-mode as a way to define application-specific parameters for t
hese\ntools through Org properties\, and then utilize these parameters for
making a\nmodern local frontend that would enhance Emacs UI while allowin
g to use external\ntools in a more personal and freedom respecting way (ma
king the originals\nobsolete over time). The talk serves the purpose of in
viting community members to\na discussion about how Emacs can become more
modern\, more approachable by people\nwho don't possess the neccessarry te
chnical skills to adjust it themselves\, but\nare keen to learn it\, and p
otentially how to attract more users to greater\nproductivity\, computer l
iteracy and the ideas of free software.\n\n\n\n# Outline\n\n- 5-10 minut
es\n - Introduction\n - Issues with most modern tools for work\n
- Issues with Emacs as a tool for work\n - In search for a hybr
id approach\n - User controlled web-apps\n - Opinions encouraged
\n - Contacts
END:VEVENT
BEGIN:VEVENT
SUMMARY:Don't write that package! or: How I learned to stop worrying and lo
ve emacs-devel
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-devel
URL:https://emacsconf.org/2021/talks/devel
DTSTART;TZID=America/Toronto:20211128T111100
DTEND;TZID=America/Toronto:20211128T113100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/devel
\n# Don't write that package! or: How I learned
to stop worrying and love emacs-devel\nStefan Kangas\n\nEmacs' greatest s
trength is also its greatest weakness: it is **too** hackable.\n\nWe have
a great community that experiment with new features that are still\nlackin
g in Emacs core. They write up a package and develop the living daylights
\nout of it\, until it is basically amazing. (I'm looking at you Magit.)\
n\nThere are other examples such as helpful.el - great package\, but why a
re those\nfeatures not in core? What about projectile? And so on.\n\nCor
e demands copyright assignments (CLA). This is a fact of life. While I\n
mostly agree with the people saying it is not helful\, they are there to p
rotect\nEmacs from copyright issues in the future. So my suggestion here
is simple:\njust **sign the papers**. It is just a formality\, and you sh
ould only need to do\nit once.\n\nI suggest that any ambitious feature tha
t we **might** want to see shipped in the\ndefault Emacs distribution shou
ld by default go to GNU ELPA. You don't need to\ndo this\, of course\, an
d I respect your decision\, but I urge you to do it.\n\nGNU ELPA does not
have an exceptionally high standard\, but we do try to give any\nnew packa
ge a proper code review.\n\nMELPA is excellent. We love MELPA. They don'
t have a criterion for their\npackages that is important to the FSF\, whic
h is to not recommend non-free\nsoftware. Therefore\, we could not recomm
end it by default\, and had to build\nNonGNU ELPA.\n\nNonGNU ELPA will be
used for packages that we don't have an assignment for but\nwould still li
ke to distribute. It should ideally only be for old packages\nwhere getti
ng a CLA is impractical.\n\nIt is sometimes perceived as hard to contribut
e to Emacs core. This impression\nis largely wrong. If I can do it\, you
can too.\n\nWe do have a problem in that our tools and methods (mailing l
ists\, the bug\ntracker) are out-dated. This is largely correct. We want
to migrate to\nsomething else\, and the best candidate is probably Source
hut. Please volunteer\nto help!\n\nWe sometimes see people adding stuff t
o their Init file to fix this or that\nannoyance\, or even bug. The more
ambitious would go on to package up such fixes\nin what I call "patch pack
ages". "Hey\, foo-mode doesn't have support for\n'bookmark-set'\, let's wr
ite a package!" I am here to suggest that you submit a\npatch to Emacs in
stead.\n\nFixing an issue for one person is good\, and fixing it for more
people is even\nbetter. Fixing it for everyone? Priceless.\n\nemacs-deve
l is not that scary\, nor is email. We are really quite friendly and\neas
y going\, but the communication we prefer (for reasons of efficiency - the
\nvolume is very high) is often very brief and to the point. We are tryin
g our\nbest at communicating\, but sometimes fail.\n\nAnd we need more con
tributors. We need a successful Emacs on this planet.\n\nSo should you re
ally write a package\, or should YOU become a core contributor?\n\n\n\n# O
utline\n\n- I will urge people to consider contributing to Emacs instead o
f\n writing small packages\, and explain GNU ELPA\, MELPA\, CLA.\n- I wil
l go into greater detail about emacs-devel\, how it "works"\n (e.g. is Em
acs conservative without reason?)\, how to get things\n done and the nece
ssary mindset.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Turbo Bindat
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-bindat
URL:https://emacsconf.org/2021/talks/bindat
DTSTART;TZID=America/Toronto:20211128T113600
DTEND;TZID=America/Toronto:20211128T115600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/bindat
\n# Turbo Bindat\nStefan Monnier\n\n\n# Table
of Contents\n\n\n\nBindat is an ELisp library to help manipulate binary da
ta. This is a\nniche library that is used by packages such as Websocket\,
EMMS\, and\ncpio-mode. Its implementation was repeatedly caught harassing
hapless\nkitten while at the same time providing poor service slowly. For\
nEmacs-28\, Bindat was rewritten so as to make it more efficient and\nflex
ible while respecting the kitten. In this presentation I intent to\nshow h
ow we saved those. Not recommended for birds.\n\n- ~20 minutes:\n 5 m
in: Intro and presentation of Bindat\n 5 min: Showcase some of its prob
lems\n 5 min: Present the new design\n 5 min: Examples of what can b
e done with it
END:VEVENT
BEGIN:VEVENT
SUMMARY:Emacs Lisp native compiler\, current status and future developments
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-native
URL:https://emacsconf.org/2021/talks/native
DTSTART;TZID=America/Toronto:20211128T130000
DTEND;TZID=America/Toronto:20211128T132000
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/native
\n# Emacs Lisp native compiler\, current statu
s and future developments\nAndrea Corallo\n\nEmacs Lisp (Elisp) is the Lis
p dialect used by the Emacs text editor\nfamily. GNU Emacs is traditional
ly capable of executing Elisp code\neither interpreted or byte-interpreted
after it has been compiled to\nbyte-code.\n\nIn this talk I'll discuss th
e Emacs Lisp native compiler. This feature\nrecently merged into the main
Emacs development line allow for\nautomatically compiling and executing E
lisp as native code.\n\nDuring the presentation I'll touch on:\n\n- desi
gn goals\n- compiler and runtime design and implementation\n- performa
nce implications\n- upstream process\n- area of improvements and futur
e developments\n\nFormat: 40 minutes
END:VEVENT
BEGIN:VEVENT
SUMMARY:Old McCarthy Had a Form
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-form
URL:https://emacsconf.org/2021/talks/form
DTSTART;TZID=America/Toronto:20211128T132700
DTEND;TZID=America/Toronto:20211128T133700
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/form
\n# Old McCarthy Had a Form\nIan Eure\n\nMost pr
actical languages are multi-paradigm\, offering several\nabstractions for
the programmer. But did you know that Emacs Lisp\ncomes with a powerful s
ystem for object-oriented programming? Join me\nfor a discussion of EIEIO\
, and learn how it can help you write more\nmodular\, flexible Emacs Lisp.
\n\n\n\n# Outline\n\n- 5-10 minutes: (brief description/outline)\n -
What is CLOS/EIEIO?\n - Why would I want OOP in Emacs Lisp?\n -
How is the CLOS object model different from C++/Java/.NET?\n - Furt
her reading
END:VEVENT
BEGIN:VEVENT
SUMMARY:Test blocks
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-test
URL:https://emacsconf.org/2021/talks/test
DTSTART;TZID=America/Toronto:20211128T134100
DTEND;TZID=America/Toronto:20211128T134600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/test
\n# Test blocks\nEduardo Ochs\n\nIn this present
ation I will show an idea that feels completely obvious\nonce we see it\,
but that only occured to me after after using Emacs\nand eev as my main in
terface to the computer for more than 20 years.\nTake any interpreted lang
uage that supports multi-line comments\, and\nwhose interpreter can be run
in an Emacs buffer - for example Lua\,\nHaskell\, Python\, or Julia\; let
's say just "Lua" from here on for\nsimplicity. So: suppose that we have a
Lua script that we wrote\, that\nis called "foo.lua" and that defines lot
s of functions and defines the\nclasses Bar and Bletch. We can put after t
he definition of the class\nBar a multi-line comment that contains an eepi
tch block that when\nexecuted starts a Lua interpreter\, loads the script
foo.lua (by\nrunning 'dofile "foo.lua"')\, and then has several tests for
that class\nand its methods\; and we can put another block with tests like
that\nafter the class Bletch\, and other blocks after some functions. Eep
itch\nallows sending these tests line by line to the Lua interpreter by\nt
yping <f8\\> on each line that we want to send\, and this lets us create\n
tests that are very easy to understand even without writing comments\;\nth
is gives us a very quick way to document code by executable tests\,\nthat
is super-great for experimental code that is still going to\nchange a lot
before running the risk of being read by other people.\n\nThese multi-line
comments with eepitch blocks that run an interpreter\nand make it load th
e current file are called "test blocks". The\ncommand \\`M-x eeit' inserts
a test block at point\, using the major mode\nto decide the right syntax
to use for the multi-line comments and for\nthe "dofile". We can configure
the syntax of the test blocks for the\ncurrent major mode by running \\`M
-x find-eeit-links'\; this can also be\nused to add support for test block
s to more languages (or\, more\nprecisely: to more major modes).\n\nEduard
o Ochs <http://angg.twu.net/emacsconf2021.html>
END:VEVENT
BEGIN:VEVENT
SUMMARY:Let's talk about bug trackers
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-bug
URL:https://emacsconf.org/2021/talks/bug
DTSTART;TZID=America/Toronto:20211128T134900
DTEND;TZID=America/Toronto:20211128T140900
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/bug
\n# Let's talk about bug trackers\nBastien Guerry
\n\nFor 17 years\, the Org developers didn't use a bug tracker\,\nshameles
sly failing the Joel Spolsky test. Why was it "good enough"?\nWhy was it
wrong? Why did we move to Woof!? Why Woof! is not a bug\ntracker?\n\n-
20 minutes
END:VEVENT
BEGIN:VEVENT
SUMMARY:Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-bidi
URL:https://emacsconf.org/2021/talks/bidi
DTSTART;TZID=America/Toronto:20211128T141600
DTEND;TZID=America/Toronto:20211128T143600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/bidi
\n# Perso-Arabic Input Methods And Making More E
macs Apps BIDI Aware\nMohsen BANAN\n\n\n# Table of Contents\n\n\n\nStartin
g with Emacs 24\, full native bidi\n(bidirectional) support became availab
le. For\nmany years prior to that Unicode support was\navailable and by a
round year 2000\, reasonable\nopen-source shaping libraries were also avai
lable.\n\nWith these in place at around 2012\, I developed\ntwo Persian in
put methods for emacs. These input\nmethods or variations of them can also
be used\nArabic and other persoarabic scripts.\n\nWith all of these in pl
ace\, Emacs has now become\nthe ne plus ultra Halaal/Convivial usage\nenvi
ronment for persoarabic users.\n\nSince emacs comes loaded with everything
(Gnus\nfor email\, Bbdb for address books\, XeLaTeX modes\nfor typesettin
g\, org-mode for organization\, spell\ncheckers\, completions\, calendar\,
etc.)\, all basic\ncomputing and communication needs of persoarabic\nuser
s can be addressed in one place and\ncohesively.\n\nIn this talk I will de
monstrate what a wonderful\nenvironment that can be.\n\n- 40 minutes: (b
rief description/outline)\n\n My talk will be in two parts.\n\n In P
art 1\, I cover persian input methods. With an\n emphasis on &lsquo \;B
anan Multi-Character (Reverse)\n Transliteration Persian Input Method&r
squo\;. The\n software is part of base emacs distribution.\n Full do
cumentation is available at:\n Persian Input Methods\n
For Emacs And More Broadly Speaking\n شیوههایِ درج به فارسی\n
<http://mohsen.1.banan.byname.net/PLPC/120036>\n\n In Part 2
\, I will cover the ramifications of bidi\n on existing emacs applicati
ons\, including:\n\n - Gnus:\n - Persoarabic rich email send
ing in HTML.\n - Ramifications of bidi on from\, to and\n
subject lines.\n\n - Bbdb: Ramifications of bidi on display and\n
completion.\n\n - Calendar:\n - Ramifications of bid
i on display.\n - Use of persian text for Persian (solar) calenda
r.\n - Use of arabic text for Muslem (lunar) calendar.\n\n -
AUCTeX: Persian typesetting with XeLaTeX
END:VEVENT
BEGIN:VEVENT
SUMMARY:Moldable Emacs\, a step towards sustainable software
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-mold
URL:https://emacsconf.org/2021/talks/mold
DTSTART;TZID=America/Toronto:20211128T144100
DTEND;TZID=America/Toronto:20211128T145100
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/mold
\n# Moldable Emacs\, a step towards sustainable
software\nAndrea\n\nWe could learn about things better. Mountains of knowl
edge hide in\nplaces we cannot access or use. The more we write down\, the
more it\ntakes to find and understand things we find useful.\n\nKnowledge
(web\, software\, books) keeps growing faster and faster! This\nis not su
stainable: we cannot keep up with it! What if we repeat the\nerror of some
body else\, only because it would take too much reading to\nknow? What if
that knowledge is in some code we work with everyday?\n\nMoldable developm
ent is a paradigm shift that attempts to solve this\nproblem. In a gist\,
the tool you use should let you create special tools\nto learn smartly fro
m what you have already.\n\nSince we use Emacs\, let's make our great edit
or moldable!\n\nThis talk shows my progress in making Emacs closer to such
a tool. We\nare going to see how we can mold structured (and maybe even n
atural)\ntext to learn better\, how we can inject notes in our projects an
d how\nself documenting this tool is!\n\nI aim to inspire you to find a qu
icker way to learn from our digital\nworld!\n\nYou can learn more about th
is at: <https://github.com/ag91/moldable-emacs>\n\n\n\n# Outline\n\n- 5-
10 minutes: quick demo of moldable-emacs
END:VEVENT
BEGIN:VEVENT
SUMMARY:CLEDE the Common Lisp Emacs Development Environment.
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-clede
URL:https://emacsconf.org/2021/talks/clede
DTSTART;TZID=America/Toronto:20211128T145500
DTEND;TZID=America/Toronto:20211128T151500
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/clede
\n# CLEDE the Common Lisp Emacs Development Env
ironment.\nFermin MF\n\nI've been developing a package that helps with the
development of\nCommon Lisp's software\,\nit's uses the internal semantic
framework\, it has a custom reader\nand integration for\ncommon Emacs pac
kages (like Sly and the internal inferior-lisp-mode).\n\nThe idea is to su
pply features that other language with and static\nanalyzer have\,\nlike r
efactoring and code generation.\n\nFor more details: <https://gitlab.com/s
asanidas/clede>\n\n- 20 minutes:\n It seems like not too much people
knows about semantic\, so I can\n summarize some of it in 10 minutes\n
and then An explanation on how to use the package\, how to extend it\n
and the future of it.
END:VEVENT
BEGIN:VEVENT
SUMMARY:Imaginary Programming
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-imaginary
URL:https://emacsconf.org/2021/talks/imaginary
DTSTART;TZID=America/Toronto:20211128T152200
DTEND;TZID=America/Toronto:20211128T153200
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/imaginary
\n# Imaginary Programming\nShane Mulligan\n
\nImaginary Programming (IP) is both methodology and paradigm. It is an\ne
xtension of literate programming and a way of creating software without\nt
he use of imperative\, functional or even declarative code. Yet IP employs
\nall disciplines to achieve the miraculous. The only contingency is on on
e\nor more language models\, known as foundation models. The real value of
IP\nis not found by abandoning sound logic altogether\, but in weaving th
e real\nwith the imaginary. The future of imaginary programming is one in
which\nalmost all of computing is inferred. I have built a suite of tools
based on\nemacs for interfacing real programming languages with imaginary
ones\; all\nof this in order to demonstrate what I mean\; a ‘complex’ term
inal that lets\nyou imagine what happens no matter how nested you are with
in interpreters\,\nan example-oriented language\, a file format that encod
es the provenance of\ntext and a library for imaginary functional programm
ing primitives called\niLambda. It is important to recognise IP because\,
for lack of a better\nterm\, it has far-reaching implications for intellec
tual property and the\nGPL. Please keep an open mind.\n\n\n\n# Outline\n\n
- 5-10 minutes:\n- a 5 minute introduction to imaginary programming\,
followed by\n - a demonstration of iLambda.\n - iλ\, a famil
y of imaginary programming libraries\n <https://mullikine.github.io
/posts/designing-an-imaginary-programming-ip-library-for-emacs/>\n\n\n\nIR
C libertyprime at #emacs on libera\n\nShane Mulligan
END:VEVENT
BEGIN:VEVENT
SUMMARY:How to build an Emacs
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-build
URL:https://emacsconf.org/2021/talks/build
DTSTART;TZID=America/Toronto:20211128T153600
DTEND;TZID=America/Toronto:20211128T155600
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/build
\n# How to build an Emacs\nFermin MF\n\nThis is
a deep dive in the Emacs philosophical and technical\naspect on what make
s our beloved GNU Emacs\nwhat it it. It's also a talk about the early LISP
machines and\nfascinating were those days of experimentation and engineer
ing.\n\nIt will continue with the Emacs benefits/trade-offs from an\nuser/
developer stand points\, what things can be improved and\nwhat can be an h
ypothetical path on how to build a software that\ncan also be called Emacs
.\n\nAs a last part\, I'll talk about CEDAR\, an Emacs that I've been\ndev
eloping in Common Lisp\, the project goals\nand the challenges.\n\nFor mor
e details about CEDAR: <https://gitlab.com/sasanidas/cedar>\n\n- 40 minu
tes:\n A dive into the Emacs/Lisp machines history\, what makes GNU Ema
cs\n an Emacs and how you can build an Emacs.
END:VEVENT
BEGIN:VEVENT
SUMMARY:M-x Forever: Why Emacs will outlast text editor trends
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-forever
URL:https://emacsconf.org/2021/talks/forever
DTSTART;TZID=America/Toronto:20211128T160300
DTEND;TZID=America/Toronto:20211128T164300
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/forever
\n# M-x Forever: Why Emacs will outlast text
editor trends\nDavid Wilson\n\nThe computer software industry has seen man
y "popular" text editors come\nand go\, often due to the mercurial fashion
s of software development. In\nthis talk\, we'll take a look at why popul
ar editors fade and the\nspecific aspects of Emacs that will ensure it rem
ains relevant\nregardless of mainstream popularity.\n\n\n\n# Outline\n\n-
Discuss the core thesis\, the features that make Emacs\n desirable for lo
ng-term use (extensibility\, day-to-day 'life' features)\n\n- Include more
background on the text editor landscape and\n how the scope of various e
ditors is more narrow and doesn't compare to Emacs.\n\n- Talk about specif
ic instances where editors were popular\, fell out\n of popularity\, and
why (due to changing fashions\, not usually\n better features).
END:VEVENT
BEGIN:VEVENT
SUMMARY:Closing remarks day 2
LOCATION:https://emacsconf.org/
UID:emacsconf-2021-day2-close
URL:https://emacsconf.org/2021/talks/day2-close
DTSTART;TZID=America/Toronto:20211128T165000
DTEND;TZID=America/Toronto:20211128T170000
DTSTAMP:20211027T123802
DESCRIPTION: Times are approximate and will probably change.
\nhttps://emac
sconf.org/2021/talks/day2-close
\n# Closing remarks day 2
END:VEVENT
END:VCALENDAR
|