summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt
blob: 7a93ee4cfe934d89c6eff141d716d8c063a37008 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
WEBVTT


00:00:02.419 --> 00:00:08.480
2 seconds. All right. I think we are live.

00:00:08.480 --> 00:00:10.280
Yes. So, hi again, everyone.

00:00:10.580 --> 00:00:13.620
I have the pleasure to welcome John Wiegley

00:00:13.620 --> 00:00:15.440
in person to this EmacsConf.

00:00:15.700 --> 00:00:17.260
Hi, John. Hello there.

00:00:17.680 --> 00:00:18.820
How are you doing, Leo?

00:00:18.820 --> 00:00:21.100
I am doing fantastic, and even more now that

00:00:21.100 --> 00:00:23.540
I am in a room with you because we've been,

00:00:24.279 --> 00:00:25.640
we were reminiscing with Sacha.

00:00:25.640 --> 00:00:30.860
So you had been there in person in 2013 And

00:00:30.860 --> 00:00:32.680
since we started doing those online,

00:00:32.680 --> 00:00:35.020
Juan, since 2019, I think you've always been

00:00:35.020 --> 00:00:38.460
online, right? Usually it's a pre-recorded

00:00:38.520 --> 00:00:40.440
video. I think this will be the first 1 I do

00:00:40.440 --> 00:00:42.540
live in a long time. You're right.

00:00:42.540 --> 00:00:44.239
I'm saying we are online right now,

00:00:44.239 --> 00:00:45.920
but I just meant pre-recorded video.

00:00:45.920 --> 00:00:48.400
So it's good to have you almost in person or

00:00:48.400 --> 00:00:50.900
at least live and we are excited to hear

00:00:50.900 --> 00:00:52.360
about some of the Emacs news.

00:00:52.360 --> 00:00:54.780
So the floor is yours.

00:00:55.080 --> 00:00:56.900
All right, well welcome everybody.

00:00:57.260 --> 00:01:00.239
This is the yearly state of the Emacs union,

00:01:00.239 --> 00:01:02.860
I guess, about how Emacs development is

00:01:02.860 --> 00:01:05.379
going. Just to note, I am not currently a

00:01:05.379 --> 00:01:07.760
maintainer of Emacs. So what I do to get

00:01:07.760 --> 00:01:09.920
these notes is I call up my friend,

00:01:09.920 --> 00:01:12.040
Eli Zaretsky, 1 of the current Emacs

00:01:12.040 --> 00:01:13.820
maintainers, and he and I sit down for an

00:01:13.820 --> 00:01:17.160
hour, and he just gives me his dump of what's

00:01:17.160 --> 00:01:19.400
been going on. So I'm sort of just the

00:01:19.400 --> 00:01:22.200
messenger here. But thanks to Eli for these

00:01:22.200 --> 00:01:24.400
notes and all of the efforts that he

00:01:24.400 --> 00:01:27.400
contributes. So what he's been telling me is

00:01:27.400 --> 00:01:30.060
that this Emacs 29 release that we had

00:01:30.060 --> 00:01:31.720
recently looks to have been very,

00:01:31.720 --> 00:01:33.580
very successful, which is some good news,

00:01:33.580 --> 00:01:35.420
because there were a lot of new features,

00:01:35.660 --> 00:01:37.360
and some of those features were actually

00:01:37.360 --> 00:01:39.520
quite radical. So far,

00:01:39.520 --> 00:01:40.680
it's been quite a success,

00:01:40.680 --> 00:01:42.440
no serious problems with it,

00:01:42.440 --> 00:01:44.080
and we have Emacs 29.2

00:01:45.140 --> 00:01:46.740
will be released very soon.

00:01:47.260 --> 00:01:50.020
They are thinking now about starting the

00:01:50.020 --> 00:01:53.080
Emacs 30 release cycle soon after 29.2

00:01:53.520 --> 00:01:55.880
is released, where the release branch,

00:01:55.880 --> 00:01:58.120
which is called Emacs-30 usually,

00:01:59.060 --> 00:02:01.400
will be cut and then development will become

00:02:01.400 --> 00:02:03.960
frozen with only bug fixes going into that

00:02:03.960 --> 00:02:07.200
branch. That may take quite some time until

00:02:07.200 --> 00:02:09.639
it actually comes to fruition as a release,

00:02:09.639 --> 00:02:11.660
but at least it means that the release is

00:02:11.660 --> 00:02:13.860
going to start taking shape in that branch

00:02:13.860 --> 00:02:17.720
soon. So, for now, Emacs 30 looks like maybe

00:02:17.720 --> 00:02:19.540
it's going to be a little less interesting

00:02:19.600 --> 00:02:23.160
than Emacs 29 was, meaning not a huge number

00:02:23.160 --> 00:02:25.120
of changing features. But there are still

00:02:25.120 --> 00:02:26.820
some new things going in.

00:02:26.980 --> 00:02:29.960
So 1 of them is that Emacs 30 is going to

00:02:29.960 --> 00:02:32.300
have Android support. So you will be able to

00:02:32.300 --> 00:02:34.900
run Emacs 30 on your Android devices.

00:02:35.140 --> 00:02:37.120
So if you've ever wanted to have native Emacs

00:02:37.120 --> 00:02:39.500
on a tablet, which I know I've always wanted,

00:02:40.140 --> 00:02:42.940
that will become possible with Emacs 30.

00:02:43.140 --> 00:02:45.480
There's also going to be much better support

00:02:45.480 --> 00:02:46.780
for touchscreen devices,

00:02:47.440 --> 00:02:50.260
coincidentally, both laptops and tablets.

