News for hackers. Stuff that matters.
Re:iSH – A Linux shell on iOS by electrograv on Sunday November 11, 2018 @10:18AM (#18426737)
Does anyone else wish they could do real coding on an iPad, Unix style? That would be so awesome; the new iPad Pro’s especially are fantastic pieces of hardware, and it’s a shame that although you can be productive via word processing, media editing, etc on them, coding is not really viable.

I’ll have to read more about iSH to learn if it’s a “true” shell, or effectively just emulated or with strict limitations, but either way the potential inspires of how great it would be to have a true shell and/or dev tools for iPads.

Re:iSH – A Linux shell on iOS by Hippocrates on Sunday November 11, 2018 @11:11AM (#18427029)
I've been thinking a lot about this and decided to try. I just got set up to remote code on my laptop via mosh+nvim (connecting to my MacBook Pro when it is at home). I'm using terminus as a terminal which has a very good free offering. I'm pairing my apple magic keyboard 2 which works as well as you'd expect.

Oh and I did this on my iPhone X because I am still undecided on the new iPad. There doesn't seem to be any issue at all, despite the small fonts. The screen is actually large and hi-res enough that it's workable. I can have a NERDTree and a wide buffer with no wrapping, or 2 buffers side by side with a tiny bit of wrapping. Obviously an iPad would totally solve that.

I want this to work for a few different reasons.

1. Be able to do the occasional odd task or put out a fire on the go. On vacation probably, when I am not planning on doing work and leaving my laptop home.

2. Have a consistent development environment which I can reach from anywhere on any device, and pick up right where I left off. (So far tmux sessions have been an awesome lightweight solution for this)

3. Taking it a step further, perhaps leverage a server in the cloud which I can spin up/down as needed, and customized for low cost or stupid power.

4. Rely less on the mouse

5. Divorce myself from IntelliJ. While while awesome, is pricey and bloated, and abstracts away a lot of cool command line tricks behind the GUI.

So far my personal challenge is just getting used to vim + tmux. I've been using IntelliJ mostly for the last few years but have a bit of experience with vim and tmux to get started.

The next hurdle will probably be figuring out how to get a workflow set up that involves a browser loading the code. I expect lots of annoyances around outputting something on the remote machine which I then want to view on the iOS device, like an image or CSV. Working around the lack of a real local file system is going to be like pulling assets out of another dimension.

Re:iSH – A Linux shell on iOS by SomeHacker44 on Sunday November 11, 2018 @12:10PM (#18427332)
After coding for getting close to four decades, you can pry my IDEs (like JetBrains's IntelliJ) out of my cold, dead hands. And I wrote huge bodies of code in the original vi back in pre-Linux (and early Linux) days and still use it daily.
Re:iSH – A Linux shell on iOS by jsjohnst on Monday November 12, 2018 @08:31AM (#18432458)
If writing Java code, I agree re: IntelliJ, but thankfully that’s not 100% of my day to day programming. IntelliJ does work “ok” via a VNC app though.
Re:iSH – A Linux shell on iOS by jostylr on Sunday November 11, 2018 @06:17PM (#18429340)
I've begun working on doing a setup like this as well. I am in the process of setting up a development environment on Digital Ocean (least powered is fine for me), using blink on iOS for its mosh support.

I was going to go the vim+tmux route, but I never got into tmux and I happened across Modern Vim by Drew Neil. The book describes how to use nvim's terminal emulator mode and the ability to save sessions. I am hoping this will allow me to just use nvim for coding instead of nvim+tmux.

I also intend to have a build flow that pipes it into a server for easy downloading and, if need be, uploading.

While I have the first gen iPadPro (works fine for this, of course), it did occur to me how amusing/stupid it is to think of using one of the most advanced consumer mobile devices as a dumb terminal like it was the 1970s.

Re:iSH – A Linux shell on iOS by jerkstate on Sunday November 11, 2018 @10:33AM (#18426812)
I use mosh via the Blink client and the Logitech keyboard on my '17 iPad Pro and do a lot of coding on it on remote servers. The lack of an escape key sucks and I had to figure out how to do code folding in vim but it's pretty serviceable.

Of course I still prefer giant monitors to fit a lot of different panes for inspection and debugging, but it's pretty serviceable.

Re:iSH – A Linux shell on iOS by electrograv on Sunday November 11, 2018 @10:56AM (#18426962)
I agree 100% about big monitors and keyboards for chair-and-desk situations. In fact, I’ll take this opportunity to remind everyone that we now have incredible 42” IPS 4K monitors, like this one by Dell:

https://www.amazon.com/Dell-Monitor-43-Multi-Client-P4317Q/d...

(I use this for work, and absolutely love it.)

For portable use though, I think an iPad could very well be superior to modern laptops. The hardware of Apple’s iPad Pro is certainly well beyond that of ultraportable laptops on the market now. The only missing piece is the software.

Re:iSH – A Linux shell on iOS by goerz on Sunday November 11, 2018 @11:44AM (#18427209)
Are you aware of Blink's option to map caps-lock to escape?
Re:iSH – A Linux shell on iOS by jerkstate on Sunday November 11, 2018 @05:18PM (#18429011)
Wow! Thank you!
Re:iSH – A Linux shell on iOS by saurik on Sunday November 11, 2018 @01:12PM (#18427668)
You can plug an iPad into a giant external monitor using the lightning to HDMI cable, so really you directly just miss "lots of windows open at once".
Re:iSH – A Linux shell on iOS by goerz on Sunday November 11, 2018 @06:59PM (#18429556)
In particular with Blink, the app will actually recognize the monitor as a second screen, and use it at full resolution (as opposed to mirroring the normal iPad screen). With tmux, this means you can arrange as many horizontal and vertical splits as you can fit onto the monitor.
Re:iSH – A Linux shell on iOS by saagarjha on Sunday November 11, 2018 @07:45PM (#18429766)
> You can plug an iPad into a giant external monitor using the lightning to HDMI cable

Or, on newer iPads, directly via the USB C connector. And apps can recognize that you have chosen to plug in a secondary display and suit their content to match on the other screen.

Re:iSH – A Linux shell on iOS by jsjohnst on Monday November 12, 2018 @08:33AM (#18432471)
Can you link to the Apple developer docs on this?
Re:iSH – A Linux shell on iOS by saagarjha on Monday November 12, 2018 @09:24AM (#18432731)
Re:iSH – A Linux shell on iOS by bronco21016 on Sunday November 11, 2018 @02:57PM (#18428224)
How do you interface with it then? So many parts of most workflows still require using the touch interface.
Re:iSH – A Linux shell on iOS by snazz on Sunday November 11, 2018 @11:43AM (#18427204)
I think what we need is a port of Qemu. If you've ever used JSLinux[0] on an iPad, you know that it's plenty powerful to emulate riscv64 or x86 fast enough (even in JavaScript), so if there would be a proper PC emulation layer on an iPad you could run anything (Linux, *BSD, GNU/Hurd, NT, even full macOS).

[0]: https://bellard.org/jslinux/

Re:iSH – A Linux shell on iOS by yjftsjthsd-h on Sunday November 11, 2018 @12:13PM (#18427354)
> even full macOS

And hilariously enough, I think that would actually be within Apple's license, since an iPad is, after all, Apple branded Hardware.

Re:iSH – A Linux shell on iOS by FullyFunctional on Sunday November 11, 2018 @01:12PM (#18427669)
Actually a good enough port of TinyEMU/RISC-V allowing for network communication and persistent storage would probably make the iPad interesting for me. Would Apple allow such a thing on the App Store? It would still have to be open source of course.

Fedora/RISC-V is dangerously close to being useful; the only apps I miss are a couple of the big hurdles: Firefox, GHC, and Java.

Re:iSH – A Linux shell on iOS by jim00338811 on Sunday November 11, 2018 @01:01PM (#18427612)
I’ve been playing with this app this week and it’s pretty amazing, Sublime Text style including multiple cursors:

https://gocoedit.app

Re:iSH – A Linux shell on iOS by saurik on Sunday November 11, 2018 @02:14PM (#18427974)
iSH is a binary emulator that ships with an almost-Linux-compatible-ish subset "library operating system" that is good enough to make a bunch of common command line apps work. So like, this little operating system has a minimal ELF loader in it, and then runs the executable in its little emulated jail.
Re:iSH – A Linux shell on iOS by amelius on Sunday November 11, 2018 @02:24PM (#18428035)
> iSH is a binary emulator

I was under the impression that emulators were forbidden in the App store (?)

Or does it hold only for software running inside an emulator?

Re:iSH – A Linux shell on iOS by tatoalo on Sunday November 11, 2018 @02:41PM (#18428136)
> I was under the impression that emulators were forbidden in the App store

It's in fact "distributed" via TestFlight, legally speaking (and practically) it's not on the App Store.

Re:iSH – A Linux shell on iOS by saagarjha on Sunday November 11, 2018 @07:51PM (#18429787)
I don’t see anything about emulators in the App Store Review Guidelines, so I’d be interested in seeing anything that Apple has cited when they reject such software from the App Store. To my knowledge, this software follows Apple’s guidelines.
Re:iSH – A Linux shell on iOS by amelius on Sunday November 11, 2018 @08:15PM (#18429893)
There is a lot missing in the App Store guidelines that is still taken into consideration in the review process, depending on the reviewer.

https://www.quora.com/Why-does-Apple-hate-emulators-while-Go...

Re:iSH – A Linux shell on iOS by saagarjha on Sunday November 11, 2018 @08:21PM (#18429923)
The clause mentioned in that answer has changed recently to allow for emulators. See my other answers throughout this thread.
Re:iSH – A Linux shell on iOS by simon_acca on Sunday November 11, 2018 @10:42AM (#18426873)
Not a shell, but pythonista is quite powerful and well integrated: http://omz-software.com/pythonista/
Re:iSH – A Linux shell on iOS by chadlavi on Sunday November 11, 2018 @11:41AM (#18427198)
1000% yes. This is one of the big things that would prevent me from ever going truly "iPad Pro is my computer"
Re:iSH – A Linux shell on iOS by pomatic on Sunday November 11, 2018 @12:18PM (#18427399)
Ctrl - ] == escape.

What I haven't seen mentioned yet is the fact that there is no way to run a browser/javascript debugger on ios. You can do it remotely, but not locally. This is the missing link for me in terms of using an ipad for serious dev work.

Re:iSH – A Linux shell on iOS by jaredcwhite on Sunday November 11, 2018 @12:48PM (#18427543)
There's actually a pretty decent browser with an inspector called…Inspect. I've used it quite a few times and it'll get the job done in a pinch.

https://itunes.apple.com/us/app/inspect-browser/id1203594958...

Re:iSH – A Linux shell on iOS by pomatic on Sunday November 11, 2018 @03:14PM (#18428316)
Thanks; the 'in a pinch' bit rather puts a damper on things though!
Re:iSH – A Linux shell on iOS by taude on Sunday November 11, 2018 @11:03AM (#18426998)
Only if Appple came out with a clamshell designed iOS device. I have a third party keyboard attached and I feel it makes my iPad so much more comfortable in a wide variety of positions to work on. Even when I'm not using the keyboard much.
Re:iSH – A Linux shell on iOS by saagarjha on Sunday November 11, 2018 @07:25PM (#18429680)
The iPad Pro keyboard folio does basically this, does it not?
Re:iSH – A Linux shell on iOS by JustSomeNobody on Sunday November 11, 2018 @02:37PM (#18428105)
> Does anyone else wish they could do real coding on an iPad, Unix style?

Honestly? No, absolutely not. My rMBP is 13" and that's the smallest screen I want to program on.

Re:iSH – A Linux shell on iOS by goerz on Sunday November 11, 2018 @07:01PM (#18429562)
That's (almost) the same screen size as the 12.9 inch iPad Pro, no?
Re:iSH – A Linux shell on iOS by JustSomeNobody on Sunday November 11, 2018 @10:31PM (#18430396)
Fair enough, it's close. But I still wouldn't do it. It would be like a carpenter bringing a screwdriver with a metal handle so he doesn't also have to bring a hammer.

I care about the tools I use to do the work I do and I don't want to compromise (or compromise very little). I don't think I can get serious work done on an iPad without faking it and saying, "um, sure, it's great!", and without honestly feeling claustrophobic.

Re:iSH – A Linux shell on iOS by electrograv on Monday November 12, 2018 @03:27AM (#18431308)
Big and powerful dev setups are great, but that’s what my 42” 4K Dell monitor is for — and there’s no way that’s going to be portable.

So the reality is that there’s no such thing a no-compromise dev setup: Either you optimize for a desktop setup, or for portability, or somewhere in between. If you have the ability to have both a desktop and portable setup, such a pair I almost always going to be superior to just one medium sized laptop: Your desktop experience will be better with massive high resolution monitors, and your mobile experience will be better with a lighter, slimmer device and longer battery life etc.

Re:iSH – A Linux shell on iOS by JustSomeNobody on Monday November 12, 2018 @08:39AM (#18432509)
I haven't said anything about desktop or big 42" monitors. I'm not going to give up my laptop for a tablet. This is just utterly ridiculous.
Re:iSH – A Linux shell on iOS by goerz on Monday November 12, 2018 @12:15AM (#18430735)
I absolutely prefer to have a larger external screen, too. But if I'm traveling, and the choice is between my 13 inch Macbook Pro, or the 12.9 inch iPad Pro, I usually choose the iPad. With Blink in full screen, it's basically the same as iTerm on the Macbook, but much more portable (and I can do things on the iPad I can't do on the Laptop: Apple Pencil & Goodnotes)