re: The new MacBook Pros are overpriced VIEW POST

FULL DISCUSSION
 

Yay, unpopular opinion incoming :-D

I think I mentioned somewhere else that I switched from Mac to a Windows 10 workstation fairly recently.

I also used Linux desktop (Gnome, KDE) for about 10 years. And I had a constant love-hate relationship with it. Overall I felt like being part of an eternal, never-ending beta test. Before that I went through several iterations of Windows, and I also remember (not so fondly) the MS-DOS era.

Out of all operating systems and desktop environments I've been using in my life Mac OS X is by far my favorite. I like the ease of use, I love the thought, effort, polish and creativity developers put into their tools and applications for Mac OS X. I do not quite see that on the Windows platform (just yet). Tools like Paw that are unparalleled, extremely well designed, feature rich and completely blow Postman out of the water. There is no replacement for that on Windows.

There is also nothing like Alfred, nothing like Pastebot or programmer-friendly really good clipboard managers. Or quirky and strangely useful tools like Strukt.

Also the situation for good, stable terminal emulators that do not make your eyes bleed is pretty dire on Windows 10. There is Cmdr. It's OK. The UI is dated and ugly but it gives you probably the closest experience to opening up a terminal on Mac or Linux.
But it also has bugs when you SSH into a remote and do anything that is interactive and updates the screen buffer. It just glitches out and you need to close and open it again. Also do not try to resize your Cmdr window. Same issue.

I spent a good week downloading and evaluating Windows terminal emulators. The only ones that look good, polished and modern are implemented using Electron and are noticeably slow and not really all that mature.

There are a few Mac developers who start reaching out to Windows, but their efforts are very early stages.

I built a Threadripper workstation with 16 cores and 32GB RAM. I would assume the hardware is not really the bottleneck here (even though focus has been traditionally on intel CPUs). But there are simple operations that are inherently slow on Windows. Trivial things like deleting, copying or moving a file. I think the file system is just not well optimized. It's a jarring experience coming from Mac.

I'm OK now with developing on Windows 10 but getting comfortable was a fight with many compromises. Sure the ways of Windows are different and there are many ways to skin a cat. But I miss the Unix-y way and POSIX compliance in development. I primarily use the terminal for many things. In order to get some Unix-y flavor here you either have to use Cygwin (and I couldn't get to run reliably 100%) or WSL (Linux subsystem). Both are tacked on. Both cannot properly interoperate with Windows-native programs and features.

The WSL was also a constant source of pain for my team last year. It had bugs that would cause file system related issues, especially when reaching from WSL into the Windows file system (e.g. work on a checked out git repo). It caused undeletable "ghost" files only a restart could sort out. These issues are probably fixed by now. But there are other issues with WSL. For example WSL sets Windows files and folders to "case sensitive" on write access, which is not the Windows-native way of doing things.

The Visual C++ compiler for example cannot find source files that are flagged as case-sensitive, so if you happen to have a C++ project checked out on your Windows file system and happen to access it from WSL brace yourself for potential problems.

I personally do not see much value in WSL. It's quite slow, does not interoperate properly with Windows-native applications (unless you keep it 100% separate for specific tasks such as running servers or SSHing into remotes). And quite frankly, you might as well just use a Raspberry Pi and SSH into that thing instead. Or use VirtualBox.

 

I'm using Windows, Linux, and MacOS in parallel most of the time.

Sadly I can't get rid of MacOS because of iOS development :/

 

I'm using Windows, Linux, and MacOS in parallel most of the time.

Which one do you prefer? Altough my post was originally mostly about the hardware, we've veered on operating systems as well :-)

Well, sadly MacOS implies hardware :/

I like Linux, then Windows, then MacOS.

Linux (Xubuntu) feels rather snappy and all the dev tools run on it (besides Xcode).

MacOS also gets more dev-love than Windows it seems, but I never got the shell configured as I liked it without getting some strange bugs along the way. Also, the window manager of MacOS is horrible.

I like Final Cut Pro, which is a MacOS application, it's not as expensive as Premiere and quite optimized to run on Macs.

Games run much better on Windows and most non-dev applications seem to be integrated more nicely and work more performant (Firefox).