00:02:50.740 --> 00:02:53.240
So that'll enhance that Android support.

00:02:54.860 --> 00:02:57.180
There will be some recently gained support

00:02:57.240 --> 00:03:01.720
for LLDB in GUD.dl. So if you're on a Mac OS

00:03:01.720 --> 00:03:05.580
machine or a machine that uses just LLVM as

00:03:05.580 --> 00:03:07.060
part of the compilation process,

00:03:07.400 --> 00:03:10.180
then you probably are familiar with LLDB as

00:03:10.180 --> 00:03:11.380
the command line debugger.

00:03:11.720 --> 00:03:14.940
And that support for using LLDB through a GUD

00:03:15.040 --> 00:03:17.320
will become possible in Emacs 30.

00:03:17.320 --> 00:03:19.000
I'm looking forward to this actually quite a

00:03:19.000 --> 00:03:22.620
bit as well. C Perl mode is being deprecated,

00:03:23.200 --> 00:03:25.920
and all future work now is only being put

00:03:25.920 --> 00:03:30.660
towards C Perl mode. Another 1 is that there

00:03:30.660 --> 00:03:33.000
are going to be some new major modes based on

00:03:33.000 --> 00:03:35.780
TreeSitter. They will be for the languages

00:03:35.860 --> 00:03:38.160
Lua, Elixir, and HTML.

00:03:38.800 --> 00:03:39.980
And if you're not familiar,

00:03:40.160 --> 00:03:42.620
I think TreeSitter was introduced in Emacs

00:03:42.620 --> 00:03:46.660
29. It's a library that allows you to specify

00:03:47.460 --> 00:03:49.900
the grammar of a programming language as a

00:03:49.900 --> 00:03:53.300
BNF file, and I think using JavaScript,

00:03:53.540 --> 00:03:56.600
and then with that file as input to Emacs,

00:03:56.600 --> 00:03:59.840
it is then able to do syntax highlighting,

00:04:00.940 --> 00:04:03.080
syntax discovery, all of those things within

00:04:03.080 --> 00:04:06.140
Emacs without having to use elisp and regexps

00:04:06.460 --> 00:04:08.300
to discover the structure of the language.

00:04:08.300 --> 00:04:10.440
It defers the structure gathering to

00:04:10.440 --> 00:04:13.420
TreeSitter and then uses that information to

00:04:13.420 --> 00:04:14.560
navigate the language.

00:04:15.200 --> 00:04:17.300
So, As time goes on, you'll see more and more

00:04:17.300 --> 00:04:19.540
languages taking on TreeSetter support.

00:04:19.540 --> 00:04:21.160
So the next 3 coming up,

00:04:21.160 --> 00:04:22.660
Lua, Elixir, and HTML.

00:04:24.060 --> 00:04:26.680
And then the last feature for Emacs 30 is

00:04:26.680 --> 00:04:29.860
that the byte compiler will now detect and

00:04:29.860 --> 00:04:32.920
warn about many more questionable constructs.

00:04:33.340 --> 00:04:35.300
Things like empty macro bodies,

00:04:35.740 --> 00:04:37.160
missing lexical constructs,

00:04:37.580 --> 00:04:40.220
or say, condition case without any handlers.

00:04:40.580 --> 00:04:43.340
Just silly stuff that might litter the code,

00:04:43.340 --> 00:04:45.180
but now you'll get a warning about it from

00:04:45.180 --> 00:04:46.920
the byte compiler to help you clean up the

00:04:46.920 --> 00:04:49.160
code and get rid of those potential sites of

00:04:49.160 --> 00:04:52.740
error. So this is the main thing that will be

00:04:52.740 --> 00:04:55.160
worked on for Emacs 30 and what's looked like

00:04:55.160 --> 00:04:56.400
shaping up for the release.

00:04:56.680 --> 00:04:58.940
And also, he wanted me to announce that

00:04:58.940 --> 00:05:01.340
Stefan Kongas is now a new co-maintainer.

00:05:01.980 --> 00:05:03.260
And Stefan is, I believe,

00:05:03.260 --> 00:05:05.500
here with us in the conference and he'll be

00:05:05.500 --> 00:05:07.940
able, I hope, to help me answer any questions

00:05:08.080 --> 00:05:10.120
about future Emacs development because I'm

00:05:10.120 --> 00:05:12.240
not in the heat of it and don't have all

00:05:12.240 --> 00:05:13.600
those answers at the moment.

00:05:14.580 --> 00:05:17.180
So That is all there is as far as a

00:05:17.180 --> 00:05:18.840
development update for now.

00:05:19.340 --> 00:05:21.980
And I am available to take any questions.

00:05:24.860 --> 00:05:26.200
All right. Thank you so much,

00:05:26.200 --> 00:05:29.340
Sean, for being the messenger of all this

00:05:29.340 --> 00:05:31.820
good news. I mean, you did start by saying

00:05:31.820 --> 00:05:33.480
this would not be as exciting,

00:05:33.600 --> 00:05:36.280
perhaps, as prior releases of Emacs,

00:05:36.280 --> 00:05:38.980
but you then proceeded to say a lot of stuff

00:05:38.980 --> 00:05:40.760
that it felt very exciting to me.

00:05:40.760 --> 00:05:43.620
So good, good. Glad to hear that.

00:05:44.540 --> 00:05:47.180
Right. So we do have questions coming in

00:05:47.180 --> 00:05:50.380
already and again people the link is on IRC

00:05:50.380 --> 00:05:52.120
and also on the talks page if you want to

