My Mobile Setup

2020-06-22 • 2020-04-07

TL;DR Syncthing + Termux + Orgzly

Ironically in this time of quarantine I find myself tinkering with my mobile setup moreso than usual – this is motivated by my recent re-interest in capturing things in org-mode. Here I will cover the tools and apps I've setup to try and get a 'blended' mobile feel between my phone and computers, at least with regards to capturing things on the go. For what it's worth, I hate the feel of mobile keyboards, and the goal of this setup is more to get things into the main setup rather than operate from the phone generally.

Syncthing

Syncthing is a program for syncing files and folders between devices. It is speedy enough for my use, and nixos has defined service files available for it so it's pretty easy to get something that "just works" between devices. This is key to the 'blended' feeling I alluded to above because it allows easy sending of data back and forth between my phone and computers (and the interface is pretty slick!). You can get away with only syncing between your devices, but I've opted to also have a vps running a syncthing service so that things are pretty nice.

Orgzly

Orgzly markets itself as an "outliner for notes and todo lists", but the kicker is that is uses org files as it's store. This means that orgzly headlines are org headlines, with everything that implies (agenda, scheduling, priority, keywords, and so on). I've setup a capture.org file in a syncthing folder on my desktop and phone, allowing me to capture notes on the go and then refile them back when I'm on my desktop computer. Now that's cool! here's a brief glance capturing a note on the phone and it's org mode counterpart:

Screenshot_20200407-165136.png

turns into:

post_org.png

Music

I use the BlackPlayer music player, which lets you choose what folders to search for music from. I'm sure you can see where this is going… with MPD on my desktop it's really easy to do something like mpc playlist -f '%file%' | shuf | head -n 100 | fd cp $music_dir/{} $syncthing_dir and wham! A smattering of my music collection is now available for me to enjoy on my phone! Of course, the reality is a little more complicated. I want to limit the size of the music collection that ends up on my phone. What actually ends up happening is something like:

  # 200mb
  size_limit=200000
  sync_music_dir="$HOME/sync/orgzly/music"
  music_dir="$HOME/Music"

  IFS=$'\n'
  while read -r f; do
      collection_size=$(du "$sync_music_dir" | tail -n 1 | sed 's/\t.*//')
      if [ $collection_size -lt $size_limit ]; then
          echo cp "${music_dir}/$f" "$sync_music_dir"
          cp "${music_dir}/$f" "$sync_music_dir"
      fi
  done < <(mpc playlist -f '%file%' | shuf)

Browsing the internet

Chome on android doesn't have a umatrix option. This sucks, because the UX is pretty decent. But life is too short for fake download buttons. Firefox + umatrix is an OK combination. One thing I realized I wanted when I did this switch was a 'startpage' with common links I use on my phone. Enter startpage, yay:

Audiobooks

Somewhere in the past few year or so audiobooks snuck into my life, and I've found I really only listen to them on my phone. Audible is pretty convienent, but sometimes the one credit a month doesn't meet my listening rate (I listen when cleaning the house, going for a walk, taking a piss, you know how it is). It turns out that many of the audiobooks I've listened to are available on youtube (and thus, a youtube-dl call away). And so, Simple Audiobook Player entered my life – it has the ability to play local files but with audiobook niceties (like saving your spot, and adjusting the playback speed).

Termux and bringing it all together

Alright, here's where things get spicy. Termux is a linux environment for Android. What's cool about it is how flexible it is. I use it as a scriptable share target (~/bin/termux-url-opener) so I can do whatever I want with termux as a sharehole! such as:

  • share a youtube vid with termux -> youtube-dl it on my phone and add it to my audiobook library
  • share a url -> add a heading with the url in capture.org for later review
  • share a file -> copy the file to a shared folder and capturing linking it within capture.org

Here's a UX example showing url capture for https://github.com/rxi/fe:

Screenshot_20200407-162542.png

See that termux icon at the top right? After tapping it, a note becomes available on my desktop (and on orgzly on my phone):

fe_note.png

IndexRootSourceSitemap