summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.vtt
blob: d95d4ea7e6c87210a729a4411eea7897fbc5a85a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
WEBVTT

00:00.000 --> 00:08.480
Oh, wow, how exciting. Well, maybe I should share something then. Um, well, thank you very much and welcome to uh

00:11.440 --> 00:13.760
Welcome to my talk i'm a little distracted here

00:13.760 --> 00:20.080
I had a friend who came over and just brought me a whole bunch of peanut butter cups homemade peanut butter cups

00:20.080 --> 00:22.080
Maybe i'll show those off. Uh

00:22.320 --> 00:23.360
later

00:23.360 --> 00:26.480
Okay, what okay here, uh, put it right there

00:30.960 --> 00:32.960
All good stuff

00:33.920 --> 00:40.800
Okay, so i'm going to uh get over to my planned uh stuff i'm sharing here

00:41.340 --> 00:42.880
hopefully

00:42.880 --> 00:49.360
Uh, and and we'll jump jump right in because i'm gonna need as much time as I can possibly have today

00:49.440 --> 00:53.680
thanks so much for uh joining me for emacs conference and for

00:54.620 --> 00:56.480
especially for

00:56.480 --> 00:57.600
um

00:57.600 --> 01:02.960
all of you who who participated, you know in the discussions contributing talks and

01:03.520 --> 01:09.920
um, you know, uh, you know, including running the copy the the and it's just so much fun to be here, um

01:11.040 --> 01:15.840
I guess while i'm standing here and and saying stuff that's that i'm gonna have to

01:16.620 --> 01:19.680
transcribe because I didn't uh prepare a

01:20.560 --> 01:22.080
recorded version

01:22.080 --> 01:27.920
Uh, I had a lot of trouble trimming this down so I can solve that problem by just talking a lot at the beginning

01:28.960 --> 01:30.960
about other stuff, um

01:33.200 --> 01:36.880
So in addition to the thanks I just want to say thanks also to the

01:37.120 --> 01:43.040
Folks on the development list that helped me kind of come up to speed on this. I won't make a big list here. But

01:43.760 --> 01:45.120
um

01:45.120 --> 01:48.560
And and for all that i've learned from my previous conferences

01:48.640 --> 01:52.880
It's just I can't stress enough what a great opportunity volunteering for

01:53.520 --> 01:55.520
uh free software related things are

01:55.920 --> 02:00.480
Uh as a way to get involved people will just totally teach you how to be helpful and i'm loving it

02:00.720 --> 02:02.720
Sasha can you please maximize?

02:02.880 --> 02:04.880
Hold on

02:14.160 --> 02:17.680
I can preview the stream, but it's not super easy right now

02:17.760 --> 02:20.240
I got all my screens kind of dedicated to other stuff

02:20.400 --> 02:24.400
so should I pause for a second before I get into the slides because there's

02:24.960 --> 02:27.760
There they'll be hard to see if i'm not full screen

02:28.640 --> 02:36.160
Yeah, yeah, okay, well i'll keep ad-libbing then because I just have a million, uh things I can say, um

02:37.520 --> 02:43.280
Uh, so, uh, let me just quickly talk, uh things that aren't in here. Um,

02:43.840 --> 02:50.320
I'm going to mention the mysis2.org and the that project which provides a port

02:51.360 --> 02:53.360
of the GNU

02:53.440 --> 02:57.680
Of uh glibc and a lot of GNU

02:58.640 --> 03:00.640
and other free software

03:01.280 --> 03:03.280
um, so

03:03.280 --> 03:07.760
Uh, I don't pushing a room to uh a dvd room to stefan

03:12.080 --> 03:18.660
All right, so i'm gonna take mumble out of my uh, pardon me folks just gonna take mumble out of my speakers here

03:19.620 --> 03:21.620
Okay

03:22.820 --> 03:30.040
Okay, in fact we'll take the speakers out of play entirely and i'll just switch to some headphones

03:33.620 --> 03:35.140
All right, so

03:35.140 --> 03:36.820
Gorman you're good to go

03:36.820 --> 03:43.140
Perfect. What an amazing amount of time. All right. So thanks a lot. Uh today i've got a jam-packed talk

03:43.860 --> 03:46.260
Um, i've i've done my best to make

03:46.820 --> 03:52.260
To make this not too overwhelming, but overall we're going to try to try to actually build

03:52.900 --> 03:57.700
Um emacs while we're talking today and we might actually build several emacs

03:58.100 --> 04:00.100
Uh, so let's take a look at that real quick

04:00.420 --> 04:04.900
Um, so over here we have a screen where I am

04:05.700 --> 04:08.260
Just once a minute looking. Uh

04:09.120 --> 04:16.840
Indirectly at whether there have been any pushes, uh upstream to either the emacs 29 or emacs 30 branches

04:17.540 --> 04:19.280
so i've

04:19.280 --> 04:22.260
Arranged for us to sort of keep an eye on that

04:22.820 --> 04:30.020
Um while we talk and you know, maybe that's that's one thing that we'll do and then additionally we'll probably

04:30.660 --> 04:36.180
Fire up a shell. This is the mysis 2 environment that I talked about before

04:36.660 --> 04:39.460
And we'll probably create some directories and things

04:40.020 --> 04:46.420
But before we get into all that let's let's give some some context. I've been doing my best to try to

04:47.060 --> 04:50.420
Uh, make sure all this information is on the emacs wiki as well

04:51.060 --> 04:55.860
So, uh, sorry, as I said, I got a little caught off guard. So i'm moving my foot pedals

04:56.820 --> 04:58.820
To the float back to the floor here

05:00.340 --> 05:04.820
And I should be able to advance slides here. All right, so

05:05.700 --> 05:07.700
um

05:07.860 --> 05:13.540
I kind of provided some special definitions for things i'm going to kind of level set with those

05:14.740 --> 05:16.740
the uh

05:17.460 --> 05:24.580
Um when I say a binary release i'm talking about some some i'm talking about emacs for windows as

05:25.060 --> 05:29.780
Just ready to run out of its folder or in whatever similar form

05:30.340 --> 05:35.620
The when I say a build i'm talking about kind of a process of doing that

05:36.420 --> 05:40.760
Um when emacs.get of course, that's the upstream hosted by gnu savannah

05:41.620 --> 05:47.140
The emacs release is a tarball created from that the sources

05:48.580 --> 05:53.940
For um emacs are going to be one of those two things

05:54.740 --> 06:01.460
Um very specifically so i'm not going to talk about patches patching there's some implications there perhaps we'll get into it

06:02.660 --> 06:03.620
uh

06:03.620 --> 06:08.820
So a snapshot is when I build from anything other than a release source

06:09.860 --> 06:11.860
uh a tarball

06:11.860 --> 06:15.320
um, just if I if I say that i'm talking specifically

06:16.340 --> 06:18.340
about the uh, the xz

06:18.980 --> 06:22.100
Version of the file as as a technical point

06:22.900 --> 06:29.060
Um, so that may come up. All right, nothing else I think up my sleeve. Um

06:29.780 --> 06:30.820
the

06:30.820 --> 06:36.900
Uh as as a key data point it's worth understanding that there's a file called configure ac

06:37.540 --> 06:43.700
It's going to be processed, uh as part of autoconf. We we initially access that when we run

06:44.500 --> 06:47.540
Um autogen as you'll see in a little bit

06:48.180 --> 06:49.380
um

06:49.380 --> 06:56.340
The but before but um, so the autogen script will generally consider this. Uh, so in a release build

06:57.220 --> 07:02.260
Um, this has been thought about kind of for us as part of um making the tarball

07:03.300 --> 07:05.300
um the configure dot a

07:05.860 --> 07:07.300
ac