00:05:52.120 --> 00:05:53.260
start asking questions.

00:05:53.480 --> 00:05:54.840
So John what I'm going to do I'm going to

00:05:54.840 --> 00:05:56.580
read you the questions and then you can

00:05:56.580 --> 00:05:58.300
answer them. Is that okay with you?

00:05:58.320 --> 00:06:01.620
Absolutely. So starting with the first

00:06:01.620 --> 00:06:04.440
question which changes in recent Emacs

00:06:04.440 --> 00:06:06.540
releases are you enjoying using?

00:06:08.360 --> 00:06:11.820
I have really liked the visual line mode.

00:06:13.140 --> 00:06:15.060
I'm not sure how recent that is.

00:06:15.060 --> 00:06:16.820
Some of these features I only discovered

00:06:16.840 --> 00:06:19.580
quite late, the new display line number

00:06:19.700 --> 00:06:21.380
functionality, where it's much,

00:06:21.380 --> 00:06:23.040
much, much faster, and of course,

00:06:23.040 --> 00:06:25.320
native compilation. Native compilation has

00:06:25.320 --> 00:06:27.360
been quite brilliant for some of the larger

00:06:27.360 --> 00:06:29.480
packages that I use. I do a lot of stuff in

00:06:29.480 --> 00:06:31.820
Emacs. I use GNU's, I use E-Shell,

00:06:31.820 --> 00:06:33.540
I use Org Mode quite a lot.

00:06:33.580 --> 00:06:36.100
So native compilation has brought the user

00:06:36.100 --> 00:06:39.960
experience much closer to a modern app than

00:06:39.960 --> 00:06:42.180
some of the lagging and slowness that I might

00:06:42.180 --> 00:06:43.580
have experienced in the past.

00:06:44.340 --> 00:06:47.180
Definitely. Moving on to the next question.

00:06:47.260 --> 00:06:49.200
What do you think the future in the area of

00:06:49.200 --> 00:06:51.040
artificial intelligence from the developer

00:06:51.060 --> 00:06:53.580
point of view? Could you say that 1 more

00:06:53.580 --> 00:06:54.876
time? Your voice broke up a little bit.

00:06:54.876 --> 00:06:55.025
Oh, sorry. What do you think the future in

00:06:55.025 --> 00:06:55.141
the area of artificial intelligence from the

00:06:55.141 --> 00:06:55.208
developer point of view?

00:06:55.208 --> 00:06:55.324
Could you say that 1 more time?

00:06:55.324 --> 00:06:55.440
Your voice broke up a little bit.

00:06:55.440 --> 00:06:58.100
Oh, sorry. What do you think the future in

00:06:58.100 --> 00:07:00.580
the area of artificial intelligence from the

00:07:00.580 --> 00:07:01.560
developer point of view?

00:07:01.560 --> 00:07:02.860
It's also a shaky question,

00:07:02.860 --> 00:07:04.500
I think, but you get the point.

00:07:04.960 --> 00:07:09.220
I do use chat-gpt-shell inside of Emacs quite

00:07:09.220 --> 00:07:10.920
a bit, actually, when doing development in

00:07:10.920 --> 00:07:12.440
other languages. Just the other day,

00:07:12.440 --> 00:07:15.200
I was working on my Ledger accounting

00:07:15.220 --> 00:07:18.080
program, and I haven't done a lot of C++ in

00:07:18.080 --> 00:07:21.180
recent years. So I had forgotten how to

00:07:21.180 --> 00:07:23.760
exactly compare 2 strings only up to the

00:07:23.760 --> 00:07:25.020
length of the shortest string.

00:07:25.020 --> 00:07:26.940
I know I could have cranked that out just

00:07:26.940 --> 00:07:28.740
writing it C style, but I didn't remember

00:07:28.740 --> 00:07:30.800
what the current state of the art is for C++

00:07:30.940 --> 00:07:33.460
and the STL. So I just asked chatGPT.

00:07:33.680 --> 00:07:36.140
I asked the exact question that I just said

00:07:36.140 --> 00:07:38.220
to you and sure enough it popped out the

00:07:38.220 --> 00:07:40.080
one-liner that was exactly what I needed.

00:07:40.080 --> 00:07:42.240
So I think in terms of developer assistance,

00:07:42.800 --> 00:07:45.820
not having to keep all of standard libraries

00:07:45.860 --> 00:07:47.460
or common idioms in memory.

00:07:47.520 --> 00:07:49.460
I don't know if other people are familiar

00:07:49.480 --> 00:07:51.080
with Rosetta Stone projects.

00:07:51.460 --> 00:07:53.680
They're projects where you have say a hundred

00:07:53.680 --> 00:07:55.780
different languages and there's a particular

00:07:55.860 --> 00:07:58.640
question, say, how do I read a file and copy

00:07:58.640 --> 00:07:59.720
it to another location?

00:07:59.820 --> 00:08:01.880
And then it has an instance of doing that

00:08:01.880 --> 00:08:03.820
activity for every 1 of those languages.

00:08:04.180 --> 00:08:05.140
That's a great database,

00:08:05.140 --> 00:08:07.160
and I've used them quite a bit in the past

00:08:07.160 --> 00:08:09.260
for remembering how to do certain things,

00:08:09.440 --> 00:08:12.540
say, converting a string to UTF-8.

00:08:13.280 --> 00:08:15.660
I think that AI does a great job of

00:08:15.660 --> 00:08:17.780
completely replacing the need for databases

00:08:17.900 --> 00:08:19.920
like that because you can just ask how do I

00:08:19.920 --> 00:08:21.980
copy a convert a string to UTF-8.

