Back to windows after twenty years

Apple’s stubborn four-year refusal to fix the terminally broken butterfly keyboard design led me to a crazy experiment last week: Giving Windows a try for the first time in twenty years.

Not really because I suddenly had some great curiosity about Windows, but because Apple’s infuriating failure to sell a reliable laptop reluctantly put me back in the market. So when I saw the praise heaped upon the Surface Laptop 3, and particularly its keyboard, I thought, fuck it, let’s give it a try!

Looks good, doesn’t it?

The buying experience was great. There was nobody in the store, so with four sales people just standing around, I got immediate attention, and typed away a few quick sentences on the keyboard. It felt good. Nice travel, slim chassis, sleek design. SOLD!

The initial setup experience was another pleasant surprise. The Cortana-narrated process felt like someone from the Xbox team had done the design. Fresh, modern, fun, and reassuring. Apple could take some notes on that.

But ultimately we got to the meat of this experience, and unfortunately the first bite didn’t quite match the sizzle. The font rendering in Windows remains excruciatingly poor to my eyes. It just looks bad. It reminded me of my number one grief with Android back in the 5.0 or whenever days, before someone at Google decided to do font rendering right (these days it’s great!). Ugh.

I accept that this is a personal failure of sorts. The Windows font rendering does not prevent you from using the device. It’s not like you can’t read the text. It’s just that I don’t enjoy it, and I don’t want to. So that was strike one.

But hey, I didn’t pluck down close to $1800 (with taxes) for a Windows laptop just to be scared off by poor font rendering, right? No. So I persevered and started setting up my development environment.

See, the whole reason I thought Windows might be a suitable alternative for me was all the enthusiasm around Windows Linux Subsystem (WSL). Basically putting all the *nix tooling at your fingertips, like it is on OSX, in a way that doesn’t require crazy hoops.

But it’s just not there. The first version of WSL is marred with terrible file-system performance, and I got to feel that right away, when I spent eons checking out a git repository via GitHub for Windows. A 10-second operation on OSX took 5-6 minutes on Windows.

I initially thought that I had installed WSL2, which promises to be better in some ways (though worse in others), but to do so required me to essentially run an alpha version of Windows 10. Okay, that’s a little adventurous, but hey, whatever, this was an experiment after all. (Unfortunately WSL2 doesn’t do anything to speed up work happening across the Windows/Linux boundary, in fact, it just makes it worse! So you kinda have to stick with Linux tooling inside of Linux, Windows outside. Defeating much of the point for me!).

So anyway, here I am, hours into trying to setup this laptop to run *nix tooling with Windows applications, running on the bleeding edge of Windows, digging through all sorts of write-ups and tutorials, and I finally, sorta, kinda get it going. But it’s neither fast nor pleasant nor intuitive in any way. And it feels like my toes are so stubbed and bloody by the end of the walk that I almost forgot why I started on this journey in the first place.

I mean, one thing is the alpha-level of the software required to even pursue this. Something else is the bizarre gates that Microsoft erects along the way. Want to run Docker for Windows on your brand new Surface Laptop 3? Sorry, can’t do that without buying an upgrade to Windows Pro (the $1800 Surface Laptop 3 apparently wasn’t expensive enough to warrant that designation, so it ships with the Home edition. Okay, sheesh).

The default Edge browser that ships with Windows 10 is also just kinda terrible. I clocked a 38 on the Speedometer 2.0 test, compared to the 125 that my MacBook Pro 13 ran with Safari. (But hey, there’s another beta version of Edge, the one that now uses the Chrominum rendering engine, and that got it to a more respectable 68.)

Anyway, I started this experiment on a Monday. I kept going all the way through Friday. Using the laptop as I would any other computer for the internet, and my new hobby of dealing with the stubbed toes of setting up a *nix development environment, but when I got to Saturday I just… gave up. It’s clearly not that this couldn’t be done. You can absolutely setup a new Windows laptop today to do *nix style development. You can get your VS Code going, install a bunch of alpha software, and eventually you’ll get there.

But for me, this just wasn’t worth it. I kept looking for things I liked about Windows, and I kept realizing that I just fell back on rationalizations like “I guess this isn’t SO bad?”. The only thing I really liked was the hardware, and really, the key (ha!) thing there was that the keyboard just worked. It’s a good keyboard, but I don’t know if I’d go as far as “great”. (I still prefer travel, control, and feel of the freestanding Apple Magic Keyboard 2).

What this experiment taught me, though, was just how much I actually like OSX. How much satisfaction I derive from its font rendering. How lovely my code looks in TextMate 2. How easy it is to live that *nix developer life, while still using a computer where everything (well, except that fucking keyboard!) mostly just works.

