
Ask HN: Which laptop for development? - lonesword
Moved across the country for a startup and had to put my desktop in the office (the only machine I own) since they don&#x27;t give you a computer. I feel like I&#x27;m missing out since the other devs take their shiny MacBook pros and sit around a table and work (and chat) while I&#x27;m tucked away in an obscure corner. Also, driving to the office everytime time something breaks on a holiday could be a major inconvenience. Still gonna keep my desktop in the office so looking for a cheap laptop. I work on python Django so as long as it can run PyCharm and slack and a few chrome tabs, I should be fine (no need to run VMs or anything fancy). I live in India so my options are  somewhat limited since many models are  either  unavailable or simply more expensive than in the  US. These are the models I narrowed down on to:<p>1. Refurbished Lenovo T420. 2nd gen i5, 16 gigs of RAM. Really cheap for 250$. Just concerned since the cpu is old<p>2. [A cheap 6th gen core i3 laptop](https:&#x2F;&#x2F;www.amazon.in&#x2F;dp&#x2F;B074DYBT2K&#x2F;ref=cm_sw_r_cp_apa_i_W290zbRF005PZ). Brand new. 450$. At least the battery would last a couple of hours and since it&#x27;s new it might not break down for another 2 years.<p>3. A MacBook air. 1000USD. Pretty expensive for me. But willing to Shell out the money if it is absolutely worth it. Concerned about learning the weird shortcuts (and force forgetting them when working on my desktop). It&#x27;s &#x27;nix but it&#x27;s really not Linux. I&#x27;ve heard that getting some libraries to work on Mac is a pain - if at all possible. Still worth it? Battery life would be liberating but not sure if it is relevant for me<p>Thanks in advance.<p>PS: My desktop has an SSD so I am planning to take it out and put it on the laptop I end up buying.
======
stamps
T420.

But to go off your list here a bit I'd say bump up to the T430. i7 versions
can be had on eBay for $250.

If you have an attachment to the keyboard on the T420[1] you can easily buy
the keyboard and put it on the T430 (I did this on my x230 from a x220).

Also if you become interested you can neutralize the Intel Management Engine
and install something like coreboot and sea bios.

