My Linux Laptop
Well, I got impatient and waited only two months (rather than a year) to buy my new laptop. I went with the “New” Dell XPS 13 Developer Edition, the 9360 model to be exact. The model I picked came bundled with a Dell-supported version of Ubuntu 16.04 LTS, and so is $150 CAD cheaper than with Windows 10 Pro. Also the UEFI firmware seems to be fully unlocked.
Apart from a few infrequent glitches (I’ll write a separate post about working around these), everything works great out of the box. All the ports and components work fine, and Ubuntu easily supported my exFAT and NTFS formatted USB 3 drives. The processor is quite fast for a 13” laptop, battery life is amazing, a full 16 GB of RAM, a very fast 512 GB SSD, and a touch screen that effectively has more pixels than my mid-2013 MacBook Pro’s “retina display”.
Speaking of high-resolution displays, Ubuntu’s support of HiDPI is decent at best. While all GNOME GTK 3 programs properly support 2x UI scaling, Qt 4 programs still draw tiny toolbar buttons, and anything else (or older) barely support UI scaling, if at all. There is no way to scale indivisual windows or programs, other than running a local VNC server with the program running in it and scaling that in a VNC client, and you can’t set different scaling values on different displays. As a compromise, when using an external 1080p screen I change the resolution of my internal screen to exactly half its normal size and use a UI scaling of 1x everywhere. At that resolution, the bilinear scaling a barely noticeable, and I’m looking more at the external display anyway.
For my software development, I already feel more productive on it than I were on my Mac. Most development tools feel “native”, even in the rare cases when I have to recompile them when they’re not already available in Ubuntu’s repositories or as a Linux binary. Setting up custom server-like services, such as a second SSH server running on a separate port, is trivial to set up compared to macOS. New Mac development tools are targetting web front-end development and are quite expensive, so apart from a few Mac programming tools, I don’t miss them much. And since almost everything on Linux is open source, customization for me goes as far as changing the source code and recompiling.
Overall, the transition was much faster and easier than expected, even compared to transfering from one Mac laptop to another. It also feels quite nice to have a built-in socket for a Noble lock, USB 3 ports, an SD card slot, and even a battery charge indicator, all abandoned by Apple over the years. To compare the XPS 13 with the nearly equally priced MacBook Pro 13” with Touch Bar (2016), the XPS 13 has complete (and public) service manuals with an iFixit repairability score of 7⁄10 compared to an abysmal 1⁄10 for the MacBook Pro, twice the RAM, a 7th-generation i7 processor compared to a 6th-generator i5, the entire screen is touch enabled compared to just a “touch bar” (in addition of physical function keys versus a “touch bar”), and a normal combination of ports versus “courage” and lots of expensive dongles.
Sure, I can’t unlock my laptop with my Apple Watch anymore and enjoy macOS’ iPhone integration, nor does the branding of a Dell laptop impress anyone, but if you actually have to work or do serious software development, it’s really a “Pro” laptop.