The Laptop Conundrum
The Present Situation
Recent circumstances have forced me to look for new laptops in the market. Particularly, it involves the impeding demise of my very first laptop - A Lenovo IdeaPad Z500 (my dad gifted it to me in Q4 2013, when I had started college. Thanks pops! ). The laptop has served me quite well over the years, but is now beginning to show its age:
- A reasonable battery life of 3-4 hours in the beginning, which has now gone downhill to just 45 minutes due to the battery degradation over the years.
- The body being entirely plastic and my rough handling of the laptop has lead it to suffer multiple injuries and cracks.
- Dust frequently accumulates inside, which forces me to open this thing. And every time this device is opened, its body suffers. A few screws are missing because they could no longer be properly put back.
- Outdated specs: A 1366x768 non-touch screen, no 5 GHz Wi-Fi support.
- Broken Keyboard - The F4 key is missing.
- Screen is bendy.
- The present winter season resulted in moisture being frozen in the laptop internals. Understandably, upon boot, the thing short-circuited, which necessitated a motherboard repair and RAM replacement.
The Search begins
As I begin my search for my next daily driver machine, I have several things to consider:
- I’m better-informed now on the different kinds of machines available in the market, thanks to meeting different like-minded people over the years and frequenting various hardware forums and YouTube channels.
- Laptops are much better now - better battery life, better processors and graphics cards, higher RAM capacities.
- My typical usage generally involves internet surfing, watching videos and a movie or two occasionally, frequent document viewing and editing, frequent programming on Python, C++ and Kotlin (Android).
- Potential future interests: iOS Development, Machine Learning.
- Some preferences: OS should be a Linux distro (works better for my case, plus KVM for macOS in case I venture into iOS development) or macOS (minimal setup effort for any work I do).
Formulating the specs
Following specs should work fine for me:
- RAM: 16GB or more
- CPU: i7, i9, Ryzen 7 H(S), Ryzen 9 H(S)
- Storage: SSD 512 GB minimum
- Graphics: Anything decent
- Battery Life: 8 hours on normal web-browsing and a bit of video playback.
Candidates
I’ve narrowed my choice down to the following two machines.
MacBook Pro 16-inch/14-inch (Upcoming or current)
Pros: First of its kind machine from Apple. Keyboard issues are now fixed and Apple is now back to scissor switches, plus Escape key. Apple’s software defaults are pretty nice. Excellent battery life and performance. Ideal for iOS development and integrates well with my iPad Pro. Awesome speakers, I hear.
Cons: Lack of the ports I need for now: USB-A, HDMI. Which means I need a dongle. Also, AMD’s recent Ryzen 4000 series has made Intel’s 9th and even some 10th gen processors, mostly the i5 and i7 series (as of writing this) obsolete for its price point. I don’t think Apple will switch it’s CPUs just yet. Not at least in 2020. First, the OS needs to be optimized for AMD/ARM processors. Second, Thunderbolt 3 is Intel specific. Bringing USB 4 to consumer devices should comfortably take a year at least. Maybe in 2021. So, since Apple likely won’t be switching CPUs for now, Intel is gonna have to pull an elaborate trick out of their hat, and set matching performance with their 10th-gen processors.
Asus ROG Zephyrus G14
This recently released laptop from ASUS has me fully excited. A gaming laptop with RTX-2060 GPU that can deliver 8+ hours of battery life for normal use cases is almost a dream machine.
Pros: RTX-2060/GTX-1660 opens up CUDA and thus machine learning for me.
Cons: Windows doesn’t really fit into my workflow, although it does provide some excellent tools to get the job done (albeit with some effort). Most likely, I’ll be experimenting with Linux to get some decent battery life. Also, no iOS development, unless I run Linux on my machine and spin up a macOS VM using QEMU and KVM. Huge effort needed to get it working with Linux or to work on Windows.
UPDATE: Someone on Arstechnica did my work for me. Seems like getting Linux has ways to go before it can run on this machine. Here’s the link: https://arstechnica.com/gadgets/2020/04/linux-on-laptops-asus-zephyrus-g14-with-ryzen-9-4900hs/
Conclusion
So, it looks like I’ll need to make a trade-off between machine learning and iOS Development. If I need fast machine learning, I’ll need to train my model on a Linux box in the cloud. If I need iOS Development, I need to buy one of those Mac Minis at the very least. Not to mention it costs me the same as a Macbook Pro 13-inch model and just like 13-inch, lacks a Discrete GPU.
VM is obviously a no-go. Unless I can find a device that delivers the same performance and battery life as a Macbook Pro 16-inch but runs Linux instead of macOS. Or unless macOS suddenly starts supporting GPU passthrough for VMs.
Seems like one hell of a problem.
UPDATE - 2: I got myself a 16-inch MacBook Pro. AppleCare+ really paid off.
UPDATE - 3: M1 Macs came out. I could’ve saved money by just buying a MacBook Air. If only I had waited…