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
|
<!-- Automatically generated by emacsconf-publish-after-page -->
<div class="transcript transcript-mainVideo"><a name="weights-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""And you're ready to go. All right, perfect.""" start="00:00:00.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Hello, my name is Zachary Romero""" start="00:00:05.820" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and today I'll be giving a talk""" start="00:00:07.876" video="mainVideo-weights" id="subtitle"]]
[[!template text="""on how I'm using Emacs for Android""" start="00:00:08.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to replace my fitness app I normally use.""" start="00:00:12.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So it goes without saying""" start="00:00:15.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that a lot of the mobile ecosystem these days""" start="00:00:17.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""are pretty hostile to the interest of its users.""" start="00:00:21.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So there's privacy policies""" start="00:00:25.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that are constantly collecting your data and selling it.""" start="00:00:27.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""without your consent, bombardment of ads.""" start="00:00:32.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then there's a lot of features that are locked.""" start="00:00:36.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Sometimes features that the app gives you,""" start="00:00:38.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're put behind paywalls.""" start="00:00:40.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so a lot of the ecosystem""" start="00:00:42.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""isn't in the best interest of users.""" start="00:00:45.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And obviously there are apps like on F-Droid""" start="00:00:49.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and the Android ecosystem that do try to address this,""" start="00:00:51.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but the solutions overall are lagging""" start="00:00:56.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""behind maybe desktop computers.""" start="00:00:59.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""One option that has come in the past few years""" start="00:01:05.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is Emacs on Android. It's just a normal Emacs build,""" start="00:01:14.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and so it can do everything, in theory, that Emacs can do.""" start="00:01:17.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so I got to thinking how could I, how I could use Emacs""" start="00:01:21.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to replace some of the proprietary apps""" start="00:01:24.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that I use on a daily basis.""" start="00:01:27.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I just went thinking about the apps,""" start="00:01:28.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the apps that Emacs can replace.""" start="00:01:31.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Some of them seem quite easy.""" start="00:01:33.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Some of them... maybe might take a little effort but seem doable""" start="00:01:35.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then obviously there's a whole class of apps""" start="00:01:39.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that would be pretty impossible to emulate on Emacs.""" start="00:01:41.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I mean besides like to-do lists, note taking, org mode,""" start="00:01:47.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""one thing that came to mind was my fitness tracking app.""" start="00:01:52.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is an app I use pretty often""" start="00:01:55.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and in theory Emacs should be quite usable for this case.""" start="00:01:59.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So weightlifting tracking is,""" start="00:02:06.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so it's normally used to record""" start="00:02:09.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""what exercises you do at what intensity""" start="00:02:13.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""in order to progress week by week.""" start="00:02:17.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you might plan on like slowly increasing""" start="00:02:20.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the amount of effort you put into""" start="00:02:25.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""your various workouts from week to week,""" start="00:02:27.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then maybe you'll have put some rest weeks in there.""" start="00:02:30.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so you want a detailed plan""" start="00:02:34.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and recording of what you do throughout the week.""" start="00:02:37.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so I guess way back, normally""" start="00:02:40.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""this would have been done on pen and paper.""" start="00:02:43.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you would take your notebook""" start="00:02:45.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and just write down on paper what you did.""" start="00:02:48.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And this obviously works, and a lot of people do do this.""" start="00:02:51.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""But these days, there are quite a few apps""" start="00:02:56.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that make this process quite seamless and effortless.""" start="00:02:59.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So just as an example, really fast.""" start="00:03:02.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So this is one of the popular apps out these days""" start="00:03:06.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that has such a feature.""" start="00:03:09.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you can save all your workout routines""" start="00:03:10.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and this nice interface.""" start="00:03:13.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so you click a button and then it starts,""" start="00:03:14.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you have the workout interface and then""" start="00:03:18.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You can kind of, you go through your workout""" start="00:03:20.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then you can input,""" start="00:03:23.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you can input like what things you do.""" start="00:03:25.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then it has this like fancy timer at the bottom.""" start="00:03:27.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like, this is kind of like the,""" start="00:03:29.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""kind of like what a lot of people use these days,""" start="00:03:30.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just for, just for, to make it as frictionless as possible.""" start="00:03:35.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So obviously you can do like this bare bone text editing in Emacs.""" start="00:03:39.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You just have to open up an org mode file and just right away.""" start="00:03:44.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So, but there are a number of problems with this.""" start="00:03:46.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like, especially on mobile,""" start="00:03:48.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""character by character editing,""" start="00:03:50.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like writing all these, this text out manually,""" start="00:03:52.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""maybe some formatting, it can be pretty tedious""" start="00:03:55.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and not, maybe not something you want to, you want to have to do,""" start="00:03:58.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""especially if you're like exhausted or tired.""" start="00:04:01.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So, I mean, there's also like the problem""" start="00:04:04.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""of like remembering which, where in your workout you are,""" start="00:04:06.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like how many of these, these, like which,""" start="00:04:09.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""which, like where are you, where you are,""" start="00:04:11.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like, um like which set number set number are you on""" start="00:04:13.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""are you on the first second""" start="00:04:17.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then also like maybe you failed""" start="00:04:17.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""maybe you weren't able to like perform this""" start="00:04:19.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and maybe you have to make a note that so like""" start="00:04:22.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so that's even more text editing you would have to do""" start="00:04:24.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""um also some things like unit conversions""" start="00:04:28.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like you could use calc""" start="00:04:30.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but then you know you'd have to like open up the calc,""" start="00:04:31.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then number, unit conversion, switch buffers.""" start="00:04:35.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So it's doable, but it takes a little effort.""" start="00:04:39.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then also the rest timer.""" start="00:04:42.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So if you want to make sure you're resting""" start="00:04:43.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""in between these exercises you do,""" start="00:04:45.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you'd have to maybe open up another app,""" start="00:04:47.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or maybe you'd have to bring your watch.""" start="00:04:51.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So that's another thing that""" start="00:04:52.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""these apps normally would do for you.""" start="00:04:53.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So writing some Elisp, I created a package""" start="00:04:58.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to try to emulate that experience""" start="00:05:02.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I showed you on that other app.""" start="00:05:04.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So let me just demo this real fast.""" start="00:05:06.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here, the package is called org-fit.""" start="00:05:08.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so here, I'm going to start a new workout.""" start="00:05:13.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then here, I'm prompted by a list of routines""" start="00:05:17.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that I have pre-written in org mode.""" start="00:05:19.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the header name is the routine name.""" start="00:05:22.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so I can, out of all these routines I've written,""" start="00:05:25.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I can select one and then also I can have it populate.""" start="00:05:29.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here it's populating preset weights I had for it.""" start="00:05:35.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, so basically this is my current attempt""" start="00:05:41.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to emulate that experience.""" start="00:05:45.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here we can, so here like the arrows and the tabs,""" start="00:05:47.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they only go through like the, editable fields I can so""" start="00:05:51.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""on the notes section you see you see here in the table""" start="00:05:55.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""this is like the my plan for the day""" start="00:05:58.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so I can press space to easily""" start="00:06:00.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just fill out the data tab""" start="00:06:02.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""go the next the next the next set""" start="00:06:03.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I can press quote to copy from above""" start="00:06:06.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""There's also some interesting things with Android,""" start="00:06:10.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like you can bind the volume down key.""" start="00:06:13.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here I have the volume down key""" start="00:06:15.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like inputting the data automatically""" start="00:06:17.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and going to the next field.""" start="00:06:21.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you see there it's quite seamless input of information.""" start="00:06:22.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Notice also when all the sets""" start="00:06:26.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""of a single exercise are done,""" start="00:06:30.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it marks that heading as done.""" start="00:06:31.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Also, if you notice at the top, on the left,""" start="00:06:34.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you have the session time for the workout.""" start="00:06:37.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then on here, we have the rest timer.""" start="00:06:42.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the rest timer is actually just defined as an org mode property.""" start="00:06:44.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here it's saying that, okay,""" start="00:06:48.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you should start the auto rest timer""" start="00:06:50.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""for three minutes every time you do a set.""" start="00:06:52.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So here, let's fill it in, go to the next one.""" start="00:06:54.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And now the rest timer is set for three minutes.""" start="00:06:58.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so here I have, I can just rest""" start="00:07:00.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I just have the information right here.""" start="00:07:03.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Also, you'll notice here we have""" start="00:07:05.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""some calculations at the bottom.""" start="00:07:08.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is something also that those apps provide,""" start="00:07:09.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like in order to make sure you're tracking""" start="00:07:12.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""on certain levels of intensity.""" start="00:07:14.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Let's see, what else do we have?""" start="00:07:16.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""We can add warmups, automatic warmup set inserting, unit conversions,""" start="00:07:22.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then Something else to know""" start="00:07:30.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is that all of these actions I'm doing,""" start="00:07:33.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're all bound to a single key""" start="00:07:35.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to make things as effortless as possible.""" start="00:07:37.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, that's the app in a nutshell.""" start="00:07:40.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then, so how is this done?""" start="00:07:43.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the philosophy behind this is to use org mode as a base.""" start="00:07:47.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So all the functionality, the timer for the session,""" start="00:07:51.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that's just clock in or clock in.""" start="00:07:55.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""The various, all the data you fill in,""" start="00:08:00.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the exercises, routines, those are just org headings,""" start="00:08:05.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like with nested entries.""" start="00:08:09.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, and then all the movement,""" start="00:08:12.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like a lot of the editing stuff""" start="00:08:14.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is just going off of the org mode API.""" start="00:08:16.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like here, my upper field, is actually just using the,""" start="00:08:18.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so it's using like the org table go to line function.""" start="00:08:22.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Adding a no is org table put.""" start="00:08:26.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like all of my functions I'm using,""" start="00:08:29.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're just building off of the org mode API.""" start="00:08:31.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And I found that this pattern worked work pretty well.""" start="00:08:33.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you get the benefits of org mode""" start="00:08:38.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then the ease of using it on mobile.""" start="00:08:41.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so I guess in the last few minutes of this talk,""" start="00:08:48.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I'll just go over some quick things""" start="00:08:51.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""about working with Android that might come up.""" start="00:08:53.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the first thing is notifications.""" start="00:08:56.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is actually an interesting feature.""" start="00:08:58.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So In the Android build for Emacs,""" start="00:09:01.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you have the function android notifications notify.""" start="00:09:03.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so here, this is how you can send a notification.""" start="00:09:05.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So my rest timer, for example, utilizes this function""" start="00:09:09.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to let you know when your rest is over.""" start="00:09:12.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And the cool thing about this is that the build for Emacs""" start="00:09:14.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""lets you, so here in the app settings, under notifications,""" start="00:09:22.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so here you can actually pick a notification group,""" start="00:09:29.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""which is here set, which is, yeah, so it's set right here""" start="00:09:33.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and you can just customize it.""" start="00:09:36.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like what sound do you want it to make?""" start="00:09:38.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Do you want it to vibrate?""" start="00:09:39.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Do you want to show on the screen?""" start="00:09:40.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so this way, like you can easily,""" start="00:09:41.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so if you are resting, you will get a notification.""" start="00:09:43.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It will vibrate.""" start="00:09:46.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it might make a really loud noise if you want it to.""" start="00:09:47.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so this is all customizable.""" start="00:09:50.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And the cool thing is that if you have other packages""" start="00:09:51.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that utilize these notifications,""" start="00:09:54.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""all of the notification groups,""" start="00:09:55.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're all customizable separately. So, and there we go.""" start="00:09:57.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So that notification you see on the top""" start="00:10:01.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is actually from the Emacs app.""" start="00:10:02.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you notice here, we're not even running Emacs""" start="00:10:05.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and yet we got that rest timer is over.""" start="00:10:07.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So that's one thing. Next, keyboard.""" start="00:10:09.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So just when working with Emacs,""" start="00:10:13.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I found using the unexpected keyboard, in particular,""" start="00:10:15.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to be really helpful with all the keybinding.""" start="00:10:19.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So if you just want to try out Emacs""" start="00:10:22.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""from F-Droid or something,""" start="00:10:25.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I would recommend using a keyboard like this""" start="00:10:27.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to let you use the meta keys and the control keys.""" start="00:10:30.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then yeah, using this keyboard,""" start="00:10:34.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I haven't really noticed any problems""" start="00:10:37.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with Emacs key bindings.""" start="00:10:39.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then lastly, just like my setup.""" start="00:10:41.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So SyncThinkFork is another app I rely on heavily.""" start="00:10:45.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So as I mentioned, all the, this is org-fit files,""" start="00:10:49.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're all org-mode files.""" start="00:10:54.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I use SyncThinkFork to synchronize them""" start="00:10:55.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""between my laptop and my Android.""" start="00:10:57.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then also like to get this package,""" start="00:10:59.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just syncing a list folder might be helpful""" start="00:11:04.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""if you want to easily edit your init file""" start="00:11:06.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""on Android on your machine.""" start="00:11:10.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, SyncThinkPort is another helpful thing""" start="00:11:12.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that you might wanna look into""" start="00:11:15.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""if you're exploring Android, the Emacs build of Android.""" start="00:11:17.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, Emacs on Android does actually have the potential""" start="00:11:22.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to replace a decent number of common use cases.""" start="00:11:26.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And org mode can be a solid foundation""" start="00:11:30.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""for any of these applications that you're thinking of.""" start="00:11:35.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And yeah, I highly recommend giving giving Emacs on Android a shot.""" start="00:11:39.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And that concludes this presentation.""" start="00:11:45.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Thank you so much, Zachary. That was an awesome talk,""" start="00:11:49.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and I appreciate your preparing it for us.""" start="00:11:56.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""A couple questions on the pad, if anybody wants to jump in""" start="00:11:59.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and throw in your questions or comments.""" start="00:12:03.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Of course, happy to read them out on screen here.""" start="00:12:05.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think when we were talking backstage before,""" start="00:12:08.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you had asked me to kind of read them out,""" start="00:12:12.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but feel free to jump in and kind of""" start="00:12:14.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""take over at any point.""" start="00:12:17.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is the You Show. I'm kind of...""" start="00:12:19.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the first question we had was a comment.""" start="00:12:25.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is very cool.""" start="00:12:30.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It would be nice to build up some""" start="00:12:31.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""org rep max calculation formula into calc.""" start="00:12:33.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Is that something that you've thought about?""" start="00:12:38.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Um, well, I mean, um, one rep max. Yeah.""" start="00:12:42.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, not in honesty,""" start="00:12:47.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I'm not sure about the, like the, like, uh,""" start="00:12:48.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""extending calc itself.""" start="00:12:52.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like if there's, you know, if like,""" start="00:12:53.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""what are the ways of extending calc itself,""" start="00:12:56.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but this, this package, um, or fit,""" start="00:12:59.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, it does have the one rep max.""" start="00:13:02.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like I kind of had to dig into that, like, um, uh,""" start="00:13:04.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I can find the code, but yeah, I mean, it does,""" start="00:13:11.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, you know, so this is specifically this package,""" start="00:13:20.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but yeah, you can use the various one rep max formulas for this.""" start="00:13:25.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Extend this clock report. Yes, yeah, exactly.""" start="00:13:33.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Graphical reports. These are all something that,""" start="00:13:37.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It currently doesn't have, and these nice apps do have.""" start="00:13:39.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""They have charts of all kinds.""" start="00:13:43.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You can see your progress from week to week""" start="00:13:45.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""on various exercise.""" start="00:13:48.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""They have like charts galore, all these like fancy apps.""" start="00:13:49.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And in theory, it wouldn't be hard at all to like,""" start="00:13:54.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""cause like, you know, there's a GNU plot.""" start="00:14:00.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""There's those, and then they have like""" start="00:14:03.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""very good packages on any of them.""" start="00:14:07.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So, I mean, I assume integration would be pretty seamless.""" start="00:14:10.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yes, that is definitely on the list""" start="00:14:13.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""of things I want to do.""" start="00:14:16.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Have you ever wanted to modify""" start="00:14:17.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the functionality of your mobile device""" start="00:14:21.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""while working out any good""" start="00:14:23.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or challenging experiences or tips with that?""" start="00:14:26.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, that's actually funny.""" start="00:14:28.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""There was a time where, yeah, I mean, like debugging,""" start="00:14:30.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""there was like some bug I was having with my code.""" start="00:14:37.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so I have, in the middle of a workout,""" start="00:14:41.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""yeah, start, like, open up the debugger and kind of,""" start="00:14:44.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and the cool thing is that, I mean,""" start="00:14:48.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the biggest thing, like, the biggest thing by far""" start="00:14:50.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is unexpected keyboard.""" start="00:14:53.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like, I can't state how,""" start="00:14:54.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I don't know how much unexpected keyboard is,""" start="00:14:56.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""because, like, with unexpected, with the unexpected,""" start="00:14:58.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with that keyboard, you can literally just, like,""" start="00:15:01.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's, it's not hard at all to, like,""" start="00:15:03.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you can do meta x or uh control meta x""" start="00:15:06.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or you know control u control meta x""" start="00:15:11.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to like you know debug like you can do all the key bindings""" start="00:15:13.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with unexpected keyboard there's so there's no problem""" start="00:15:15.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""whatsoever whatsoever""" start="00:15:18.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with that part the only part is muscle memory like like""" start="00:15:20.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's because you get the muscle memory""" start="00:15:23.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""of like the emacs key binding""" start="00:15:25.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and so you have to kind of like yeah""" start="00:15:26.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""i mean that translation is actually kind of""" start="00:15:28.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you have to think about it like, like, okay,""" start="00:15:31.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""what was that key binding again?""" start="00:15:35.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And you have to kind of like do it with your fingers.""" start="00:15:36.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And it was like doing it on the, on Android is,""" start="00:15:39.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, it takes a little longer""" start="00:15:41.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and it's just a different, yeah,""" start="00:15:44.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""different set of different muscle memory.""" start="00:15:45.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Gotcha. Sorry, if you've covered this,""" start="00:15:47.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""does the rest timer end with an audible notification?""" start="00:15:51.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""That's the cool thing.""" start="00:15:55.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So with the Emacs, with the Android notification settings,""" start="00:15:58.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you can, I can show that again in more detail.""" start="00:16:02.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So bonus settings, apps, pick the app, notifications.""" start="00:16:06.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then here we get that Org Fit Restover.""" start="00:16:17.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so here you can set, for example,""" start="00:16:21.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""whether it's a silent notification.""" start="00:16:22.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so this won't, this won't make it make noise you can do""" start="00:16:24.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or like make it have a noise""" start="00:16:27.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and so you can have it make sure""" start="00:16:29.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's pop on this way the screen""" start="00:16:31.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then yeah you can just pick you can just pick whatever ringtone you want""" start="00:16:33.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and you can make it look like yeah""" start="00:16:37.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then obviously you have like the whole uh volume setting""" start="00:16:38.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so you can like when you're when you're uh when you're working""" start="00:16:42.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you know you can just set the volume pretty high""" start="00:16:44.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so if you set if you do happen""" start="00:16:50.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to set your phone kind of away You set the volume high,""" start="00:16:51.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""maybe make a really annoying sound,""" start="00:16:55.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""a loud sound you won't miss. And then, yeah, you'll be set.""" start="00:16:57.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So that works.""" start="00:17:00.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""That was actually one of the biggest surprises.""" start="00:17:02.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I wasn't expecting that to work so nice.""" start="00:17:04.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""One of the next question relates to the unexpected keyboard.""" start="00:17:08.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Question is, have you tried other keyboards,""" start="00:17:17.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""such as Hacker's Keyboard?""" start="00:17:19.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Not recently. I haven't, so I couldn't compare them.""" start="00:17:20.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Fair enough. Another keyboard question.""" start="00:17:27.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Have you tried Flickboard on F-Droid?""" start="00:17:31.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""The commenter says, this is the craziest keyboard.""" start="00:17:34.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You use one thumb. Oh, that is interesting. Let me see.""" start="00:17:37.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Flickboard. Flickboard. Yeah, I'll have to try that.""" start="00:17:44.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I'm curious to get the key bindings done.""" start="00:17:48.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I wonder if the key bindings and all that work.""" start="00:17:53.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I hope that's interesting. I'll definitely look into that.""" start="00:17:57.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I'll hold on just a moment""" start="00:18:01.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""as people are typing in more questions.""" start="00:18:02.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""A good moment to just thank you for the talk.""" start="00:18:04.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It's personally, it's one of my favorite things""" start="00:18:06.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to see at EmacsConf is, you know, a glimpse into a world""" start="00:18:09.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that kind of isn't mine, right?""" start="00:18:14.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but it shows how, you know, Emacs is sort of""" start="00:18:17.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""the bazaar in the cathedral""" start="00:18:22.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and bazaar sense of we're all just here""" start="00:18:26.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""sort of hauling our bags of toys""" start="00:18:28.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""into the center square and, you know, making a,""" start="00:18:31.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you know, I don't know if it's a house of cards""" start="00:18:35.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or what exactly it is,""" start="00:18:38.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but it, you know, it's managing to keep me afloat personally.""" start="00:18:40.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And I just appreciate your, you know,""" start="00:18:43.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""kind of expanding my world.""" start="00:18:47.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It's pretty cool. Yeah, definitely. Yeah, I mean, I agree.""" start="00:18:48.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""There's a lot of different, yeah. So, next commenter.""" start="00:18:53.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I'm curious, oh, sorry, I skipped one here.""" start="00:19:01.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This user interface is simplified,""" start="00:19:05.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but still keyboard based.""" start="00:19:07.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Have you thought about ways to make it more touch-based?""" start="00:19:09.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Good question. Yeah, yeah, yeah.""" start="00:19:11.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the only thing currently, I think,""" start="00:19:16.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""of specific touch-based functionality I have,""" start="00:19:19.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""which, so this is like, so let's see,""" start="00:19:22.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's Control X, Control Plus,""" start="00:19:25.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think that's the, okay, that wrong,""" start="00:19:37.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that key binding wrong, what was it? Okay, whatever.""" start="00:19:40.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, so in terms of touch command,""" start="00:19:42.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""so pressing on a headline will actually unfold it""" start="00:19:45.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and move your cursor to the next field that you,""" start="00:19:47.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""yeah, so like, yeah, at the beginning of the table.""" start="00:19:50.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like, there's that, yeah, and so.""" start="00:19:54.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It sounds like that is something you're thinking about.""" start="00:19:56.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, exactly.""" start="00:20:02.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like, you know, maybe like a little thing at the bottom,""" start="00:20:03.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like, so this thing has the, this app has this,""" start="00:20:06.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""if you notice, like, if you do something,""" start="00:20:09.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it has this rest timer at the bottom.""" start="00:20:10.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I mean, it wouldn't be,""" start="00:20:12.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it wouldn't be pretty, it wouldn't be,""" start="00:20:14.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it seems quite doable to just have like,""" start="00:20:16.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""maybe something at the bottom,""" start="00:20:18.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like for a timer,""" start="00:20:19.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then you can just like plus 15 seconds or cancel it""" start="00:20:21.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""or, you know, just,""" start="00:20:24.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then those could all be just like touch based.""" start="00:20:25.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so, yeah. And then obviously just like,""" start="00:20:27.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like classic Emacs, the Emacs,""" start="00:20:30.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like clicking actions, they just, yeah,""" start="00:20:36.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they work just fine.""" start="00:20:43.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like, so there's no like weird Android touch thing""" start="00:20:44.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you have to worry about.""" start="00:20:47.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So let me ask a question of my own here.""" start="00:20:48.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Just thinking about that myself, how would you, you know,""" start="00:20:52.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""ideally approach that as that you'd most prefer""" start="00:20:57.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to sort of dive into yourself?""" start="00:21:00.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Or would you think about factoring that out into""" start="00:21:02.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like some kind of org touch higher level API or?""" start="00:21:07.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Oh, I mean, personally, personally, I mean, I mean,""" start="00:21:12.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think just like the clicking""" start="00:21:19.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and just like adding a lambda to it. That works.""" start="00:21:21.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, that feels like it works just fine.""" start="00:21:28.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And you can add the code, like the command right there.""" start="00:21:35.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So it's all like, yeah, it's all, I mean,""" start="00:21:41.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and that's kind of a nice thing is like having everything like close,""" start="00:21:45.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like not having those, a lot of layers of abstraction.""" start="00:21:49.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It's just like, you have a Lambda to the click and then just do.""" start="00:21:54.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, just do. That was my experience too.""" start="00:22:03.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is a few years several years ago at ENAC's conference,""" start="00:22:06.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""we were shocked to learn just how usable,""" start="00:22:09.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""this is echoing a comment I see from Elip Energo on IRC,""" start="00:22:13.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""who says, touch seems so wildly usable nowadays,""" start="00:22:18.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that's so awesome.""" start="00:22:21.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And that was really my experience too with Dungeon.""" start="00:22:22.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""We were just working on it, we got the fog of war going,""" start="00:22:25.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then just took it onto a touchscreen laptop at the time,""" start="00:22:28.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and we're just shocked to learn,""" start="00:22:32.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you know, everything just worked. Yeah.""" start="00:22:33.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Maybe like the hardest thing""" start="00:22:37.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is actually just the default font size.""" start="00:22:38.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You know, you have to like, you can't,""" start="00:22:40.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you can't have your font too small or you'll,""" start="00:22:42.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you'll like, you'll touch, you'll,""" start="00:22:44.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you'll miss touch things a lot. Yeah.""" start="00:22:46.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Well, there's no font size""" start="00:22:48.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""large enough to make me, you know,""" start="00:22:50.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""to make me comfortable on a smart device, unfortunately.""" start="00:22:53.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""But, but that, I think it may be a me problem.""" start="00:22:58.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think this question we might've missed. So the file sync.""" start="00:23:00.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, so the file sync in terms of what's worked for me,""" start="00:23:04.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I did have to play around with this a lot.""" start="00:23:12.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Let me go ahead and read it out.""" start="00:23:14.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""You mentioned file sync, what have you found works well for you?""" start="00:23:16.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Sorry. Yeah, yeah, yeah.""" start="00:23:18.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So in terms of what, yeah, I did have to play around with this a lot,""" start="00:23:21.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but sync thing fork is what I eventually settled on.""" start="00:23:25.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I mean, this is another thing that, I mean, I don't,""" start="00:23:28.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it wouldn't nearly be as usable,""" start="00:23:34.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like Emacs wouldn't be nearly usable without it.""" start="00:23:36.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So syncing fork essentially, okay.""" start="00:23:39.680" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And then I also have like a droplet on DigitalOcean,""" start="00:23:41.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like, so that's kind of like the whole,""" start="00:23:44.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that's kind of like what bridges it together.""" start="00:23:47.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So like, so my Emacs can sync to that,""" start="00:23:49.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then my machine also syncs to that.""" start="00:23:52.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so like, I don't have to have them""" start="00:23:56.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""both on the same time. It's just there, that copy.""" start="00:24:00.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And so that works pretty well.""" start="00:24:06.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I also found that editing code in general,""" start="00:24:09.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think this also goes""" start="00:24:13.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with the development experience question.""" start="00:24:15.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I'm curious about the development experience.""" start="00:24:19.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Do you do everything on the phone? And that's the thing.""" start="00:24:22.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""None of my development in general is done on the phone.""" start="00:24:24.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just because, for one, my muscle memory isn't there,""" start="00:24:27.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and two, just in general, typing on a virtual keyboard on the phone,""" start="00:24:32.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's just really slow.""" start="00:24:38.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, all the development is done on my machine,""" start="00:24:40.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but then there's the problem of you have to have an init.l in your Android,""" start="00:24:47.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and so you're going to have to write, you know,""" start="00:24:52.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I found like you'd have to like,""" start="00:24:55.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""when you first get Emacs set up,""" start="00:24:56.920" video="mainVideo-weights" id="subtitle"]]
[[!template text="""you might have to like write some, I don't know,""" start="00:24:58.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like you'll kind of have to like get into your init file""" start="00:25:01.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then just like,""" start="00:25:03.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""maybe just like start to put things together.""" start="00:25:04.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""But the cool thing is with SyncThinkFork,""" start="00:25:07.000" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I'm syncing my, I'm setting it to load off of a sync directory.""" start="00:25:09.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like this, this init file,""" start="00:25:15.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""my Android file is synced with my machine.""" start="00:25:18.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So if I wanted to, I could just edit it on my machine""" start="00:25:21.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and just have that synced automatically.""" start="00:25:24.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So that makes like the whole, like in it,""" start="00:25:25.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""cause like it's, it's such a, like, that is one of the,""" start="00:25:28.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it's just like getting,""" start="00:25:31.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""sit writing your init L and M in Emacs on Android""" start="00:25:33.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""is just kind of a.""" start="00:25:36.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""We do have one more question.""" start="00:25:37.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I can't help but throw in a comment there.""" start="00:25:39.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think that's like.""" start="00:25:41.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""That's an extremely good tip, right?""" start="00:25:43.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""That if we're, as we're exploring Android,""" start="00:25:47.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""we want to think about that as""" start="00:25:49.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""adding support for another port of Emacs.""" start="00:25:52.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So the whole dance of, oh, I took, you know,""" start="00:25:55.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I took, you know, I took my init""" start="00:25:58.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and I wanted to use it on BSD""" start="00:26:01.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""after mostly using GNU Linux.""" start="00:26:04.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Now we're going in and we're looking at our Emacs.""" start="00:26:06.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""all of our Emacs and it stuff""" start="00:26:09.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and thinking about compatibility,""" start="00:26:11.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""turning features on and off""" start="00:26:13.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""based on the OS that we're running underneath and so on.""" start="00:26:15.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think that's pretty heads up advice.""" start="00:26:19.960" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Let me read out this other question.""" start="00:26:22.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Have you thought about integrating cardio tracking""" start="00:26:24.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like time runs, bike rides, and so on?""" start="00:26:28.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yes, I definitely thought about that.""" start="00:26:30.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""And that might be another thing""" start="00:26:34.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""where a touch interface might be helpful.""" start="00:26:36.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I don't know if I can easily pull it up,""" start="00:26:38.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but the app itself, oh yeah, here it is.""" start="00:26:41.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So you can see kind of how they have,""" start="00:26:47.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and you can kind of see how this fits.""" start="00:26:50.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is like an org, you can see""" start="00:26:53.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that these are just tables, right?""" start="00:26:55.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""This is just like this whole interface in general,""" start="00:26:57.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""just like kind of screams like an org mode,""" start="00:26:59.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""file with you have you have your different headings""" start="00:27:02.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like here's a warm-up heading""" start="00:27:05.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then you have the tables""" start="00:27:06.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and you know you could just like envision""" start="00:27:07.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""how you could have a org table""" start="00:27:09.880" video="mainVideo-weights" id="subtitle"]]
[[!template text="""with one of the columns called time""" start="00:27:12.840" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then you could just imagine like there'd be a button there""" start="00:27:15.040" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and you can just just have it click,""" start="00:27:18.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and then you'd have a timer in the background""" start="00:27:21.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that would update this timer.""" start="00:27:24.280" video="mainVideo-weights" id="subtitle"]]
[[!template text="""It's so, I mean, conceptually, there's nothing really,""" start="00:27:25.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""it conceptually maps really well to this.""" start="00:27:32.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, I mean, that's definitely something.""" start="00:27:35.800" video="mainVideo-weights" id="subtitle"]]
[[!template text="""That's awesome. Great answer.""" start="00:27:41.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So I think we're just at about 90 seconds left.""" start="00:27:44.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Perfect amount of time, I think, to just wrap up.""" start="00:27:47.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Closing thoughts. I'll share mine first.""" start="00:27:50.120" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Really appreciate you, Zach.""" start="00:27:52.200" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Thank you for putting this talk together.""" start="00:27:53.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I think this is the type of talk""" start="00:27:56.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that's really going to tie the room together""" start="00:27:59.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""for people that may be, you know, not sure how they can take""" start="00:28:01.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""although they've been interested in that,""" start="00:28:07.560" video="mainVideo-weights" id="subtitle"]]
[[!template text="""this can be a really good way to kind of open up the world.""" start="00:28:12.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Thank you. Thank you for putting it together.""" start="00:28:16.400" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Yeah, yeah, yeah, yeah, I would just say""" start="00:28:20.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like definitely just try things out.""" start="00:28:22.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""Like if you think, you know,""" start="00:28:24.160" video="mainVideo-weights" id="subtitle"]]
[[!template text="""they're just like random ideas,""" start="00:28:25.360" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like a book tracking app or like a recipe app,""" start="00:28:26.440" video="mainVideo-weights" id="subtitle"]]
[[!template text="""like, you know, there's a lot of things""" start="00:28:30.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that you do on your mobile device""" start="00:28:33.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that aren't like banking apps that you could easily,""" start="00:28:35.600" video="mainVideo-weights" id="subtitle"]]
[[!template text="""that seem like they could be done in Emacs.""" start="00:28:37.720" video="mainVideo-weights" id="subtitle"]]
[[!template text="""So yeah, just try different things out""" start="00:28:39.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and I would love to hear what other people do. Bravo.""" start="00:28:42.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I appreciate it once again, you're coming together""" start="00:28:47.240" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and especially you're doing it live.""" start="00:28:52.520" video="mainVideo-weights" id="subtitle"]]
[[!template text="""I know that as a conference, we have a lot of preference""" start="00:28:56.640" video="mainVideo-weights" id="subtitle"]]
[[!template text="""for those recorded talks""" start="00:29:00.080" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and getting the captioning together,""" start="00:29:01.480" video="mainVideo-weights" id="subtitle"]]
[[!template text="""but I just have a special place in my heart""" start="00:29:02.760" video="mainVideo-weights" id="subtitle"]]
[[!template text="""for the energy that comes with a live talk""" start="00:29:05.320" video="mainVideo-weights" id="subtitle"]]
[[!template text="""and I appreciate you doing it. Thanks for putting this on.""" start="00:29:07.680" video="mainVideo-weights" id="subtitle"]]
</div>Questions or comments? Please e-mail [zacromero@posteo.com](mailto:zacromero@posteo.com?subject=Comment%20for%20EmacsConf%202023%20weights%3A%20Weightlifting%20tracking%20with%20Emacs%20on%20Android)
<!-- End of emacsconf-publish-after-page -->
|