And you're ready to go. All right, perfect. @@ -15,6 +17,8 @@ on how I'm using Emacs for Android
to replace my fitness app I normally use. +NOTE Current state of mobile ecosystem +
So it goes without saying @@ -27,13 +31,13 @@ are pretty hostile to the interest of its users.
So there's privacy policies
+00:27.000 --> 00:00:29.632 that are constantly collecting your data and selling it.
+00:00:29.633 --> 00:00:33.840 without your consent, bombardment of ads.
+00:00:33.841 --> 00:37.999 And then there's a lot of features that are locked.
@@ -60,6 +64,8 @@ but the solutions overall are lagging
behind maybe desktop computers. +NOTE Emacs replaceability +
One option that has come in the past few years @@ -76,7 +82,7 @@ And so I got to thinking how could I, how I could use Emacs to replace some of the proprietary apps
-that I use on a daily basis. +that I use on a daily basis?
So I just went thinking about the apps, @@ -88,16 +94,16 @@ the apps that Emacs can replace. Some of them seem quite easy.
-Some of them... maybe might take a little effort but seem doable +Some of them... maybe might take a little effort but seem doable.
-and then obviously there's a whole class of apps +And then obviously, there's a whole class of apps
that would be pretty impossible to emulate on Emacs.
-So I mean besides like to-do lists, note taking, org mode, +So I mean besides like to-do lists, note taking, Org mode,
one thing that came to mind was my fitness tracking app. @@ -106,7 +112,9 @@ one thing that came to mind was my fitness tracking app. This is an app I use pretty often
-and in theory Emacs should be quite usable for this case. +and in theory, Emacs should be quite usable for this case. + +NOTE Weightlifting tracking
So weightlifting tracking is, @@ -205,7 +213,9 @@ just for, just for, to make it as frictionless as possible. So obviously you can do like this bare bone text editing in Emacs.
-You just have to open up an org mode file and just right away. +You just have to open up an Org mode file and just right away... + +NOTE Difficulties
So, but there are a number of problems with this. @@ -241,31 +251,31 @@ like how many of these, these, like which, which, like where are you, where you are,
-like, um like which set number set number are you on +like, um like which set number are you on,
-are you on the first second +are you on the first, second,
-and then also like maybe you failed +and then also, like, maybe you failed,
-maybe you weren't able to like perform this +maybe you weren't able to perform this,
-and maybe you have to make a note that so like +and maybe you have to make a note that...
-so that's even more text editing you would have to do +so that's even more text editing you would have to do.
-um also some things like unit conversions +Also some things like unit conversions,
-like you could use calc +like you could use calc,
-but then you know you'd have to like open up the calc, +but then you'd have to open up the calc,
and then number, unit conversion, switch buffers. @@ -294,6 +304,8 @@ So that's another thing that
these apps normally would do for you. +NOTE Demo +
So writing some Elisp, I created a package @@ -316,7 +328,7 @@ And so here, I'm going to start a new workout. And then here, I'm prompted by a list of routines
-that I have pre-written in org mode. +that I have pre-written in Org mode.
So the header name is the routine name. @@ -453,14 +465,16 @@ they're all bound to a single key
to make things as effortless as possible.
+07:40.160 --> 00:07:45.459 So yeah, that's the app in a nutshell.
+NOTE Org-mode based + +00:07:45.460 --> 07:47.079 And then, so how is this done?
-So the philosophy behind this is to use org mode as a base. +So the philosophy behind this is to use Org mode as a base.
So all the functionality, the timer for the session, @@ -484,16 +498,16 @@ So yeah, and then all the movement, like a lot of the editing stuff
-is just going off of the org mode API. +is just going off of the Org mode API.
So like here, my upper field, is actually just using the,
-so it's using like the org table go to line function. +so it's using like the org-table-goto-line function.
-Adding a no is org table put. +Adding a note is org-table-put.
So like all of my functions I'm using, @@ -505,7 +519,7 @@ they're just building off of the org mode API. And I found that this pattern worked work pretty well.
-So you get the benefits of org mode +So you get the benefits of Org mode
and then the ease of using it on mobile. @@ -519,6 +533,8 @@ I'll just go over some quick things
about working with Android that might come up. +NOTE Notifications (demo) +
So the first thing is notifications. @@ -529,7 +545,7 @@ This is actually an interesting feature. So In the Android build for Emacs,
-you have the function android notifications notify. +you have the function android-notifications-notify.
And so here, this is how you can send a notification. @@ -603,6 +619,8 @@ So you notice here, we're not even running Emacs
and yet we got that rest timer is over. +NOTE Unexpected Keyboard +
So that's one thing. Next, keyboard. @@ -637,10 +655,12 @@ I haven't really noticed any problems with Emacs key bindings.
-And then lastly, just like my setup. +And then lastly, just like my setup... + +NOTE Syncthing Fork
-So SyncThinkFork is another app I rely on heavily. +So Syncthing Fork is another app I rely on heavily.
So as I mentioned, all the, this is org-fit files, @@ -649,7 +669,7 @@ So as I mentioned, all the, this is org-fit files, they're all org-mode files.
-So I use SyncThinkFork to synchronize them +So I use Syncthing Fork to synchronize them
between my laptop and my Android. @@ -667,7 +687,7 @@ if you want to easily edit your init file on Android on your machine.
-So yeah, SyncThinkPort is another helpful thing +So yeah, Syncthing Fork is another helpful thing
that you might wanna look into @@ -729,6 +749,8 @@ So the first question we had was a comment.
This is very cool. +NOTE Q: Very cool! It would be nice to build some One-rep max calculation formulae into calc +
It would be nice to build up some @@ -745,25 +767,25 @@ Um, well, I mean, um, one rep max. Yeah. I mean, not in honesty,
-I'm not sure about the, like the, like, uh, +I'm not sure about
extending calc itself.
-Like if there's, you know, if like, +Like if there's...
what are the ways of extending calc itself,
-but this, this package, um, or fit, +but this package org-fit,
I mean, it does have the one rep max.
-Like I kind of had to dig into that, like, um, uh, +I had to dig into that...
I can find the code, but yeah, I mean, it does, @@ -774,6 +796,8 @@ I mean, you know, so this is specifically this package,
but yeah, you can use the various one rep max formulas for this. +NOTE Q: Do you have plans to extend this to clock-report kind of reporting? graphical reports, etc? +
Extend this clock report. Yes, yeah, exactly. @@ -793,13 +817,13 @@ You can see your progress from week to week on various exercise.
-They have like charts galore, all these like fancy apps. +They have charts galore, all these fancy apps.
And in theory, it wouldn't be hard at all to like,
-cause like, you know, there's a GNU plot. +'cause like, you know, there's gnuplot.
There's those, and then they have like @@ -810,12 +834,14 @@ very good packages on any of them.
So, I mean, I assume integration would be pretty seamless.
+14:13.920 --> 00:14:17.424 So yes, that is definitely on the list
+00:14:17.425 --> 14:17.759 of things I want to do. +NOTE Q: Have you ever wanted to modify the functionality on your mobile device while working out? Any good or challenging experiences or tips with that? +
Have you ever wanted to modify @@ -856,10 +882,10 @@ is unexpected keyboard. Like, I can't state how,
-I don't know how much unexpected keyboard is, +I don't know how much Unexpected Keyboard is,
-because, like, with unexpected, with the unexpected, +because, like, with Unexpected, with the Unexpected,
with that keyboard, you can literally just, like, @@ -868,34 +894,34 @@ with that keyboard, you can literally just, like, it's, it's not hard at all to, like,
-you can do meta x or uh control meta x +you can do M-x or C-M-x
-or you know control u control meta x +or you know C-u C-M-x
-to like you know debug like you can do all the key bindings +to debug, like, you can do all the key bindings
-with unexpected keyboard there's so there's no problem +with unexpected keyboard. There's no problem
-whatsoever whatsoever +15:18.520 --> 00:15:20.303 +whatsoever with that part.
-with that part the only part is muscle memory like like +00:15:20.304 --> 00:15:23.599 +The only part is muscle memory.
-it's because you get the muscle memory +It's because you get the muscle memory
-of like the emacs key binding +15:25.600 --> 00:15:27.424 +of the emacs key binding
-and so you have to kind of like yeah +00:15:27.425 --> 15:28.279 +and so you have to kind of like yeah...
-i mean that translation is actually kind of +I mean that translation is actually kind of
you have to think about it like, like, okay, @@ -921,6 +947,8 @@ different set of different muscle memory.
Gotcha. Sorry, if you've covered this, +NOTE Q: Does the rest timer end with an audible notification at the end of the time? +
does the rest timer end with an audible notification? @@ -937,7 +965,7 @@ you can, I can show that again in more detail. So bonus settings, apps, pick the app, notifications.
-And then here we get that Org Fit Restover. +And then here we get that org-fit-rest-over.
And so here you can set, for example, @@ -946,37 +974,37 @@ And so here you can set, for example, whether it's a silent notification.
-And so this won't, this won't make it make noise you can do +And so this won't, this won't make it make noise. You can do...
-or like make it have a noise +or like make it have a noise,
+16:29.560 --> 00:16:31.399 and so you can have it make sure
-it's pop on this way the screen +00:16:31.400 --> 16:33.119 +it's popped on the screen
-and then yeah you can just pick you can just pick whatever ringtone you want +and then you can just pick whatever ringtone you want,
-and you can make it look like yeah +and you can make it look like yeah.
-and then obviously you have like the whole uh volume setting +16:38.680 --> 00:16:44.299 +Then obviously you have the whole volume setting,
-so you can like when you're when you're uh when you're working +00:16:44.300 --> 00:16:49.132 +so you can, when you're working
-you know you can just set the volume pretty high +00:16:49.133 --> 16:50.519 +you can just set the volume pretty high,
-so if you set if you do happen +so if you do happen
-to set your phone kind of away You set the volume high, +to set your phone kind of away, you set the volume high,
maybe make a really annoying sound, @@ -993,8 +1021,10 @@ That was actually one of the biggest surprises.
I wasn't expecting that to work so nice. +NOTE Q: Have you tried other keyboards such as Hacker's keyboard? +
-One of the next question relates to the unexpected keyboard. +One of the next question relates to the Unexpected Keyboard.
Question is, have you tried other keyboards, @@ -1008,6 +1038,8 @@ Not recently. I haven't, so I couldn't compare them.
Fair enough. Another keyboard question. +NOTE Q: Another keyboard question - have you tried the "flickboard" on f-droid? It's the craziest keyboard, you use one thumb. +
Have you tried Flickboard on F-Droid? @@ -1050,11 +1082,11 @@ that kind of isn't mine, right?
but it shows how, you know, Emacs is sort of
-the bazaar in the cathedral +18:22.800 --> 00:18:27.037 +the bazaar in the cathedral and bazaar sense of
-and bazaar sense of we're all just here +00:18:27.038 --> 00:18:28.439 +we're all just here
sort of hauling our bags of toys @@ -1086,6 +1118,8 @@ There's a lot of different, yeah. So, next commenter.
I'm curious, oh, sorry, I skipped one here. +NOTE Q: This user interface is simplified but still keyboard based, can you think of ways to make it more touch based? +
This user interface is simplified, @@ -1107,25 +1141,22 @@ of specific touch-based functionality I have,
which, so this is like, so let's see,
-it's Control X, Control Plus, -
-I think that's the, okay, that wrong, +19:25.400 --> 00:19:33.159 +it's C-x C-+,
-that key binding wrong, what was it? Okay, whatever. +00:19:33.160 --> 00:19:38.159 +That key binding wrong, what was it? Okay, whatever.
-Yeah, so in terms of touch command, +00:19:38.160 --> 00:19:41.319 +Yeah, so in terms of touch commands,
+00:19:41.320 --> 00:19:46.079 so pressing on a headline will actually unfold it
+00:19:46.080 --> 00:19:51.199 and move your cursor to the next field that you,
+00:19:51.200 --> 00:19:54.600 yeah, so like, yeah, at the beginning of the table.
@@ -1194,6 +1225,8 @@ you have to worry about.
So let me ask a question of my own here. +NOTE Q: Is a touch interface something you'd prefer to dive into yourself or factor out into a higher-level API? +
Just thinking about that myself, how would you, you know, @@ -1233,20 +1266,32 @@ and that's kind of a nice thing is like having everything like close,
just like not having those, a lot of layers of abstraction.
-It's just like, you have a Lambda to the click and then just do. +21:54.160 --> 00:21:58.007 +It's just like, you have a lambda to the click and then just do... + +00:21:58.008 --> 00:21:59.504 +Yeah, just do. + +00:21:59.505 --> 00:22:01.757 +[Corwin]: That was my experience too.
-Yeah, just do. That was my experience too. +00:22:01.758 --> 00:22:04.590 +This is a few years ago now, but when I was starting on
-This is a few years several years ago at ENAC's conference, +00:22:04.591 --> 00:22:05.799 +the Dungeon Mode project + +00:22:05.800 --> 00:22:07.738 +that a friend and I presented several years ago + +00:22:07.739 --> 00:22:09.599 +at Emacs Conference,
we were shocked to learn just how usable,
-this is echoing a comment I see from Elip Energo on IRC, +this is echoing a comment I see from ElephantErgo on IRC,
who says, touch seems so wildly usable nowadays, @@ -1270,7 +1315,7 @@ and we're just shocked to learn, you know, everything just worked. Yeah.
-Maybe like the hardest thing +[Zachary]: Maybe like the hardest thing
is actually just the default font size. @@ -1288,7 +1333,7 @@ you'll like, you'll touch, you'll, you'll miss touch things a lot. Yeah.
-Well, there's no font size +[Corwin]: Well, there's no font size
large enough to make me, you know, @@ -1311,6 +1356,8 @@ I did have to play around with this a lot.
Let me go ahead and read it out. +NOTE Q: You mentioned file sync, what have you found works well for you? +
You mentioned file sync, what have you found works well for you? @@ -1321,7 +1368,7 @@ Sorry. Yeah, yeah, yeah. So in terms of what, yeah, I did have to play around with this a lot,
-but sync thing fork is what I eventually settled on. +but Syncthing Fork is what I eventually settled on.
I mean, this is another thing that, I mean, I don't, @@ -1333,7 +1380,7 @@ it wouldn't nearly be as usable, like Emacs wouldn't be nearly usable without it.
-So syncing fork essentially, okay. +So Syncthing Fork essentially, okay.
And then I also have like a droplet on DigitalOcean, @@ -1351,7 +1398,7 @@ So like, so my Emacs can sync to that, and then my machine also syncs to that.
-And so like, I don't have to have them +And so I don't have to have them
both on the same time. It's just there, that copy. @@ -1368,6 +1415,8 @@ I think this also goes
with the development experience question. +NOTE Q: I'm curious about the development experience. Do you do everything on the phone? +
So I'm curious about the development experience. @@ -1414,7 +1463,7 @@ and then just like, maybe just like start to put things together.
-But the cool thing is with SyncThinkFork, +But the cool thing is with Syncthing Fork,
I'm syncing my, I'm setting it to load off of a sync directory. @@ -1438,16 +1487,16 @@ So that makes like the whole, like in it, cause like it's, it's such a, like, that is one of the,
-it's just like getting, +it's just like get in,
-sit writing your init L and M in Emacs on Android +sit writing your init.el in Emacs on Android
-is just kind of a. +is just kind of a...
-We do have one more question. +[Corwin]: We do have one more question.
I can't help but throw in a comment there. @@ -1500,6 +1549,8 @@ I think that's pretty heads up advice.
Let me read out this other question. +NOTE Q: Have you thought about integrating cardio tracking like timed runs, bike rides, etc? +
Have you thought about integrating cardio tracking @@ -1507,21 +1558,21 @@ Have you thought about integrating cardio tracking like time runs, bike rides, and so on?
-Yes, I definitely thought about that. +[Zachary]: Yes, I definitely thought about that.
And that might be another thing
+26:36.600 --> 00:26:40.257 where a touch interface might be helpful.
+00:26:40.258 --> 00:26:47.840 I don't know if I can easily pull it up,
+00:26:47.841 --> 00:26:49.465 but the app itself, oh yeah, here it is.
+00:26:49.466 --> 26:50.199 So you can see kind of how they have,
@@ -1561,25 +1612,25 @@ with one of the columns called time and then you could just imagine like there'd be a button there
-and you can just just have it click, +and you can just have it click,
+27:21.160 --> 00:27:23.619 and then you'd have a timer in the background
+00:27:23.620 --> 27:25.799 that would update this timer.
It's so, I mean, conceptually, there's nothing really,
+27:32.600 --> 00:27:40.424 it conceptually maps really well to this.
+00:27:40.425 --> 27:41.559 So yeah, I mean, that's definitely something.
-That's awesome. Great answer. +[Corwin]: That's awesome. Great answer.
So I think we're just at about 90 seconds left. @@ -1614,8 +1665,10 @@ this can be a really good way to kind of open up the world.
Thank you. Thank you for putting it together. +NOTE Closing +
-Yeah, yeah, yeah, yeah, I would just say +[Zachary]: Yeah, I would just say
like definitely just try things out. @@ -1648,7 +1701,7 @@ So yeah, just try different things out and I would love to hear what other people do. Bravo.
-I appreciate it once again, you're coming together +[Corwin]: I appreciate it once again, you're coming together
and especially you're doing it live. -- cgit v1.2.3