LaTeX Workflow on iPad(supertachyon.wordpress.com) |
LaTeX Workflow on iPad(supertachyon.wordpress.com) |
I've tried it a few times and it's not just worth it (to me). What I do instead is that I embrace the platform for what it is and don't do any of this remote machine kung fu to mimick a real computer. What I do instead is that I setup applications that sync data through the cloud, so that I can do draft work on my iPad (mostly text, some very light programming), but I never worry about runtimes, compilation etc. Ever since I stopped worrying and just used one of the many text apps (I mostly use iA or Google Keep), I've been much happier - I can focus on text, not on complex workflows.
Unfortunately most of my programming is web apps, so while it works for his C++ with long compile times, it doesn't work the same for me.
The one thing I did take from it long term is moving my dev server to the cloud, AWS Cloud9 specifically. I often find myself working on two or three website codebases plus two phone apps, and my personal laptop just doesn't have the RAM or disk space to hold all of that. So I use Cloud9 for the web apps and keep the phone apps on my local machine and it works out pretty well.
To be honest if Cloud9 worked on an iPad I'd probably leave my laptop closed more often.
https://yieldthought.com/post/12239282034/swapped-my-macbook...
I remember when it came out and a few coworkers at the time had seriously considered swapping to an iPad because of it, but ended up getting MacBook Airs instead.
It’s surprising how 7 years has gone by and using an iPad for development is still facing the same problems.
For iPad to function as a real computer, I think what we need most is a shared file system that can be accessed by all apps alike, with some sort of access control.
btw: Never expected that someone would dump the TeXLive tree into texmf-local. Nevertheless, glad that it works.
I've often wondered whether Apple could do well by doing something similar to Crostini on ChromeOS, to allow these things to actually work as intended, but without impacting security. But that also probably doesn't sell software as effectively, as free software doesn't pay Apple's cut.
Only programming I wasn't able to change yet. An attempt was made with a ssh app, but it wasn't able to compete with a proper ide/text editor yet. For unix as an ide fans it would be enough though. I want to learn that, but sadly I still have to write native apps, though I'll change that when I have the chance.
The best thing about iPadOS is control. It feels so relaxing not having to worry about discord scanning all your processes and files just because you want to chat with your friends. I hope they'll never go back to allowing unsigned code.
But, unlike its MacOS version, on iOS it’s not as very good. For example, there is no multitasking support on iPad. The package managing relies on installing pre-defined “bundles”, which don’t tell what packages are included. On the Mac version of Texpad, we can choose between its own compiler or an external one like tex live. But on iOS, the former seems to be the only option.
Thanks for your feedback :)
Honestly, using that + iCloud syncing (+ Git, on my laptop) has been great: all of the changes I do sync across all of my devices, as do the PDFs, which I can easily bring up in meetings, while also having the plus side of git (diffs, general VCS niceness) once I get back to my computer and commit the changes to the remote repo.
Of course, unlike the OP, I'm not aiming to completely replace my laptop... I'm trying instead to augment my workflow to not carry my laptop to meetings, while waiting for people, etc.
This is the book itself: https://www.springer.com/us/book/9781441999900#aboutBook
I wrote three books using LaTex, but I now use markdown with leanpub, otherwise I would immediately clone the author’s setup. I also find that an iPad Pro is great for writing wherever I happen to be. I recently gave my large iPad Pro to someone and bought the smaller one. My new iPad Pro is so small it is always ready at hand.
[1]: https://lobste.rs/s/dhjp6r/what_are_you_doing_this_weekend#c...
Plus, call me an idealist, but it feels like a huge step back when a device requires a paid web service to do something that's completely free on a real computer. I don't know that "pay somebody else" should be hailed as the solution to "good software doesn't work on this device".
When I don't need offline editing, another workflow I've used is to do the editing on my linux server: edit via Blink/tmux/vim on the left, and see the compilation result on the right via Screens/vncserver/evince (with auto-reloading).
Then I moved to TeX Writer and Dropbox, which worked better. Then I wanted more (code completion, version control). So I ended up with the workflow mentioned in the article.
I think iPadOS is only usable as an actual computer when they finally make the Terminal app on iPad and a much better File app
It felt like a loss of control when I learned recently that facebook uses a loophole to exchange data with Whatsapp... https://medium.com/@gzanon/no-end-to-end-encryption-does-not...
That's not what the article is saying - the linked article says that there may be a way for Facebook to do this, but there is no proof that they are. That still leaves room to say that maybe there should be user controls against these app extensions, though.
Chatting with friends is ok though. But the ergonomy is still crap.
I very much like the sandboxing of apps and the control I have over what they can access (e.g. location, contacts, photos). It also helps contain any security bugs in apps. But this seems orthogonal to allowing unsigned code. You could just as easily run an unsigned app in the same sandbox.
So personally, I'd like to keep that model - but I'd like to be able to load my own apps (within appropriate sandboxes).
To address some of the issues I've seen discussed here, I'd also like to see the ability to create a "volume" (a shared directory tree) and explicitly grant access to a volume to a subset of apps. (E.g. keep all of you document workflow in a volume and expose it to your TeX tools and git tools, but Uber/Facebook doesn't get to touch it.) I this is already addressed in OSX sandboxing - I believe you can grant access to a directory tree to a sandbox app via the open file dialog.
Are you serious? It is not about control. It is about only Apple can "control". You and your software cannot "control" anything.
I don't know if the App Store customizes what it shows people based on the apps they have installed, but for the past few weeks they've been showing me "Get starting with programming" apps and stories on the App Store and it's always the same "Scratch for kids" or "Swift playgrounds" or Udemy videos or something. Apple seems to be pushing programming on an iPad quite hard, but they're not doing anything to make it any easier or more productive. It's weird.
For example the new Sidecar feature (use iPad as a screen) supports the pencil but not touch. Apple believes that touch on macOS interface is not a good experience. I suppose that they feel that text entry and chaining CLI tools on iPad is not one either.
>my personal laptop just doesn't have the RAM or disk space to hold all of that
The point I objected to comes at the end of this quote:
> I've often wondered whether Apple could do well by doing something similar to Crostini on ChromeOS, to allow these things to actually work as intended, but without impacting security. But that also probably doesn't sell software as effectively, as free software doesn't pay Apple's cut.
The implication is that Apple wouldn’t develop such a feature because it might cut into their profits. I don’t buy that reasoning: Apple wouldn’t lose much if any money by offering that.
Update: and I also don’t believe that Apple would deprioritize it because would cost them some money. Far more likely they’d decide it isn’t sufficiently useful, or would cause other problems, be too confusing, etc.
There are certainly other ways to make the iPad a computing device - like the Macs before OS X, but Apple steps into the way of that in many places too. An app like Termux would not only make a lot of potential users happy, it would be something which could provide this in a way which could be nicely sandboxed in the iPadOS/iOS.
Which phone is sold with a full Linux distribution, with any kind of market relevance?
Android certainly not, as regular Linux APIs aren't part of the NDK stable API list, which Termux actually needs to work within the constraints of ISO C, ISO C++ and NDK APIs.
Apple then goes from almost going out of business to being one of richest companies in the world (sometimes the richest).
And this is supposed to be evidence that the command line isn't important?
As for success, I'd say that what brought Apple back to making money was iTunes and iPods, followed by iPhones.
Being a developer is not a synonym for being stuck with a PDP-11 concept of how a computer is supposed to be used.
And you don't need to teach me about repls, I am a full time Lisp programmer :).
Being a developer is not a synonym to be enamored with an UNIX CLI.
In fact, a graphical REPL is much more powerful.
So no, that 1% does not target the other 99%.
Not everyone is writing UNIX daemons, stuck in UNIX workflows.
As I said, a graphical REPL for scripting languages is much more powerful.
[1]: https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...
Again, I'm not talking about what's more powerful, and I'm not saying that everyone works this way, but I am suggesting the majority of developers do need the command line to do their job.
Unfortunately, I'm not aware of any usage statistics for the command line in isolation. But if you look at the most popular technologies, e.g., Node[2], then you can most likely extrapolate that the majority of developers are working with the command line.
[2]: https://insights.stackoverflow.com/survey/2019#technology-_-...
Just like we used to live on MPW and Metrowerks before.
Scripting is perfectly doable from macros and IDE callable scripts.
Again, I wasn't making argument about where developers spend most of their time. Just that they need the command line as part of their workflow.
The large majority of Apple and Microsoft developer communities live on their IDEs as part of our workflow.
Scripting and automatization can be easily done from the IDE as well, thanks to macros, REPL and build integration points.
Dropping down into a UNIX like CLI is the exception, not the norm for a large community.
Ah, but what about WSL? Well, Microsoft saw a market opportunity to win developers that buy Apple computers to do Linux work, instead of buying laptops from the likes of Dell/Asus/Tuxedo/system76 to start with.
So they are making UNIX devs comfortable on a foreign platform, just like NeXT was built on top of UNIX to take a piece of the pie from the UNIX workstation market being lead by Sun.
Using the shell was never a thing for NeXTSTEP nor classical Mac OS development workflow.
Regarding Xcode being implemented by managing processes, my point is that IDE's and text editors have moved to a model of using external processes to implement features. E.g., language server protocol, linters. That iOS bans this type of application is why iOS for programming is a wasteland. The tragedy of that fact is my whole point in this thread.
For example I can do everything I need from Python or PowerShell from inside Visual Studio, just like Xerox PARC devs used to do with their REPLs on Lisp, Smalltalk and Mesa/Cedar workstations.
Naturally I am forced to drop down to old style command line every now and then, but that is forced upon me by tools I don't create, and most of the time they are ports from UNIX tooling.
The question I pose then, is if these things are possible to do in other ways, and those other ways are better, why don't professional developers choose to use them? For example, why isn’t programming on an iPad popular? I.e., where these other methods are literally the only way to do programming on device? Using SSH to program entirely in a terminal is almost certainly more popular for professional developers than any other approach of programming on an iPad (using blog posts about how professional developers develop on an iPad as an indicator).
This is how Apple devs actually do development on iPads.
- Swift Playgrounds
- Pythonista
- Continuous for C# and F#
- Lisping
- Raskell
- GLSL Studio
Same applies to developers on Amiga and AtariST, also less professional?
Or what about Windows developers, that hardly bothered with cmd.com, doing their scripting via VBScript/JSCript and everything else via Visual Studio, as it was common practice until PowerShell, with its PowerShell IDE sprung into existence, also a bunch of amateurs?
Don't judge professional developers on other platforms with UNIX glasses on.