Ask HN: Ultrabook for programming?
I have found 2 options with similar specs and prices, the Chiwi Hi10 (with variants, Plus, Pro), and the Teclast x98 (with variants Plus, Pro).
Both have a decent 4 core Cherry Trail Z8300 CPU, 4Gb of RAM, 64 Gb of ROM, a decent screen (1080p Hi10 and Retina-level the Teclast). Both dual-boot Android and Windows 10 (and probably you can install Linux on both).
The Hi10 has a dock for a keyboard, and 2 full size USB ports, and is 10.1", while the Teclast has a better battery life, better screen resolution and is 9.7".
They both seem to have specs that in my opinion would be capable for programming. My question is, would they be good enough for programming? Is it possible to install any desktop app on Windows 10 in a tablet, i.e. IntelliJ IDEA? Is it possible to enable WPS (Windows Subsystem for Linux, aka Bash on Ubuntu on Windows) on Windows 10 in a tablet?
Also there is a version of the Hi10, the Hi10 Plus, which is slightly bigger (10.8") has better battery and screen resolution and comes with RemixOS instead of Android. Can you install any Android application on RemixOS?
164 comments
[ 2.4 ms ] story [ 215 ms ] threadI remember the time years ago when I was programming with 1Gb of RAM (that was the normal for computers at the time) and it was a painful experience with Eclipse and other tools. As computers evolved with Moore's Law, 2Gb was a better experience and I think 4Gb was fine at the time. Then 8Gb should definitely be good and 16Gb is plenty even to run VMs.
Thinking that it would not be for a full time developing environment, just to be able to do some work while travelling in a long trip where I don't want to bring an expensive laptop like a Macbook Pro, I thought 4Gb might be enough, so your feedback is really appreciated.
- Java: Eclipse and the actual application running that I am working on, or
- JS: Sublime, a server for running and testing, a few Chrome tabs + Chrome Dev Tools.
While both of those would work fine with 8Gigs, if I ever happen to have to run more things (as in, the aforementioned things at the same time or a VM next to any of them) at the same time, things slow down considerably.
Buy something like a refurbished Dell Latitude series instead. Keyword here is you said "long trip'. When you buy something that made a lot of tradeoffs to achieve that price point, you are going to be frustrated.
As for testing apps, If you wish to simulate the user experience on a cheap Atom, this would be the thing for your. Else, you're bound to be frustrated.
I went in thinking that the specs on paper would turn out to be great value for money. That was my biggest mistake.
* I bought it thinking that this would be a cheap Win10 based Netflix / Comic Reader. Windows 10 is not really a touch friendly OS. You will end up booting into Android and installing apps. Even then, there are frequent crashes / Some apps won't work because the Tablet does not meet DRM requirements.
* Netflix on Android only runs in HD with certified devices. Else you're going to be getting streams in 480p max.
* I apologise for the Caps. I got burnt by 2 of these tablets. (My fault, because I was expecting an iPad like experience without paying the price). I'm hoping that I can give you what to expect if you decide to buy one.
It's nice as a gimmick, but not a great one for development. If you're on a budget, I've seen fairly cheap but great second-hand hardware on ebay or craigslist. Maybe check those out. A few years ago I bought a Thinkpad X240 for around 200 dollars, it was an i5 with 8 GB RAM and I bought my own SSD to put in it. That laptop has been fairly solid for me especially with the expanded battery pack I purchased.
You're a little bit in luck as Windows machines are considerably cheaper. Go for at least an i5/16GB/256GB SSD.
I use an identical i5 model with Android Studio (think IntelliJ with more resource usage), an Android emulator/VM, a Gradle daemon taking up 2-3GBs for builds, Safari with umpteen tabs, Slack, Outlook and Spotify open and don't have issues with disk thrashing (or at least, none I can tell based on usage and the Activity Monitor memory pressure).
I don't know how you're forced to use Vim.
I've noticed that OSX will do what I'd like any modern OS to do and use the majority of my ram with a few things running things running. But adding more of a workload when it's using nearly 8GB doesn't instantly make it "run out of memory", more paging occurs but not nearly enough to cause disk thrashing (or be easily perceptible)
I use a 2010 MBA with 4GB of RAM and run WebStorm or PyCharm just fine.
I'm not sure what's happening with your system, but maybe it's not happening properly.
Are you browsing with Chrome?
I just replaced a Mid-2012 MBP's hard drive cable. It hadn't failed outright, but the system would take a very long time to read/write anything from the drive, constantly freezing apps.
Once I installed a new cable ($12 off amazon), it's speedy again.
Here's what I think I'll, and let me know if you think that would work for you, I am thinking of buying a slightly used lenovo X1 Carbon. So it would cost less, but has great battery life and very decent specs, specially for such a small footprint. I'll then install linux (probably Ubuntu) and run that as a dev machine.
Not a tablet, but I recently bought a factory reconditioned ASUS Zenbook 305CA (8GB, M-5Y71 CPU) for a similar purpose. So far so good. It seemed to me to be at the bottom end of the premium ultrabook market and about half the price of a XPS 13, much cheaper than an X1. Also, Linux support is good.
Windows 10 memory management seems better than Windows 7. You might get away with 4GB for some things but my gut feeling is that 8 would be preferable. My Win 10 desktop is currently sitting at 7.3 GB with Visual Studio and a bunch of Chrome tabs open.
While waiting for that to be fixed I got one for double the price, but 2x-4x the specs.
Furthermore, the latest chromebooks from Asus and Samsung are a bit more expensive but have a touch screen and impressive battery life (15-25 hours)
If you are able to be connected, maybe consider going with a physically small but well built machine but with specs inline with your budget and then remote to a development PC (ie at home) that has the kind of ram and specs you need. This will probably not be good for more GUI heavy development but command line stuff would be largely okay. Clearly you mentioned some tools that are GUI heavy, so YMMV, but thought it worth weighing up too
It's basically a MacBook but stronger and with decent file and window managers and pc keyboard.
With this disclaimer: Please pay attention: both versions of Mi Notebook Air will be run on Windows 10 Home Chinese Edition
They are pretty reliable. But in my honest opinion, That kind of money should just be spent in the Dell Outlet. Get something like the Latitude 7270 / 7470 or the Latitude 7275 (Sort of a surface clone). At least warranties would be easier and you have Dell's support.
Battery life is great -- no problem charging it overnight and not worrying about charging during the day.
In my case, I'm not a commercial developer, but I do "scientific programming" using primarily Jupyter/Python. It works comfortably on the little Windows 10 machine, but is noticeably slower.
Perhaps a bigger issue than horsepower for me is the screen size and attachment of the screen to the keyboard. Those things make it hard for me to spend long amounts of time doing really detailed or complicated stuff.
You can always adapt to lower processing power by using simpler tools, but trying to program on a 10" screen may end up being the main issue.
Yes, it would require a "free" wall, but maybe that's OK. A bigger problem might be power consumption. So overall likely not very viable, but maybe someone has some experience with this?
Using a cheaper system, if possible, is my "protection plan." I like to stay within what I could afford to replace out-of-pocket if something happens like the device gets stolen or I crash my bike.
But your point is well taken, and a developer should consider the typical system for their own preferred environment, which is likely to be more sophisticated than mine.
In what language?
Do you need to be able to code while offline?
An iPad with the keyboard case could work, particularly if you'll always be online. You can just use it as a dumb terminal to ssh into a more powerful remote server.
Another idea is the old MacBook Air 11". It doesn't meet your requirement of being a tablet but it's just as portable and would give you a lot more grunt. You can probably get a refurb or used one fairly cheap. 8GB RAM, SSD, good battery life...
Edit: Linux support on Lenovo laptops is pretty good overall, and if you're a Windows person, they ship with that by default. If you're a student, they offer discounts as well, I believe. I got mine from a local seller without an OS and put Linux on it.
Myabe you can also find a used Yoga or use two devices; a cheap laptop and a cheap tablet?
I feel like a hybrid laptop/tablet is a bit cumbersome as just an e-reader anyway? Not sure...
I've been using this for a couple of years now and was quite happy. It's a good trade-off between performance, weight and size in my opinion. Except some minor inconveniences[1], my Linux/Windows dualboot setup works quite well.
Heads-up: If you consider it's successor, the Yoga 900, make sure you don't get one of the series not supporting Linux (Google is your friend).
[1]: The biggest issue I've faced is inaccuracy of yellow colors on the display; they're dark and pale. Lenovo published a BIOS fix for Windows, but this doesn't work for Linux. However, if you don't plan to do any visual work like photo editing or designing color palettes, you should be fine.
T series and X series sure. I'm not sure that the same applies to Lenovo's consumer laptops. For example, some of last year's models initially only supported Windows, although a separate Linux BIOS was issued later.[0]
[0] http://www.pcworld.com/article/3139812/laptop-computers/afte...
Typing this from a ThinkPad E545 running Slackware. Works like a charm (though OpenBSD was far less successful; the installer kernel panics pretty much immediately after the bootloader).
And the terrible buttonless trackpad
I get around that with a little synaptics hackage in the x.org vicinity to minimize palm touches and give me three buttons.
I am running linux on it, but getting it up and running was a bit of a chore (you have to futz with the bios, close lid to suspend does not work, resume from suspend only works 90% of the time).
However, Acer rates it for 8 hours under windows 10. With "sudo powertop --auto-tune" it consistenttly exceeds that under linux.
The screen is passible for a low res tft, and there is no fan. Keyboard is fine (unlike most ultrabooks I have used). The touchpad really wants you to set up libinput instead of the synaptics drivers (palm detection isn't great under synaptics, but even with that, the touchpad is better than many ultrabooks I have used)
It is based on a braswell soc, which is probably why the Linux compatibility is so good (most of the peripherals are in one standardized chip...)
However it is a netbook. I'm not sure how android emulation would perform.
No, I can't recommend an equivalent to the T series. I did some research about laptops before deciding to buy the T460s, and my conclusion is this: all laptops are terrible and laptop-makers are consistently moving in the wrong direction.
The T460s is the least bad laptop I could find. That's why I bought it. And I actually like it a lot more than I thought I would, but a few things still aren't the way I want them, like being unable to easily (hot-)swap batteries, which was possible in the 450 generation. And the T460s still has two batteries. Just not easily removable. See what I mean?
Anyway, honest recommendation: get a Thinkpad. Don't put Windows on it. After you do your own research of course; maybe look at Dell XPS laptops?
Screen is great (make sure to use the HiDPI one)
Touchpad works very well (better than Windows)
If you are planning to run IntelliJ (or other JetBrains IDE's for that matter) I'd go for at least 8GB or memory though.
I wouldn't recommend running Android or other mobile oriented OS's for development, getting the tools up and running will be a pain.
Yeah it is expensive and yeah it definitely had its quirks in the beginning. However performance is crazy, I'll get easily 6hrs+ battery life on programming workload (in energy saving mode of course).
I have no experience with passively cooled Core M processors or the cheapo tablets you are currently considering, but having a full Intel CPU inside this horse is definitely noticeable.
If you have any questions, I'll be happy to answer
On choosing the model for a portable -- IMO the #1 goal is to get one with physical characteristics that work for you (size, weight, monitor, keyboard, ability to be a tablet, etc.). CPU/Memory/storage is a very distant second. Go to a store and hold many models in your hands. If you work next to other techies, ask to see their travel computer option; ask for advice. This will likely give you a lot of honest info and demos.
Extra 25% of CPU speed will get you little benefit if your ultrabook is not comfortable for you to work on.
Might be worth a look?
Another option is the brand new Chromebook pros by Asus and Samsung at $499-$550 powered by the Skylake i3. These are higher quality Chromebooks than previously. The Samsung has a nice IPS 2400x1600 resolution. They are Chromebooks though.
It is doable though if you are willing to spend some time tuning your device, e.g. set the priority for some tasks lower than they want, so they don't hog the system resources while doing something. http://www.wikihow.com/Change-Process-Priorities-in-Windows-... I ran a 2gb ram, 10", dual core atom for 4ish years by doing this and using a lightweight browser, like opera or ie.
It boots up for a long long time. Win10 uses about 2.8Gb in idle state (which is good and bad both). Any significant drive activity locks the system for good - antivirus scan firing up, overloaded browser etc. Battery lifetime, despite having a 6 Watt SoC with integrated video and DDR3 memory, is average - maybe 4-5 hours top, doing nothing. My big old 15" laptop with 45 Watt cpu, geforce video and other older stuff lasted for 3 hours while it was new.
I used Visual Studio on it - it is possible but painful. Building code takes significantly slower, all actions are slow. But it can cope with MSVS, open browser, books, iTunes and some other stuff simultaneously. Development in lightweight editors should be way better.
64Gb of storage for Win10 with IDEs should be just barely enough and I would not recommend that.
If possible you should put inside 128Gb or bigger ssd and more RAM, I plan to do that at some point.