MacOS also gets more dev-love than Windows it seems, but I never got the shell configured as I liked it without getting some strange bugs along the way.

Weird, I've never had problems with zsh on macOS

Also, the window manager of MacOS is horrible.

Ah ah kind of, I use divvy and "hot corners" to solve that

I like Final Cut Pro, which is a MacOS application, it's not as expensive as Premiere and quite optimized to run on Macs.

True, Premier in turn is more optimized on Windows than on macOS

Games run much better on Windows and most non-dev applications seem to be integrated more nicely and work more performant (Firefox).

Yeah, gaming on macOS is a non starter

First thing I tried on my Mac was setting up zsh, but somehow different tools I used still started other shells.

I use iTerm2 with configured with command shell in Preferences -> General -> Login

In addition I use ohmyzsh and SHELL=zsh in the zshrc.

If you set the SHELL variable tools should respect it...

Zsh is installed with homebrew

Window management on Macs is really buggy. I've used Macs at work for abut 6 of the last 10 years and they've barely improved. Windows disappear, monitor settings disappear, mouse cursors work on one screen but are invisible on another, full screen apps vanish, that sort of thing. Happens a lot, whereas at least Windows is relatively stable (I never thought I'd say that).

Even iTerm2 has a whole slew of bugs. My favourite is when the screensaver kicks in there's about a 25% chance that iTerm will stop responding to mouse clicks and instead insert control characters onto your command line. That's fun.

Windows disappear, monitor settings disappear, mouse cursors work on one screen but are invisible on another, full screen apps vanish, that sort of thing.

The only thing I've noticed for sure is full screen apps and multi screens. Sometimes you have to display all available windows to find them. Another weird thing that happens to me is that sometimes if I decide to open the lid of the laptop (connected to the external screen) and close it again macOS thinks the only connected monitor is the laptop. But this hasn't happened since the last two minor versions of Mojave, so I guess they fixed that.

I feel that macOS for all its quirks, still moves faster than Windows with his complicated "editions". The relase of Windows 10 October 2018 1809 was a "clusterfudge" :D Not that this stuff never happens for macOS, if you think about it, it's kind of a miracle that Windows 10 works at all since the infinite combination of hardware configurations and more or less compatible software they have to deal with. Kudos to Microsoft on this. Apple only has to deal with their own hardware.

Happens a lot, whereas at least Windows is relatively stable (I never thought I'd say that).

ahahha :)

Even iTerm2 has a whole slew of bugs. My favourite is when the screensaver kicks in there's about a 25% chance that iTerm will stop responding to mouse clicks and instead insert control characters onto your command line. That's fun.

That's weird, I've never noticed because I don't use screensavers.

At work we have an enforced screensaver for "security", which I get round by using the app "Caffeine"...

 

Thank you very much Thomas, a lot of very detailed information!

Another factor in the choice, that I didn't really think about yet, is how much adjustments I'd have to make both in development and in normal "desktop-y" usage.

Lots to think about, as usual the perfect system doesn't exist (well, it's macOS with less stupid hardware choices, at least for me :D)

 

Yes, I gave it a good proper thought ahead of time and went on a hunt mainly in hopes of finding 1:1 replacements. It's impossible :-/ I had to adjust and do things in a different way. The only things I work with which are available with the same feature set for Windows are:

The ones I used daily that do not map are:

  • Quiver - I had to switch all my stuff to individual markdown files. But that's not really a bad thing
  • iA Writer - they have a Windows 10 version but it's very bare bones early stages and I doubt it will ever reach the quality and feature set of the Mac OS X version.
  • iTerm2 - I couldn't find a good terminal emulator. Cmdr is probably the way to go though.
  • Pastebot - I replaced it with Clipboard Fusion - It's not as good in terms of running (custom) filters though, or I couldn't figure it out yet
  • Alfred - I found Ueli but it had two problems: 1. it was slow to start and not really responsive. 2. It started giving crash messages on startup.

At least there is Chocolatey as a suitable Windows replacement for Homebrew