07:07.300 --> 07:08.580
um

07:08.580 --> 07:11.540
Yeah, I think I pretty much covered covered this so

07:12.420 --> 07:19.380
Um those those that kind of partially built status that's a might be another phrase that you hear me use

07:19.540 --> 07:20.900
so this

07:20.900 --> 07:22.900
Slide unpacks that a little more

07:24.900 --> 07:26.420
Um

07:26.420 --> 07:29.720
So it can be a little confusing to understand what exactly?

07:30.580 --> 07:36.100
the you know, what is it, you know, how stable is emacs depending on what I have so that I got a

07:36.980 --> 07:43.140
It's kind of a set of rules of thumb here right first I want the highest, uh, you know dot

07:43.780 --> 07:49.220
Uh dot release value that I can get assuming that that's higher than one

07:49.620 --> 07:55.800
If it's if it were to only be one, let's say my choices were 29.1 and 30.1

07:56.340 --> 07:58.340
I would take 30.1

07:58.340 --> 07:59.220
um

07:59.220 --> 08:01.700
because that's that's weird, but um

08:02.260 --> 08:05.000
What you'll normally see is you might see a 28.2

08:06.100 --> 08:08.100
You might see a 29.1

08:08.820 --> 08:14.660
So here I think 28.2 has got the most most most stable

08:15.540 --> 08:16.580
um

08:16.580 --> 08:18.580
set, uh the

08:18.740 --> 08:20.740
uh, or set of release binaries

08:21.540 --> 08:23.040
the

08:23.040 --> 08:27.620
29.1 will will have a little more features, but will tend to be more stable

08:28.340 --> 08:29.380
than

08:29.380 --> 08:32.200
Any lower point releases for 29

08:32.920 --> 08:37.720
Uh, certainly than any release candidates for 29, which might even have new features

08:38.200 --> 08:42.760
Um, but are mostly going to just be patches so they're going to become the most stable

08:43.320 --> 08:44.840
thing here

08:44.840 --> 08:47.160
and especially if they they have a

08:48.120 --> 08:50.120
You know if this this is not

08:50.200 --> 08:56.040
Uh, if this were to be 29.2 release candidate one as well looking forward to seeing

08:56.680 --> 08:57.960
um

08:57.960 --> 08:59.960
the

09:00.180 --> 09:02.180
30.0.50

09:02.280 --> 09:03.240
um

09:03.240 --> 09:09.800
And and in between this this pre-test here, we're talking about kind of developer land. Um, so

09:10.680 --> 09:14.360
Um, the expectation is that you know what you're doing that applies to windows users

09:14.920 --> 09:20.680
Uh just as much if you are building anything in the snapshot range any of that is going to be in this

09:21.220 --> 09:24.040
30.0.50 currently that'll change when

09:24.680 --> 09:25.880
the

09:25.880 --> 09:27.080
when the

09:27.080 --> 09:32.520
30 30 an emacs 30 release tags, uh, or release branches come

09:34.120 --> 09:36.120
Okay, so

09:37.480 --> 09:43.160
Let's talk about the local um, there's not much to know about what I have going on

09:43.640 --> 09:47.560
except that I have my my paths mess messed with so

09:48.840 --> 09:52.520
Um, if if that that were to come up if you're wondering how why does this?

09:52.840 --> 09:58.040
Uh in in sys command work that's that's probably the way place where you notice it

09:58.600 --> 10:01.640
Uh, I am using windows 10. I haven't tried windows 11

10:02.120 --> 10:06.040
Uh as mentioned my sys2 is critical to all this

10:06.200 --> 10:11.240
There's one script in particular that will error out if you try to do anything other than use my sys's

10:11.720 --> 10:14.520
My sys's shell and in fact my sys owns

10:14.920 --> 10:21.800
Or provides three shells and of them that script is designed to work with a specific one of them as we'll come to

10:23.160 --> 10:30.040
I don't talk about installing the dependencies, but just as as kind of some kind of help. Um,

10:31.000 --> 10:35.000
You can search using this formula and install

10:37.000 --> 10:40.920
Using this formula good luck with those, you know grep commands

10:43.640 --> 10:50.860
And sys is the tool for building the self-installing self-extracting installer or uh executable self-installer

10:51.820 --> 10:55.580
Um, the script for that is provided along with the emac source

10:56.780 --> 11:03.900
Um, and i've provided a helpful link to the main page for the project download link on the left. It is not

11:05.180 --> 11:10.700
It's kind of scare where the way that this link appears, but I have clicked it and it's working for me

11:14.200 --> 11:19.340
Automation does uh, we'll we have some time we'll be looking at this at a minimum

11:19.340 --> 11:24.540
I wanted to mention that what I do on my local what you're seeing in the crawler, I hope

11:25.260 --> 11:27.260
uh represents a

11:27.740 --> 11:29.740
uh

11:30.700 --> 11:35.580
A simple sleep loop, uh, and we'll we'll look into that if we have time

11:36.540 --> 11:43.820
Um, I do have a little but I do use like a cron job and so on to clean up some hosting that I pay for

11:44.380 --> 11:47.580
Um where i've got where I where I kind of self-host

11:48.300 --> 11:50.300
some uh snapshots

11:50.700 --> 11:53.260
more stuff than I feel comfortable uploading to

11:54.220 --> 11:56.220
uh, to gnu

11:57.820 --> 11:59.820
The um

12:01.740 --> 12:07.500
You know, I never said, uh, my name is corwin bruce for the last couple of years i've been the volunteer making

12:08.220 --> 12:14.380
Uh making the snapshots the quote-unquote official binaries, uh for windows of the

12:15.580 --> 12:17.100
um

12:17.100 --> 12:23.180
Of of emacs for windows. So that's that's all the different versions. Uh help is always welcome with that

12:23.180 --> 12:26.540
I'd be very happy to teach you in more depth. This video is

12:27.100 --> 12:33.420
You know kind of my drop dead file. Uh, I don't have specific plans. Uh, if somebody's like hey get out of the way

12:33.500 --> 12:35.500
This is the one thing I think I can do

12:35.660 --> 12:37.660
Um, hey, that's real relatable

12:39.100 --> 12:46.220
Okay, um, so I haven't tried uh, the I haven't tried a lot of fun things that I won't talk about

12:46.940 --> 12:52.540
um, the uh, the rest of this talk is going to get into the nitty-gritty as I said, um

12:52.860 --> 12:58.620
If we can't convince emacs to start building over on that screen, we'll be opening it up here on the center stage

12:59.500 --> 13:01.500
um

13:01.900 --> 13:07.820
Uh, this begins and there's there's there's there's great insight here too on the wiki, uh

13:08.300 --> 13:11.980
With picking an ftp source for any official release

13:12.780 --> 13:15.500
That is for a stable product. Please visit

13:16.460 --> 13:18.460
Um ftp.gnu.org

13:19.020 --> 13:24.220
Otherwise, you'll want to switch that ftp dot at the beginning to alpha dot and take a pre-test

13:25.020 --> 13:29.260
Uh, or any snapshot or otherwise then they're not published there

13:30.140 --> 13:32.140
The uh next

13:32.540 --> 13:34.540
uh, you know

13:34.620 --> 13:41.260
i'm gonna you have some examples in here that assume that you're doing a release build that you're doing 29.1, but

13:41.820 --> 13:47.260
um, i'm glancing out of the the right side of my face at the

13:48.060 --> 13:52.480
Chat on the optance anybody in there wants to direct me at a particular

13:53.180 --> 13:55.820
Um, we can make some other we can build something

13:56.540 --> 14:02.460
Else if you want to see a snapshot build more mention that um the examples that you're going to see here