[1]
[http://www.thinkwiki.org/wiki/Install_Classic_Keyboard_on_xx...](http://www.thinkwiki.org/wiki/Install_Classic_Keyboard_on_xx30_Series_ThinkPads#A_compatible_ThinkPad)

EDIT: To take it further you could even upgrade the CPU to a i7-3632QM which
is a quad core.

~~~
stronglikedan
I have an older ThinkPad, and can't get over the Ctrl and Fn keys being in the
wrong place. I think you can swap this in the BIOS in the newer ones, but not
on mine. Even if you do though, your Ctrl key is now smaller than your Fn key.
I hate to say it, but it's a deal-breaker for me. It ruined an otherwise near-
perfect laptop keyboard.

~~~
lonesword
Yes the fn key is annoying. A friend got a modern think pad from his work and
he still uses a is keyboard to this day

~~~
stronglikedan
The microsoft bluetooth mobile keyboard 6000 is about the most awesome
keyboard I've found for overlaying a laptop's default keyboard (if you can
find one). I still use it to this day at home. I got tired of carrying a lot
around, which is why the swapped keys on the ThinkPad would annoy me still.

------
oneweekwonder
> MacBook air.

Still on my first 13" 2012, i5 cpu, 4 gb mem, 128 gb ssd model. The battery is
shot, but otherwise it took a beating and is still running like a champ.

Hopefully next year they will still be selling these puppies. Because I can
not find something with similar price, spec and build quality. Air is really
one of your best priced ultrabooks.

Otherwise I recommend you don't settle for a i3, you are going to regret it.
Had to give my brother-in-law advice on buying a notebook for writing docs and
surfing, etc. Said a i3 should be fine for his needs... did I regret that at
our next "free technical support session" :/ get a i5 atleast!

> It's 'nix but it's really not Linux.

Also, macOS is a Unix[0]. gnu/linux is the 'nix like os around here ;)

[0]:
[https://en.wikipedia.org/wiki/Single_UNIX_Specification#macO...](https://en.wikipedia.org/wiki/Single_UNIX_Specification#macOS)

~~~
majewsky
> Also, macOS is a Unix[0]. gnu/linux is the 'nix like os around here ;)

That's technically correct, but in practice, a Linux-compatible OS is much
more valuable than a Unix-compatible OS, if just because Linux is what runs in
production.

MS acknowledges this with WSL.

~~~
bitwize
With the BSDs and even Windows now offering Linux "kernel personalities", can
Apple hold out without caving for long?

------
GiorgioG
Buy a really cheap laptop and remote desktop (assuming it's Windows) into your
your PC. Desktop PCs are way way way way more powerful than those shiny
MacBook Pros. I have 2 desktops (3930k, Threadripper), a 13 macbook pro, a 15"
XPS (2017) and the original retina iMac 27" and hands down the desktop
machines (even the 3930k which is from 2011) beat the laptops in performance
(yes they all have SSDs, save the macbook pro, they all have 32gb of RAM.)

I don't get the appeal of doing development on hardware that's optimized for
mobility, especially if you spend 99% of the time working in the same place
(like me.)

~~~
laythea
I develop on a macbook and the good thing is that it forces you to develop
efficient software, so when it runs on a desktop it runs oh so nice :)

~~~
GiorgioG
I guess it depends on the tooling you're using to develop said efficient
software. I use Visual Studio + Resharper all day long and it's a hog. I've
used Xcode & Android Studio on my iMac and it's just a better, faster
experience than on a MacBook Pro.

------
starchaser
I would recommend the T420/T430 . Thinkpads T series have excellent keyboards,
build quality and reliability. They usually last many years. I would just
suggest you get a FullHD one, it will really help with your coding. On top of
that, the T series , being an old generation laptop can still have its CPU
upgraded further down the line.

The MacBook air is really expensive for what it offers. It's basically a 2015
model, with an old generation processor and low resolution display:
[https://noteb.com/?model/model.php?conf=4423208233512210891&...](https://noteb.com/?model/model.php?conf=4423208233512210891&ex=USD)

The Ideapad is not bad either for the price. It might get the job done but
it's a low build quality laptop not meant to last. If you could get a Thinkpad
T420 for $250, that's probably a better deal than $450 on a new IdeaPad.

~~~
SamReidHughes
There is no FullHD one. That came on the T440s, maybe the T440.

~~~
starchaser
I think you are right. The best was 1600x900 , forgot about that. Anyway , the
idea is to get the one with the 1600x900 screen, not the 1366x768 one.

------
chipuni
The best tool is the closest one to what other devs are using. Why? If you
have a problem, other devs won't be trying to separate the difference of the
system against the problem.

(Do all your other devs really use Macintoshes? Maybe you could buy one a few
generations old, to save money.)

~~~
kcorbitt
This is the right answer. If you'll be working on similar things/running the
same code as the other developers, just get a Mac (can be old/refurbished to
save money). You'll save a ton of headache over trying to figure out where the
inevitable incompatibilities are coming from.

------
theyregreat
Soon to be former Apple (13” MBP A1278 16 GiB 2x2 TiB SSDs) owner here:

Lenovo X270

\- 20-ish hour battery life

\- Awesome water-resistant keyboard. Did I mention it’s one of the best laptop
keyboards IMHO?

\- Lightweight

\- Portable size for train, plane, automobile use

\- Choice of displays

\- Kensington lock port, headphone jack, USBs and SD card slot

Do not buy an Apple any longer: unrepairable, $750 LB repairs, glued in
batteries, soldered-in RAM and SSDs, unupgradeable and new terrible,
feedbackless keyboards. Watch Louis Rossmann’s channel if you need any more
convincing that Apple’s are often overpriced money-pits.

~~~
wickchuck
I second this as a owner of a bricked 2013 MBA with a dead logic board. Bought
a Lenovo T430S for $450 a few years back and couldn't be happier with it.
Never buying Macbook again.

~~~
theyregreat
That Louis Rossman guy does component level repair and you might be able to
squeeze some coin out of repairing and selling it. I’m considering just
gifting an 2010 water-damaged MBP 13 as support for his great content.

Lenovo’s are sturdy as heck too. That, standard upgradable parts and the
industry best keyboard make them the most practical for both coding and
corporate work. She may not be the prettiest date, but she has a great
personality and is amazing at her vocation.

------
platinumrad
Apple's weird shortcuts are definitely weird but Karabiner (now Karabiner-
Elements) can make things almost bearable[1]. However, I recently sold my
Macbook Pro for a Thinkpad and went back to Linux so I'm very glad to not have
to think about weird shortcut issues ever again.

A 2nd gen i5 will almost be certainly fine for what you're using it for, but
potential concerns here are 1. battery life and 2. feeling left out for not
having a shiny Memebook Pro, although I personally prefer the Thinkpad
aesthetic.

[1][https://news.ycombinator.com/item?id=14741749](https://news.ycombinator.com/item?id=14741749)

------
zachruss92
I would probably go with the Lenovo T420 to get the best bang for your buck.
An i5, 16gb of memory and an SSD will be more than enough. My home gaming PC
used a 3rd gen processor until about 3 months ago, I was not limited by the
CPU at all (I wanted an nvme SSD and the new AMD Ryzen processor)

Your #2 isn't ideal as you'd undoubtedly struggle with 4gb of ram. Chrome and
Slack can be a huge memory hog, on top of what PyCharm and your actual
application use. You could upgrade the ram, but you're already spending $450.

My primary work machine is a MacBook pro (2014), but it is by no means
necessary. My next laptop will run linux.

------
mixedCase
T420 with an SSD no doubt.

Unless you're mostly a native iOS developer, in which case the Macbook will
obviously come in handy.

------
submeta
Owned ThinkPads for more than ten years. Started using a MacBook pro in 2015
as my main machine and never looked back.

The good things about ThinkPads: Their keyboards are excellent. Also, I love
the fact that I could replace almost every part of if. Other than that I can't
say too many good things about them. Mainly I was using the x2.... line. The
x2...t models (tablets) were pretty sturdy. The non-tablet version wasn't
(x220, x230...). Constantly some part would break. Just by being carried in a
messenger bag. Now that's the hardware. (Lenovo advertises them as super
sturdy, military spec or something.) Comparing that to my MacBook Pro Retina
2015: Been using my MBP daily. It goes with me everywhere. Never failed.

I won't say much about the OS. Only so much: Windows was terrible for open
source development. I heavily rely on a terminal and bash. I was using Cygwin
and PuTTY. This combo gave me a decent terminal and shell. But it was far from
perfect. Then I installled Ubuntu on one of my ThinkPads. Loved that. But I
was missing so many tools (Evernote, OmniGraffle and so much more.) macOS
gives me all the proprietary software I love. Plus a Unix environment and an
awesome terminal (iTerm).

I'd go with a MacBook (Air/Pro).

------
eesmith
You're working for cheap in a company that expects you to provide your own
computer and, I assume, do your own maintenance and support for it. Do you pay
for your own PyCharm license as well?

Don't let the perceived social pressure of being left out make you spend even
more of your own money. If it helps any, change the context. For example, slap
a Tux sticker on it, and argue that since the application runs on Linux, you
feel it's best to immerse yourself in that environment.

If you have to get a laptop, go for something low-end. Either your #1 or #2.
It isn't worthwhile to get a MacBook Air at 2x the cost. It does have more
pixels than your #2, but if that's important you can get it without doubling
the cost.

While it's sometimes hard to get things working on a Mac, Homebrew and Conda
have pretty much made those problems disappear. Conda is not Mac specific.

With your #1 you'll likely have to get a new battery, so include that in your
pricing. You aren't doing anything that really involves CPU.

OTOH, your #2 has only 4GB RAM, which is 1/2 the Air and 1/4 your #1.

On your desktop, how much memory do you use now, and how loaded is your CPU?

~~~
lonesword
Yes, I do my own maintenance. That's ok since I kinda love doing things like
that. Yes, I have to get my own pycharm license. Almost all startups give a
computer and licensed software, I know. Still sticking with these guys since
the engineering culture is good and the product is interesting and the people
even more so. See [http://squadrun.co](http://squadrun.co)

~~~
lonesword
Also, the tux idea is brilliant. Thanks :)

------
_raoulcousins
I've been using used Thinkpad and Thinkpad competitors (Dell Latitude)
forever. There always seems to be a big supply of used corporate computers. I
just upgraded to a T450s and it's fantastic.

------
bdcravens
I don't see the advantage of the MB Air based on your requirements. Now, I
haven't run into what you're saying regarding libraries on OSX. Personally it
sounds like option #1 is your best bet for compatibility. Option #2 means you
many run into headaches in terms of getting all your hardware to work 100%
with your distro. (Assuming Linux)

------
bootcat
[https://www.flipkart.com/lenovo-ideapad-core-i5-7th-
gen-8-gb...](https://www.flipkart.com/lenovo-ideapad-core-i5-7th-
gen-8-gb-1-tb-hdd-windows-10-home-2-gb-graphics-
ip-320-laptop/p/itmew6qp3hfm28tu?pid=COMEW6QPC5HDQAFK&srno=s_1_2&otracker=search&lid=LSTCOMEW6QPC5HDQAFKRN9E0C&fm=SEARCH&iid=5416e21d-e7b4-47a5-b1a6-f436769132ae.COMEW6QPC5HDQAFK.SEARCH&qH=312f91285e048e09),
Has a GPU, while [https://www.flipkart.com/lenovo-ideapad-core-i5-7th-
gen-4-gb...](https://www.flipkart.com/lenovo-ideapad-core-i5-7th-
gen-4-gb-1-tb-hdd-windows-10-home-
ip-320s-laptop/p/itmewhvungfvb9zx?pid=COMEWHVUVXR5YTTC&srno=s_1_18&otracker=search&lid=LSTCOMEWHVUVXR5YTTCNTMFXO&fm=SEARCH&iid=abf0bcd4-ecc9-4a38-889e-c88b415b180a.COMEWHVUVXR5YTTC.SEARCH&qH=312f91285e048e09)
is too light !!

------
saluki
Go macbook air.

For development I've always had issues with windows machines. When learning
rails I tried countless tutorials on windows, would get stuck, something isn't
working, spend time trouble shooting.

After a frustrating time one night I grabbed my Wife's macbook. The tutorials
worked flawlessly and I accomplished so much. I always recommend using a
macbook for development.

The air is more than capable for rails/laravel/python development.

Looks like your are in India, in the states you can pick up an air at best buy
on sale for around $800 to $900. Check the apple refurbished site too.

You won't be sorry, you'll fall in love with the trackpad and keyboard, and
they come with an SSD.

Good luck with the startup.

Sounds like you already envy others 'Shiny Macbooks' so save up for one and go
for it.

My macbook air is still going strong, it's about three years old and I plan on
purchasing a new MBair over going with a MBpro when it's time for a new one.

~~~
lonesword
I so development on a Linux. Windows is just slow agony when it comes to
setting up a development environment. I don't 'envy' the shiny MBP s, I'm just
curious. I'm just perplexed by their sense of value proposition. I've always
said that buying a Mac is like buying a Mercedes (rare in India) - super
sturdy and fast (fast enough at least) and shiny - but not exactly value for
money.

------
kusmi
I got the t450s recently off eBay. I would not make the same purchase again.
Instead I would go for the x series models. This is because the keys on the
t450s size laptop (which is larger) are too far apart for coding. Then there's
the tn panel screen, the viewing angles are so bad that at 14" you have to
choose whether you want the top or the bottom of the screen to be clearly
visible -the other side will appear washed out. I never noticed this on the
X230 which probably has an equally shitty screen, because its size is just
right to never be an issue.

If I could return the t450s I would go for x240 or x230. Upgrade the battery,
and toss in SSD if it doesn't already have one.

Also, check out mini PCs like the gigabyte brix. I use them as headless dev
boxes on the local network. Run 24/7 without issue for months now.

~~~
lonesword
I already work on a full size keyboard. So I guess keys being spaced out won't
be an issue. Also, a refurbished t450 would be too expensive for me anyways.
Sticking with t420 or t430

~~~
kusmi
X230 sounds to be up your alley then which you can find for as low as 200$. If
you're a hardened emacs user, your fingers will thank you.

------
peterwwillis
If you find a machine under 400 bucks with 16 gigs of RAM, and the machine
doesn't have to be portable, and it has a core i5 or better, you should
probably get it. CPU is arguably not as important as ram + ssd.

But availability makes for much better buys: MicroCenter occasionally has
display units or refurbs at a couple hundred lower than retail. I got a 6th
gen core i7 8gb ram 256gb ssd 14" lenovo for 400 bucks, and bought a 16gb ram
stick for $100, and a 1tb hdd for $35. The retail price was still closer to
$850 for the same configuration (and that laptop supposedly only supports 8gb,
but lenovo liiiiies!!).

Howver, if it's a relatively new machine, skip putting Linux on it. I've gone
through setup hell three times this year and i'm just done with Linux on a
modern laptop. It sucks.

------
foepys
As someone who owns a T420, I can recommend it for that price. The CPU might
be a bit slower and battery life might not be as good as a modern notebook but
the keyboard is extremely nice and the overall performance with an SSD is good
even for modern workflows. Just be sure to not use a Samsung 840 Evo SSD, I
had bad experiences with stutter during heavy I/O that didn't happen with an
HDD or Samsung 950 Pro. You can also upgrade the memory by yourself, if you
need to.

Remember to check if the T420 has an Nvidia Quadro card inside. If it does,
the Display Port is wired to the Nvidia card and works badly under Linux and
sucks the battery dry quite fast.

------
limeblack
I am typing this on a T420 although I just have 12gb not 16gb. No complaints.
I like being able to swap the hard drives really quickly instead of messing
with partition and the keyboard IMO is better then the new lenovo keyboards.
If you are concerned about battery remember they are removable on the T420. In
fact I often carry around an extra to double the battery life.

I also on a Macbook Pro and frankly it is nicer in many ways but if you money
strapped it probably isn't worth the price.

------
iainmerrick
Be aware, you are not going to be able to put a generic SSD into any kind of
MacBook. They all use special custom Apple SSDs and third-party replacements
are few and far between.

MacBooks are fantastic but if you're not already an OS X user and you have a
tight budget, it may not be a good choice for you. A second-hand Air should be
way less than $1000, though (but maybe not in India).

------
0xCMP
<rant>

I tend to prefer Macs these days over Linux. The library problem is real when
upgrading things like Xcode (which is a problem that just bit me trying to
`pip install lxml`).

`brew` is not as good as `apt-get`/`pacman`/`yum` but it's almost always more
up to date since it's like an AUR for macOS.

My issue with the Air is that they rarely update/improve it. It's a great
laptop though.

</rant>

~~~
rhinoceraptor
Don’t buy the MacBook Air, it is a dead product. They’re only still selling it
because the margins are really good and people don’t know they’re buying old
hardware. The 2017 model still uses Broadwell CPUs.

------
bitwize
Go for the ThinkPad. For browser and Web stuff, your bottleneck is going to be
memory (and I/O throughput, i.e., get an SSD), not CPU speed. For $250 you'd
be getting a durable machine that runs Linux beautifully and has enough memory
to handle your dev tasks.

------
dmach
T420 would be ok if you can check that it should run docker. That would allow
you to use or test many stacks without installs and deploy them to a bigger
machine if needed. For a cheap option I recommend the Dell Inspiron 15 3000
Series with Ubuntu preinstalled instead of Windows. It is a Celeron processor
and the 14.04 version of Ubuntu but it runs docker great. Also Ubuntu really
looks better at the lower resolution which it most of been originally designed
for. I got one new for €200.

------
wiremine
I did Django dev work for 6 years... I'd lean towards the Lenovo, but it
depends on a few things:

1\. Are you going to do any photoshop work, or other design tasks?

2\. Do you want to use an external monitor? If so, does the T420 have good
specs?

One final thought: We've been moving towards using docker for most
development, and Apple is behind the curve on this one, mainly due to the
crazy workaround required to get adequate filesystem support. If that's at all
in your future, stick with linux.

~~~
lonesword
No Photoshop or design. Yeah I might plug it into an external monitor. I think
any laptop can handle that. Right?

------
dragontamer
The T420 has better specs, especially on that RAM, but I'd expect the 6th Gen
i3 to have superior battery life and also better single-threaded performance.

Lenovo's T-line of laptops used to be pretty good. I hear that recently
they've cheapened up the production line. So I don't think you can go wrong as
long as you're willing to put up with subpar battery life (Sandy Bridge, 2nd
Gen Intel, has much worse battery life than modern processors)

------
tym0
About 3. I switch between a mac at work and a PC at home and the shortcuts are
really not a problem, your brain gets used to it pretty quickly.

------
RaleyField
I see a lot of you recommending Lenovo. Only 2 years and all is forgiven[1].
Y'all should be ashamed of yourselves.

[1]
[https://en.wikipedia.org/wiki/Superfish#Lenovo_security_inci...](https://en.wikipedia.org/wiki/Superfish#Lenovo_security_incident)

------
taude
I'm on a 2014 11" MB Air. I love it. Best laptop I've ever owned. Yeah, I wish
it had 16 GB RAM, and a hires display. But it works, and works well for me.

I run IntelliJ on mine, the basically feature rich version of PyCharm.

You can find older Air's for around $500 used.

------
andrewaylett
The T420s are great, definitely recommend. If you need more compute power,
grab something suitably sized in the cloud for a couple of hours. If you need
more battery, grab a spare :).

------
robert_labrie
Any PC will do the job, the Windows subsystem for Linux is legit. Docker,
Vagrant, all of it just works. No reason to buy a Mac if you're not neck deep
in the ecosystem already.

------
mbauman
I'd lean toward the Lenovo. Anecdotally, I've had a 2nd gen i5 in my desktop
since I built it in 2011 and still have no complaints with its performance.

------
Rjevski
Just get a Mac. The time you'll save by not tinkering with Windows or Linux
issues will pay for it in a matter of weeks.

------
manishsharan
Do check out Dell Precisions on Dell refurbished. They are Quadcore and have
lots of memory. 4900HQ is pretty powerful.

------
edwingustafson
Can you remote into your desktop from a lightweight laptop or a decent tablet?

------
some-guy
I have a T420s and it’s held up very well, and is very repairable.

------
Havoc
Refurb corporate laptop I'd say

------
michalpt
Macbook Pro without emoji keyboard

------
polskibus
consider a gaming laptop with a desktop CPU. High CPU freq for the fastest
builds!

------
sanjeetsuhag
Get a 15-inch MacBook Pro. TouchBar is the best for programming.

~~~
gknoy
I think I could care less about the touch bar, because I am one of the few
willing to admit that I don't use vim. ;)

However, I am _much_ more frustrated by the lack of MagSafe. I am a tremendous
klutz (as are my kids, and my cats, etc), so the peace of mind of being able
to not destroy my laptop, should I ever trip on a cord or step on it, is
something which I am wary of. For those of you with newer Macbooks, how do you
handle charging?

~~~
midknightowl
"Ctrl+[" is equivalent to pressing Esc to exit the insert mode in vim