00:08:23.760 --> 00:08:27.440
Yeah exactly and you know especially with

00:08:27.440 --> 00:08:30.480
languages which are tried well tried you know

00:08:30.480 --> 00:08:32.360
it's very easy to get an answer that is

00:08:32.360 --> 00:08:34.940
correct. But sometimes what I find bothersome

00:08:34.940 --> 00:08:37.460
with this type of coding,

00:08:37.460 --> 00:08:39.840
I think it's AI-aided coding,

00:08:39.840 --> 00:08:40.820
but it's still coding,

00:08:41.120 --> 00:08:43.140
is that, especially with C languages,

00:08:43.140 --> 00:08:44.240
sometimes you're going to end up with

00:08:44.240 --> 00:08:45.860
undefined behaviors and stuff like this just

00:08:45.860 --> 00:08:47.900
because other people have been doing it,

00:08:47.900 --> 00:08:50.860
not because the algorithm or the model was

00:08:50.860 --> 00:08:53.680
trained with data that dates back to 10 years

00:08:53.680 --> 00:09:00.060
ago. At the time, C++ was a little different.

00:09:00.060 --> 00:09:01.400
Anyway, I'm not here to talk,

00:09:01.400 --> 00:09:03.960
you are here to talk. Moving on to the next

00:09:03.960 --> 00:09:06.560
question. People already get to hear my voice

00:09:06.560 --> 00:09:09.640
plenty, whereas yours are much sparser.

00:09:10.520 --> 00:09:13.580
All right. So, what is the future of Emacs on

00:09:13.580 --> 00:09:16.080
macOS? I understand that there are too few

00:09:16.080 --> 00:09:17.420
developers for the platform.

00:09:17.440 --> 00:09:21.600
Is that still true? That's a good question.

00:09:21.600 --> 00:09:23.620
I don't know what the current statistics are.

00:09:23.620 --> 00:09:27.040
I've been a user of Emacs on Mac OS for

00:09:27.040 --> 00:09:29.920
decades now. It feels like the,

00:09:30.140 --> 00:09:33.480
There's also that Mac port version of Emacs,

00:09:33.480 --> 00:09:35.920
which builds Emacs more directly using the

00:09:35.920 --> 00:09:37.860
GUI libraries on the platform.

00:09:38.300 --> 00:09:40.320
That continues to be updated with every

00:09:40.320 --> 00:09:42.040
single new release that comes out.

00:09:42.620 --> 00:09:45.220
So I'd say that the support may not be as

00:09:45.220 --> 00:09:47.540
great as it is on Linux and other platforms,

00:09:47.640 --> 00:09:50.500
but to this day I haven't suffered from being

00:09:50.500 --> 00:09:55.220
a Mac user. Great. The only thing I remember

00:09:55.240 --> 00:10:00.480
about Emacs on macOS was that emojis made it

00:10:00.480 --> 00:10:03.540
inside the GUI first before they did it

00:10:03.540 --> 00:10:05.820
anywhere else. That's the 1 anecdote that I

00:10:05.820 --> 00:10:09.520
have on MacOS. Right. And historically that

00:10:09.520 --> 00:10:12.720
feature was removed in order to prevent Mac

00:10:12.720 --> 00:10:14.840
from having features that Linux did not.

00:10:15.160 --> 00:10:16.860
I didn't want to go into that point.

00:10:16.860 --> 00:10:18.340
I just wanted to mention the beginning of the

00:10:18.340 --> 00:10:19.840
anecdote and people can find it out.

00:10:19.840 --> 00:10:22.040
But yes, that's also what it led to.

00:10:24.020 --> 00:10:25.340
Moving on to the next question.

00:10:25.640 --> 00:10:28.120
Why aren't you contributing to Emacs anymore?

00:10:28.140 --> 00:10:29.360
Lack of time, I guess?

00:10:30.240 --> 00:10:31.840
Lack of time, primarily.

00:10:32.300 --> 00:10:33.840
Work has been very consuming.

00:10:33.900 --> 00:10:36.020
There are a lot of other projects and things

00:10:36.020 --> 00:10:39.000
that I like doing. I still find Emacs Lisp

00:10:39.000 --> 00:10:40.460
very, very fun to write.

00:10:40.840 --> 00:10:43.260
Just the other day, I was hacking up some

00:10:43.260 --> 00:10:45.760
extension macros for myself for org mode.

00:10:45.920 --> 00:10:48.900
But to have the time needed to sit down and

00:10:48.900 --> 00:10:51.580
design a whole new mode and work on it.

00:10:51.580 --> 00:10:53.660
I've been spending a lot of my time now in

00:10:53.660 --> 00:10:55.580
functional languages, especially theorem

00:10:55.580 --> 00:10:57.840
provers. I just find that so intellectually

00:10:58.100 --> 00:10:59.620
satisfying and interesting.

00:11:00.400 --> 00:11:01.860
Plus it pays a lot better.

00:11:01.860 --> 00:11:03.680
Never had a paying job as an Emacs list

00:11:03.680 --> 00:11:06.420
developer. So when it comes to now just being

00:11:06.420 --> 00:11:08.380
a fun language or a hobby language,

00:11:08.420 --> 00:11:10.680
it is relegated to the time that I have free

00:11:10.680 --> 00:11:13.680
when it's available. Right.

00:11:13.700 --> 00:11:15.420
Well, the good thing is that it's kind of

00:11:15.420 --> 00:11:16.360
like riding a bicycle,

00:11:16.360 --> 00:11:17.980
you know, writing a major mode,