14:03.500 --> 14:06.540
That I will without other direction cut and paste

14:07.260 --> 14:09.100
um

14:09.100 --> 14:11.100
Are all based on a release bill

14:12.380 --> 14:14.380
so

14:14.620 --> 14:21.840
Um, and so, uh, we'll use the uh, I mentioned that there are several shells provided by mysis2

14:22.160 --> 14:24.160
To the min-gw64

14:25.520 --> 14:28.160
Shell is the one that we mostly need

14:28.880 --> 14:33.440
Um, I tested all of this as well with the min-gw32 shell

14:34.240 --> 14:35.680
um

14:35.680 --> 14:40.400
So that that should work and and see mix binaries that that work for me

14:44.080 --> 14:46.000
Uh

14:46.000 --> 14:50.180
I as I mentioned, I don't get into the details of installing all your prerequisites

14:50.720 --> 14:53.920
I found that doing it in a headfirst manner wasn't uh,

14:54.640 --> 15:00.240
Wasn't difficult and I also found that there's a number of tutorials. I didn't want to pick one to link here

15:03.280 --> 15:05.280
Um there uh

15:06.160 --> 15:08.400
Here are uh, okay, so

15:10.240 --> 15:14.960
Our general formula for building emacs irrespective of windows

15:15.520 --> 15:16.800
looks like

15:16.800 --> 15:20.420
Does the configure script exist if not run autogen?

15:21.280 --> 15:23.280
from a windows build standpoint

15:23.920 --> 15:30.400
This is if i'm not running a release that release build call the autogen script

15:31.040 --> 15:34.580
Right and this would be in the directory where we want to pack this i'll demonstrate

15:35.200 --> 15:37.040
within

15:37.040 --> 15:39.040
three minutes if uh

15:39.600 --> 15:42.240
If one if nobody's pushed upstream to emacs

15:42.800 --> 15:43.920
um

15:44.000 --> 15:47.120
so, uh the configure, uh, and

15:48.080 --> 15:50.080
configure options

15:50.320 --> 15:52.320
are uh

15:53.600 --> 15:58.480
Uh the configure, you know if the configure sorry if the configure script exists then

15:58.800 --> 16:05.760
Uh doesn't doesn't exist. So the only reason so in my process I will always execute that step because I clean everything

16:06.480 --> 16:09.860
after every build, um in all my contexts

16:10.820 --> 16:13.700
um, however, if you were you know had a

16:14.320 --> 16:19.140
Checkout of emacs dot get and you are building it at several releases

16:19.300 --> 16:22.100
Then maybe you've got a configure script and then you'll want to know

16:22.740 --> 16:24.580
um the you know

16:24.580 --> 16:31.800
Whether you have to bootstrap and the typical complexities, but otherwise you might be able to skip that in in the abstract

16:32.820 --> 16:34.820
um

16:36.100 --> 16:38.100
Is that right or is it is

16:38.420 --> 16:42.820
Make uh, so and if the make file doesn't exist make install. I know i'm

16:43.380 --> 16:46.100
Looking at that and i'm questioning whether it's correct. Sorry about that

16:48.020 --> 16:54.440
Um in any case, uh, so autogen configure make install is our recipe autogen

16:55.060 --> 16:59.620
Creates the configure script configure creates the make file the make file

17:00.020 --> 17:04.120
Um in the case of windows, I almost always want the install

17:04.840 --> 17:09.560
Uh and to specify some location where the installed emacs will land this is

17:10.440 --> 17:11.320
where

17:11.320 --> 17:13.980
all of the recipes for packaging emacs

17:14.680 --> 17:15.720
go

17:15.720 --> 17:17.720
and if I were

17:18.600 --> 17:22.440
You know using this as a movie to upgrade I personally would do that by

17:23.080 --> 17:26.440
by specifying an install path quote unquote on top of

17:27.240 --> 17:33.640
Uh a main installation. I don't do that. I update shortcuts manually based on what specifically I want to try

17:34.120 --> 17:39.640
Uh in an effort to to to notice, uh interesting patches and confirm they work on windows

17:41.240 --> 17:45.560
Which mostly they do there's not a lot of code in my experience that is

17:46.200 --> 17:49.720
Windows specific and very very little around the build process

17:50.360 --> 17:51.400
All right

17:51.400 --> 17:59.160
Huge rabbit hole zone and I still have a minute before I have to kick off the first part of our demo

18:00.120 --> 18:01.240
so

18:01.240 --> 18:03.880
Let's let's keep keep diving in

18:04.200 --> 18:05.240
um

18:05.240 --> 18:13.400
The those specific part windows specific parts beside the dot exe extension that we're going to find slammed onto all of our familiar

18:14.040 --> 18:17.640
Uh executables. We're also going to have emacs client w

18:18.360 --> 18:22.040
Which is a wrapper that hides?

18:22.760 --> 18:24.760
um how hard it is to get

18:25.160 --> 18:27.160
Uh to take it

18:27.640 --> 18:31.800
How bad the abstraction is between the window management layer and the gooey?

18:32.440 --> 18:38.940
And then all the different parts on windows essentially it wants to create a shell window if we just double click emacs.exe

18:39.480 --> 18:41.480
So emacs client w

18:41.640 --> 18:44.200
Uh and run emacs are going to solve that problem

18:45.160 --> 18:46.680
um

18:46.680 --> 18:49.260
Wrapping emacs and emacs client respectively

18:51.640 --> 18:53.400
And

18:53.400 --> 18:55.400
Just uh

18:56.520 --> 19:02.360
All right, so let's let's go ahead and do something i'll i'm going to take away the ticker here for a minute

19:02.520 --> 19:06.600
And what you're not seeing is off stage. I am

19:07.400 --> 19:09.900
Killing that so we don't get builds in parallel

19:11.480 --> 19:13.480
Um

19:15.960 --> 19:17.480
So, um

19:17.480 --> 19:21.720
So at this point i'm going to open up a shell and i'm going to start talking just a little bit about

19:22.360 --> 19:27.640
My local build environment, which we haven't gotten into in fact just to make that even easier

19:28.520 --> 19:30.520
let's um

19:31.160 --> 19:36.040
Let's just take a look at it a little bit probably the easiest spot

19:37.560 --> 19:39.560
Is

19:40.280 --> 19:42.280
Here

19:47.720 --> 19:51.980
All right, so here we have the familiar windows my computer interface

19:52.600 --> 19:56.200
I have the g drive and the h drive

19:56.840 --> 19:58.840
four terabyte drives

20:00.040 --> 20:02.040
um dedicated to

20:02.440 --> 20:03.720
my

20:03.720 --> 20:07.000
um, really overblown emacs build process

20:08.200 --> 20:15.240
Um, this just lets me be super lazy. There's no reason you need any massive amount of storage to do any of this

20:15.800 --> 20:20.600
Um inside here and now i'll actually switch you back to the other screen

20:21.960 --> 20:23.960
um

20:24.040 --> 20:26.040
We'll we'll find

20:35.880 --> 20:37.880
Oops

20:38.600 --> 20:40.600
Sorry about that

20:40.680 --> 20:42.680
It didn't take the time to label that one

20:42.680 --> 20:44.600
Label that one

20:44.600 --> 20:48.680
Um, so here you can see the primary output that

20:49.400 --> 20:52.440
That i'm looking at through this automated process

20:52.600 --> 20:58.280
I come along I look at the bug reports or maybe i'm just restarting my computer and choosing what emacs

20:58.840 --> 21:02.920
version at random and then in that case, I look at this modified date and I say

21:03.480 --> 21:05.480
um my config that I

21:05.880 --> 21:09.160
You know that i'm playing with right now is all set for emacs 30