So the Surface Laptop 3 is going back to Microsoft. Kudos to them for the 30-day no questions return policy, and double kudos for making it so easy to wipe the machine for return (again, another area where Apple could learn!).

Windows still clearly isn’t for me. And I wouldn’t recommend it to any of our developers at Basecamp. But I kinda do wish that more people actually do make the switch. Apple needs the competition. We need to feel like there are real alternatives that not only are technically possible, but a joy to use. We need Microsoft to keep improving, and having more frustrated Apple users cross over, point out the flaws, and iron out the kinks, well, that’s only going to help.

I would absolutely give Windows another try in a few years, but for now, I’m just feeling #blessed that 90% of my work happens on an iMac with that lovely scissor-keyed Magic Keyboard 2. It’s not a real solution for lots of people who work on the go, but if you do most of your development at a desk, I’d check it out. Or be brave, go with Windows, make it better, you pioneer, you. You’ll have my utter admiration!

Also, Apple, please just fix those fucking keyboards. Provide proper restitution for the people who bought your broken shit. Stop gaslighting us all with your nonsense that this is only affecting extremely few people. It’s not. The situation is an unmitigated disaster.

92 thoughts on “Back to windows after twenty years

  1. I’ve been following your experiment since the beginning, and was also thinking about switching to a Lenovo X1 Carbon or Extreme.

    Not sure if its only me, but I have a 1yo 15″ MBP with touch bar and the nasty keyboard and haven’t had any issues with it.

    It may be my cleaning OCD — I blow compressed air into it at least once every two weeks and I also have an extra cleaning routine.

    No doubt the design is bad, but still, did I just win the Apple keyboard lottery, or does my keyboard maintenance habit do the trick?

    Do you clean your keyboard from time to time?

    1. The failure rate that we’ve observed at Basecamp is something like 30-40%. So that means that 60-70% are NOT having problems. Still the majority!

      I’m super OCD about cleaning. I’ve blown compressed air, I use a soft keyboard cover when closing the screen (so keys don’t leave a mark on the screen), and I’ve BARELY used my machine. Yet, the O key on works 7/10 times, and the space frequently gives me double.

      You can be as careful as possible and many of these keyboards still fail.

    1. I run System76’s Pop_OS on my personal laptop. It’s been great for daily as well as development use!

      I’m stuck using Windows at work and I find it really frustrating. So many work-arounds for things that Linux can do natively.

      The only people that I recommend Windows to these days are people who want to use their PC for gaming.. And that is because it seems to be the only thing that it is still really good at.

    2. I’d much prefer the Dell XPS laptops that ship with Ubuntu, that is if you aren’t willing to go to the trouble of installing it yourself.

    3. Was looking good until the photos of the top and that System76 logo. They should just go “S/76″ or Sys76” or something.

    4. Waded into the comments to recommend a System76 linux laptop as well. I didn’t have the money to grab a new laptop from them, but I installed their pop_os! on an older laptop I had and the developer experience has been top notch. Highly recommended!

  2. My latest MacBook Pro 13″ purchased this year does not have issues but before that… oooh boy. But, I spent a good part of Sunday and so far half Monday trying to move my wife’s laptop to new hardware and upgrade it to the latest and greatest. Every single step, for some reason, is riddled with problems, and this supposed to be an easy upgrade from Mojave to Catalina.
    I am surprised to hear about fonts on Windows. I have a windows desktop and screen and fonts look beautiful. I especially like that I can move a window between displays with different resolutions and window size stays the same visually. Mac OS is just pain with this. It seems like they change behavior with every update a little bit but still cannot get it right.

  3. Nice summary. After years of using mainly Linux and a little bit of MacOS I also tried to switch to Windows as my main development machine for PHP and Python applications. I actually used it for 6 months and I managed to set most of the stuff how I wanted. But it’s slower, has its own set of bugs and limitation and ultimately it wasn’t worth it for me. Back to Linux and fully enjoying it.

    1. Same for me. I use Windows at work because I have to, but at home and for my personal projects I rely upon my Linux machine. It caters for all of my dev/sysadm/learning needs, it’s extremely neat and it’s as rock-solid as it gets.

  4. If the *NIX is that important for you, giving a try to an actual Linux, like elementary OS, may delight you.

    It’s a lightweight but beautiful distro. They’re based on the latest Ubuntu LTS version, so you won’t need to be messing with alpha versions.

  5. This definitely aligns with what I’ve felt too. Keyboard aside, the upgrade to Catalina was horrible. I still have issues getting older rails apps running on this now. Apple’s attention to detail on both hardware and software have slacked off a ton; however, Windows just doesn’t feel quite there without banging your head against the wall a ton. If I’m going to get really custom, I might as well go with a linux machine like the new Dell ones, or something from System76.

    1. Definitely System76. The work arounds in a Windows environment especially with the emphasis on mobile integration are just flustrating. I wish Microsoft would separate out the consumer OS vs the developer business one.

  6. I recently needed to switch to Windows (Dell XPS 15′) due to a new policy at my workplace. The switch wasn’t that easy as I expected, mainly because of the same reasons you mentioned in your article. Poor font rendering (even a Linux distribution like Ubuntu is better at this!), missing *nix tooling and on top of that strict usage guidelines from our it department. For example, local development is generally forbidden, so the WSL2 for me was quickly out of the game. The only solution for my situation was to move all my development stuff over to a remote linux machine on which I connect via ssh to do my daily work. Access to my files is granted by a mounted volume from that machine. It kinda works and it isn’t nearly as slow as the WSL but a little quirky because the need of an active ssh session. In the end the real pain came from finding a usable terminal emulator (not Putty, I ended up with Terminus) which supports a terminal multiplexer like GNU Screen or tmux (tmux support is for some reason in all emulators I tried limited).

    1. Using WSL as ssh terminal environment is a blessing though. I see no need for third party apps there anymore.

      Is the font rendering truly a Windows OS or rather a hardware issue?

      Running at full UHD on a 15″ Dell Precision (282 PPI), The Surface 3 has only 201 PPI, I have no noticable font render quality degradation switching back and forth to MBP.

  7. Going on a tangent here: since you tried to run Docker for Windows, I am assuming that you use Docker for some of your Rails work.

    If so, I am wondering if there is some Rails-recommended way of configuring your app to work in production Docker containers. For example, a Rails guide listing a set of recommended settings such as setting the RAILS_LOG_TO_STDOUT env variable.

    Maybe Rails being Omakase or “batteries included” for Heroku-like production deployment is deemed good enough and can get you pretty far.

    But once going the container way, I feel like as a developer I am on my own “digging through all sorts of write-ups and tutorials” like you did trying to make *nix tooling on Windows work. Maybe that is a non-issue: if you are at the stage where your team wants containerization, you probably have an ops person helping you with this anyways.

    1. We use Docker for services at Basecamp. So database, cache, search, they all run in docker containers. But not the main app (for development).

      I’d be happy to see more work done on Rails to make this all even easier, though!

  8. I still have my 2013 MacBook Pro for this reason. It’s still reasonably fast, and the keyboard is pretty good. But like you, 90% of my work happens on an iMac, which is a fantastic workhorse, with 4 cores, virtually unlimited storage, and 40GB of RAM. I can run all my apps and 3 different VMs of Windows, and it barely breaks a sweat. As for MacOS, 98% of the time it works 100% of the time. It isn’t perfect, but it’s pretty damn close.

  9. Hahah, I love it. All the outrage, but when the rubber hits the road, you come crawling back. I’ll be waiting for the Linux edition of this experiment.

    1. All the outrage is still there. I never left, I simply added an experiment on the side. And I do hope to do the Linux edition of this experiment next!

  10. Rails doesn’t work well with Windows. Its a problem because 95% of developers in corporate America use Windows and this a reason why it isn’t so popular in that environment.

    1. I’m all about supporting developers who want to change that story. But I’m not putting myself through Windows to do that work.

  11. @DHH

    With the recent blog posts of Basecamp dropping Google Analytics and Art19 … I thought their was a chance Basecamp as a company dropped Macs and went all Microsoft (hardware, OS and email).

    I guess not. Would have been interesting though.

  12. I’m sure you have already tried this, but I absolutely depend on the great and free Unshaky utility to make the keyboard on my 2018 MBP 15″ usable at all. My current stats are over 2,300 (!) “shaky” presses ignored over the last 6 weeks or so.

    1. I found Unshaky helpful, but not perfect.

      As for missing keys, I wonder if it might be software related? My h and q keys sometimes just stop working in applications until I reboot. It’s not hardware related. I’ve bled myself dry trying to find what could be causing it.

  13. So you poorly researched your chosen solution to Apple’s lousy keyboard, and then decided to knock on Windows for it not being *nix. What kind of nonsense is this?

    Yes, windows has come a long way and implemented a lot of improvements, but it’s not a *nix OS, and you can’t expect it act like one.

    Your time would have been better spent actually trying to be productive within the feature scope Windows offers, including learning stuff you don’t know like Powershell for automation. Instead you wasted your time by trying to get win 10 to work like OSX, and then writing this article to complain that it doesn’t. Of course it doesn’t, we all already know that.

    Water is wet by the way.

    1. This.

      I’m sorry, but “typing a few sentences” in the store isn’t a very good way to test or research a new dev machine.

      If *nix is important to you, buy a machine that runs Linux. As others have pointed out there are lots of manufacturers that would be happy to sell you great hardware that runs Linux. Don’t buy a Windows machine without researching if it will work for your use case and then complain that it isn’t Linux and that features that aren’t done and aren’t supposed to work yet don’t work yet.

      Good for you for at least trying though. That’s a lot more than most Apple apologists will do.

    2. I feel like this also missed the bigger selling points of windows over Mac, namely customizability. Mac is meant not to be and hence everything in it will be optimized for the few options it has vs windows which generally has a multitude of options for everything.

      That being said, Mac users aren’t used to that being easy so probably doesn’t know how to set everything up exactly the way that will work well for their needs.

    3. So glad to see your comment. I thought I’d stumbled onto a strange echo chamber of Linux users who don’t use Linux.

    4. My thoughts exactly. There are multiple ways to make Windows work well with *nix tools. cmder is one of them.

      What would people say if I wanted to do what I do on my Windows, in MacOS? I don’t think I would be getting a lot of support here.

  14. I’ve been doing this for the last two years – running KDE manjaro on X1 carbon. Holy shit it’s good. Like you, I absolutely detest the MacBook butterfly switches, so I customized KDE Manjaro insanely close to MacOS. Down to the icons, those circular buttons for closing, minimizing (you get the point). As a developer, the keyboard is very important for me so ThinkPads are amazing. I run Windows as a VM for any annoying software that isn’t cross platform. Doing this, your wallet will be happy, you’ll learn to appreciate the lightweight nature of linux even more, I really recommend you try it out, unless you depend on Adobe products.

  15. What’s this font rendering issue you speak of? I returned a MacBook a year ago because of the awful font rendering. After mavericks, it’s like apple gave up on hinting and now they just throw text at the screen with complete disregard for which pixels it lands on. Even with retina, text has a blurry gray halo. Gross. I’ll take the super sharp perfectly hinted and aligned type on Windows any day; assuming terrible cleartype is hacked off.

    For text,
    Maverick > Windows > newer MacOS > Linux (at least every distro I’ve tried)

  16. Dude,

    Lenovo Thinkpad T490s or X1 extreme windows 10 and an a local vm with your favorite flavor of Linux. You can expose the vm guest to the host so run *unix commands on the windows box. The Thinkpad is best portable pc hardware and I carry a 13” touchbar MBP for work.

    1. That’s my setup with the X1 and it’s awesome. Win 10, Virtual box and Debian with KDE and it is flawless 🙂

  17. Another bonus if you go with Linux for a real *nix environment (I think Mac’s have a substandard environment, so Windows must be quite low)… You actually can run Docker natively.
    No vm.
    Even Macs spin up a Linux VM in the end to run Docker.

    So you actually reap the benefits of containers vs VMs, in terms of resource usage (and tooling!)

  18. I use cygwin for *nix env.
    It is great. Try it out.
    It’s very easy to set it up using the installer on windows.

  19. Dell has now been offering Linux laptops and workstations for a decade. They have recently released a new XPS 13 with a slow of options to tailor your needs. Should try it out… The hardware is rock solid.

    1. I agree completely. I’ve been using Linux for almost 20 years. And recently Arch Linux on an XPS 13 for the last 3 years. I have to use a Mac at work and it’s just not the same. And as far as customization, it doesn’t get more customizable than an actual UNIX system.

  20. The Thinkpad is really nice with Win10 or Linux. I find I get more done with Windows or Kubuntu than I do with Mac. Plus, there are way more programs that work great on Windows and Linux. I find Mac beautiful, but the software just sucks when compared. I was mainly a Mac guy from 2009 until recently. I just finally realized in the past year that there are way better options than Mac, especially if you are a power user.

  21. Some people just better stick to their skinny jeans and soy milk. Trying new things you’re unfamiliar with can cause triggered anxiety. You’re a Mac. Stay a Mac.

  22. Thinkpad with Linux. That is totally what you are looking for. The hardware is second-to-none (except maybe Apple), the keyboard is best in any laptop. And the OS is excellent for linux development. When you spend time in a Linux DE, you will realize that it is totally geared towards Linux development.

    As a long time Apple user, I hate the keyboard on my mac book pro. I hate it so much that I purchased a Thinkpad bluetooth keyboard to use with it! And for my personal laptop, I have a $250 used thinkpad with linux that I love.

  23. Very entertaining read, thanks. Google told me to read it, so this is my first visit. I use an iMac at work and a Windows laptop at home and on the go. Both I use to access Linux servers. I find the WSL experience enjoyable (with a good xterm setup; the Windows shell is woeful) and become frustrated with the OSX package installation frustrating. I’m glad I go between both and use each for its good points.
    Question: can’t the magic keyboard 2 be used as a replacement MacBook keyboard? It’s small enough to carry around…

  24. I’m an old IT exec.
    I’m glad you tested a surface instead of me.
    I have experienced enough to not even bother.

    Macbook? Get real.

    Linux. I have been using for over 25y.

    Maybe try a chromebox/chromebook and report back.

    Honest sincere advice from a tech pro.

  25. Just like you I did try jumping out of Apple last February, however I managed to survive the shock. It was not just the horror of font rendering, there were plenty of details that make Apple look sexy. I solved my WSL problem by cloning inside WSL not on my windows drive (some side annoyances happen if you do that though). Also I did try Linux and it was even better… but cutting the story short, I decided to stay on Windows because even if it was the least stable operative system, I decided to prioritize more freedom on what I can buy/use.

  26. DHH, just hackintosh it, it’s easier then you think! Do that you get the Mac experience on this hardware. The Clover bootloader and a few next files is all you need. There are tons of tutorials online. Been running on hackintosh for 12 years now and couldn’t be happier, it’s become so good that even the upgrade from Mojave to Catalina went flawlessly on its own.

  27. I write security software for Windows and I’m a old fashioned vim and Unix guy who prefers ksh over bash.

    I use wsl to write code and use cscope and grep. Compilation is on visual studio.

    I know my use case isn’t the same as yours.

    Perhaps you should give vmware running Linux over windows a shot. I have multiple Dev environment for multiple products i work on, and each Dev environment is a separate VM for me.

  28. Hackintosh! Choose your hardware (Dell XPS would be my recommendation) and away you go. Sure it’s not 100% functional but isn’t far off. There’s plenty support which I personally have never needed other than a re-read of forums. Low and behold a good experience overall, no keyboard nonsense and the operating system works solidly for the majority of users needs.

  29. Font rendering on Windows is a disaster. I was shocked how bad it is. With the money they have at hand you would think they hired someone to fix it.

  30. The state of font rendering on Windows is kinda sad. There’s actually a fascinating history behind it:

    Great, honest appraisal of your experience. Real and brutal. This is just the sort of unapologetic review Microsoft needs to hear. Thankfully, under Satya Nadella, they’re a changing beast and, it seems, really trying to understand and listen to their customers. It’s a long road, but they’re headed in a good direction. It wouldn’t surprise me if Windows 11 is *nix (maybe Android) based. Much of what they’re doing in various guises suggests they’re heading in this direction.

    1. Interesting, too, how your fractured, uneven, curates-egg of an experience with Windows mirrors current culture within the company itself. There’s good intention there, and strides have been made, but a long, long way to go.

      Perhaps, the biggest difference Nadella has made though, I think, is that now, we’re all rooting for them to succeed, right?

  31. Is it a coincidence that within last 3-4 weeks, I see many tech leaders talking about this move from Mac to Windows? For example, Tomasz Tunguz shared similar sentiments when he tried Windows after 15 years though he does not talk about moving per se:

    The gap is closing, and which is good for the consumers.

  32. You should really consider going native. I use a thinkpad with KDE Neon and I dual boot windows because some apps or suites, yeah Adobe I’m looking at you, don’t run well on Linux. You could also run a virtual installation in Linux so you don’t interrupt your workflow. Also I don’t think you can compare surface with MacBook pro because it’s more of a tablet, not upgradeable etc. I totally recommend a thinkpads. They are beasts.

  33. I’ve been in this loop many times and finally broke free by going legacy. I’ve got some incredible Windows apps and run them on the only good Windows operating system – XP on an old laptop. Windows 7 on my newer Toshiba laptop. Updates BLOCKED. Full disk encryption with Diskcryptor (the same free encryption software that the Ransomware pirates use !) For every day computing at the desktop, Max OSX -> YOSEMITE (10.10). No upgrades, not to El Capitan, not to Mojave. No busted apps, everything works. Much of it free like the beautiful “Bean” text editor, “Keka” file archiver/dearchiver, “TCP Block” firewall to shut up nosy apps from sending back “marketing” or any other “info”, “Disco” disk image burner. NO updates or upgrades so Apple can sell me new hardware. 8 Gig of Ram. Wine installed to run some legacy apps, Use “New Disk Image” in Disk Util to create images of CD, then load them from disk utility (the first time you do it, it fails but then do it again and it loads the image, no more CD needed for that app you’re running that needs it. POSIX on the command line as with all Macs. It works, no fuss, no muss, no expensive upgrades, no apps that stop working. The hell with you Apple. Windows 10 ? The HELL with you Microsoft.

  34. Are you seriously the only guy on the planet who has never heard of an external keyboard? For that you’re going to take a nice sized dump on windows? The accessories aisle at your local computer store would be a revelation to you.

    I had to do a double take to make sure I was still reading a tech article and not yet another hatchet job on Windows.

  35. I’m guessing you didn’t like the font rendering because you’re used to a Retina display. Fonts will always look smoother on displays with higher pixel densities, so for a better experience, next time try a laptop running Windows with a 4K display.

  36. Dell Precision 5540 + the latest Ubuntu / Kubuntu / ElementaryOS makes for a nice MacBook Pro replacement assuming you don’t need Microsoft Office or MacOS specific software.
    I too had keyboard failures after i used the keyboard for a little over 3 months, dead keys, repeating keys and my e-key cracked, spacebar got stuck.
    Other than keyboard issues, screen delaminating, graphics card dying, overheating issues, one USB-C port causing kernel panick when used.
    This was on a 2017 model, was very disappointed with all these failures.

  37. I switched to Windows before WSL came out, and had very few problems. I still have a Mac, and can use it when I need to debug Safari, the worst browser on the market.

    Now with WSL it’s even easier. I don’t seem to have any of the issues mentioned. I use an HP x360. I don’t think it’s the best keyboard, but better than the MacBook.

    I have never had any problems with the filesystem. It’s always been flawless.

    That said, my needs may be simpler than yours.

  38. I don’t understand why you didn’t aim for Linux when that’s really what you wanted. Instead you bought the one brand that is the most difficult to run Linux on, then tried to get Windows to do Linux stuff natively. It’s an entirely new thing and nobody would recommend it to a Windows novice.

    You like osx because you don’t have to think about it, and that’s great. If you’re going to develop outside of the ecosystem box created for you then you need to be willing to understand what’s going on. Even if you dove directly into Linux instead it’d be a sharp learning curve. I’ve been trying to “dive in” myself for a few years, all of my computers dual boot, or in the case of my Mac triple boots, but I still feel I’m a novice at times when a new Linux update breaks grub and smacks me in the face.

    My end point here is you evaluated Windows based on the font rendering and its Linux prowess. I hope you see how that doesn’t make a lot of sense. If you don’t see that then you’re very not ready to leave your ecosystem.

  39. I was so happy with my 2014 MBP. I kept waiting for years for a good replacement until a year ago or so I gave Apple the middle finger and moved to Windows 10 (super powerful desktop too). It was indeed a nightmare to get right, but I’m amazed at its stability and how I can just get shit done that was so difficult sometimes on OSX (multiple weird monitors for example).

    Git on Windows is super fast for me, not sure why it wasn’t for you. It’s a slog on WSL of course, but I’ve learned to live in two worlds. I edit in Windows, and run servers and other easier-to-run-on-Linux stuff on the WSL.

    Chocolatey is also great.

    Oh, and I can haz gamez! (not that I play much, but when I feel the itch, any game I want, it just works)

    PS: Linux is also great for dev, and I used it for years before OSX, but I prefer the UX of OSX and Windows 100X.

    1. Multiple monitors are not good on the MacBook. I had a 2017 MPB with two 27″ monitors. You could not daisy-chain the 5k monitors, and the $1200 monitor didn’t have enough power to charge the MBP. I was had issues with sleep and resume, not to mention that the crappy intel graphics card didn’t have enough snot to drive one 5k monitor, let alone two. This was the top of the line 15in MBP. Waste of money.

  40. Talking to my nephew the other day and he had exactly the same frustration. Apple no longer had those good old years magic. Imagine Tesla or SpaceX without Musk.

  41. I cant help but believe you would’ve had an acceptable experience had you started with a Pro version of Windows 10. Even the slackest noobs know better than to buy a Wondows Home edition. Its like expecting Corvette power out of a Chevette.

  42. Well… you could have saved your pain and 1600 dollars by buying an Apple external keyboard that has keys feeling close to the 2015 Macbook. A bit less travel but nothing to spit at…

  43. There’s a reason why only 13% of computer user’s use Mac’s. Maybe give Windows another chance.

  44. Your lack of knowledge in apparently many areas is what shines through in this article and shouldn’t be mistaken as an actual review. Come on, it’s not rocket science. Even on Windows 10 Home, this is all basic stuff.

  45. Well, the keyboard and the ridiculous port situation. That has stopped me from upgrading my 2013 MacBook, which is on its last legs.

  46. Font rendering is the last thing that I would think someone would complain about.

    WSL is slow, and the windows command prompt is as horrible as it was in Windows 3.1. If you have Windows Pro, hyper-v works great to run a Linux VM and Docker.

    However, Macs aren’t perfect. The Catalina upgrade was terrible. App installation that isn’t from the App Store is terrible and varies. The touch bar is literally useless (and no escape key). Window snap isn’t built into the OS (like Windows). Switching to a minimized app (hidden?) won’t unhid it. You can’t drag a window across two monitors. I could go on, but the moral of the story is that there are trade offs in every OS. Don’t get me started on Linux window managers.

  47. A couple of issues with your claims here. First, to bring up font rendering and how you prior to Android 5 didn’t like it but now do. But Android hasn’t changed font rendering since 3, long before your supposed cutoff. So 4 5 and 6 all use the exact same font rendering so that’s clearly not the actual issue you seem to have with the fonts. Sure it’s not something like trying to render fonts at a non native resolution to the monitor? I’d imagine someone coming from osx might try to crank up the resolution on the surface beyond it’s native as an example. And then you say you need pro to run docker on Windows. This is quite false. This is only needed if you want to run it under the hyper-v subsystem but you absolutely do not need to do that. You have 4 ways to run docker on Windows, 2 requires Windows to be updated to current Windows insider builds, one is through hyper-v and the last doesn’t really require anything beyond running win7 or above.
    Then you complain about the default edge browser and compare that with safari. Well there’s major holes in that comparison, among other things that edge is running in a completely different way from most other browsers and IE is just as much a default as Edge is as they are both context based defaults. And “the chrominum” renderer as you name it, is webkit, the exact same renderer that safari uses. And you 68 score is bullcrap. A surface laptop 3 that I have right in front of me gets 169 so you’ve definitely messed up some settings there. The same I suspect with your terrible filesystem performance because that too, is definitely not normal.

  48. Your review can be summed up like this:
    I tried a new girlfriend, but i can’t stand the nuance of her blonde hair and i tried to have a discussion with her about boiling an egg but it was too complicated. Bottom line she is not great. Such a fair and extensive review.
    Please keep using Apple products, windows is hard for some people.

  49. in the outback of Australia. wanting to just plug a simple usb cable with a compact flash reader and card into a laptop. along comes a mac. no recognition. nothing. surrounded by people. all mac people. but nothing. along comes a bloke with a pc. plug it into this he says. bloody hell. it works!! saying nothing but there’s so much mac who ha out there it hurts..

  50. Why would you put Linux inside of windows? That just doesn’t even make any sense.
    Go to disk management.
    Resize your partition down to half. If you have a 1 terabyte hard drive make it into two 512GB partitions. You can do that over the windows partition while windows is still running. Windows sits on one half. Then you install your favorite distro of Linux on the other half. When you turn your machine on, the boot loader comes up and let’s you choose one.

  51. Cool experiment. I have been using ubuntu on my Surface Laptop. This is thanks to Jake Day’s linux-surface work on GitHub.
    My Surface laptop’s hardware is awesome as is my MBP awesome…Very comparable. The biggest things I miss when not using my MBP are finger gestures on the trackpad, and (sort of) built in emacs key bindings. I love it that gnome-tweaks with ubuntu has an emacs switch.
    I would love it I could run macOS on my own choice of hardware.

    I’m glad that Microsoft is trying. I wish I could remember how to get the virtual network switching working in Hyper-visor to easily install an ubuntu instance, but I seem to forget.

    First world problems…if I had to replace all my hardware, I’m pretty sure I’d dual boot win10pro and ubuntu on a Dell XPS 15 with ubuntu being the default option for 95pct of my workflow.

    Thanks for sharing.

  52. This brings me closer to the conclusion I’ve been avoiding “that Apple users are ingenious”.

    The truth is its not really their fault though.

    Apple has done all the thinking for their users so the users are not used to thinking for themselves so they find it difficult to survive in an environment where they are given the freedom to customize their tools.

    This is where the problem lies.

    When things just work on your OS for the specific things you need them for, you begin to think the world is perfect.

    I really don’t see any sense in all the complains listed in this article.

    I’m rather sure you wouldn’t have issues if you knew what you were doing and used the right tools for the right tasks

    1. Agree with that. The word puts off even though the content is very useful. DHH, would appreciate if you can consider not using it.

    2. Please stick with saying the “Fuck” word. It shows to me when you are really pissed with something, really honest.
      More people should be honest with their feelings and happy with expressing them verbally or written.

  53. “The font rendering in Windows remains excruciatingly poor to my eyes. It just looks bad.”

    hmm I have a friend that has the same opinion. Is it weird that when I use mac/win I don’t really notice these font rendering issues? Sure, they feel different but I don’t really pay attention.

    A poll on this would be interesting haha

    “A 10-second operation on OSX took 5-6 minutes on Windows.”

    10 sec vs 5min is indeed SUPER SUPER BAD. I’m curious why I don’t see big differences when using regular angular8/react projects. Sure, you feel that it might be slower (wsl1 here) but it’s just fine. Again, 10 sec vs 5 min.. meh. I’ll actually do some timing on a “large” project that I have here.

    “The default Edge browser that ships with Windows 10 is also just kinda terrible.”

    Well… yes, but that will change on 15th January, when the “Chromedge” takes over officially. Tbh, Safari causes more trouble for me than the old Edge (when dealing with frontend) and I’d avoid both.

    tl;dr: I’ve been using WSL for months and it’s just as nice as my previous dev experience on the now super dusty macbook pro that I have. Anyone else having a good life on WIN10/WSL? Both with pros and cons, but having 1 machine that I can do work, gaming and media is awesome.

    p.s: I’m currently using Hyper as my terminal (while the new Windows Terminal is still unstable).

  54. I do web dev (mostly node) on windows, mac and linux, so I can see where you’re coming from. Personally I don’t think windows’ font rendering looks worse, but that’s because I’m used to it. The performance issues I’ve also observed. NTFS is just a lot slower than APFS, ZFS, Ext4, … when dealing with lots of files. You see this even in file explorer when copying many files. Sadly modern web dev is all about copying thousands of files many times a day, so there’s no way to make it run fast on NTFS. That means on windows you have to do some kind of VM so you can bypass NTFS: WSL2, virtualbox, vmware, … I found maintaining that to be too much of a bother so on windows I typically just tolerate worse performance and run all tools natively (except for shell scripts, which I run in WSL). Like you say: it works, but it’s worse.

    The calls to try out linux or thinkpads I can echo, but there are caveats. Thinkpads of the T, P or X series indeed have good reliable hardware and great keyboards, probably the best keyboards you can find on any laptop: amazing feel, good layout, and near indestructible (spill-proof and dust-proof). I love my thinkpad’s keyboard, and it has ruined me for macbook keyboards. I find apple’s desktop keyboards to be acceptable, but worse than the thinkpad. I ran windows on it until a few months ago, but due to the issues you observed as well as some others switched to ubuntu. It is a LOT faster than windows doing the same things, and the entire web dev stack “just works”. Although Lenovo tries to optimize thinkpads for linux, they don’t guarantee full linux compatibility. E.g. the current gen T series lacks a driver for the fingerprint reader, and on my thinkpad I have performance issues with the intel wifi. If you want it to “just work” either research models carefully, or buy something like System76 with linux pre-installed. There are other annoyances. I had problems with hidpi / mixed dpi (every OS sucks at mixed dpi in some way, but linux is the worst). I have yet to find a good image editor (krita is ok-ish, but it is Qt and I use mostly GTK apps). I really miss the ability to run microsoft office. The clipboard doesn’t work how I want it to half the time. So you’ll probably be trading flaws on linux: the web dev situation will be excellent, but everything else will be worse.

    For me personally, in conclusion: only apple’s stuff “just works” for web dev (I love my iMac), but the keyboard feel and reliability means I refuse to buy macbooks and I’ve found linux on a thinkpad to be an acceptable compromise, with a few caveats. YMMV.

    1. Seems like the Butterfly keyboard made the exit in the 16″ Macbook Pro.

      Just for you to go back to it, David!

  55. Looking forward to your Macbook 16″ review. That one seems to have solved most of these problems.

  56. I am using a MacBook Pro 15″ 2019 (June) which pretty close to a maxed-out configuration. Just about 2 weeks option key started making some noise, next was delete key, and then \ key, space is probably the pain point for many but it surprisingly working fine for me. I use the machine very less these days due the nature of the work and traveling. Sadly this expensive stuff is a failure, I am still fine with the key travel of butterfly keyboard but overheating, and keyboard makes me feel very bad and feel like to go back to MacBook Air which perfectly served me for 5 years (I had an iMac as well then). The new devices looks promising. @dhh, are you going to upgrade? How the requests from Basecamp employees coming up for an upgrade?

Comments are closed.