3 ms·
I actually use iOS for work stuff almost constantly, lots more than I use anything else. (My Macbook spends most of its time these days downloading things from
by paultopia 8y ago
I actually use iOS for work stuff almost constantly, lots more than I use anything else. (My Macbook spends most of its time these days downloading things from Dropbox and backing them up to time machine, plus whenever I decide to actually write some serious code.) But I'm a professor-type in a non-collaborative field, so:
- the iPad Pro is amazing for reading academic papers with the pencil at hand. Ditto for grading and such.
- the keyboard is good enough that I can write on it at just about full speed, and I write in markdown anyway.
- most of the things I need to do that require full computer chops can be done in the cloud---I have a bunch of little Heroku dynos sitting around sleeping (on free time) until I ask them to do something like run a document through pandoc or add something to a database for one of my data collection projects. The shortcuts app in ios12 + Pythonista + Heroku are an amazing combination, they allow me to turn almost anything complicated into an API call that I can trigger with a freaking voice command if I really want (but mostly share documents into).
Just about the only way this hinders my usual workflow (apart from having to bust out the Mac for heavy coding) is that there's no Zotero on iOS. But sooner or later I will get around to shoving that into a Heroku dyno and making some shortcuts to push web pages into its readers and then it'll be solved too.
For non-collaborative workflows this is perfect. I can see how the author's collaboration needs really would not be met by such a setup though.
- crooked-v 8y agoI'd love to see a guide on setting up that Shortcuts -> Heroku -> final result workflow in a streamlined manner. Now.sh could be another useful tool for that kind of thing, since their 2.0 product is focused on no-hassle lamda functions, without needing a full VM setup.
- paultopia 8y agoMaybe I'll write a guide up! I've got a pretty good setup going. Pending full write up, here are some key pieces: Shortcuts side: the shortcuts app is really shockingly powerful, mainly because you can share almost anything you want into it and it intelligently figures out what you want. For example, if you share a web page from safari into it, if the first action receives a url, it'll treat it as such, if it receives a web page it'll take the DOM and not worry about the URL, etc. There are really three key actions. 1) `Get contents of URL` allows arbitrary http requests. You can pass in data from other actions. This is the main workhorse for heroku things. 2) `Run JavaScript on web page` allows you to just run arbitrary JS in the context of whatever page you share into it. It's great for data-collection type tasks, you can just rip whatever you need out of the DOM and POST it away per the above, and then shove it into a database from heroku. 3) `Run Pythonista script` does what you'd expect. It passes whatever the action receives into Pythonista as a command line argument. And then, obviously, anything goes. If you haven't tried Pythonista, you should check it out---it's hard to get 3rd party libraries in (and many don't work), but you get the full stdlib plus a bunch of key libraries that the dev has taken the trouble to build in, including numpy, requests, matplotlib, beautifulsoup, PIL, sympy, etc...) After receiving a response from heroku, it's trivial to save it to iCloud/Dropbox, put on clipboard, open a preview window with a share sheet available, etc. On the Heroku side, the key trick is that you can run Docker containers. So, for example, my mobile pandoc solution is a docker container that has texlive and pandoc on it, allowing me to have basically a personal improved docverter. So I just post a markdown document via shortcuts to a flask endpoint that converts the document and returns it to me as the response.