21:09.320 --> 21:12.760
Or i'm testing them both and i'm relaunching both of these right

21:13.240 --> 21:17.720
So for me that starts by diving into the install folder going into the bin folder

21:18.200 --> 21:24.520
Which looks exactly the way my automation leaves it. I then come in to run the run emacs

21:25.000 --> 21:27.000
And I create a shortcut

21:27.480 --> 21:29.480
um

21:29.640 --> 21:30.760
To it

21:30.760 --> 21:31.960
so

21:31.960 --> 21:35.880
I'm a keyboard person. So that's usually done like this

21:36.760 --> 21:41.800
And then I just know that the context menu is going to come up in the right place so i'll come up and

21:42.840 --> 21:44.840
um

21:44.900 --> 21:49.080
Possibly change the change the shortcut, right?

21:53.080 --> 21:55.080
If I don't mess with it

21:56.680 --> 21:57.640
Um

21:57.640 --> 22:03.800
So here's where i'll add my minus q if that's kind of where my world is at or it kind of depends on what i'm doing

22:03.880 --> 22:06.840
With these which varies week to week

22:07.480 --> 22:11.820
Um, so restarting my emacs, uh involves doing the same thing going to my desktop

22:12.600 --> 22:15.740
And where you'll find a number of emac shortcuts

22:17.000 --> 22:19.000
and

22:20.680 --> 22:23.240
Um updating the shortcut in the same manner

22:23.960 --> 22:31.580
Actually, maybe we'll just let's go back there and just show it. So if we look at for example my erc

22:33.880 --> 22:36.360
You can see it's going to be pointing at one of these

22:37.400 --> 22:39.400
clones, and then it's gonna

22:39.720 --> 22:45.080
Maybe tell me that I want it wants to be full screen. No, not currently and then it might uh,

22:45.560 --> 22:52.620
Have some stuff in there about auto loading a config and what connections i'm going to some commands i've defined to start connections

22:53.340 --> 22:55.340
So

23:00.620 --> 23:06.940
All right, and sorry I got a phone call I was checking it wasn't in an order the organ the other organizers giving me the hook

23:08.700 --> 23:14.380
So, um, all right, so that's that's probably enough on the local system. Let's get back to

23:15.580 --> 23:22.380
To to building emacs and now it hopefully makes a certain amount of sense when I say we're gonna wander over to the h drive

23:22.620 --> 23:24.700
and recreate the structure that

23:25.660 --> 23:27.180
both

23:27.180 --> 23:33.660
My process sort of assumes and the scripts you'll find in the admin nt

23:34.300 --> 23:37.740
Uh build disk folder in source

23:38.940 --> 23:44.860
Used to assume those scripts are in need of some love and in just a little bit i'll be mentioning a build

23:45.420 --> 23:46.940
uh

23:46.940 --> 23:47.900
a uh

23:47.900 --> 23:53.980
A a particular bug that you might want to pay attention to if you're interested in making a self installer

23:54.780 --> 23:56.780
all right, so

23:57.020 --> 23:58.140
um

23:58.140 --> 24:00.140
We're going to create

24:01.260 --> 24:04.160
Uh an emacs build directory

24:08.460 --> 24:15.500
And we've got a handy git clone stage git clone command stage for ourself that would work

24:16.380 --> 24:18.380
um

24:19.420 --> 24:26.160
Do not currently see anybody lobbying for that. So instead we will run the rather faster

24:28.140 --> 24:30.140
Uh w get command

24:30.940 --> 24:37.020
On savannah, which is not pasted in here. Nice. Let's see if I can freehand it not gonna do it

24:37.820 --> 24:39.820
uh

24:45.500 --> 24:47.500
Um

24:51.980 --> 24:56.480
Beg your pardon i'm grabbing a url from the internet

25:00.060 --> 25:04.460
Uh, okay. Yeah, I can't I can't honestly I can't freehand it whatever

25:06.060 --> 25:07.660
Sorry, I uh

25:07.660 --> 25:11.340
I didn't have that bookmarked and all handy like I thought I did

25:12.060 --> 25:14.300
Um, so we'll just say ftp.gnu

25:15.260 --> 25:17.260
.org

25:17.900 --> 25:24.560
Uh, what is it pub emacs emacs-29.1

25:26.460 --> 25:28.460
Uh

25:34.860 --> 25:36.860
Hmm

25:36.860 --> 25:38.860
I

25:40.700 --> 25:42.700
Didn't

25:43.100 --> 25:48.060
Really think i'd have this command sitting around it makes me want to scrap the whole demo i'm not gonna lie

25:48.940 --> 25:50.940
Okay, how am I doing your time?

25:51.820 --> 25:58.140
Um, I think at least 15 minutes. Um, but in the command that you were freehanding should the pub be gnu instead

25:59.100 --> 26:01.100
Oh, thanks

26:01.100 --> 26:03.100
I'm, sorry

26:07.420 --> 26:13.420
There we go, thank you. All right, and then we'll

26:17.820 --> 26:20.220
And i'm not sure I provided commands for this either

26:22.940 --> 26:29.660
But it is trivially easy to do and while that happens we'll get to move on a few slides

26:29.820 --> 26:31.820
Um

26:31.820 --> 26:35.660
The configure script i'm not talking about in a lot of detail

26:35.740 --> 26:40.460
But I do want to mention that the gnu binaries are provided with native

26:41.820 --> 26:46.080
Uh compilation enabled that's the feature that uses gcc

26:46.620 --> 26:53.020
lib gcc get on windows if available that looks gcc get will be used

26:53.740 --> 27:00.620
Um, but when but if if emacs has that feature then it will take by compile

27:01.420 --> 27:03.420
native code and

27:04.040 --> 27:05.100
asynchronously

27:05.100 --> 27:07.100
Compile that as needed

27:07.340 --> 27:09.340
uh with the ahead of time feature

27:09.660 --> 27:14.860
We're going to do as much of that ahead of time and for folks that are consuming the windows binary

27:14.860 --> 27:19.020
The thinking goes that they might not have mysys too. They might not have

27:19.740 --> 27:21.740
Gcc jet they might be

27:22.140 --> 27:24.140
Happy that they're enabled

27:24.140 --> 27:28.400
In a you know a lot of time run emacs on their local environments

27:30.460 --> 27:31.580
At all

27:31.580 --> 27:34.700
You know in a maybe a lockdown at a corporate context

27:35.420 --> 27:36.460
so

27:36.460 --> 27:37.660
aside

27:37.660 --> 27:38.860
that

27:38.860 --> 27:40.880
There's your first glimpse at the configure

27:42.140 --> 27:46.220
Program that we're going to run in a moment. In fact, i'm going to go as far as

27:47.020 --> 27:49.020
Putting it on the clipboard

27:49.100 --> 27:50.540
um

27:50.540 --> 27:53.260
Really just looking at this the aot flag

27:53.340 --> 27:58.620
It's the one i'd call attention to but it's worth understanding that windows doesn't provide a dbus capability

27:58.700 --> 28:02.700
So windows native program isn't gonna be able to depend on dbus. We're gonna

28:03.500 --> 28:08.960
We're gonna explicitly ask that that be left out. I think that's actually optional. It's documentation

28:09.260 --> 28:12.940
I think the configure program is smart enough to know that we don't want dbus

28:13.660 --> 28:15.100
on windows

28:15.100 --> 28:22.860
Um, otherwise we tend to compile with things. Um, there there's missing documentation. We could say the uh,

28:23.340 --> 28:26.780
all of the libraries are treated in the way I mentioned in that

28:27.900 --> 28:30.700
Jpeg support will be available as long as

28:32.060 --> 28:36.940
Jpeg is is available in our environment and configure script certainly notices that