00:11:17.980 --> 00:11:20.160
it comes back relatively quickly and still

00:11:20.160 --> 00:11:22.600
enjoyable. You know, the other day,

00:11:22.600 --> 00:11:25.200
actually, I took notes on a mode that I

00:11:25.200 --> 00:11:28.100
wanted to write. There's an app I use on the

00:11:28.100 --> 00:11:30.060
Mac called drafts, and I really love it.

00:11:30.060 --> 00:11:31.460
I use it all the time.

00:11:31.720 --> 00:11:34.600
I wanted to mimic the interface of this app

00:11:34.600 --> 00:11:37.620
in Emacs. So I could use Emacs as my drafts

00:11:37.680 --> 00:11:40.060
application rather than this separate 1.

00:11:40.440 --> 00:11:42.720
So I noted down all the different user

00:11:42.720 --> 00:11:44.580
parameters and how it should function and

00:11:44.580 --> 00:11:47.240
everything to describe the app to myself as

00:11:47.240 --> 00:11:50.320
sort of notes to get me started on that work

00:11:50.320 --> 00:11:52.460
when I did have free time to work on it.

00:11:52.540 --> 00:11:54.760
Somebody out there on the internet just saw

00:11:54.760 --> 00:11:57.040
these notes, because I keep a lot of my stuff

00:11:57.040 --> 00:11:59.680
on GitHub. They fed it to chat GPT,

00:12:00.280 --> 00:12:01.960
going back to your AI question.

00:12:02.220 --> 00:12:04.540
And they actually sent back to me a mode that

00:12:04.540 --> 00:12:06.640
implemented everything that I had said,

00:12:06.820 --> 00:12:07.740
which was effectively,

00:12:08.200 --> 00:12:10.960
chat GPT, seeing that what I had described

00:12:10.960 --> 00:12:14.500
was clear enough for it to derive most of the

00:12:14.500 --> 00:12:16.560
code that I would have wanted to write.

00:12:16.560 --> 00:12:19.200
So maybe, maybe another thing that AI can do

00:12:19.200 --> 00:12:20.880
is it can increase the value,

00:12:21.340 --> 00:12:23.400
the efficiency of my free time.

00:12:24.360 --> 00:12:26.820
Exactly. I think that's a wonderful point.

00:12:27.120 --> 00:12:29.540
And phrasing it as efficiency of free time is

00:12:29.540 --> 00:12:31.360
great because you still have the expertise,

00:12:31.360 --> 00:12:33.420
obviously, that you're mobilizing into the

00:12:33.420 --> 00:12:35.560
design that you're formulating to charge DPT,

00:12:35.860 --> 00:12:37.680
but then this expertise is turned into

00:12:37.680 --> 00:12:39.060
something that actually works.

00:12:40.080 --> 00:12:41.780
Perhaps we're all going to become software

00:12:41.780 --> 00:12:42.980
architects at some point,

00:12:42.980 --> 00:12:45.800
and then the busy work of actually coding the

00:12:45.800 --> 00:12:48.760
library and the software will be relegated to

00:12:48.760 --> 00:12:51.000
AI. That's an interesting future where we

00:12:51.000 --> 00:12:55.240
still, however, need to acquire the skills to

00:12:55.240 --> 00:12:56.660
know what is code, I suppose.

00:12:56.660 --> 00:12:58.880
But that's an interesting future to think of.

00:13:00.940 --> 00:13:02.060
A fairly long question.

00:13:02.060 --> 00:13:04.280
So 1 of the tricky things about running Emacs

00:13:04.280 --> 00:13:06.900
on Android is do you use anything that

00:13:06.900 --> 00:13:08.320
requires extra packages?

00:13:08.420 --> 00:13:11.600
Example like PDF tools with new PDF or going

00:13:11.600 --> 00:13:13.820
with a database, playing music or video with

00:13:13.820 --> 00:13:15.840
MPD or MPV on Bonga, LFeed.

00:13:16.320 --> 00:13:17.900
Do you run Emacs Termex,

00:13:18.040 --> 00:13:20.200
Emacs APK, Emacs in virtual machine?

00:13:20.200 --> 00:13:22.420
This is also the case on Emacs for Windows to

00:13:22.420 --> 00:13:23.980
a lesser degree. So summarizing,

00:13:24.280 --> 00:13:27.240
how do you make Emacs work on Android if you

00:13:27.240 --> 00:13:30.040
do not have the synergy of stuff that you

00:13:30.040 --> 00:13:32.560
usually find on Linux systems like MPV and

00:13:32.560 --> 00:13:34.420
all the fancy applications like this?

00:13:35.340 --> 00:13:38.380
It's a good question. Since I'm not an

00:13:38.380 --> 00:13:40.460
Android user and I've never tried running

00:13:40.460 --> 00:13:42.020
Emacs on Android platforms,

00:13:42.100 --> 00:13:44.920
I'm not sure what's available out there to

00:13:44.920 --> 00:13:46.440
plug Emacs into. I mean,

00:13:46.440 --> 00:13:48.160
effectively, that question comes down to

00:13:48.160 --> 00:13:50.420
external dependencies and system support.

00:13:50.940 --> 00:13:53.320
That would be a great question for Stefan or

00:13:53.320 --> 00:13:55.740
somebody who has tried using Emacs,

00:13:56.200 --> 00:13:58.600
the development version of Emacs on Android.

00:14:00.660 --> 00:14:03.980
Great. We'll put a pin in this for Stéphane

00:14:04.540 --> 00:14:07.580
afterwards. Great, so moving on to the next

00:14:07.580 --> 00:14:09.860
question. Will Org Tech someday become the