I do not like Windows built-in mail and calendar clients. The calendar for example doesn't allow you to change the target calendar / target account of an existing event. Something that can be done with ease using Fantastical. I'm using em Client instead and I have to say I'm quite happy with it. It's quite customizable and does everything I need to do.

I've spent years building a stack that is as cross platform as humanly possible due to the nature of my work, def feel your pain on 1:1. Some alternatives for your consideration:

Conemu (mux and window manager)

Wox (lame Alfred)

Typora (newish, but I've liked it, prefer it for docs as it gets out of my way)

Vscode has continuously improving java support (and dozens of other languages) and starts fast for an electron app if you don't load it down with plugins. Good for small changes and quick inspection, as well as a better editor for most things. Also has a --wait flag for use with git and similar.

sublime is handsdown the best large file processor for Windows. It's the only tool I've found that will easily regex modify multiGB files on Windows (aside from grep|sed+awk, but ymmv on that wish wsl, as you've probably seen)

And as slow as it is, powershell can be made to feel a little more like zsh with a little wrenching. There's even a better package manager for it. In some use cases, I think it exceeds some of the Linux tools (curls better than curl in many cases, useful for scripted testing on the cheap) gist.github.com/jchandra74/5b0c943...

And for what it's worth, cross compiling golang to windows is easy and functionally consistent. Roughly python, but better perf, and single file executables.

What are good alternatives to write many notes and snippets in markdown for Windows ?

Typora is good for generic notes, snippets. Also has built-in latex, mermaid, chartjs support
typora.io

Vscode now has ootb support for markdown rendering
vscode-docs.readthedocs.io/en/stab...

sublime is capable at this task with some configuration

Caret is an honorable mention, but isn't free.

Yes, I'm using Typora actually on Windows. It's closest in features to iA Writer for Mac. And I like the built-in code syntax highlighting. Neat feature. I will look into your other recommendations soon. Thanks!

 

"Overall I felt like being part of an eternal, never-ending beta test."

So true. I love Linux, but there's always that nagging question in the back of my mind, "will this work?" I really want a machine that I can just boot up and know it will function the way I need it to all the time. But, on the other hand, I suppose this is computing, after all. What would be the fun in that?

 

But, on the other hand, I suppose this is computing, after all. What would be the fun in that?

Yeah but it shouldn't, we are power users, we can adapt, we use computers in a different way than most people but why should we? When I'm done with my editor and my terminal I just want to use the computer, not fiddle with it :-) I don't find any joy by endlessly chasing the perfect setup or reinstalling things over and over, but that's just me, others are more keen to having that and maybe automating or perfecting their setup as uniquely as possible.

When I switched to macOS it was exactly because I was tired of asking myself "will this work", and that was 12 years ago, the fact that you're still asking this question it's not encouraging :D

 

Applications like Paw couldn’t exist on the Windows side of the fence. Technically it’s possible, but the Windows ecosystem is cluttered up with antiquated “good enough” applications that crowd out gems like that.

In some domains like video editing the Mac platform provides relatively few concrete advantages, so it’s easy to switch. In others, like web development, there’s way too many irreplaceable tools. Windows is great for many things, but general web development is a serious weak spot due to the command-line environment and state of WSL, as you point out.

If you’re making a purchasing decision on an essential daily-use tool, buy the best tool you can afford.

 

I've had a MacBook for years, got a Dell XPS from work, put Linux on it, but since then I've changed distro for at least 10 times. It's always love/hate... I can honestly say I'll go for a more expensive MacBook pro for my next laptop. The 700 dollar extra is worth the ease of life haha. It's kind of a first world problem, but I honestly really miss osx. It just always worked for me.

 

The 700 dollar extra is worth the ease of life haha. It's kind of a first world problem, but I honestly really miss osx. It just always worked for me.

Yeah, that's a valid reason. If tomorrow I walk into a store and get a new MB Pro, I can just come home, attach it to my time machine, wait an hour for the restore and keep on working like nothing ever happened.

If I switch to another hardware maker and another operating system I'm going to have to spend some time adjusting, finding equivalent software, finding an alternative to time machine, learn a new set of bugs to work around, have to deal with windows updates maybe and so on. It's not impossible, it's just more work...

It's definitely a first world problem! :)

code of conduct - report abuse