28:37.500 --> 28:44.700
Um, the new provided binaries are provided with minus o2 and that's also my default personally on windows. Um,

28:45.580 --> 28:48.380
However, and i'm going to skip this since I mentioned it

28:49.260 --> 28:51.260
um mentioned

28:51.260 --> 28:53.260
uh, and uh

28:54.620 --> 28:56.460
Um

28:56.460 --> 29:00.380
So I guess i'll say um, you can um say with

29:01.420 --> 29:02.300
the

29:02.300 --> 29:08.620
It's worth knowing that you if you're not one reason that that you're building might be because you want to turn off native

29:08.920 --> 29:14.140
Compilation for whatever reason if you have load juices you get it, but don't want emacs to use it

29:14.700 --> 29:18.400
Uh, especially as that default looks like it could be changing with emacs 30

29:19.420 --> 29:20.540
um

29:20.540 --> 29:22.060
the uh

29:22.060 --> 29:27.100
the debug configuration, um, this is this is the uh, kind of

29:27.740 --> 29:34.060
Uh, what what i'm currently using this on commentary. Uh, i've seen on the emacs development list

29:34.060 --> 29:36.060
Um

29:40.620 --> 29:44.220
All right, let's check on our checkout and see if we can't get a build running

29:44.620 --> 29:48.300
Um, this is a release build so I won't be starting with

29:49.260 --> 29:51.920
Uh, so we'll start by hopping into its directory

29:53.980 --> 29:57.100
And we um we have

29:59.020 --> 30:01.020
Uh

30:05.020 --> 30:07.020
But not

30:11.260 --> 30:14.060
Okay, so that tells us we're gonna run

30:15.660 --> 30:17.660
Our configure program

30:18.540 --> 30:21.260
But we don't need to run uh config ic

30:23.260 --> 30:25.260
So

30:31.340 --> 30:33.580
So let's get that going and

30:34.060 --> 30:36.060
uh

30:36.060 --> 30:41.280
Hopefully that's showing through just enough to be fun not too much to be distracting

30:46.540 --> 30:49.440
Um the uh the unoptimized

30:52.140 --> 30:58.320
Um, please report issues if your emacs is crashing, uh to the emacs development list not to me personally

30:59.100 --> 31:02.220
Um, although you are of course welcome to copy me

31:02.700 --> 31:08.540
Um, if you especially i'm subscribed to that list so I get all the mail so I don't mind being copied

31:09.100 --> 31:11.020
uh, and

31:11.020 --> 31:12.380
as well

31:12.380 --> 31:13.740
if you think it's

31:13.740 --> 31:15.100
uh

31:15.100 --> 31:17.500
You know related to packaging that actually makes sense

31:18.060 --> 31:24.700
Or windows related even and uh, it can be tested with an extra snapchat that should be uploaded to the gnu alpha side

31:25.100 --> 31:27.500
I could look at that if I have time

31:27.820 --> 31:29.340
Okay

31:29.340 --> 31:31.660
That is with the configure script to make file for

31:32.200 --> 31:39.500
Emacs is really really complicated if time permits which i'm, you know now confident it will not

31:39.900 --> 31:45.500
We will look at a makefile that I tried writing that orchestrates this whole process that i'm talking about

31:47.180 --> 31:53.900
Um as uh, let's see, so the build uh build process I run my builds with

31:54.380 --> 31:58.220
Uh explicitly specifying the max cpu, uh

31:59.340 --> 32:01.180
with minus j

32:01.180 --> 32:08.380
But minus b1 to get the full build, uh full login to your recipes. That is probably the magic thing

32:09.100 --> 32:10.620
that um

32:10.620 --> 32:12.620
shouldn't to understand with uh

32:15.980 --> 32:23.520
Or that uh that that uh that i'm glad that I know, uh as i'm trying to write my automations

32:24.700 --> 32:26.700
um

32:26.940 --> 32:28.940
Uh the um

32:29.820 --> 32:34.060
So I call that out here the binary, uh releases

32:35.020 --> 32:39.100
Okay. So in this section, we're going to start to get into what are all those files

32:39.500 --> 32:43.020
And there's a bug report related to that that I didn't get into here. So

32:43.580 --> 32:47.340
Um, that's kind of to the point about the less said about this the better

32:47.660 --> 32:51.420
That's my explanation for stepping through some of these slides. Uh, of course

32:52.380 --> 32:54.380
Share them all um

32:55.820 --> 32:58.220
Hopefully by the time that this video is published

33:01.180 --> 33:07.180
I mentioned it. Um, I may have mentioned already freshly installed but uh fully installed

33:07.660 --> 33:13.020
uh this the the key distinction here is that uh emacs is

33:13.400 --> 33:20.700
Distributed in the binary form for windows with some dll files that actually come from the mysis 2

33:21.000 --> 33:26.220
Project there's an implication there to gcc that I definitely want to get to it talking about

33:28.060 --> 33:30.620
Um, so freshly installed means

33:31.340 --> 33:34.700
We haven't copied those binaries from the mysis 2

33:35.340 --> 33:37.180
uh installation

33:37.180 --> 33:39.180
into the emacs

33:39.480 --> 33:41.260
uh installation

33:41.260 --> 33:43.020
uh, and then

33:43.020 --> 33:48.300
When we re-archive that local emacs installation, that's how we're going to create the full zip

33:48.620 --> 33:53.020
So hopefully that actually is a pretty good summary of what all those files are

33:53.660 --> 33:57.900
Um, but there are readme files on the ftp. They do a pretty good job

33:59.020 --> 34:05.900
If you can dig enough to find one and my apologies for uh tardiness getting a new version on that posted

34:07.260 --> 34:09.180
um

34:09.180 --> 34:10.620
the emacs

34:10.620 --> 34:17.020
Uh, so those dependencies, uh are listed within the emacs itself and as we'll just talk about in a moment

34:17.020 --> 34:18.300
There's a way

34:18.300 --> 34:21.500
uh that we can use we can access that

34:22.220 --> 34:26.880
When we collect them in order to meet the gcc requirement that is essentially

34:27.660 --> 34:29.660
to include

34:29.660 --> 34:35.260
Um include the sources for the for those binaries the things that were compiled against

34:36.460 --> 34:38.460
um

34:39.100 --> 34:42.620
The uh, so so here we go, we're we're into the build process

34:42.700 --> 34:46.060
Let's just take a look and see if configure it got done it sure did

34:46.540 --> 34:48.540
and now we can see a table of

34:49.080 --> 34:51.080
Hopefully good, but good and bad news

34:51.900 --> 34:53.580
um in potential

34:53.580 --> 34:58.940
um where we're learning that we're using the pdumper strategy and any number of other things that we might be

34:59.180 --> 35:03.820
Messing with as our motivation for for building ourselves on emacs

35:04.860 --> 35:06.860
again, this table represents

35:07.340 --> 35:09.260
uh what you'll what

35:10.060 --> 35:15.280
What what it looks like for me when i'm building for the gnu distributed binaries

35:17.900 --> 35:19.900
All right, so um

35:20.780 --> 35:23.740
Kind of moving moving as quickly as I can here

35:24.540 --> 35:28.140
I'm at 40 after I believe that's the five minute mark

35:28.780 --> 35:29.660
so

35:29.660 --> 35:34.780
Um having just succeeded in in configuring emacs. I don't think we're going to build it. Uh

35:35.100 --> 35:39.180
I don't think we're going to actually get to running make install

35:39.900 --> 35:45.500
Um, but I have it sitting here on my keyboard or clipboard assuming that we will right?

35:49.100 --> 35:50.460
No

35:50.460 --> 35:52.460
Oh, wow