00:14:09.860 --> 00:14:11.320
default tech mode in Emacs?

00:14:11.320 --> 00:14:14.880
And if so, when? Will Org what become?

00:14:15.240 --> 00:14:17.980
Org Tech, you know, the LaTeX mode.

00:14:19.120 --> 00:14:24.840
I do not know. It's been a while since I've

00:14:24.840 --> 00:14:26.880
done LaTeX. It must have been like 4 years,

00:14:26.880 --> 00:14:30.280
but it was a pretty, the major mode for

00:14:30.280 --> 00:14:32.560
editing documents, like the state of the art

00:14:32.560 --> 00:14:34.840
for editing latex documents in Emacs.

00:14:34.940 --> 00:14:36.320
And apparently it's not default.

00:14:36.340 --> 00:14:38.360
I assume there's latex mode or something that

00:14:38.360 --> 00:14:41.580
is doing it. So were you saying octech,

00:14:41.760 --> 00:14:45.020
like A-U-C tech? Oh, did I not pronounce the

00:14:45.020 --> 00:14:48.140
C? Octech, yes. I thought you said org tech.

00:14:48.140 --> 00:14:49.620
I wasn't familiar with that.

00:14:50.280 --> 00:14:52.540
Octech is the only 1 I've ever used.

00:14:52.640 --> 00:14:55.360
I know there is a built-in LaTeX mode,

00:14:55.580 --> 00:14:57.240
but I've never used it.

00:14:57.240 --> 00:14:59.140
I always just download whatever the latest

00:14:59.140 --> 00:15:01.160
version of Org Tech is and use that.

00:15:01.280 --> 00:15:03.840
I don't know why it's not a standard package.

00:15:03.840 --> 00:15:07.360
Becoming a standard package has its own costs

00:15:07.360 --> 00:15:09.860
for the development cycle because it slows

00:15:09.860 --> 00:15:11.740
down release cycle quite a bit.

00:15:12.120 --> 00:15:14.680
It's now you have to create PRs that are

00:15:14.680 --> 00:15:17.240
reviewed by the Emacs Devel mailing list.

00:15:17.620 --> 00:15:19.340
It is a little more inertia.

00:15:19.340 --> 00:15:21.680
Of course, it gets you more distribution

00:15:21.940 --> 00:15:24.020
because it's a default package now,

00:15:24.020 --> 00:15:26.100
and everybody can be using that.

00:15:26.140 --> 00:15:28.600
But it's not something every developer

00:15:28.660 --> 00:15:31.400
decides to do. It took a few years,

00:15:31.400 --> 00:15:34.620
in fact, to get usePackage into Emacs core.

00:15:34.660 --> 00:15:37.200
And that only happened after it was so stable

00:15:37.200 --> 00:15:39.360
that it really wasn't receiving many changes

00:15:39.360 --> 00:15:44.760
anymore. Yeah, yeah it's it's the thing when

00:15:44.760 --> 00:15:46.720
you move into core you lose a lot of your

00:15:46.720 --> 00:15:49.280
agility in terms of how you're writing the

00:15:49.280 --> 00:15:50.940
code or how you expand code.

00:15:51.300 --> 00:15:54.220
That's why you have this vibrant community on

00:15:54.220 --> 00:15:57.680
Melpa compared to core but you know it

00:15:57.740 --> 00:15:59.480
doesn't necessarily ought to be this way it

00:15:59.480 --> 00:16:02.320
could be a little different you know And it

00:16:02.320 --> 00:16:04.580
feels like there's this repetition between

00:16:04.760 --> 00:16:06.820
repartition, sorry, between people developing

00:16:06.820 --> 00:16:08.600
for the core of Emacs and people developing

00:16:08.600 --> 00:16:10.760
on Melpa, but at the end of the day those 2

00:16:10.760 --> 00:16:13.020
groups are constantly talking to 1 another

00:16:13.180 --> 00:16:15.240
and taking cues from 1 another as well.

00:16:15.240 --> 00:16:17.540
So that's great. And there's of course...

00:16:18.820 --> 00:16:21.880
May I jump in about this particular question

00:16:21.900 --> 00:16:25.080
because I think I mean You know,

00:16:25.080 --> 00:16:27.540
Org Mode doesn't really have any problems

00:16:27.540 --> 00:16:29.380
with releases Correct.

00:16:29.380 --> 00:16:32.820
Just because it's distributed with Emacs so

00:16:32.860 --> 00:16:35.020
there is a difference between being in the

00:16:35.020 --> 00:16:37.960
core proper and being distributed with Emacs.

00:16:38.520 --> 00:16:40.080
And for something like use packages,

00:16:40.080 --> 00:16:42.280
it's really necessary to be in the core.

00:16:42.600 --> 00:16:44.840
But for something like major mode,

00:16:45.060 --> 00:16:48.740
it's a bit easier. That's a very very good

00:16:48.740 --> 00:16:50.400
point. Yeah, I'd forgotten about that

00:16:50.400 --> 00:16:53.000
distinction. Org mode does advance pretty

00:16:53.000 --> 00:16:55.900
rapidly and then it makes releases into the

00:16:55.900 --> 00:16:59.640
core distribution. Gianni,

00:16:59.640 --> 00:17:01.480
I believe you also wanted to say something

00:17:01.480 --> 00:17:03.840
before someone started jumped in with a

00:17:03.840 --> 00:17:08.700
question do you happen to remember okay

00:17:08.700 --> 00:17:12.020
that's fine I lost her to lost to their time

00:17:12.560 --> 00:17:14.560
I'll be moving on to the next question then

