Lenovo ThinkPad X1 or X1 Nano are my favorites. Small, light, but powerful.
Before I used the ThinkPad X230 and DELL Latitude 7270, each for many years and bought second hand. The DELL was particularly sturdy.
All of these are Ubuntu LTS friendly boxes.
Avoid Microsoft Surface Laptops, which require patches to run Linux, Microsoft doesn't offer an Image ready to burn on a stick. And although I'm writing this on an M1 MacBook, I can't recommend that box yet as a primary machine; I use it mostly for making and presenting slides and browsing HN and such, not for serious dev work. In a year's time, this may look different.
X1 owner checking in. I use it and I'm happy with it. It hit the sweet spot when I bought it a couple of years ago.
I don't recommend it for the given price point. I included all extra options such as insurance and the extra disk space.
I found it isn't fast enough in general usage. Had problems running a serverless javascript project. External monitors with scaling will bring the iGPU to its knees. The display itself is too small to effectively program on it, and the CPU is not powerful enough to run a multitude of unittests or compile more complicated programs on.
I use my X1 with an eGPU and two 4K monitors. Webdevelopment happens in VSCode with heavy usage of the VSCode remote docker plugin. This enables me to run unittests and development tasks on a beefy PC.
Taken all together this raises the price quite a bit.
What do you find lacking in the m1 to make it your dev machine?
The battery on the m1 was to enticing. I went back and forth between a ThinkPad x1 with Linux and this MacBook air. It's impressive and I have no regrets. When there's an arm laptop released with similar performance and battery life I can run Linux on, I'll definitely be picking one up
> What do you find lacking in the m1 to make it your dev machine?
For me, the 16GB RAM limit on the MacBook Air is the principal reason not to get one, otherwise I would have already. As soon as you go to 32GB or more with M1, it's a big price jump to the Pro range, not sub $2000 any more.
I have been looking at the M1 MBPs, but the price makes it need justification, and the 2.5 months lead time even at Apple stores for the higher models, has kept me from committing. And when I tried the MBP keyboard in store, it felt not as good as the old <= 2015 keyboards.
Firefox in daily use is constantly swapping on my older MBP that has 16GB RAM, and when I used Safari, it wasn't any better. (It was the trigger that made me go back to Firefox, as it used less memory than Safari when I switched). It quickly rises from 10GB to using 30GB after a little browsing; I've seen it go up to 67GB. Some sites will do that with just one tab open. It took me a long time to realise that's why browsing was so janky and pausing a lot, and back when I used Safari everything else paused often too. So I'd not be eager to buy a new laptop with the same problem.
Perhaps the Linux dev VM and several Electron-based communication apps that have to be running constantly add up, but it always seems to be the browser that grows to use much more memory than there is available.
With Firefox it seems to be a fixable software problem, because when it's triggered to release memory it will drop as fast as it can swap in, with no apparent affect except a long pause. I expect it's all cache. The memory statistics fluctuate very rapidly sometimes, gaining several GB in seconds, even when just clicking around text-only sites like HN.
But it's not realistically going to be fixed, so I think it best to get at least 32GB RAM for the next machine, whether it's a Macbook or not.
67GB won't help your 32GB machine either. The problem is that many websites are full of memory leaks.
I had similar issues about 5-7 years ago. I then installed "the great suspender" to suspend tabs that weren't really used. That became spyware or something.. But chrome is pretty good at handling all the tabs.
I'm on M1 since it came out and couldn't be happier
It's unlikely to be website memory leaks. If it was, on "memory flush" it wouldn't drop to about the same amount every time that fits comfortably in RAM, with no visible effect except the pause. This event does not unload tabs.
With the numbers I'm seeing, think it's too risky to commit to 16GB non-upgradeable RAM for a laptop that must last many years to justify the cost. The ask HN author wants their sub-$2000 laptop to last for a long time, and I'd worry that even if browsing is smooth in 2022 brand new, what about 2025 and 2028, with more dev and comms apps running as well?
Usually it climbs to 20-30GB or so then triggers the flushing, with many annoying freezes on the way, but yes I've wondered if there's really an upper limit. Given any amount of RAM, will it use all of it and then try to swap even more? Could more RAM even be worse due to some accounting-ratio bug? (67GB is rare, only seen with Telegram which does have a severe leak.)
Like you I'm auto-suspending inactive tabs, and their size certainly isn't a problem after restarting.
Yet I see large RAM fluctuation even on text-only HN tabs. Just now, a new HN tab used 2.5GB more RAM in a few seconds before settling down to 1.2GB. Later the flush event happened and dropped 9GB. The new tab is still open. It wouldn't be a problem if it was just vm stats, but it does cause too many annoying freezes.
So what I think I'm seeing is that bloat has accrued over time, and optimising memory, or perhaps doing it right on MacOS, is not a priority for FF devs (or Safari in my experience with many tabs or windows), and won't be any time soon. If someone has usage similar to me, they should at least look whether RAM usage is borderline now before assuming 16GB (non-upgradable) will be enough over the years they want to keep using the laptop.
Storage maybe, RAM less clear. Some web apps use more RAM (in the browser) compared with the equivalent native app, and on a laptop people like to run multiple apps at the same time, whether web or native.
> Avoid Microsoft Surface Laptops, which require patches to run Linux, Microsoft doesn't offer an Image ready to burn on a stick.
Is this indeed the case, and likely to continue for the foreseeable future? If so, that is really disappointing. I came in to recommend the Surface Laptop 4. You get the choice of an AMD or Intel processor, excellent build quality, and a 200dpi 3:2 touchscreen. And if you choose the "business" version, you can spec it with up to 32GB memory.
My wife is a die-hard ThinkPad user, but I can't stand the widescreen nature of them. I love how the notch on my MBP gives me that little extra bit of vertical real estate. But that screen on the Surface Laptop! My kids and a niece have them, they are amazing.
>> Avoid Microsoft Surface Laptops, which require patches to run Linux,
> But that screen on the Surface Laptop!
I've been considering the Surface Laptop for the 3:2, high PPI screen. According to this [0] so long as you have a recent stock kernel, the only things that don't work are pen and touchscreen (touch screen requires kernel patches on Intel arch, AMD doesn't support at all). I can live without both.
If a 3:2 screen is something you really want, I think getting a Framework is a better option, but if you can settle for 16:10, you'll have a lot more options now/in the near future.
I have very mixed feelings about DELL. They have great hardware. But after buying an Ubuntu laptop I discovered it had custom DELL drivers that work fine under Ubuntu 18, but have no support for later versions of Ubuntu.
I got everything working again except for the webcam, which kind of sucks.
had a similar experience (not with the webcam specifically but generally with their pre-installed Ubuntu 18). the system they shipped out with pre-installed Ubuntu 18 was really troublesome and would not sleep properly and would go 100% CPU when doing so which was maddening. it was pretty unclear what I did that fixed it because I tried so many things, but, somehow got it fixed and now have a somewhat temperamental but pretty fast laptop 3 years later and am running latest Ubuntu 22.04 beta :)
How are the keyboards on recent X1 Carbons and X1 Nanos? I have a 6th gen X1 Carbon (bought 2017) and I am in love with it. It just survived nasty a 4ft drop with only cosmetic damage.
However, I've heard that the keyboards on the recent models are not as good. It's the only thing stopping me from getting a Nano...
Edit: Linux support is stellar on the X1 Carbon, which is no surprise since RedHat issues its employees with business Lenovo laptops.
I had a X1C bought early 2018. Not sure about the generation from the top of my head, but it had no hpdi screen. Battery life was great and Linux worked fine.
In early 2020 it got stolen (full disk encryption with a strong passphrase luckily). I got a X1C 7th and expected it would be as good as the previous one. The first bad surpirse was the HiDPI screen. Xubuntu did not work well with it, it required a lot of fiddling. Well and then I run some non-Xubuntu app here and there and it required extra fiddling. In the end I gave up and just reduced the screen resolution to some "classical" value and everything was fine again. Have not noticed that my code is worse because of slightly less smooth fonts... (Some distros might be easier in that aspect, Wayland is reportedly better, and to my suprise even i3 seems to work rather well.)
Even worse the battery life is significantly worse than on the previous model. To my understanding higher resolution displays require more energy, there is nothing you can do. Have not checked whether the newer CPU could also have an impact. A full working day on battery is hardly possible anymore, even with little playing of videos or similar.
Finally my current X1C 7th came with a 4G modem that has no Linux driver at all. Not a big deal for me because I have only 1 SIM anyway and my phone has good data rates to share.
More on the anecdotal side: A firmware update was broken recently. I guess bugs happen everwhere. What I liked that Lenovo guys where active on github and a fix came quickly. Couldn't resist thinking: Like in the IBM days when Thinkpads got good support.
The most recent X1s still have good keyboards, but slightly shorter key travel than the older ones. If you're a ThinkPad keyboard lover it might bother you and is probably worth playing with one IRL before buying. If you just want a pretty good keyboard, these still have that.
7th gen keyboard is the best in the X1 Carbon history, 8th gen had reliability problems, and the current generation (9th) is very very good, if you are ok with the reduced key travel. I happen to like it, but it is really a matter of personal preference.
Think pads are nice for the many reasons in other comments. However, the track pad and nibble-mouse on it are unusable in my opinion. For a laptop, it requires an external mouse to function, so if high mobility is a factor, I would look elsewhere.
My basic $600 acer laptop from 2017 has better trackpad than my ThinkPad from work and was expandable enough to cover my needs with a quick Ram and SSD upgrade and it has a really good, large track pad still working to this day.
Before I used the ThinkPad X230 and DELL Latitude 7270, each for many years and bought second hand. The DELL was particularly sturdy.
All of these are Ubuntu LTS friendly boxes.
Avoid Microsoft Surface Laptops, which require patches to run Linux, Microsoft doesn't offer an Image ready to burn on a stick. And although I'm writing this on an M1 MacBook, I can't recommend that box yet as a primary machine; I use it mostly for making and presenting slides and browsing HN and such, not for serious dev work. In a year's time, this may look different.