35:52.780 --> 35:56.940
I think i've managed to confuse this. All right, so for me that looks simply like

35:57.660 --> 35:59.740
uh make

35:59.740 --> 36:01.740
v equals one

36:01.740 --> 36:09.200
Uh install, uh prefix equals

36:10.700 --> 36:12.700
uh

36:18.380 --> 36:20.380
And we can at least get it kicked off

36:22.860 --> 36:25.740
And that that command is just uh

36:26.620 --> 36:30.540
Just is no no different than I showed on the slide where I where I gave it

36:31.020 --> 36:34.460
Uh, I wasn't planning to stop and explain it. I was just planning to paste it in

36:35.500 --> 36:36.700
so

36:36.700 --> 36:42.060
So so again recapping the rest of the process here and maybe actually making it if you can believe it or not

36:42.300 --> 36:44.460
through the rest of these slides, um

36:45.180 --> 36:52.240
We to to create the full set of binaries. We're going to need a no dependent no depth archive. That's without the mysys2

36:52.400 --> 36:58.740
To uh deal provided dlls just the things that we compile as part of making emacs

36:59.520 --> 37:01.520
um

37:02.400 --> 37:09.760
The uh, the build depth zip script is uh provided with the source distribution is your tool

37:10.240 --> 37:14.320
for uh meeting the gpl requirements ride source as mentioned before

37:14.880 --> 37:21.360
Um, there is a second bug that I did, uh include some more information on in my notes already

37:22.240 --> 37:24.240
um that uh

37:24.800 --> 37:27.840
That gets into the details of this other feature I alluded to

37:28.640 --> 37:30.640
Um, i'll just skip into that

37:31.200 --> 37:32.560
um

37:32.560 --> 37:34.640
we can with with uh

37:35.440 --> 37:40.240
With a an appropriate version of that which you may need a patch

37:41.040 --> 37:42.560
uh to

37:42.560 --> 37:44.660
To have you can list out the dependencies

37:45.540 --> 37:51.060
And and that version as well can consider the dependencies of the emacs binary versus the hard-coded list

37:51.060 --> 37:54.900
You might find depending on when you look at this file in the source tree

37:56.980 --> 37:58.980
The different um

37:59.060 --> 38:00.020
so

38:00.020 --> 38:06.440
I also have a hack here that uh works around the absolute requirement to run this with the mysys2

38:07.060 --> 38:09.060
And not the mingw64

38:09.060 --> 38:11.060
64

38:14.340 --> 38:16.340
Script

38:17.460 --> 38:18.500
Um

38:18.500 --> 38:27.080
Once we've made that zip file that contain that's that's our installed emacs without the dlls provided by mysys2

38:28.420 --> 38:35.140
We'll then unpack the dependencies that were created by that python script. We just talked about from the emacs source tree

38:36.020 --> 38:40.980
So at that point once those are unpacked we can now make what's called the full

38:41.600 --> 38:47.640
Installer or sometimes I might call it the unqualified installer because it's just going to be called emacs29.1.zip

38:51.060 --> 38:56.520
Um and that uh that file which which creates the archive

38:58.580 --> 38:59.780
That

38:59.780 --> 39:03.140
that that file is exactly the same plus the

39:03.780 --> 39:08.340
Uh, the dependencies that we unzipped in the bin folder of the installed emacs

39:09.700 --> 39:10.720
the

39:10.720 --> 39:17.460
Executable self-installer, which I would love to have more time to talk about I gave a few pointers here on the hard part of running

39:17.460 --> 39:19.460
it most importantly

39:19.940 --> 39:25.880
If i've installed in any kind of funny looking name, I end up renaming it to like emacs-29.1

39:26.840 --> 39:33.240
Or emacs-29. or 30.0.50 or whatever and I just rename that installed

39:33.880 --> 39:39.800
Emacs folder and then I go to the root of wherever I created that the parent directory above it

39:40.360 --> 39:43.420
And that's where I make my copy of the emacs nsi

39:44.120 --> 39:46.600
um the the nsis script

39:47.560 --> 39:49.400
and uh

39:49.400 --> 39:51.400
That's also where I

39:51.960 --> 39:59.160
And then uh, then from that parent directory I execute uh making sys uh here I as mentioned

39:59.800 --> 40:00.920
um

40:00.920 --> 40:05.160
I I can get away with this because I have it on my path and it's my recollection

40:05.240 --> 40:11.480
I think I tested this and couldn't reproduce the problem. So I didn't document it here, but i've had some problems with running this when

40:12.040 --> 40:13.160
uh

40:13.160 --> 40:15.160
When nsis wasn't on my path

40:16.920 --> 40:19.960
The uh, the the final step here

40:20.440 --> 40:25.260
And the last the gpl requirement is to include all the sources

40:25.780 --> 40:29.640
Except when i'm doing a release build I always do this

40:30.200 --> 40:35.800
Um, and that's the new practice when making snapchat binaries is to go ahead and include the sources

40:36.280 --> 40:38.840
Even though we might have the specific revision number

40:39.400 --> 40:43.000
Um, our thinking is we want absolute clarity

40:44.120 --> 40:45.480
that that somebody

40:45.480 --> 40:51.720
Uh can say okay this binary did this thing from the source for it i'm gonna go take that into my own open source

40:53.160 --> 40:57.160
yeah, maybe they would the jerks them into my own open source project and

40:57.880 --> 40:59.480
um

40:59.480 --> 41:03.340
Off, you know off they go, uh, and that needs to be possible

41:04.840 --> 41:06.520
um

41:06.520 --> 41:07.960
so, um

41:07.960 --> 41:13.640
Beyond that the rest of this is is really detailed that you find covered in the gnu maintainers manual

41:14.280 --> 41:20.120
Um, this is the the current set of windows binaries that um, it's busily working on

41:20.760 --> 41:22.760
creating a like for like a

41:23.400 --> 41:29.320
Mirror to behind the scenes here is called a 29.1 underscore two

41:30.280 --> 41:32.280
um, and I have a lot of

41:32.900 --> 41:37.720
Automation available on this site. So at this point i'm just I think i'm only

41:38.520 --> 41:40.520
minute 40 seconds over i'm

41:41.080 --> 41:42.120
gonna

41:42.120 --> 41:44.120
invite my

41:44.360 --> 41:50.200
Co-organizers back onto the call or any volunteers that want to jump in and anybody if there's people on the bbb

41:50.280 --> 41:53.080
I'd be happy to take questions if there aren't

41:53.640 --> 41:56.520
um, I have a screen full of

41:57.240 --> 42:02.200
The automation stuff ready to go as a kind of a second ring in my circus today

42:03.320 --> 42:07.240
So if you're still with me, thanks a lot for joining me, and I really enjoyed this talk

42:07.480 --> 42:11.560
Uh, if this is where we're going to close it out. I don't know where we're at for schedule today

42:13.080 --> 42:15.180
Um, thanks a lot for a great talk corwin

42:16.760 --> 42:21.640
Um in terms of like schedule, yeah, you went over a little bit for the official like, um

42:22.120 --> 42:24.120
schedule or time of your talk, but I think

42:24.760 --> 42:29.080
We actually have maybe like six or seven more minutes. Um here on stream

42:29.800 --> 42:35.400
For um questions and such if folks have questions or if you want to like quickly maybe show one or two more things

42:36.200 --> 42:37.000
um

42:37.080 --> 42:39.080
But I think the hard stuff is about like

42:39.480 --> 42:42.520
Maybe 10 minutes ish for now and then we'll have to rush over to um

42:43.320 --> 42:45.320
for the closing remarks, so

42:48.120 --> 42:50.120
Well, that sounds awesome

42:51.320 --> 42:58.280
Okay, so i'm looking at the the dev chat, uh, I see a comment on cross compiling the emacs