00:17:15.700 --> 00:17:17.460
and by the way feel free to interrupt us you

00:17:17.460 --> 00:17:19.619
know The whole point of this discussion is

00:17:19.619 --> 00:17:21.140
for you to ask questions to John Wheatley.

00:17:21.140 --> 00:17:23.520
So whether it be via the other pad or via

00:17:23.520 --> 00:17:26.180
BBB, choose your weapon.

00:17:27.260 --> 00:17:28.820
All right, moving on to the next question in

00:17:28.820 --> 00:17:30.520
the meantime. And we have about 7 minutes

00:17:30.520 --> 00:17:32.760
left of Q&A and then we'll be moving on to

00:17:32.760 --> 00:17:35.780
Stéphane. So, do you use other IDEs for

00:17:35.780 --> 00:17:38.040
theorem proving work, notably VS Code for

00:17:38.040 --> 00:17:42.340
Lean? Which languages and provers can or do

00:17:42.340 --> 00:17:45.920
you use Emacs for? I've only used Emacs.

00:17:46.120 --> 00:17:49.840
I've used Emacs for working with ACL 2,

00:17:49.960 --> 00:17:53.480
Coq, Agda, and Lean, and I really love

00:17:53.480 --> 00:17:55.680
Proof-General. Coq is my favorite language to

00:17:55.680 --> 00:17:57.740
be working in. Agda has really great support

00:17:57.740 --> 00:17:59.540
as well, has a very nice Emacs mode.

00:17:59.540 --> 00:18:02.920
I'm only just now starting to get into Lean

00:18:02.920 --> 00:18:05.140
4. So I have everything installed,

00:18:05.280 --> 00:18:07.240
but I haven't really started coding in

00:18:07.240 --> 00:18:08.800
earnest. I'm still reading a lot of the

00:18:08.800 --> 00:18:10.920
tutorials and learning a bit about the

00:18:10.920 --> 00:18:13.440
language. There was a while there where I

00:18:13.440 --> 00:18:17.540
used a IDE for ACL 2 that was outside of

00:18:17.540 --> 00:18:19.920
Emacs, only because it was the same IDE all

00:18:19.920 --> 00:18:22.040
my co-workers were using and it was easier to

00:18:22.040 --> 00:18:24.240
share tips and tricks with them.

00:18:24.520 --> 00:18:28.240
But yeah, no, I found Emacs to be a great

00:18:28.240 --> 00:18:29.860
home for doing theorem proving.

00:18:32.120 --> 00:18:36.580
Right. Next question. Can we see that AI

00:18:36.580 --> 00:18:40.760
generated draft? You know what you mentioned

00:18:40.760 --> 00:18:43.420
before about the draft that you then fed into

00:18:43.420 --> 00:18:45.480
ChargPT? Do you happen to have this draft

00:18:45.480 --> 00:18:51.440
anywhere? Let me see if it's still on GitHub.

00:18:51.760 --> 00:18:54.300
Just take me 1 second to take a look here.

00:18:55.260 --> 00:18:59.820
Take your time. The problem is I don't quite

00:18:59.820 --> 00:19:01.820
remember where I made the note.

00:19:04.700 --> 00:19:07.260
But no, I don't see it on GitHub,

00:19:07.340 --> 00:19:09.840
so I don't have it readily at hand.

00:19:10.580 --> 00:19:13.240
Well, that's fine. We'll be able to...

00:19:13.520 --> 00:19:15.060
Well, if you happen to find it,

00:19:15.060 --> 00:19:17.280
we'll make sure to add it on the pad and then

00:19:17.280 --> 00:19:20.940
on the talks page. And I think we would all

00:19:20.940 --> 00:19:22.440
be interested to see what this design

00:19:22.440 --> 00:19:27.160
document that actually made something work

00:19:27.160 --> 00:19:28.980
afterwards in JudgeDPT with Elisp.

00:19:28.980 --> 00:19:30.720
I'm very interested to see what it would do

00:19:30.720 --> 00:19:32.720
because I tend to be very interested about

00:19:32.720 --> 00:19:34.780
this type of stuff I had generated but I

00:19:34.780 --> 00:19:36.860
never thought about doing it with Elisp

00:19:37.040 --> 00:19:39.000
because somehow it feels like 2 different

00:19:39.000 --> 00:19:41.020
worlds, like Elisp is kind of from the past,

00:19:41.260 --> 00:19:44.040
don't going me wrong, I love it and I use it

00:19:44.140 --> 00:19:46.920
every day But it's 2 different parts of my

00:19:46.920 --> 00:19:48.820
brain that I didn't think about linking.

00:19:48.820 --> 00:19:51.100
So I'd be very excited to see this as well.

00:19:53.040 --> 00:19:54.640
Moving on to the next question.

00:19:54.640 --> 00:19:56.980
Oh, go on, please. I did find it.

00:19:57.260 --> 00:20:01.080
I'm gonna have to give it to you as a link

00:20:01.080 --> 00:20:03.380
here. Sure, you can do it on the blue button

00:20:03.380 --> 00:20:05.900
and I'll put it on the pad.

00:20:10.160 --> 00:20:12.540
I put it into the public chat for Bibi.

00:20:12.960 --> 00:20:15.920
Yes. So if anyone is interested,

00:20:15.920 --> 00:20:18.280
I'm putting it right in the answer to the

00:20:18.280 --> 00:20:20.200
question right here on my screen.

00:20:20.200 --> 00:20:22.120
So feel free to click on it and explore it.

00:20:22.120 --> 00:20:23.680
I'm kind of curious, so I'm gonna...

