Working in the Cloud
by Elliot Speck on 11 March 2018
Anyone who’s had the misfortune of spending more than approximately fifteen minutes in my presence, whether it be in-person or online, knows that I really like the idea of cloud computing. Things like this annoy me, because they remind me of the bad kind of Atheists who spend the majority of their waking hours extolling their supreme intelligence.
In this moment, I am euphoric. Not because of any phony god’s blessing. But because, I am enlightened by my intelligence.
– A. A. Lewis, 2013
For every member of groups of people who vigorously encourage the person on their right in the circle to reach climactic enlightenment as to the supremacy of a particular technology, there’s five or ten individuals who are lining up outside like they’re waiting for the new Call of Duty game, almost vibrating with ecstasy at the chance to tell you that your ideas are bad, your opinions are wrong, and the cloud is just someone else’s computer.
The truth is that hasn’t really been the case for a long time. Amazon Web Services isn’t the equivalent of hosting your content on Josh’s computer because he promises it’ll be online all the time. It’s the equivalent of hosting your content on Josh’s PC if Josh has 30 engineers who have the sole job of ensuring that the links between that computer and the core router are working correctly, 30 more working to ensure that the firewall is functioning correctly, 30 more ensuring …
The cloud isn’t just someone else’s computer. In timescales relative to anything people care about; it really never was. After I came to grips with the fact that someone getting paid $150,000 solely to manage the security of a service I use is probably going to do a better job than someone (me) who has other things to do, and found out that this relatively-unknown Google employee who totally isn’t known for the creation of Plan 9, UTF-8, and Go happens to also really like the idea of letting someone else handle the storage issue, I went all-in on the cloud meme.
Originally, I used Dropbox. This worked for a while but frankly I find the fact that they charge me around $30.00/mo for the “not downloading everything” feature a tad underhanded. It comes with a terabyte of storage space, too, but iCloud Drive comes with that for cheaper (and includes Smart Sync from the get-go). I’m pretty Apple-heavy, using two MacBook Pros, an iPhone X, and an iPad Pro, so iCloud Drive works pretty well for me. The Windows client functions just fine as well, so I’m not missing files even on my home desktop system.
A bit (a lot) of poking around under the hood of the macOS folders revealed how the iCloud Drive folders are created. I like the idea of storing things cloud-first, so I ended up symlinking a bunch of my directories straight to iCloud Drive:
ln -s /Users/elliot/Library/Mobile\ Documents/com~apple~CloudDocs/Documents ~/Documents ln -s /Users/elliot/Library/Mobile\ Documents/com~apple~CloudDocs/Code ~/Code
As much as I’d love to, the reason I didn’t simply symlink the entire
/Users/elliot directory is that some files obviously need to be local-only.
If you’re not heavily into the Apple ecosystem Dropbox works fine, but I’d probably recommend Google Drive over it if you’re okay with Google having direct access. The newer version of Google Drive has the smart syncing, and costs far less. Dropbox is charging ~$25/mo more for the functionality that allows you to download less from them.
One of the largest issues I had was creation and storage of notes. I write a lot of notes about things. Mostly about projects that never end up anywhere, but also about personal projects, to-do lists, and everything else. Eventually I settled on Ulysses which, while mainly oriented towards longer-form writing, works perfectly for note-taking. It has an application on all Apple devices, and it works supremely.
Ulysses syncs via iCloud if you let it, and it does so out-of-band with regards to iCloud Drive, so it won’t clutter the directories. It does make it slightly difficult to access the raw notes if you want them, though. You need to export them as plain-text, which will output the raw Markdown. This caveat put me off Ulysses for a while until I realised I honestly don’t need to cart the raw files around anywhere else, as I only use the one application for writing 1.
Again, if you’re not heavily into the Apple ecosystem, Evernote is an alternative. It has its own sync engine and is pretty well-featured. The only thing I really miss is easy syntax highlighting - Ulysses supports Markdown, whereas Evernote doesn’t have that functionality. I used it until I moved to the iCloud-based setup.
Honestly, 1Password. I’ve tried a whole host of password managers, including LastPass, Bitwarden, and Dashlane. 1Password is the only one that has all of the core features I care about:
- Cloud-based password manager with syncing
- Full encryption
- TouchID / FaceID unlocking for ease of use on mobile devices
- Storage of TOTP (two-factor authentication) seeds, and scanning of the QR code representation
- Generation of TOTP (two-factor authentication) tokens and copying to clipboard when logging in via the app
I use 1P on all my Apple devices plus my Windows desktop, which I predominantly use for playing video games. At the moment it’s definitely the best option I’ve found as it has complete feature parity, including all of the above, on all devices.
Update: One of my close friends has detailed her version of this workflow as well, which contains significantly more Emacs.
1. Sent from Sublime Text 3