42:58.440 --> 43:05.160
But i'm sorry, i'm looking at irc primarily, but uh, feel free to jump in if you're on bbb with me or

43:05.320 --> 43:08.840
Uh, uh, if if you put something on the pad i'm sure

43:09.400 --> 43:12.520
I will see it between the two of us

43:13.160 --> 43:14.840
Uh over here

43:14.840 --> 43:21.080
Okay, so cross compiling emacs for serenity. I haven't tried really any cross compiling. I think that would be very interesting

43:21.160 --> 43:23.160
I would most likely focus on

43:23.720 --> 43:28.760
Doing exactly what I do on a gnu system completely ditching

43:29.320 --> 43:30.280
um

43:30.280 --> 43:34.600
So I guess with my my remaining time rather than walking through code

43:35.160 --> 43:39.560
Um for my automation which can be another talk if in fact there's an interest in that

43:40.200 --> 43:41.240
um

43:41.240 --> 43:45.560
I want to I guess say a couple words about the non-free operating system

43:46.200 --> 43:49.800
That i'm using here. I did my best to use no

43:50.660 --> 43:52.760
non-free software other than

43:53.640 --> 43:55.400
the

43:55.400 --> 43:57.400
Uh the operating system

43:57.720 --> 44:01.720
That is the context for this talk in preparing this talk for you

44:02.120 --> 44:05.080
I personally have a lot more

44:06.520 --> 44:13.560
Uh time and energy I have to say invested in proprietary tools for doing a lot of the things that

44:14.920 --> 44:19.480
That go into this so I really respect the work of people that pull that off. Um

44:20.200 --> 44:27.400
I'm, sorry, I didn't get my pre-recorded stuff. Uh kind of in order for everybody, but I just want to stress like

44:28.280 --> 44:35.480
Uh, it is all absolutely possible and just hats off to everybody that that used uh entirely free software to get their

44:36.200 --> 44:38.200
Get their recordings done in time

44:38.680 --> 44:40.680
um, and what you did see

44:41.640 --> 44:45.560
Unless it was provided by the operating system in my presentation today was all

44:46.040 --> 44:51.080
Uh free software with the debatable exception of nsys which styles itself

44:51.720 --> 44:53.320
as open source

44:53.320 --> 44:56.120
maybe for uh marketing reasons

44:57.480 --> 45:00.460
Uh in any case, uh, certainly we can get out of the source

45:08.120 --> 45:10.840
Thanks for the note corinne, it's good to know that uh

45:11.320 --> 45:18.600
Building or uh, yeah doing the build of emacs for windows on windows can be done using only free software

45:19.880 --> 45:21.880
Yeah, absolutely

45:23.480 --> 45:25.480
Probably the right closing note, right?

45:26.120 --> 45:32.440
um, I just uh, thanks again to the organizers for bearing with me and like every time I was like you guys i'm

45:32.520 --> 45:36.760
Terrible at this. They're just like no you're doing fine. Keep going. You did a great job live last time

45:37.000 --> 45:43.000
You can do it live, you know and and saying all the right things to just uh, encourage me to come back

45:44.840 --> 45:46.840
This year and everywhere

45:49.720 --> 45:54.120
Well, as I said before we were very lucky to have you and the rest of the team of course as well and

45:54.760 --> 45:59.960
um goes without saying but all the speakers and all the audience the participants as well, so

46:08.360 --> 46:09.720
Um

46:09.720 --> 46:17.000
So, uh, are we we're still live over here that you know, you know me i'm the mike hog that I am I can't resist

46:17.800 --> 46:21.720
um throwing throwing up another screen here and uh,

46:22.280 --> 46:27.000
In fact, let's go ahead and go back to our to our crawler, right?

46:30.840 --> 46:36.120
And i'll bring back our build if it finishes and maybe we'll show making the installer as well, um

46:39.480 --> 46:42.040
But I have the cpu count turned down a little bit here

46:44.200 --> 46:46.600
Note I didn't specify minus j here

46:47.400 --> 46:49.400
um, so

46:49.480 --> 46:52.840
Over here is my automation, uh in case you do want to take a look

46:52.920 --> 46:59.480
I can at least provide the orientation of what you're looking at scrape log is probably my first thing. I want to show off

46:59.800 --> 47:05.800
um, it's not beautiful, but this works, uh, pretty well for me to

47:06.280 --> 47:12.440
Get a sense if something might have changed in terms of how many warnings or errors are happening

47:13.080 --> 47:18.620
When I build emacs, so I have this awful automation going on and I frequently want to answer the question

47:19.260 --> 47:23.500
You know, what's the change rate in uh warnings or what have you?

47:24.140 --> 47:26.140
So this kind of gives me a count

47:26.460 --> 47:28.220
of that

47:28.220 --> 47:29.820
um

47:29.820 --> 47:31.820
so from there, uh

47:32.460 --> 47:36.860
Crude ci is the script. We're we're watching run in the other pane

47:37.980 --> 47:39.900
um, you can

47:39.900 --> 47:41.900
see it's uh

47:42.780 --> 47:45.020
Just starting to do its thing again

47:48.860 --> 47:50.860
And uh

47:51.420 --> 47:58.620
The make file I mentioned this is a top-down rewrite of everything else that i've done it has some bugs right now

48:00.300 --> 48:02.460
um the uh

48:03.660 --> 48:04.460
the

48:04.460 --> 48:09.660
Build distribution is the main script that I use for my personal builds

48:10.140 --> 48:13.260
This is what is run by the crude ci script

48:13.820 --> 48:16.380
Uh, it has a fun tie-in to this

48:16.700 --> 48:18.700
Uh web interface here

48:19.340 --> 48:24.380
Um where we can you don't need the port number when you go to it. That's just if i'm going to post

48:25.260 --> 48:27.260
um the

48:28.380 --> 48:30.380
Uh

48:31.100 --> 48:37.980
Blah blah blah blah this this script is really long and complicated and probably needs some diving into but you can see that

48:38.540 --> 48:44.540
Um, one of the complexities I have to deal with is that i'm going to need a something in the format of an emacs dash

48:44.860 --> 48:46.860
version for strategic

48:47.100 --> 48:49.580
um nsys reasons so

48:50.140 --> 48:51.900
uh

48:51.900 --> 48:56.460
It takes care of kind of every complexity and stuff that I mentioned today in some respects

48:57.020 --> 48:59.980
Um, as does the make file build release

49:00.780 --> 49:01.660
is

49:01.660 --> 49:04.160
um another fairly useful

49:05.240 --> 49:11.580
Incarnation of this this is just focused on the release process and this does work

49:12.060 --> 49:14.060
for example to create the

49:14.380 --> 49:15.420
the

49:15.420 --> 49:17.420
You know like I like well I could

49:17.980 --> 49:23.760
Like uh for like files as far as I can tell so what are currently posted for emacs 29.1

49:24.860 --> 49:26.860
and the release candidate

49:27.660 --> 49:28.860
um

49:28.860 --> 49:34.300
So i'll probably use that next time and if it's still like for like i'll probably post the ones that came from this

49:35.580 --> 49:37.340
um

49:37.340 --> 49:44.940
Uh building a tree sitter I make some dlls there if you're looking for hints on how to get going or just simply

49:45.580 --> 49:49.900
A huge long list of git repositories that make grammars you can use

49:50.780 --> 49:52.780
That is here as well

49:53.580 --> 49:56.620
um, finally I mentioned I have a

49:58.300 --> 50:03.980
Um, I have a a website where I publish my own personal snapshots that I make

50:04.540 --> 50:07.820
That folder full of install directories, but all of the usual