00:20:23.680 --> 00:20:25.560
Can I click it on stream and can we look at

00:20:25.560 --> 00:20:26.620
it a little bit together?

00:20:26.740 --> 00:20:29.020
Sure, sure. I haven't tried running it,

00:20:29.020 --> 00:20:31.680
I can't say for its fitness,

00:20:31.680 --> 00:20:34.220
but it's definitely enough of the groundwork

00:20:34.400 --> 00:20:36.660
done that it's absolutely an assistance.

00:20:38.100 --> 00:20:40.260
Right. Okay, so it's loading up right now?

00:20:41.540 --> 00:20:42.620
You can see my webcam,

00:20:42.620 --> 00:20:45.680
right? I can see your browser attempting to

00:20:45.680 --> 00:20:47.360
load. There we go. Okay,

00:20:47.360 --> 00:20:50.060
cool. So I'm not sure what GitHub is doing.

00:20:50.060 --> 00:20:51.460
Let me give it a little more room.

00:20:51.460 --> 00:20:54.360
The reactive setup is not working too well.

00:20:57.260 --> 00:20:58.840
Oh, I see. You're viewing the...

00:20:59.540 --> 00:21:02.220
I see. Can I see the file then?

00:21:02.220 --> 00:21:04.020
I should be able to see the file.

00:21:06.460 --> 00:21:09.060
I think he just mentions the code in that

00:21:09.060 --> 00:21:11.640
comment. So if there's a way to view only the

00:21:11.640 --> 00:21:14.897
comment it would make it clear.

00:21:14.897 --> 00:21:16.660
Right. Okay. I'm loading the file separately.

00:21:17.320 --> 00:21:18.500
I'm checking the time.

00:21:18.740 --> 00:21:21.340
We have about 3 minutes left and I think we

00:21:21.340 --> 00:21:22.900
have a question. In the meantime,

00:21:22.900 --> 00:21:25.760
whilst I show this, I'm gonna launch another

00:21:25.760 --> 00:21:28.820
question, which was about Drafts.

00:21:29.440 --> 00:21:30.740
You are carrying, you're talking about

00:21:30.740 --> 00:21:32.480
Drafts, but does that mean you're not using

00:21:32.480 --> 00:21:35.920
org anymore? Oh, no, I use org all the time.

00:21:35.920 --> 00:21:38.100
In fact, the way that I've configured drafts

00:21:38.160 --> 00:21:40.580
is that after I type the thing in the note

00:21:40.580 --> 00:21:43.260
into drafts, I hit a key and it creates an

00:21:43.260 --> 00:21:45.420
org mode capture item for it.

00:21:45.540 --> 00:21:48.560
The reason why I use Drafts instead of Emacs

00:21:48.560 --> 00:21:50.660
is because it's always available.

00:21:51.100 --> 00:21:53.960
If Emacs is currently doing some job for me,

00:21:53.960 --> 00:21:56.340
say I'm running some long-running subshell

00:21:57.060 --> 00:21:59.440
and the UI is frozen up whatnot,

00:21:59.700 --> 00:22:02.360
Drafts is always 100% of the time instantly

00:22:02.360 --> 00:22:04.900
available. So that's why I tend to then lean

00:22:04.900 --> 00:22:07.920
on it a bit, but all of the destination of

00:22:07.920 --> 00:22:10.240
that data is still Org Mode and everything

00:22:10.240 --> 00:22:12.460
that I do gets tracked through Org Mode.

00:22:13.080 --> 00:22:16.160
That's also why I wanted to implement the UI

00:22:16.160 --> 00:22:18.800
scheme of drafts in Emacs so that I could

00:22:18.800 --> 00:22:20.860
drop the use of this external application.

00:22:21.540 --> 00:22:23.160
And then, I mean, I would still have the

00:22:23.160 --> 00:22:25.580
problem of sometimes Emacs being unavailable,

00:22:26.060 --> 00:22:30.040
but I would pay that price in order to have

00:22:30.040 --> 00:22:32.700
that good UI of drafts inside Emacs.

00:22:34.640 --> 00:22:37.700
Great. I think we have,

00:22:38.420 --> 00:22:39.720
we might be too tight on time.

00:22:39.720 --> 00:22:41.640
We only have about 2 minutes and I need to

00:22:41.640 --> 00:22:44.180
jump room to go into Stephane's room as well.

00:22:44.440 --> 00:22:47.380
So John, where I get to thank you so much for

00:22:47.380 --> 00:22:53.160
taking the time to answer our questions,

00:22:53.260 --> 00:22:55.040
but also doing a little bit of reporting on

00:22:55.040 --> 00:22:58.380
the state of Emacs. And now we'll get to

00:22:58.380 --> 00:22:59.280
continue this with Stéphane.

00:22:59.280 --> 00:23:01.300
So do you have any last words for everyone,

00:23:01.300 --> 00:23:03.660
John? No, no. I look forward to hearing

00:23:03.660 --> 00:23:06.420
Stéphane speak. Okay, great.

00:23:06.420 --> 00:23:07.360
And we'll look forward,

00:23:07.360 --> 00:23:09.300
potentially, to having you again next year,

00:23:10.520 --> 00:23:12.680
potentially still doing news like this,

00:23:12.980 --> 00:23:15.920
and, fingers crossed, maybe having you live

00:23:15.920 --> 00:23:18.660
again. Maybe, maybe let's see what happens.

00:23:19.700 --> 00:23:20.860
All right, John. Thank you so much.

00:23:20.860 --> 00:23:22.280
Bye bye. Bye bye.