Why an RPi as the backend though? Why not something that will compile your code faster? I recognise that not everyone is comfortable with renting a virtual server, but if you're going to leave your MacBook at home, can't you ssh into that?
Other people rent some server, e.g. Matt Might uses Linode , but something like $20 per month flat is really expensive, if you would use it rarely and not for business. Maybe Amazon EC2? Though I doubt it fits the use case of weekend use plus one or two hours per week day.
I could have also used an EC2 Micro instance or a Linode, but those are both much more expensive than an RPi for something I don't even use every day.
OR if he were programming the PI from the Transformer...
Macbook pro is a no-go; the battery life is dropping fast. And it's not old. My Macbook 13 inch is better but also going down. Even with a new battery it's just too short lived... I have a Hypermac battery and that's definitely the best buy for mobile mac use. It is really great, but they cost way too much (imho). I really the way these machines 'feel', but battery life is more important for me.
When I am in a cramped space or need a lot of time and need all my development stuff (even Java), I use my Pandora which works like charm. For a bit less power and same form factor I also still use my Zaurus C860 which works fine and runs things like Haskell fine. It's just not that easy to do some Crash when bored/relaxing.
Pandora has over 10 hours battery life for me and I can swap batteries in no time (so 20 hours). Disadvantage; it's extremely small and low res. I would recommend and buy one any time.
Transformer prime (TF700) and Pandora are really great; both very portable systems and just work on the Pandora (full linux install with SSH/VNC/X).
I think, if it could install Linux, the Nexus 10 with a keyboard would be great solution. The resolution is insane and only for that I will get it. With a bit of hacking it seems like a fantastic 'monitor extension with a brain'.
I would love a 3g/4g enabled ARM based Macbook Air with 12 hour battery life. Of course, iPad 4 with 4G LTE would be pretty close for pretty cheap....
I'm don't own any Android devices so I'm not an expert, but wasn't the idea that you could easily install and run a Linux userland with all your tools, directly on the Transformer Prime?
1) Always available (MacBook may not be open and charged)
2) Energy efficient
3) No variable cost (as opposed to EC2 or Linode)
4) Very powerful when headless (Linux is better than OS X here)
It's not the most powerful backend but that wasn't really the point of this project. The point was that for $35 I added a dedicated Linux backend to my already awesome Transformer tablet.
In chroot'ed mode, I do not find that my battery life is any less outstanding than without the chroot.
It's not easy to support dual boot, and I would not be surprised to find out that booting into Linux directly would compromise your battery life. But I would be equally unsurprised to find out that it does not. It matters mostly that you need to have a properly configured kernel.
Not sure if it's possible to share one kernel between android and non-android. But I'm fairly certain that the bits that make booting into regular linux impossible are not the ones that control longevity and battery life. (A little bit fairly certain, anyway.)
I cannot say enough good things about the chromebook w/ Ubuntu. It is an endless pleasure to use. The one caveat to this is that I only use a handful of terminals and the browser. I suspect that using any of the other GUI features of Unity is probably miserable (as they are on my i7 machine too)
I also needed an Android tablet a couple months ago, because I didn't want to miss the tablet side of the Android. (There are not many tablet exclusive apps, but I'm way too obsessive to miss them.) But unfortunately I couldn't spare too much money and ended up with a 8 GB Nexus 7.
I wanted it to replace all my laptop needs -I haven't had a laptop for many years, after my last one died and got a desktop which I still love- but without a hardware keyboard and a big enough display, it's only great for reading anywhere. (Which I also don't, I'm too busy most of the time, and at the other times plain lazy.)
I hope Android ecosystem will mature even more in the near future. Look, Ubuntu is installable on the Nexus 7 right now. (I haven't done this yet, you can see the pattern here.) That basically means almost everything you can do on Linux, you can do it on your tablet too. And if you can support it with something with more horse-power than Raspberry Pi, you can call it a thin client/fat server pair.
The only thing left is to have a good tablet that can run Linux, has a big enough display, and has keyboard accesories. I personally don't like Microsoft, but the new line of Surface tablets look promising. As long as it lets me run whatever OS I want to, I'm all for it. Asus Transformer is not a bad option, but having the keyboard double as the cover and keeping it light sounds so much awesome.
I thought SSH was run through terminal command line. ie. all text. I can understand coding in vim with python or ruby through the command line. I'm not sure how its done with languages that need an IDE? like java
What I was thinking of was getting an Asus Transformer and running Ubuntu on it, I've read that's possible(maybe without touchscreen, but I just need a long battery, keyboard, command-line, vim, browser)
could somebody tell me what's wrong with this?(I see browser could be an issue if touchscreen doesn't work there, but I already use Vimium and I guess I could circumvent this, I'm more worried about general malfunction or higher battery consumption)
I'd also like to know if it's possible to get this(vim, terminal, ruby, etc) directly in a Android JellyBean(since Android runs a fork of linux...)
Programming on Android is not easy. As you want ruby you can have a look at SL4A .
There are several terminal emulators and IDEs like Terminal IDE that was mentioned in the article. From the descriptions it seems to have Vim or at least bindings for it.
There're also a few IDEs like DeuterIDE.
There's even a git client.
My favorite configuration on my TF-101 is TeamEOS nightly builds with a separate partition for Ubuntu Precise which I run without X11. The partitioning can be accomplished using OLiFE Prime (don't mind that you may not have the TF Prime, that's not what prime means here.)
There are various APKs that will let you install Linux from several (mostly debian-based) distros into a chroot, by mounting a loopback file. I had good luck with "Debian Kit" and my current install of Ubuntu is older than my current install of Android, so I can't tell you exactly how I got it installed, but if you're not familiar with the chroot method of installing Linux, there are several different market apps with the goal of making it easy for you.
I found it's best to forego any X11 stuff. You wanted Linux so you could run a terminal, apt-get, and compile software? You got it. Android Terminal Emulator supports the control key, shift, and "back" for escape, it's perfectly usable.
That all works OK, but you have to take some care to get the armhf (not armel) versions installed, they work great and are much faster. You can also ignore that. I have read that they are much faster but I don't have empirical evidence to support that. "Feels true"
Finally for end of the 2 minute elevator pitch for Android Linux, as soon as you try using something that requires SYSV IPC, you will probably find it doesn't work (that means Apache, MySQL, basically any kind of multi-process server), unless your kernel mastery far outstrips my own, or if you settled on AOKP instead of EOS build of Android. The AOKP builds I tried _do_ support SYSV IPC. But nobody else does.
I did manage to enable X11 once by OLiFE installer, the system I installed was a "natty" at least two generations old, it worked fine out of the box from OLiFE, but it was kludgy at best, I tried upgrading everything to oneiric and precise, and from then on nothing worked. I did not want to lose my Android notifications backbone, so I went back.
I do everything in a chroot now.
Don't get me wrong. It worked. I just don't see the point of having a touch screen on a system that was engineered for a mouse and keyboard first. So, tl;dr, you can most certainly get a full working Linux terminal on Android JellyBean, I have... it's possible to install rvm in the usual way, and if you are a vim user, you'll be wanting that escape key, don't forget to set the options correctly in the Android Terminal Emulator app.
Yes you can, install Linux on your Android
I started with Linux Installer STANDARD (Galoula)
It worked, but only for a short time (random freezes)
Debian Kit (Sven-Ola) worked great
I outgrew it, eventually picked Linux Deploy (Anton Sk.)
All of these are a great choice, none of them will get you ARMHF binaries by magic, unless I missed some feature changes. ARMEL is fine though.
you then mentioned some are a great choice... could you explain to me how you rate this developing experience?
I can see how being able to dish out some code anywhere would be useful, but I hoped to be able to do serious development/have it as my main work tool, even if the environment was a bit limited/lacking...as the advantages could surpass the issues
(my Dell XPS Notebook already lasts only 1hr without being plugged! 1 year old only... )
There are plenty of software out there that do not depend on Apache or MySQL. Postgres too. (I tested postgres, it also does not work.) There is nothing stopping you from using a sqlite database and they are very advanced nowadays, although if your goal is to use Go (ARM port) with SQLite, you will probably find as I did that it's not tested and not working. But the system sqlite library and client in Debian/Ubuntu is not at fault. Many Android apps (android java) depend on sqlite databases and they are IMHO the new ubiquitous data store here.
You need to re-evaluate your expectations for this platform. The shell should be a means to an end. I am thinking always, do I have a way to accomplish this task that does not involve running a shell yet? The end of all development on Android should probably be an APK, with buttons and ready to take your orders by touch, no heavy requirement of memorized shell commands. The platform is not meant to run a shell, and the shell should not be a part of your end-user product. That said, nothing stopping you... Android Terminal Emulator is a quality, finished product. I use the shell every day to ssh somewhere else and access screen or tmux. After a while I find that there are not many "standard linux" processes that I want to use on Android, past the phase of testing for "does it work at all?" level of compliance.
When you think about using apache/database, think about uptime requirements for those packages. On half of the environments I tested, the system could not stay up reliably past an average of 20 process forks in the chroot. I had to kill my entire chroot and start again. You can imagine this made apt-get completely unusable. Still, try enough times, you get the software that you needed installed. These processes don't throw away their work just because they are stopped or killed. This was the problem I experienced on Galoula's installer, and it did not occur with Debian Kit or Linux Deploy. YMMV.
These (androids) are systems that are meant to be running on wireless networks, without public IPs, and powered by batteries. If your process is going to cry when your battery runs out and the socket it's listening on closes, or if a cron job fails to fire on time, it should be deployed on a real server. Take Android out of the picture. You can get a "plain linux" system by using OLiFE installer, with no Android. Now the hardware will do what you want. It's just not Android.
But if you want to preserve the Android userland experience, and just gain access to compilers, Linux Deploy or Debian Kit are perfectly suited to what you want to do. There is nothing stopping you from connecting to a MySQL server that's hosted remotely, or pushing to a git repository. You can apt-get install libmysqlclient-dev all day. All of that stuff works. SYSV IPC is responsible for a very small subset of what we Linux guys take home / really need for development.
I would recommend against AOKP on the transformer (and cyanogen, and basically everything but stock or EOS roms) because they all seem to reboot themselves for no reason with an unacceptable frequency, and they all have "the sound bug" where you may have to reboot it yourself just to get an app to play a sound after some length of uptime / some event I don't quite understand happens. EOS has been completely free of these bugs in my experience. I only reboot when I'm feeling frisky.
BUT AOKP does not have the SYSV IPC bug. So if you are just playing, and you want to have debs that require IPC, that is your platform. Still require batteries, still other criticisms apply.