50:08.360 --> 50:13.920
GNU style binary distributables including the source code and the source code for the dependencies

50:14.860 --> 50:15.980
um

50:15.980 --> 50:17.820
the

50:17.820 --> 50:19.820
uh

50:20.460 --> 50:23.180
So this program is another one of those

50:24.300 --> 50:28.700
Complicated find commands and therefore potentially the most useful thing in here to take to you

50:29.340 --> 50:33.340
Um, and here i'm deleting binaries older than 17 years

50:34.220 --> 50:36.220
uh everything except

50:36.220 --> 50:37.500
the uh

50:37.500 --> 50:41.020
No deps file and the sources of it. You'll find on my website

50:41.580 --> 50:44.140
Currently those indefinitely i'll probably roll out

50:44.760 --> 50:46.760
120 days or something

50:47.020 --> 50:49.020
um for those eventually

50:53.580 --> 50:57.340
Oh, uh, I can talk about this one even um the uh

50:57.740 --> 50:58.700
The

50:58.700 --> 51:02.380
So here you'll see the two branches that i'm tracking the job of this script

51:02.780 --> 51:07.020
Is this runs on the website? I call it with a like a remote rsync

51:07.740 --> 51:08.620
uh type

51:08.620 --> 51:11.420
Uh, or an ssh remote ssh command

51:12.060 --> 51:13.740
um

51:13.740 --> 51:18.220
And right after the rsync r syncing up any new emacs that I built

51:19.020 --> 51:20.540
and

51:20.540 --> 51:22.540
uh, it's

51:23.180 --> 51:29.920
Uh, its job is to update my fancy directory indexing so let's look at corwin's website

51:31.580 --> 51:35.040
Here's my emacs 29 folder

51:44.780 --> 51:46.780
We have about two more minutes corwin

51:47.420 --> 51:52.380
Yeah, it'll take that entire two minutes to uh, load this directory because I am

51:52.940 --> 51:56.140
Because I have not yet ever pruned any of these dang binaries

51:56.380 --> 52:01.500
So every version of uh emacs 29 that i've ever made for myself is probably here

52:02.540 --> 52:03.580
nice

52:03.580 --> 52:09.660
Uh, I strongly recommend that you bookmark this folder if you're using these for something and you always want the latest

52:09.980 --> 52:17.500
Um, so here this particular, uh latest 29 emacs 29 latest or simply replace the 29 with 30 to get those

52:18.220 --> 52:19.080
uh

52:19.080 --> 52:20.140
alas

52:20.140 --> 52:22.620
No, no such luck for tree setter

52:23.180 --> 52:25.180
but if we look at

52:25.740 --> 52:27.740
that

52:36.380 --> 52:39.100
Live this long without making a typo now look at me

52:40.220 --> 52:42.220
Okay

52:44.780 --> 52:46.780
Oh

52:51.500 --> 52:53.180
So here, um

52:53.180 --> 52:57.100
You know, we can see the iconification and so on even in the tree sitter folder

52:57.180 --> 53:01.420
this is all i'm talking about about the fanciness that's set up by that other script that

53:02.380 --> 53:06.940
i'm showing over here and run after each time I run the upload it just

53:07.900 --> 53:12.780
Looks to see if anything's new and add some lines to the dot htaccess file

53:15.900 --> 53:17.180
Um

53:17.180 --> 53:22.700
I'm, particularly proud of this one. I'm not going to lie. Um, linking out to each each

53:23.500 --> 53:27.020
project that we're using letting us know the commit version and then

53:28.300 --> 53:33.100
For the dlls quick link out to the log and the signature file for this dll

53:34.140 --> 53:36.140
um

53:37.020 --> 53:39.020
I find that a lot just a lot

53:40.540 --> 53:42.220
More readable

53:42.220 --> 53:44.060
than uh

53:44.060 --> 53:48.620
Listing them all out individually and i'd love to do something like that on the new site

53:51.180 --> 53:52.220
So i'm

53:52.220 --> 53:56.540
I think we've got to be out of time by now. I've just got to say hey, thanks again for having me

53:56.780 --> 54:01.740
Uh for those that uh watch the talk either live or after the conference

54:02.460 --> 54:05.820
uh appreciate everyone's support to get me to the point where i'm able to

54:06.540 --> 54:10.220
Uh to do this this this cool volunteer task

54:10.380 --> 54:14.220
Uh, which is fun and easy to do and reach out to me if you're interested in helping with it

54:19.020 --> 54:25.740
Well, awesome, thanks a lot for the awesome talk corbin and uh, of course as a fellow core core organizer

54:26.060 --> 54:33.280
For our for all that you do, um in and around emacs conf and of course for uh, can we max as well? It's much appreciated

54:36.140 --> 54:39.100
Big big words from coming from you my friend

54:41.740 --> 54:43.740
Um, thanks for the kind words

54:45.020 --> 54:51.660
Cheers my pleasure. All right, and with that I think we're gonna uh wrap up the dev track here and we'll be

54:52.300 --> 54:58.140
With you again shortly in a few minutes on the gen stream the gen track for the closing remarks for today

54:58.620 --> 55:01.900
Um only for today because we're gonna be back tomorrow again as well

55:02.460 --> 55:05.760
So don't go anywhere and uh, see you on the gen track in a bit

55:05.760 --> 55:07.760
So

55:28.080 --> 55:31.680
Oh my god, I did it we got done within the time you're my hero

55:31.840 --> 55:35.440
um, and thank you so much for just keeping me honest there and uh

55:36.720 --> 55:39.300
Like helping me keep my eye on the time and such

55:50.880 --> 55:53.680
You have to look at the recording and see whether you feel like doing it again

55:56.160 --> 56:01.360
I'm sorry. I had my sound screwed up and i'm sorry if I talked over somebody I couldn't hear anything on mumble until this very

56:01.360 --> 56:03.360
moment

56:03.520 --> 56:08.960
Oh, uh because he used your webcam for it, um, like as a like a virtual webcam thingy

56:09.520 --> 56:12.960
It was low res especially when things are changing as you were

56:13.520 --> 56:15.120
scrolling around

56:15.120 --> 56:20.720
So we'll see what kind of recording we can recover from it and then you can decide whether you maybe want to clean it up

56:20.720 --> 56:22.080
with like

56:22.080 --> 56:24.080
screenshots and

56:24.240 --> 56:28.960
I recorded on this end too. We shouldn't have that problem with my recording. Thank you. Thank you. Thank you

56:29.360 --> 56:31.360
I think we're still live on the dev stream

56:34.240 --> 56:37.440
Someone could uh, thanks. Oh, yes

56:38.880 --> 56:42.180
Because uh, i'll set it to rebroadcast

56:45.520 --> 56:48.480
Yeah, I I love doing that for the closing remarks that's

56:49.680 --> 56:51.680
a fine tradition

56:52.000 --> 56:55.280
Or it's a tradition now because i'm pretty sure this means we've done it twice

56:55.440 --> 56:57.440
I

57:02.560 --> 57:05.360
Once heard that, you know, uh as a fan

57:05.680 --> 57:11.680
Meaning like a fannish is a term of endearment for a science fiction fan to another we say we're we're fans or things

57:11.680 --> 57:17.440
We do our fannish and a fannish tradition then is if you do it three times, it's tradition

57:18.000 --> 57:20.000
But um, we're on a budget here. So

57:22.880 --> 57:24.880
Nope

57:25.920 --> 57:29.840
All right, I think we should um head over to mumble and talk on mumble

57:30.080 --> 57:34.640
Um and decide and see like which big blue button room we're going to be in for closing

57:35.200 --> 57:37.200
Okay, so we're clear on bbb here

57:37.760 --> 57:39.760
Yep, I think so