Hacker News new | comments | show | ask | jobs | submit login
The Mac Pro Lives (daringfireball.net)
877 points by neilprosser on Apr 4, 2017 | hide | past | web | favorite | 801 comments

Am I the only one that sees OS X as the biggest reason to switch to Mac? I mean Windows is good, but nowhere good as OS X. And please, don't tell me Ubuntu or other linux flavors. They look good (and are good if you are programming on them) but the UX is still lacking a lot. (Never mind the confusion of the different flavors, packaging systems, and configurations). Also god forbid you have a problem (especially a hardware problem) and then try to debug it. Good luck searching online for a resolution.

I never had success with Linux. My Macbook pro has had its shares of problems (Wifi issues that later resolved with a system update) but it's nowhere my experience trying to install Linux and battling the drivers issue.

Anyone figuring out the Linux/Laptop problem is re-inventing the Macbook Pro/OS X.

Here are things that I'd pay $1,000 on top of the current Macbook Pro model:

- Thiner/Lighter

- Longer Battery Life (5+ hours)

- 32/64GB RAM

For OS X:

- Less cluttering (ie: remove all Apps and let the user decide what to install, like Siri and crap).

- Native Package Manager

That's about it. I'd be buying the new Macbook Pro in a month. But if Apple releases something like the above, I'm more than happy to drop 5-8k usd into it.

From my perspective:

If MacOS had: up-to-date OpenGL support, Nvidia made drivers that supported new cards for it, was not locked into Mac hardware - that would be tremendous.

On the other hand, if Windows had a proper shell and cli tools, like cygwin with zsh, but native and not Ubuntu layer inside - that would be tremendous.

If Linux, any desktop variant (Fedora my poison), had Adobe's support for their DCC apps and great battery management for laptops - that would be tremendous.

If Windows and Linux had the above + Preview from MacOS - that would be tremendous.

> On the other hand, if Windows had a proper shell and cli tools, like cygwin with zsh, but native and not Ubuntu layer inside - that would be tremendous.

It is PowerShell, and it really is. Until recently I thought Windows had poor CLI support, and I discovered PowerShell and now I favor it even more than bash.

Am I crazy? Possibly, but PowerShell is truly a piece of gem in the CLI history. It is a thoughtfully crafted product regarding what "command-line interface" should look like.

    It is a thoughtfully crafted product regarding what
    "command-line interface" should look like.
How so?

I've never appreciated what's actually good about powershell... you pass objects around? So...? Is that a thing that's useful?

If you want to just automate a task, having intermediate objects that are serializable (eg. strings) so you can `foo ... > blah` and inspect the value of blah before continuing (`cat blah | command2...`) has always seemed far more tangibly useful.

Having methods on an object you can invoke like a REPL for the OS sounds like a good idea, but I've never actually found it useful; its like the python REPL; useful for prototyping and doing stuff after you've imported the 50 packages and setup all of the environment, but once you open a new instance, you've got to spend the time doing that before you can actually do any work; and its useless for scripting.

...but, powershell gets a lot of love from people; so what do you actually find it useful for?

Honestly curious, I've only ever touched it briefly and then swapped over to other things.

> If you want to just automate a task, having intermediate objects that are serializable (eg. strings) so you can `foo ... > blah` and inspect the value of blah before continuing (`cat blah | command2...`) has always seemed far more tangibly useful.

String parsing is the bane of my command line scripting experience. Even in targeting "identical" environments, all it takes is one changed installation default altering the output of one of my many commands for my scripts to break - usually in some non-obvious ways that require a good hour to get to the bottom of, rework, and fix. To prevent such changes from forcing me to rewrite my entire scripts every time, I try to centralize such text parsing and munging in one place, "deserializing" those strings once and feeding it to the rest of the system. Shipping around this deserialized state in command line scripting languages can be so awkward at times, as to warrant rewriting the entire thing in a proper programming language. Inter-operating between your new program and your existing scripts will, of course, require even more text parsing.

Don't get me wrong, sometimes munging text is your least horrible option. Powershell still lets you do that.

But Powershell's objects also let you, with great frequency, skip the "try to 'deserialize' text that was really formatted for humans and isn't versioned, can be ambiguous, and otherwise was never written with machine consumption in mind" step. If I feel the need for a 'proper' programming language for parts of my script, I can write C# modules and use them from powershell without writing a bunch of text (de)serialization code on either end. This singlehandedly eliminates entire swaths of the most brittle, opaque, and otherwise obnoxious code to ever grace my scripts.

TL;DR: Strings shot my dog.

I've been using shells on Linux VMs and Macs for years now and I've probably written less than 50 functions, and the number of times I've typed sed or awk is probably lower than 100. I pull out the real scripting languages for real jobs. I only use shells for quick things.

Sure, I could write a Python script right now that would read me the last lines of a log file on a remote server. Or, I could just type something like this and hit enter: ssh user@server "tail /path/to/log"

I think what GP is trying to say is that PS is in an awkward position between the two. It has a deeper understanding than bash/zsh/whatever, but it also requires more typing. Yes, PS will fix issues like the ones you have described, but typing in long names (at least for me) defeats the purpose of using a shell in the first place. I don't want to type in "Get-Item" or whatever a million times, nor do I want to ever worry that using redirection (e.g. "something > log.txt") will mess up because PS defaults are the way they are.

> I pull out the real scripting languages for real jobs. I only use shells for quick things.

It's my experience that the latter eventually morphs into the former "without question".

And go figure, the build server doesn't have python installed. Or only has python 2. Or only python 3. Ditto for a coworker - this being game development, a lot of those coworkers aren't programmers, and won't be able to debug "hey python is missing" on their own - sucking up IT and developer time.

> It has a deeper understanding than bash/zsh/whatever, but it also requires more typing.

Aliases, tab completion... you're not wrong, but I've not found it an issue in practice. In fact, rather the opposite: I have to do a lot more reading of documentation to decode bash/zsh scripts and whatever melange of implementation specific single letter flags they happen to be using. This is perhaps because I'll script anything that gets annoying. I don't spend a huge amount of time doing bespoke commands in a shell, though.

> "Get-Item"

EDIT: "Get-Alias" (or gal) will share a lot of shorthands. TIL %{...} is just using % as an alias, and that ?{...} is another option.

> nor do I want to ever worry that using redirection (e.g. "something > log.txt") will mess up because PS defaults are the way they are.

I've done a lot of redirection without problems - if there's a footgun I should know to avoid, please share!

> It's my experience that the latter eventually morphs into the former "without question".

I suppose we do vastly different things with our shells. Looking through my history, it's mostly things like "cd", "ls", "vi", "make", etc. and my longest bash script that's stood the test of time is 12 lines long, with the most complex part of it being an if statement in a string (trust me, there's a reason for that). I've ran much, much longer shell scripts, but I almost never write a shell script longer than 20 lines.

> And go figure, the build server doesn't have python installed [...] this being game development, a lot of those coworkers aren't programmers

AHHHHH ok we definitely do work in very different atmospheres! I suppose in instances where "coworkers aren't programmers, and won't be able to debug", I would just write a Python script and use PyInstaller so they could just double-click on a .exe

But if I'm on someone else's computer and they don't have Python or anything like it, then I would honestly just install Python. But I definitely see how you or anyone else would object to this, and I can totally understand the view that it's much better to use PS in this instance.

> Aliases, tab completion... you're not wrong

You're write, there are aliases and tab completion, just like on bash/zsh but on PS, I have to remember both "gi" and "Get-Item". Sure, I would use something like "gi" all the time, but whenever I look up something and see a StackOverflow answer that says "Get-Item", I have to know what that means, which means I have to memorize both the long and the short versions of a lot of things. On Linux shells, I feel like I only memorize a short thing like "cat". Sure, I also have to know what it does, but the same applies to PS.

> I have to do a lot more reading of documentation to decode bash/zsh scripts and whatever melange of implementation specific single letter flags they happen to be using

The letter flags part is a fair criticism. But don't all shells suffer that? It's the cost of writing quickly. I could Google "what is gi" but instead I choose to google "what does set -E do?"

As for the part about "reading documentation to decode bash/zsh scripts", I think that this discussion sums up why what you're saying is true for PS as well: https://news.ycombinator.com/item?id=14034414

> I've done a lot of redirection without problems - if there's a footgun I should know to avoid, please share!

Here's my horror story. This is the reason I swore off PS, as stupid and emotionally-driven as that sounds

I was working on two programs. One would do stuff and print JSON to stdout, and the other would take JSON from stdin and process it. I had a Linux VM running inside Windows. From my VM, I ran something like `program1 > file.json` and then I ran `cat file.json | program2`. This way I could inspect the JSON file at any time in case something went wrong in one of the two, independent programs. Everything was working just fine.

Then I stopped writing code and testing it in my VM. I decided to go the Windows route, and update my code outside of my VM, and then run my code in PS. I ran `program1 > file.json` and it worked like a charm. Then I ran `cat file.json | program2` or whatever you run in PS (it's been a while) - but it didn't work. So I assumed it was my fault. Time to debug. I looked at `file.json` line-by-line, and it was just fine, so program1 was fine. I looked at program2 line-by-line, and it was just fine, so program2 was fine. I went to my VM and ran `program1 | program2" and everything worked fine.

How was it possible that my code worked just fine in Windows, but not in Linux? It turns out that when I ran `program1 > file.json`, it fucked up my json file in a way that was like undetectable. I ran `program1` in PS, selected the output, and copy-pasted it into a text editor, and save the file as file.json. Then I could run `cat file.json | program2` or whatever from Windows and it worked like a charm.

To this day I am not sure what happened. Also, program2 supports a file name as an argument which it will then open and read, so some of the commands I listed may be slightly different from what I actually typed, but the gist of it working perfectly in bash on Linux but not on PS was enough to destroy me. Perhaps the issue was something about encoding? Sorry if what I'm saying does not seem very concrete. Here are some links that demonstrate (possibly different) issues people have using redirection:



There seems to be a solution to all of the problems, but that debugging session did quite a number on me.

> But if I'm on someone else's computer and they don't have Python or anything like it, then I would honestly just install Python.

The problem is scaling this to many coworkers. At some point it becomes "wait for I.T. to get around to automating the install across the fleet" or make your scripts install python, ninja-like. But it sounds like you're more able to rely on python, so that probably makes more sense for you (if only so you don't have to rewrite the same script for non-Windows boxes.)

> Here's my horror story. This is the reason I swore off PS, as stupid and emotionally-driven as that sounds

It sounds bad enough I can totally get where you're coming from. Heck, it's basically the exact same place I'm coming from with the "strings shot my dog" quip ;)

> Perhaps the issue was something about encoding?

Something to do with e.g. UTF-8 BOMs or line endings (\r\n vs \n) would be top of my paranoia list. I'd break out a hex editor or binary diffing tool (I've used 010 Editor a couple times for this) if you find yourself in the same situation again. Understanding exactly when I have a single string with newlines vs when I have an array of strings with implicit newlines when joined isn't something I've got my head perfectly wrapped around yet in powershell, and could be another possible cause.

> Sorry if what I'm saying does not seem very concrete.

You're offering what you know, and I appreciate it :). Sorry for the short reply (I need to be somewhere...)

I'm using a large corpus of Powershell scripts, mostly written by enthusiastic Microsoft consultants, and even if I know exactly what they do I cannot stand the mysterious imports, the sequences of script invocations and bare statements that leave the session with the desired invisible state (and, conversely, closing and reopening the session after every major command just in case), the automagical option handling, and so on.

To play devil's advocate, UNIX sh shell scripts are pretty mysterious too, and often leave the local environment polluted and other such no-nos.

Environment variables (and files) are very easy to inspect and change, the invisible bunch of objects in a Powershell session are not.

That's my impression, too. It offers a really nice feature set and surely is the one piece of windows you can get the most done with out of the box.

But boy is it ugly. And the worst thing is that all the really nice functionality .NET provides with LINQ is implemented halfway at best, if at all...

My (likely uneducated) view of PowerShell:

1. It's amazing because Windows-only admins (or predominantly Windows admins with almost no Linux experience) have never seen anything like it before. Until PowerShell, the state of the art was VB scripting or batch files, both of which are (objectively) garbage. Regardless of how long the rest of us have been working with shell scripts, Python scripting, etc., Windows users have never had the opportunity to do similar things with similar tools which are included with the OS.

2. It's amazing because it does a lot of great things that even bash scripting can't do. The idea of passing around structured data can be super handy for a lot of common topics. For example, on Linux I have to use 'ip addr list' to get list of IPs, grep to get just the IPs, awk to get just the IPs, and now I have a list of IP addresses. It's a huge stupid hassle that I have to do every single time I want to write a script that takes advantage of IP addresses.

Making everything a string makes sense when it's 1970 and you want everything to be compatible, but when basically none of the tools I use on a day-to-day basis provide the option for easily machine-parse-able output, it ends up very frustrating. The (theoretical?) promise of Powershell is that all output is machine-parse-able.

The benefit of passing objects around is that you could do things like Get me a list of network interfaces | filter by interfaces which are up | which have IP addresses | just show me the IP addresses. The few examples I've seen make it feel like your shell is some sort of half-bash/half-SQL system where you can filter, process, and loop over objects.

I can't count how many shell scripts I've had to write which parse output to get the list of data I want, then go back over that same output again to do actual work on it. You can hack a lot of stuff together with ugly hacks; getting all the interfaces on a MacOS machine with IPs except loopback? Maybe 'ifconfig | egrep "^[a-z]|inet[^6]" | grep -B1 'inet' | grep '^[a-z]' | grep -v lo' would do it. In most cases. Probably there's a better way to do it, but if you just want to get something written then you can hack it in like this, or loop over 'ifconfig -lu' (which, on my machine, shows 13 'up' network interfaces), etc.

I've been using PS for quite a bit of AWS automation lately and I have to say that I don't like it. Sure, you can pass objects around, but I've happened upon more than one cmdlet that does the wrong thing with the incoming object. In one case I was passing a "String" object to a cmdlet that accepts strings and it didn't know what to do with the object so it generated a fairly obtuse error. I had to manually cast the String object to a string. Grrr...

Another thing that bothers me is the lack of single line composability. In most Unix shells you can pipe things around with abandon; it's not pretty but it works. One more than one occasion, while working with PS, I've had to create a cmdlet because there is no way (or I don't know how) to store intermediate values between cmdlets. One example was processing things in a loop. I had to store the current value in a variable and then process that variable in another line. I know someone here will give a solution, but I looked for an hour before giving up and creating a script file.

On top of everything else, the cmdlets from Microsoft have differing switches for the same thing. One command might use -ServerName while another command will use -ComputerName. So, basically, you end up looking everything up before you can use it. I know Bash isn't much better, but at least I can expect that the tools are separate and not really designed to work together. I was expecting more consistency from PowerShell.

But why is it that the PowerShell terminal emulator is (graphically) even worse than a tty ? I've worked on ttys more agreeable on the eyes than Windows terminal emulators.

Windows is supposed to have better font support than Linux.

Also, if someone here has an answer: Why in the design of Windows aren't programs installed or symlinked in the PATH by default? I guess that was a design choice somewhere along the history of Windows/DOS. Is there a reason?

> Why in the design of Windows aren't programs installed or symlinked in the PATH by default? I guess that was a design choice somewhere along the history of Windows/DOS. Is there a reason?

Windows' way of program executable placement is using the holy Registry. It's called 'Application Registration'[1] and was introduced to reduce the needs to modify the system-wide PATH variable. (They thought it was a bad idea to modify a system variable so frequently, and I partially agree.)

You can find registered applications in `HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths`. Very few programs use that feature, which is unfortunate, but popular applications like Chrome and Firefox register themselves in it. That's why you can invoke `chrome` in the 'Run' dialog.

Edit: Another context to add: at the time App Paths was added, to modify PATH you had to edit AUTOEXEC.BAT manually which was painful. Not only that, but also PATH had a length limitation of 128 characters. You can find more details in the Raymond Chen's blog, as useful as always.[2]

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ee8...

[2] https://blogs.msdn.microsoft.com/oldnewthing/20110725-00/?p=...

> Not only that, but also PATH had a length limitation of 128 characters. You can find more details in the Raymond Chen's blog, as useful as always.[2]

I should note there are still length limits - in practice you'll run into issues with as few as 2047 characters:


Debugging this is really annoying, as one of my coworkers found out when one too many applications decided to add multiple paths to PATH (for example, nVidia CodeWorks has added no less than 8 subdirectories of C:\NVPACK\ to PATH to support Android development - for gradle, ant, jdk, ndk, and the android SDK's support, build-tools, platform-tools, and regular tools.)

Said coworker ended up spending some time using directory junctions to shorten the paths in PATH to the point where his dev environment was useful again.

Hm, interesting. I suppose this is what http://scoop.sh should be using? (The per-user setting, "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths").

Oddly it appears the python2.7 installer uses this (global setting), but not the python3.x one (It would seem that python2 could register python.exe (as it currently does), and python3 could register python3.exe (as it currently does not)).

It certainly doesn't seem to make much sense for python3 to have an option to add itself to the path environment variable, and an option to change the path length limit - but apparently not an option to use this "modern" way of registering itself? (Unless, python2 and python3 installers, when fighting it out, default to only registering python2... which makes sense, but is painful).

But based on a windows hyper-v vm with only python3 installed, it looks like python3 does not use this setting.

It is not only ugly but also slow. One of the pain points while using PowerShell. It seems that Microsoft didn't care much about the emulator until recently. Thankfully things are changing, it was improved a bit in the Windows 10 anniversary update and Microsoft promised to improve it further. I'm optimistic about it.

Fair criticism, but PowerShell is just under the hood, most devs on Windows use cmder or similar.

Adding to that: I use ConEmu.

+1 for conemu, though I wish the ux was closer to iterm2's

I stick with cygwin and tmux. I still find it easier to write scripts in bash than powershell.

> Also, if someone here has an answer: Why in the design of Windows aren't programs installed or symlinked in the PATH by default? I guess that was a design choice somewhere along the history of Windows/DOS. Is there a reason?

This get's to the real issue of what makes powershell so horrible. It's not that anyone loves bash scripts, it's that there are a tonne of great utilities that bash script tie together. Windows doesn't have this.

Maybe it's great for Windows, but it's not great for working on Unix machines, which many of us do.

I'd be more open to Windows if trying to manage Unix boxes from it wasn't like trying to build a ship in a bottle. I always feel like I have one hand tied behind my back trying to do my job in Windows.

For simple web browsing and office work and such, it's fine.

I made a wrong statement. PowerShell is a great shell! I want a shell and gnu chain from coreutils onwards within Windows. Babun takes me close, but not close enough. Namely it's slow as hell, 64-bit is no really there, and it's cygwin. I'm one of those "runs Vim and writes their own Makefiles and uses GCC and stuff like that doesn't like cygwin" guys.

I see. I'm also kinda a "runs Vim and writes Makefiles" guy, but I'm more hopeful about the Ubuntu layer being more seamlessly integrated into the native rather than waiting for Cygwin to improve. After all, WSL is official, and Microsoft seems to put a lot of efforts into it.

As a side note, like you said, Cygwin is slow. I once measured how much time compiling things consumed on both Cygwin/MSYS2 and WSL. `./configure` was 3 times faster on WSL, and `make` was 2 times faster. I assume the reason to be WSL's process management being lighter. This is another reason I'm looking forward to see the improvements to WSL's native integration.

Then why not run your favorite *nix and stick windows in a VM for the few applications that don't support Linux?

Great question. I use, all the time, applications which need full speed and full GPU support of which some are only on Linux and some are only on Windows and there's some overlap where most from both are on MacOS. Simple VM doesn't cut it, I've tried.

What about the other way around, Windows host + *nix VMs? I run FreeBSD in VirtualBox, forwarding apps to VcXsrv via PuTTY. Works very well. I even made a tray icon script to launch that setup https://github.com/myfreeweb/xvmmgr/blob/master/xvmmgr.psm1 :)

I discovered PowerShell and now I favor it even more than bash

Same here. Might be biased because I never completely mastered bash as I don't use it that much. But after the first bit of the learning curve is over the rest just seems to go automatically with seemingly way less searching the internet: things are just easier to discover and figure out by yourself, and that also makes it easier to remember them. Plus you can visually debug it. Also some of the bash things I'm addicted to (autojump and fzf) have some pretty good clones for PS, namely ZLocation and PSFzf, those are real timesavers for navigation/history search for me.

Powershell may be good (I wouldn't know), but the terminal emulator (cmd) is absolute garbage. Even in Windows 10, you still have to edit the registry just to use a decent font, There isn't a reasonable way to change the colors, &c. I honestly can't tell what has changed in cmd since Windows NT.

Sure, there has not been much progress with terminal emulators in the past couple decades, but in Windows there has literally been none at all.

I am using WSL with success, it usualy gets the job done.

PowerShell is very serviceable, but it has weird points of failure. Especially with some FOSS projects that seem to think cmd is the furthest they will go as far as Windows support, then they completely choke on powershell.

I think if I liked the rest of the .Net toolkit more, I'd be more enthused about it. It makes things livable on Windows, which is better than the dark days of Vista/7.

But powershell is an all or nothing proposition. At my job, the majority use OSX. I use Linux. Since we all use bash, there's very little friction here. I can't "just use powershell" in this scenario at all.

Actually that's changing - PowerShell Core works anywhere .NET Core does (including OSX and Linux).


(although that doesn't account for personal preference, of course)

That does help, and is welcome. But convincing a team to switch something as fundamental as their shell is an uphill battle. I'm sure PowerShell is great (I've never used it), but shells always struck me as the kind of thing where "good enough is good enough".

"if Windows had a proper shell and cli tools, like cygwin with zsh, but native and not Ubuntu layer inside"

With my understanding of the Windows architecture, such as it is, there isn't a great distinction between "native" and "Ubuntu layer" because the "native" is really already a "'native' layer". If they continue to polish the Linux support, it will basically become as native as the core of Windows already is.

Agree on the OpenGL support. I really wish Apple would just update OpenGL to the newest OpenGL so I wouldn't have to change platforms completely in the near future.

Then again, developing for Apple currently means more compatibility with old hardware and drivers, but OpenGL 4.3 (which Apple doesn't support) includes Compute Shaders, something I would really like to explore, but can't as Apple supports only 4.2 with a limited amount of extensions.

Why not use Metal?

I can't envision a situation where I'd want to run compute tasks using an Apple-only framework.

Depends on your computational problem. For image, video or audio processing where the Apple SDK is superior to most others it might be the best deal, for others maybe not.

With Apple hardware generally being slower and more expensive, sometimes the superiority of the SDK isn't the most critical element.

For some tasks, the Apple code is orders of magnitude faster so it's not a problem. The ability of the Mac Pro to smash through H.264 video with GPU acceleration is pretty much unparalleled. Compared to FFMPEG it's not even close. When it comes to general compute, though, it's easily outclassed.

It's all about benchmarks and cost/benefit analysis.

I've seen code that works on the iOS 20-100x faster than a desktop equivalent because the iOS version is done using Metal and the desktop one is barely vectorized CPU code. In some edge cases a "server farm" of iPads might outperform an equivalent spend on Xeon-based servers.

Why limit myself only to Apple platforms ? Apple is going towards a more closed walled garden all the time, and I don't particularly like that.

Also, Os X users are a relatively small group compared to Windows users, so if making for example applications for VR, limiting yourself to Mac is a killing move.

It's sad though, as I really love the Os X as a development environment.

For Linux, how about supporting HiDPI right. I had a XPS 13 (one of the best laptops around) and it was unusable because of this:

- Most apps would look tiny; Others gigantic and pixelized (LibreOffice... looking at you) and plain unusable;

- External monitors have to be at the same DPI...

Also, the lack of proper graphic software like Keynote, Sketch, Pixelmator is the other reason I have to stick to macOS.

It takes a while and it's really boring, but you can configure the scaling for at least the major graphical toolkits (Qt 4,5 whatever and GTK 2,3). Java apps are yet another separate thing to configure.

Get me Lightroom on Linux and StarCraft and I am jumping ship. Everything else I can live without.

Darktable [1] is actually a "not too bad" alternative to Lightroom if you get used to the workflow.

[1]: http://www.darktable.org/

SC2, or broodwar?


sc2 works on wine, even on gallium9 if you have an amd card, tried it personally.

Window management in OSX is horrible.

Finder is even more horrible. It reminds me of the Windows 95 Explorer. A network drive hangs? Good luck with Finder..., the whole system halts.

My number one complaint about OSX is also window management. I've never found anything comparable to the way Windows 7 let you use the left/right arrows to line up windows on half the screen. That is the only thing I miss about Windows, but it's a pretty big one. Also, when dis/connecting monitors on OSX, windows often get lost.

ps- if anyone has any suggestions or recommendations, I'd love to hear them!

Not sure what specifically you're talking about here, but if you wanna line up two windows side-by-side you can long click on the green "full screen" traffic light button in the top left of an app's window (e.g. Word), and choose which half of the screen you want it to maximise in. Then do the same for another running app in the other half and it'll split the screen between two apps at full size.

Okay, I just long clicked (5 seconds) on the green button and all it did is maximize the window. Tried long click + drag, didn't work. What am I missing?

I was in the same boat and after some Googling I found that you need to have "Displays have separate Spaces" checked in the Mission Control preferences. For some reason it requires you to log-out and back in after activating it, but afterwards I can indeed use split view as described.

I don't remember changing this setting, but it's always possible I did years ago. I have never been a big user of Spaces and somehow missed out knowing Split View was ever a thing, but it's actually pretty neat.

Works for me, long click, it resizes to left half horizontally, then when I release it fills vertically. On the right side is a collection of my other windows, I tap one and it fills the right side.

Alas, it's not resizing the windows, but creating some sort of new virtual desktop and sticking them in it.

That kind of turned me off buy maybe it's worth giving it another go.

This is true

Here's the relevant Apple Support article


This seems pretty cool. Looks like it gives you split DESKTOPS, which isn't quite the same. But I'll try it out. Thanks!

TIL! Great feature. After you have your two side by side apps you can also drag the border in between to make one larger than the other.

I use Spectacle for this, simplest thing I've found so far: https://www.spectacleapp.com

I second the Spectacle recommendation, but it is frustrating that you have to download an APP to do something that should be built into the window manager.

for top-level activities that won't really be composed with anything else, it seems fine to leave it to app developers;

as long as someone does the job correctly

Yeah, there have been many many iterations of these apps, by different developers. SizeUp + Cinch, Divvy, Spectacles.

While I think that Apple should have just copied Microsoft's approach (i.e. what Cinch does) the wealth of options for window management means that everybody can find something that they like.

I've found Spectacle leaves a bit of padding space under where the dock folds out - potentially useful, but unwanted in my case, and I wasn't able to find a setting to change that behaviour.

I use BetterSnapTool instead, which seems to have a better collection of settings and solves my (admittedly minor) gripe with Spectacle.

Spectacle is great, but am I the only one who has to restart it periodically when it stops responding to keyboard shortcuts?

Obviously YMMV but I've been using Spectacle for years and have never had to do this.

Spectacle is EXACTLY what I was looking for. Thank you!

I absolutely love moom. I can't imagine going back to using macOS without it. It's amazing to me that this kind of functionality isn't built in. I use moom entirely via keyboard to easily move/resize windows onto a set of customizable "grids." With moom I spend almost zero time/effort fighting with window placement and almost always feel that windows are exactly where I want them. It's a great feeling!

BetterTouchTool / BetterSnapTool

I think I paid $1.99 for this 5 or so years ago. Hands down the best $1.99 I've ever spent.

Seconded. I use + love BetterSnapTool. Works great.

Best tool ever. The custom touchpad gestures are great, too. You can do stuff like three-finger swipe up/down to switch to previous/next tab, and rotate right/left to open/close taps.

I hardly ever use the touch gestures but BTT will let you drive everything from the keyboard. I can put windows almost anywhere at will now.

I know I'm being selfish here but it would be nice if Apple covered this sort of stuff instead of concentrating on emoji and Siri. Both of which I have no real use for.

There is Divvy which is an interesting approach. There is Hammerspoon if you fancy Lu's hacking and Phoenix if you fancy JavaScript. Hammerspoon can do more.

I've been satisfied with Moom, http://manytricks.com/moom/.

Moom does what it does. I use it as a faceless application.

+1 for moom... I have mine set to a 4x4 grid instead of the default, so I tend to overlap some windows, depending on what I'm working with.

I use Divvy and am pretty happy with it. Lets me configure different zones and assign keyboard shortcuts to put windows in those zones.

There is a great app called Hyperdock that does exactly what you want with window snapping. It works so perfectly that I sometimes forget that it's not a native feature of OS X.

Not sure about your window size problems with external monitors, I find that OS X handles this amazingly well

I forgot I had Hyperdock on my last Mac and when I got my new one I thought it was broken because it wouldn't snap / scoll maximize.

It has probably been my favorite utility for Mac

Hammerspoon! Combined with Miro's lua script [1] it provides virtually the same interface (if you've got the "hyper" key setup properly)

[1] https://github.com/miromannino/miro-windows-management

Not sure if it's just my experience, but I've found Hammerspoon to be extremely demanding on my older 2012 MacBook Air. I find single purpose apps somehow work better.

But I do love the amazing level of configuration and scripting that Hammerspoon allows you to do.

I've been using Hammerspoon for ages with a home-baked script, but Miro's one looks way better. Thanks for the link!

Ubuntu has these similar features in whatever default window manager thing it uses (I don't know the difference between window manager, desktop, etc for Linux). It also has "geographical desktop management," i.e., in windows and mac your separate desktops are to the left and right only, on ubuntu they can be up, down, left, or right. Might be trivial to some, but to me, having a "physical space" metaphor for my workflow is tremendously helpful.

Also you can drag left/right to snap to one half of a screen.

Anyway I tried to replicate this behavior on Mac with spectacle. It's meh. If you fuck up and fullscreen something and then try to half screen it, it seems to break horribly.

I've been using Amethyst and kwm for the past 4 years and are very happy with proper tiling in OS X. There's been some minor inconveniences but over all it's great.

I don't really find this to be a valid complaint. There are so many free tools out there that handles window management for macOS. I personally use Spectacle. Here is a list of 20+ window managers: https://www.slant.co/topics/526/~best-window-manager-for-mac

Magnet has been working well for me for years - https://itunes.apple.com/us/app/magnet/id441258766?mt=12

Moom. Hands down the best window management tool for OSX.


I don't understand how OSX and Windows lack a drag modifier key. Like, in most Linux WMs you can hold Ctrl and click and drag anywhere in a window to move it.

Missed that too, so i installed an app "metamove". Sort of works fine!

I use Optimal Layout and the sadly-now-discontinued-but-still seems-to-work Zooom/2 for alt-window dragging:

http://most-advantageous.com/optimal-layout/ http://www.coderage-software.com/index.html

No one has mentioned it yet, but I have used slate for years. It's a programmable window manager. You can program the Windows 7 functionality you described with a few lines of config, if you wish, and that just the tip of the iceberg.

It can do everything but make lunch.


Hyperdock, yes it's a paid app but it allows for what you want along with my favorite gesture of swipe up/scroll up while hovering over an application's titlebar to take it full screen. There may be free options out there but I've have hyperdock for years. It also gives you dock previews when you hover like Win7.

Divvy is my go-to window manager on macOS. I've got it set up to arrange windows on each edge as well as a "communication" window in the upper left corner of the screen for Slack, etc...

Get magnet from the App Store, it's better than windows!

Try ShiftIt or the clone. I use this at home as I missed the Windows+cursor movement of windows.

Moom is pretty good, beats the crap out of Windows.

as you can see by the answers, there are lots of options :) Personally i use Spectacle and it works great for me

Try moom . It's great

The fact that finder doesn't let you retrieve or enter your current FS path just like a URL in a browser is criminal.

Drag the icon in the top center of the window onto your text editor or terminal, it will paste the full path from the Finder window.

Admittedly it's annoying that this feature is hidden and requires dragging with the mouse, but it is possible.

You can also drag any folder or file from the finder into an open or save dialog and it will take you to that folder / select that file

This is one of many features i much appreciate in Mac OS X. Active corners is another powerful features that makes window managing and file moving a bliss. I find macOS much stickier than iOS. I can go without my iPad but not without my mac.

This is great and I miss it every day at work on Windows. I end up Alt-D , Ctrl-C, alt-tab, Ctrl-V to work out where anything is.

Cmd-shift-G lets you enter a path (with tab completion) in the Finder or in any open/save dialog

It's hidden, looks like an afterthought ux-wise, and is inferior to the interactive bread-crumb style that the windows explorer uses. But better than nothing, thanks.

>and is inferior to the interactive bread-crumb style that the windows explorer uses

Actually the Finder has interactive breadcrumb style paths that's not hidden at all (just not on by default):

View -> Show Path Bar

It also has a "path dropdown" with all the directories up to the current path, shown if you command-click on the current folder's icon+name on the top-center of the Finder.

"Show Path Bar" isn't interactive, but it's worth noting that the Command-Click trick lets you navigate to any of the folders along the path, not just display them. (Which I'm sure you know, but just in case readers don't.)

I've never found macOS's window management to be that bad, but to be fair I've been using Moom for a decade or so, and lately have been using the "split full screen app" trick a lot. (Someone else mentioned the long press on the green "full screen" dot for that, but you can also do it just by making an app full screen, going to Mission Control--which I do with a four-finger swipe--and dragging a second app on top of the full screen one.) That's not as useful for 27" monitors--in most cases I prefer to actually have untiled windows I can rearrange and resize with the pointer--but it's terrific for laptop screens.

>"Show Path Bar" isn't interactive, but it's worth noting that the Command-Click trick lets you navigate to any of the folders along the path, not just display them.

Not sure what "isn't interactive" means, but the OS X "path bar" let's you do the exact same thing (as you describe for the command-click on the folder icon): by clicking on any folder along the path you can navigate to it.

Note that it takes a double-click for that though. Perhaps you were only single-clicking?

That was one of my biggest annoyances with OSX. Thank you for posting this.

Just hold alt/option when copying something and the Copy option will change to Copy path. The path can be pasted in the Go Menu (or with Shift-Command-G)

But Finder lets you drag any folder into an Open or Save dialog to navigate the dialog to that folder. That's something that continually frustrates me in Windows. As near as I can tell, the only way to move a Windows open dialog to point to a folder that's open in Explorer is to copy and paste the URL (which means throwing away whatever's in my clipboard).

> Window management in OSX is horrible.

What is so horrible about it ? I have the exact same reaction every time I have to use Microsoft Windows. Window management is one of the strongpoints of MacOS.

> A network drive hangs? Good luck with Finder..., the whole system halts.

I've never encountered this problem on both AFP and SMB shares.

Fullscreen mode loses focus constantly with 2 monitors, SMB shares are very slow especially with large amounts of files to be listed. Finder crashes a lot dealing with network filesystems. The search on Finder is extremely bad and doesn't hold a candle to Windows 10 search.

I am typing this on a Macbook Pro so I am not some Windows fan. OS X has fallen way behind in its desktop incarnation. The only reason I use OS X is due to its Unix shell for development. I don't think anyone can honestly say that as a GUI OS X is better than recent Windows.

>Fullscreen mode loses focus constantly with 2 monitors

I've never lost focus with fullscreen/2 monitors. So?

"I haven't experienced the problem you're talking about, so it must not exist."

> Window management is one of the strongpoints of MacOS.

Can you give an example of this? I regularly switch between macos, windows and ubuntu and I have a hard time coming up with much positive to say about macos window management (unless a third-party tool is used).

... on Windows you drag a window to the right and make it 1/2 or 1/3 or 1/4 the screen. On a Mac dragging the window... drags the window.

I never understood the whole obsession with running applications fullscreen. The whole point of a multitasking OS is to run multiple apps at the same time. If you need to run your apps fullscreen you probably need a bigger monitor.

For the other perspective - it actually boggles my mind when I see coworkers with one desktop open with 3-4 windows kinda mushed all around, different sizes, etc. Like, you paid a lot of money for that good display, why are you not using it?! How can you stand having to scroll all over a window to see something, when you could just fullscreen it? Is it that they need to context switch quickly? Why not just use multiple desktops, with all fullscreen or at least fully-half-screened apps?

I never understood this type of workflow and when I was in school it was everywhere, it's like apple was pushing for people to have little windows strewn out over an otherwise gorgeous display.

I am using it, that's the whole point of having multiple windows open. Each window shows whatever is relevant about that context, and it takes up no more space than necessary so I can have as many sources of information visible as I want.

Also, it's nice for spacial awareness. I feel a little bit lost when a window takes over the entire screen and blanks everything else out.

Regarding spacial awareness, because I have the same window in a given "desktop" all the time, my spacial awareness is locational. If I'm in my IDE, I know it's 2 desktops to the right to get to my terminals. From there, 3 to the left to get to my company chat. Etc.

It's even better in ubuntu because desktop switching isn't just left/right, it's up down. So I can really think geographically. I guess that's just the kind of brain I have - for example, if I want to look for tickets for a movie I want to see, I search "movie theater" in google maps and click the theater in the location I want to go to, then navigate through ticket buying etc. shrug who knows man

When you want to write a letter by hand, do you clear your entire desk and get a desk-sized blank sheet of paper to write on ?

How can you stand having to scroll all over a window to see something, when you could just fullscreen it?

Uh... because with three 30" monitors, it would be like sitting in the front row at an iMAX theater?

The common use-case is laptop vs. desktop. If you have a 34in. WQHD display, full-screening one app is going to be silly; if you're stuck with the built-in display on an MBP when you're at the cafe, it's much more practical.

My MBA always has an app in full screen mode. My TB display has windows on windows. It is the apps' fault, not mine.

command-tabbing between apps instead of windows is just wrong imo. You constantly have to keep in mind if the window you're switching to is part of the same app or a different app.

The way command-tabbing brings all an application's windows forward always bugged me too. Fortunately, there is LiteSwitch (http://sysbeep.com) that lets you switch to the frontmost window only.

While I'm at it, I'll also plug https://manytricks.com/witch which I find invaluable for switching between windows and just got an update.

Hyperswitch (https://bahoom.com/hyperswitch) fixes that perfectly.

Cmd-` lets you switch windows within an application though, as I recall (can't confirm as I'm on Windows at work)

Having the menu bar on top is confusing when you've got multiple windows open.

It bothers me more that windows explorer doesn't have tabs natively. I use that all the time in Finder and it's way more convenient to be able to right click on a directory and say open a new terminal tab in that directory then having to go to the title bar and type in cmd in windows.

This is true, but better touch tool, moom, divvy, etc all leapfrog windows or ubuntu window management. The network drive problem, I have not run into with my NAS, so idk where to help you there.

I'm especially partial to sitting there with a 4+k screen with nothing open, opening two finder windows to copy a file, and having them spawn on top of each other as tiny little 500px squares in the middle of a vast ocean of unused screen space.

I agree. It got better with Sierra but it's still far away from Windows in this regard.

I use ShiftIt (https://github.com/fikovnik/ShiftIt) for this.

I don't know why better touch tool's window snapping isn't built into the OS, it makes my iMac usable.

I was a MacOS user from System 7 through to Yosemite. I now use Ubuntu 99% of the time (I still have a Mac that I casually use). IMO Ubuntu is now superior to OSX in almost every way. For me, Ubuntu really does "just work", and gives me a vastly better package manager, and the ability to use the i3 window manager, which has fundamentally changed how I use my computer.

I am specifically saying "Ubuntu" and not "Linux" because I don't care that it's a bloated distro, I don't care about tweaking things just right. I don't care about the freedom and flexibility that "hardcore" distros give you. I just want to turn on my computer and get to work, and Ubuntu gives me exactly that.

What about stable APIs for development? I only ask coming from a C++ background. I see much fragmentation in Linuxland, with encouragement for Vala, every other GUI tool written by RedHat being written in Python etc. so it doesn't encourage me back. This might be a bit harsh as I recall using Qt with joy on Linux but the big push appears to be for other languages.

Your experience may be different but I'd be interested in hearing it.

> IMO Ubuntu is now superior to OSX in almost every way.

Out of genuine curiosity, what are the ways it's not superior?

For me, it's multi-monitor resolution scaling. OSX sets the gold standard for that.

I still prefer using Ubuntu for my dev environment, tho.

This might sound silly, but for me it's Network Link Conditioner for simulating different network conditions. The Linux equivalents are much harder to use.

Out of genuine curiosity, what are the ways it is superior?

Either you're trying to start an argument that I want no part of, or you're asking the wrong person. I don't have much experience with any linux desktops (I've just done server stuff mostly), so I have no idea. Hence why I'm asking.

I love OSX but never understood why people pay so much for those apple displays. we use them at work and they suuuuuck. super heavy, can't adjust height, can't put it in portrait mode which is .. I don't know useful 40% of the time, glares like a mofo, and cost 2x-3x similar quality displays from not Apple. Is the look of them that desirable?

i finally switched for same reso Dell units on my desk and really happy about that.

For a long time, Apple displays were the only displays that also provided a proper laptop dock. Not just a cheap USB-to-XYZ-multiport-adapter with the limits those bring, but a real dock connected via PCI-in-a-wire Thunderbolt, making the ports on the back of the monitor just as good as ports on the machine itself. Combined with the monitor's MagSafe adapter and a MacBook of some sort, you had a beautiful setup: the only wires you needed to switch from laptop mode to desktop mode were the monitor's MagSafe and thunderbolt cords. Just keep all your desk hardware plugged into your monitor, and save the macbook's power adapter for when you actually needed to charge on the go.

There's also something to be said about the consistency of the old Apple displays. I've seen dozens at this point and none had noticeable backlight issues, and they look good right out of the box instead of requiring the user to switch off 15 gimmick settings to get a proper picture.

They had their issues but they did several things right.

The glossiness of them is highly desirable for anyone doing visual work: Photography, video editing, UX design, graphic design, etc. Colors and contrast pop a lot more.

It's a personal preference, however, so we let people at work make their own choices.

Apple displays have long been very high quality with accurate colors. They also usually come with a built in hub and ability to power a laptop, which is very handy. It allows the monitor to essentially be a dock.

>I love OSX but never understood why people pay so much for those apple displays. we use them at work and they suuuuuck. super heavy, can't adjust height, can't put it in portrait mode which is .. I don't know useful 40% of the time, glares like a mofo, and cost 2x-3x similar quality displays from not Apple. Is the look of them that desirable?

No, it's more than the glare means no bloody anti-glare coating (and hence more sharpness), the colors (saturation etc) were often reviewed and measured best-in-class, and same for angles of view, brightness, etc.

Oh, and portrait mode, while nice, it's at best a niche use.

To be fair, when I bought my Apple Thunderbolt Display in 2012, I compared it to other monitors available at the time, and when you compared not just the display quality but the fact that it had an integrated Thunderbolt dock, it really wasn't too overpriced. (IIRC, Dell's closest equivalent was $949.)

The problem is that Apple almost never lowers their prices unless they come out with a "new improved" model of something. So, as a given product continues to be sold without an update or a price drop, the more steadily outrageous its price point seems. To the point of the original linked article, this is a serious problem for the Mac Pro. It was expensive at introduction, but it's been downright absurd for the last two years. This is an issue across most of the Mac product line currently, though.

I don't have one but what seems like a killer feature to me is automatic screen brightness and adjustable screen brightness via keyboard.

This would probably also work with other monitors via MCCS/DDC [1] but it seems to me that all operating systems just ignore it.

[1]: https://en.wikipedia.org/wiki/Monitor_Control_Command_Set

I don't use Apple displays although I use Apple hardware. I can justify putting a 4 digits if it makes my life easier. I don't see how an Apple display can do that. I found Dell/HP IPS to do the job for my charting needs.

People buy those Apple monitors because they are guaranteed to work to with Apple computers.

At least that is the reasoning. They can complain to their local Apple Store to make it work.

Most end users have no clue, and they don't enjoy researching, so they don't know they could get something better for less money.

>At least that is the reasoning.

No, as a pro, my reasoning is they are great for photo/video work, and even affordable compared to competitive solutions (I mean at the time, they don't make them anymore, but the 5K iMac screens are excellent).

Also, colorsync works much better on Apple monitors. I have two monitors on my desk, a Dell P2815Q and a Apple Thunderbolt Display. The Apple had a default colorsync profile that looks perfect, the Dell, I got close, but I can't get quite right. Colors change slightly when I drag a window from one monitor to the other.

Most users don't realize how good Apple monitors are, and how much better they make your work day.

I just don't understand scrimping on something you will spend all day staring at. Getting something "almost as good" for half the price is a terrible deal.

Er, are they good? I have a gorgeous Dell IPS 4k monitor at work and (I know, it's very silly) I actually get a tiny thrill whenever I pop my IDE open in it. It's just so darn pretty.

Sitting in front of a Dell 4k monitor and having used a good 4k monitor I am would not call Dell's offering good.

I have never used an Apple monitor, but I have used several other 4k monitors and they are great. My Dell monitor is just fraught with compatibility issues and needs special software to work with win 7. I use Ubuntu and it barely works there, my coworkers have to treat theirs like special snowflakes.

Seriously? I haven't experienced any issues like that with Ubuntu. I have mine hooked up to a macbook pro running Ubuntu through a DVI cable.

Why are you still using windows 7?

I think I communicated that poorly. I only need to use win 7 every 3 months when I change my domain password. I don't need a 4k monitor for that, so I go without.

On Ubuntu the monitor needed much finagling to get working right, unlike my AOC or Asus 4k monitors which both worked when hotplugged using HDMI.

My coworkers, who aren't all devs, have more work to do in windows and they needed the special software.

How odd, maybe I'm just quite lucky then. To be fair I'm not doing any sort of dual-monitor setup. I just forgo my laptop screen entirely (close the lid) because I've found the one 4k to be plenty. Maybe if I started getting more complicated than that, things would get weird.

Most of my workmates have them. They look like glossy mirrors, and several complain about it. When you can see your reflection in them, plus all the room lighting, that's a terrible quality for a general purpose display. Meanwhile I have a much cheaper matt Dell monitor which is much more fit for purpose, and I don't suffer from the glare and reflections.

also, they run really warm... I don't use my cinema display nearly as often as I would like because I can't tolerate the heat coming off of it for extended periods of time.

oh yeah, our whole floor heats up so much they gave every person a futuristic Dyson fan to go with the display :) this can't be good for energy consumption either

They look good on the outside... and that's about it. Btw, Apple has discontinued them and hasn't announced any replacement yet.

>They look good on the outside... and that's about it.

They also perform incredibly as monitors (or did, when they were newly updated). There's that too.

oh yes this is another issue. if they break they can't be re-ordered so now IT is stocking them for replacements. add another X to the price per person :)

Thinkpads work out of the box for every regular feature (I had to write a shell script to make my X1 Yoga handle folding it into tablet mode -- ~15 LOC).

A thinkpad + ubuntu I think, will hit all your needs. Lenovo preinstalls Ubuntu on some of their thinkpads in some cases (afaict, large enterprises). The thinkpad line IIRC works to use well-supported hardware for Linux. You can check the certification list to be sure: https://certification.ubuntu.com/certification/make/Lenovo/

Dell also ships XPS models that ship with Linux. http://www.dell.com/en-us/shop/productdetails/xps-13-linux

I was on the mac a long time, but eventually switched to Linux and am much happier.

EDIT: Thinkpad P series has 16/32gb of RAM, donno about battery/size/weight, as there are a few models, and you'll have to figure out what your preferences are in trade-offs.

I have a P50. It is a heavy laptop, but it has a mobile NVIDIA GPU which can easily outclass an Intel Iris graphics processor.

The only front this laptop falls extremely short is with battery life and weight. The P50 is really good if you need the power and I usually get around 5 hours of battery life without Optimus because it interferes with my workflow under Linux.

Same. Linux on a P50 with 64GB ECC ram, Xeon. Battery life isn't hot, but I'll suffer this compromise for the power and flexibility it gives otherwise.

I love my P50, right now it's the only laptop on the market that does what I need it to do.

I currently have a thinkpad with ubuntu in it (not preinstalled should it matter), and unfortunately I'm considering switching the other way around. There are just too many things with this combo that don't work the way they should, like webcam and microphone not working, public wifi with redirection not redirecting etc. I'm completely fine paying some 50% premium to get the support and customer care of a major corporation.

Most people don't have 5-8k to drop. The main problem with your specs is thinner/lighter is diametrically opposed to longer battery life and more RAM which consumes more energy.

In 2015 the macbook pro had a 99.5 watt-hour battery (100 watts is the limit to take on airplanes). Now it has 76 watt hours.

So you could get approximately 30% more battery life had they not prioritized thin and light.

Source: https://www.cnet.com/news/macbook-pro-october-2016-battery-l...

Everyone benefits from thinner and lighter. We only benefit from more battery life if you reach the end of your capacity.

For phones, it's an easy product decision, thinner/lighter is always better. You give the most benefit to the most users, and those who really need more battery life can get a battery case and pay the weight/thickness costs alone.

For a Macbook, it's a closer decision, but I think in this case they still reached the same battery life as the older laptops made the decision reasonable. Remember that it wasn't that long ago that a 7 hour laptop battery life was extraordinary, 10 hours should be plenty for most users. And there are also battery packs you can get if it isn't'.

I heard that Apple wasn't able to get a custom fitted 85 watt-hour battery ready in time for the release, and I expect they will refresh the MBP lineup with it when it's ready, giving an 11-12 hour battery life.

I was lucky enough to go through all stages of old-enough-to-have-a-laptop school (highschool and college) during whatever we should call the period of time in which batteries in laptops rapidly evolved. So I started out a freshman where laptops were hunks of solid IBM plastic chunking at like, 4 hours, maybe? And came out of college with surface pros and macs humming at 8 hours. For me, it wasn't until they were pushing 6-8hours (of ACTUAL usage) that laptops made sense as education devices - I'm at school for 6-8 hours , I can squeeze in maybe 30 minutes to an hour of charge time if I want to be stuck in one place for that stretch of time (as opposed to, I dunno, walking around, working out, whatever). So there was an actual finite number of battery time for me that made the things viable.

I thought battery life on my MacBook was great particularly after AppNap was introduced and the aggressive shaming of power-hungry apps via the battery menu.

Then I build some C++ under Xcode and battery life is not so good...

Probably great for web browsing and casual use as used by 98% of users though.

> Everyone benefits from thinner and lighter.

Just because that's what you want, did not mean it's what everyone wants. I, for one, would love a solid inch thick brick of a phone with a replaceable battery, and a 2-inch thick laptop with sturdy replaceable parts.

Everyone benefits from thinner and lighter.

Hmm, where'd the downvote button go?

I'd be buying the new Macbook Pro in a month.

I know one is discouraged from questioning whether a commenter read the article, but I'll point out that Gruber is on about the Mac Pro, which is a desktop machine. I'll doubt the new one will have "longer battery life".

He also said:

> most of their pro users use MacBooks and most of the rest use iMacs — and that they have big plans in store for the pro segment of both of those product lines

I think this makes talk about the Macbook Pro on topic.

Wait, you don't use your Mac Pro as a coffee warmer on the bus? I can only get a solid 30 minutes out of mine. ;)

Let's not mince words. Ubuntu and linux OS'es in general are TRASH as far as user experience is concerned.

Lately I even tried elementaryOS, and it's worse than Ubuntu. They keep saying how it's not a copy of OS X, and it evidently isn't as far as user experience is concerned, but on top of that they're obviously inspired by a design that's now completely outdated. At least Ubuntu is looking ahead and thinking of touch interfaces.

Ubuntu is genuinely the only somewhat passable option for people who don't know, nor should know, what process thread is, or even how many cores are in their CPU. Ubuntu has a somewhat consistent UI but still suffers from all kind of major bloopers. I mean, what the fuck. It's 2017, and it still doesn't save the last window size & position in most apps. It drives me mad. Some do, some don't, so it ends up worse than not supporting it at all.

I got fed up with Windows and Ubuntu so I bought a five year old Mac Mini. Sierra looks amazing, and it runs silky smooth. I don't AAA game and this will most likely serve me very well for web development. Came with a big SSD drive too.

It's kinda sad nobody can compete with Apple. But if anybody will I don't think it's the "free software" world.

Maybe it is the attitude that makes it "TRASH." It seems you have only tried Unity and elementaryOS? Right now I use Cinnamon, which is similar enough to Windows to not be "TRASH" imho.

Also here is a Linux joke for you:

If you don't like certain things, just fork it and do your own thing.

Cinnamon is good. Until you try to install a modern nvidia driver. At least, that was the case 6 months ago.

Dual monitors should be plug & play. I shouldn't have to add a new repository to apt-get, I shouldn't have to choose between 15 Nouveau drivers and 15 potentially system-breaking nvidia drivers. It should "just work".

Dual monitors, and just display output in general... this is 2017, this is very basic, expected functionality. It doesn't matter how complicated it is to implement - the user doesn't give a shit, they just want two monitors.

> It doesn't matter how complicated it is to implement - the user doesn't give a shit, they just want two monitors.

Evidently it does matter how complicated it is to implement, or it would just work by now.

I suggest you choose your distribution and software more wisely. Yes, this is the big disadvantage of freedom and choice.

Free software offers a spectrum of quality and innovation; and you've picked the worst of it.

I use a desktop (i3), package manager (nix), editor (Emacs), programming language (GHC Haskell), file system (ZFS), bidirectional sync (unison) and security​ (gnupg) that are collectively far more innovative, powerful and stable than anything Apple have ever produced.

Of course, if you are specifically looking for consumer tech, ease of use and support, then open source probably isn't for you.

>Of course, if you are specifically looking for consumer tech, ease of use and support, then open source probably isn't for you.

If you can look past your smugness a bit, why? Why is it that if I want "ease of use", open source isn't for me? Do you not see the problem here? I can't see how you can argue your favorite projects are more "innovative & stable than anything Apple have ever produced", but in the same breath say that open source isn't for someone who wants ease of use. What exactly does "stable" mean to you?

Ubuntu are trying for ease-of-use and it's a noble goal. But if you are going to judge them only on ease-of-use, then it is difficult for them to compete with the resources of Apple, who are the richest company on the planet.

My point was that there are quality open-source projects out there, after you appeared to assert otherwise. But ease-of-use is not something developers/startups seem to be interested in spending time on.

If you want me to qualify stable, then let's compare Apple's bidirectional iCloud sync to Unison, or Time Machine to ZFS snapshots.

I used to enjoy tinkering with computers and spending all my time on Linux trying to get things working. I didn't edit any code, just spent days getting ndiswrapper working, reconfiguring my desktop after an upgrade, refinding my partitions after LLVM upgrade decided to forget them, adjust myself to the steady removal of configurability in GNOME, adjust to the deprecation of things I used every day (Konqueror has gone! Use Dolphin! It didn't do half of what Konqueror did), faff around with bust graphics and failed sleep/resume, adjust to the "new" way of window management that decided that 30+ years of windowing paradigm was "distracting" and stopped the use-case tests of someone's mum who had never used a computer before finding it easier to use etc. etc. etc.

I eventually got fed up of all of this and went to OSX with Windows alongside after 15 years of Linux use, and that's from RedHat 5.0 and 6.2 days. No not RHEL, RedHat.

The "ease of use" argument is sad, and precisely what some forget when developing software - it's there to be easily used, else nobody will use it. The computer is there to work for YOU, not YOU work for it (ie, spend hours fighting with it).

You only have to look at Windows 8 to see that "ease of use" was abandoned on the Start menu and see what a mess that was.

Linux doesn't have to be that inconvenient. You can now buy machines preinstalled with Ubuntu LTS. If you want to keep upgrading to the latest and greatest, yes it can be a rough ride.

That's a very good point to make. The "buy a machine with Linux on it" option didn't exist yesteryear when I was using it.

Very thoughtful point.

> Why is it that if I want "ease of use", open source isn't for me? Do you not see the problem here?

Why is that a problem? You're not entitled to anything, easy to use or otherwise.

Don't listen to him, there are open source UIs that are easy to use. Gnome, KDE, and XFCE all behave pretty darn well and are pretty stable.

i3wm, the window manager the post above is talking about, is incredibly complicated, but provides efficiency and a sense of accomplishment when learned. That reward from learning something complicated is where the smugness of most open source enthusiasts comes from. Don't look too much into it.

Any perceived smugness on my part was a response to baiting from the parent such as "It's kinda sad nobody can compete with Apple".

Open-source can compete on many fronts and offers many other advantages (i.e. freedom), but on a pure ease-of-use assessment, I do not agree with you that Gnome or KDE could sway the parent, if Ubuntu completely failed to do so.

"Linux is free, only if you don't value your own time" - Some guy that I don't remember

"free" isn't about cost. "Free" is about liberty.

When you use a proprietary OS, you rely entirely on its creators to create a system that does what you want. When something in Windows or OS X is not what you want (or is broken), you can't do anything about it. When something in a free OS is not what you want, you always have the option to use something else.

Free is about transparency. Not snooping on my files, do machine learning mumbo jumbo on my habits, surreptitiously nudge in the direction they want is huge part of it.

Free is a promise, a promise that I do what I say. If the software doesn't, it is for all the world to see my deficiencies.

Free is also about not being an asshole. It is about accepting the fact that, just because the users use my software, I don't get to control their lives.

Free is all of those things. Transparency has recently become much more important than it was originally.

> When something in a free OS is not what you want, you always have the option to use something else.

Or to modify it yourself, or even hire someone to change it to your liking.

>I mean Windows is good, but nowhere good as OS X

Specifically? People typically point to the telemetry and forced updates, but I've managed to disable both, using what were admittedly much-too-difficult procedures or third-party software. It's annoying, but not that annoying.

I really like Finder and Spotlight, but not enough to be tied, via licensing, to any specific hardware.

Less cluttering--I can uninstall apps on windows

Native package manager-- I guess Windows has Chocolatey and I use npm for dev work.


* HiDPI support in all apps, whethere they are aware of it or not.

* Built-in PDF editing and creation from all printable content.

* POSIX scripting and CLI.

* Very clean and consistent configuration system (defaults). Reset an app to factory? Delete one plist file and potentially an app support folder. Got a new Mac? You could even boot it up from the old harddisk. Good luck doing that with windows registry.

* Touchpad support.

* Systemwide fulltext search with indexing and complex search terms. Somehow MS still hasn't caught up with 10.4 Tiger it seems to me.

* Superb discoverability of power user features with in-app help system and hotkeys displayed in the menu.

* A consistent menu system.

* Powerful and system wide screenshots.

* Very good screen calibration out of the box

* Cmd-C / V work everywhere, including the Terminal.

* Very good terminal with good color schemes, tabs, unicode and even emoji support.

On the other hand Windows has:

* The best keyboard-only UI (although ribbons were a big step backwards in that regard - very hard to discover now)

* The best graphics drivers

* The best Office version (although Google Docs has mostly replaced the need for me)

* Windows-P, I really like that menu

* The Windows 10 task manager, pretty neat.

* Pen and Touchscreen support.

Overall MacOS beats it hands down for me when it comes to productivity.

* Touchpad support.

I think most people who haven't used an Apple laptop extensively are not aware that the touchpad actually works, and you do not need to carry an external mouse to use the device comfortably.

Apple touchpads work so well that I don't use a mouse at all anymore. I have a Bluetooth touchpad with my external keyboard, and I even bought an old Fingerworks touchpad to use with my PC.

The power of gestures is incredible. Managing macOS windows without a touchpad is awful. With a touchpad it is the best.

Precision touchpad gestures on Windows 10 solves that problem, especially on the Dell XPS/Precision machines. It's really, really good.


We have those at my work, and we also have an iMac with a magic trackpad, and several of us have macbook pros.

It's a huge improvement, but it's maybe 75% of the way there. And the points at which it's NOT there are very noticeable and annoying. There's still regularly times where the trackpad just gets totally confused and you can't move the cursor for 1-2 seconds. Mehhhhhh

That's interesting, I've used a precision at work and an XPS at home for the last year, both have been totally rock solid.

The touchpad is literally the single hurdle to me going back to a windows/linux laptop.

This is very true. When I reboot my MacBook into Windows the touchpad becomes dumb.

I have had a work Mac for the last two years. I haven't found Apple touchpads to be this revolutionary change that'd make me like touchpads that others have and still carry a wireless mouse around. I'm not the only one in my office.

Big items for me on MacOS

* Drag-and-drop automation, scripting and workflow tools. I love folder actions.

* Built-in screen recording in QuickTime Player, which also works with attached iOS devices

* Time Machine backups. So easy to use and has saved my bacon over and over

* iMovie and Photos. I don't use the rest of the bundled apps, both those two are essentials for me.

I literally don't know what I'd do if I didn't have the capability of Automator combined with completely-customizable keyboard shortcuts everywhere. It's seriously a power user's dream.

TimeMachine is really great. Does anyone have experience with the Windows 10 backups? I know the Windows 7 one was dire.

I agree, all of these are part of why MacOS is just more ready for work out of the box.

> The best keyboard-only UI (although ribbons were a big step backwards in that regard - very hard to discover now)

Use the Alt key.

For example, open Word and press Alt to show the keyboard commands. If you want the keyboard commands for the Home tab, press H as shown.

Alternatively, to open the Ribbon and show the keyboard commands for the Home tab, press Alt-H.

So, if you want to center some selected text in Word, press Alt, H, then AC

If you want to insert an image, press Alt, N, P and so on.

The Ribbon makes Office programs much easier to use, so you probably won't want to learn many of these key sequences. However, the ones you already know will almost certainly work.

For the record, I much prefer Windows 10. However, the fact is that Apple doesn't sell any of the hardware I use. It doesn't make a proper tower desktop and it doesn't make a small rotating-screen laptop that doubles as a touch tablet.

Even if I was willing to compromise on hardware, less-functional Apple products would cost 2x to 4x more.

As I wrote I still do consider keyboard UI on windows the best, because it's AFAIK the only widely supported destop OS with full keyboard control of the GUI. But the Ribbons are not for me - it's a menu system that's also trying to be a context aware palette, which makes it worse than either a classic menu (easy to skim though and find what you want, especially on MacOS) or a palette (can be placed wherever it's the most useful, i.e. allowing the shortest mouse travel).

Please note that I still do consider Windows Office the best version nevertheless, but for different reasons.

The Ribbon is a much better UI because it takes up less room, makes more features more accessible, and provides much better discoverability. To appreciate the pros and cons, I'd suggest going though the full account of the development [1], though there is a simpler intro/index [2] that links to a good video [3].

Of course, there's also personal taste, and you are perfectly entitled to prefer whichever menu system you like. However, the Ribbon won a decade ago, so at this stage, it would probably be more useful to learn how to make better use of it. My Alt tip is just one example.

[1] https://blogs.msdn.microsoft.com/jensenh/2008/03/13/table-of...

[2] https://blogs.msdn.microsoft.com/jensenh/2008/03/12/the-stor...

[3] https://channel9.msdn.com/Events/MIX/MIX08/UX09

macOS does have keyboard menu control and it is pretty good. http://lifehacker.com/321595/access-the-dock-and-menu-bar-fr...

>* POSIX scripting and CLI.

Windows has WSL which gets better in the new Creator's update.

>* Touchpad support.

I don't use laptops, but I've heard good things about the touchpad in the Surface line, and Dell XPS.

>* Superb discoverability of power user features with in-app help system and hotkeys displayed in the menu.

Windows has had hotkeys in menus as long as I can remember. I know they where there in 3.1. If you press Alt in Explorer you'll get overlays with hotkeys over the buttons and menus.

>* A consistent menu system.

I'm guessing you mean that the ribbon is inconsistent. Most programs use the regular menus, and the ribbon is just a glorified toolbar with tabs. I don't see the big deal.

>* Powerful and system wide screenshots.

Windows 10 has Win+Print screen to save fullscreen screenshots as a file. For more control, there's the snipping tool that's been included for years now.

>* Cmd-C / V work everywhere, including the Terminal.

Ctrl+C/V works in Windows terminal too.

>* Very good terminal with good color schemes, tabs, unicode and even emoji support.

I usually use ConEmu. I just tested, it does support emoji, but I don't see the point. I just tried "mkdir " (edit: seems like HN eats my emoji, but that's supposed to be a directory with an emoji in the name), and it worked as expected. If I use the built in terminal in VSCode it even looks nice, with colors, but it's just two blank rectangles in both cmd and powershell.

The built in terminal supports 24-bit color now though: https://blogs.msdn.microsoft.com/commandline/2016/09/22/24-b...

>>* Cmd-C / V work everywhere, including the Terminal. > Ctrl+C/V works in Windows terminal too.

If you mean Command Prompt by "Windows Terminal", this is not the case (if not, I'd really like to know what "Windows Terminal" is - I use Command Prompt for DOS/Windows things and Kitty for *nix related things). At least I have had to turn it on explicitly in the Command Prompt options (quick edit mode), and it's one of the first things I do on a Windows machine after setup.

You could use Ctrl+M to mark it.

> help system

alt key in windows does nowhere near what the help on macs does. you're looking for a command or forgot where it was in the menu or want some documentation -> open up help, type a query in the unified search and you're presented with docs as well as commands. Highlighting a command shows you the full path in the menu by opening it up and now you can even sed the hotkey. That's what I mean with discoverability. Every provrammer who uses GUIs should have a look at how that works, I consider that mandatory homework.

> screenshots

Obviously windows has screenshots, but you overlooked the word powerful. MacOS has all the features of the snipping tool right there on system wide hotkeys, no need to open up an app first - including delayed shots and area selections. It's not a big deal, but it saves enough time that it's a total no brainer for me to provide screenshots fo whatever question someone has (even when it's just a distraction from my actual task) while on Windows it takes a crucial 10-15 secs longer to do the same per shot and would disrupt my workflow.

> WSL / Terminal

I do acknowledge that things are getting better there and this is a great development - if/when it gets there I'll consider windows among my primary PC choices again.

Btw. it's telling that Windows-only users always overlook my point about the registry in these discussions. I use all three desktops and I can tell you, not having a central registry in an OS is a huge productivity win. With windows I spend days every 2 years getting a fresh state again while on Mac I can just copy over the file system (using automated tools that support thunderbolt cables, copy half a TB in 30min and are again built in) and start working after a coffee break. Yes there's imaging in Windows, but then you have to regularly keep those up to date and in the end you spend even more time if you only manage a handful of PCs.

You forget: Windows has NTFS which is still lightyears ahead of Apple's upcoming APFS, let alone HFS+ (how on earth is it still in use??)

And I say this as Mac user.

John Siracusa, is that you? ;)

Btw. in what way is NTFS ahead of APFS?

NTFS supports compression, hard links, streams, transactions, quotas, and has a master file table (or multiples of them) which enables tools such as Voidtool's Everything utility to find files in nanoseconds. APFS does not support any of this.

The MFT is very helpful in that it is on the disk itself, as opposed to Apple's solution of getting a separate utility to index the disk (Spotlight) and generating a giant database file on the filesystem in your hidden Spotlight-V100 directory. Spotlight is on the filesystem, not IN the filesystem.

The NTFS page on Wikipedia lists all of the wonderful features of NTFS. Also Windows Internals 6 details some in wonderous detail.

In any case, APFS is far better than HFS+ (which has to flip all metadata's endianness as it is stored in big-endian format). It also has single-threaded access to this metadata, from what I recall. John Siracusa's review 6 years ago of OSX 10.7 Lion detailed the poor state of HFS+: https://arstechnica.com/apple/2011/07/mac-os-x-10-7/12/

Makes for sad reading.

> * Very good terminal with good color schemes, tabs, unicode and even emoji support.

To be fair, the built in Terminal.app sucks, you have to get iTerm2, which is a 3rd-party app, but at least it's not another $40 replacement app that shouldn't suck by default, (the same cannot be said for Finder and its replacements).

What is it that sucks about Terminal.app that iTerm2 fixes?

I'd be interested in that too. I've never wanted anything more than what Terminal.app offers, but maybe I just don't know what I'm missing.

The iTerm2 features page[1] has a pretty good run-down of all the extra stuff it can do. Personally, I'm a big fan of the split panes, and I use iTerm2 full screen with two panes.

That said, almost identical behaviour can be had in fullscreen with two Terminal windows sharing a full screen desktop space.

I also enjoy having my terminal be a slightly-transparent black rectangular slate, with no title bars, corner curving, etc., but that's purely preference and has no impact on functionality.

[1] https://www.iterm2.com/features.html

I think you touched on a big win for macOS in my book:

> Specifically? People typically point to the telemetry and forced updates, but I've managed to disable both, using what were admittedly much-too-difficult procedures or third-party software. It's annoying, but not that annoying.

Before I switched to macOS about 8 years ago I was used to the mindset of "oh this doesn't work the way I want but I'm smart enough to figure out how to fix it" and I took great pride in being able to fix my PC no matter what happened. I'd dig into the registry, I'd futz with inf files, and drivers. I didn't mind it too much, it wasn't "that annoying". And then I switched to a MBP my freshman year of college mainly because it meant I could use Windows/Linux/macOS and I loved how solid they felt and had people around me rave about the hardware and longevity of the machines themselves. I played with macOS and found that after getting used to it it was a joy to work with. It took a little longer for me to realize that I wasn't spending all my time making sure my computer kept working, it just worked on it's own. The OS that I had belittled and mocked for years for being "a toy" or "dumbed down" actually was insanely powerful under the hood, extremely intuitive, and looked beautiful. That last point may sound stupid, I know I used to think it was, but it's a big deal. You are going to be staring at this for 8 hours+ a day. Trust me it is way more enjoyable to look at something pretty than something not. When it comes down to it for me macOS is built on a rock solid core and makes switching between it and the linux servers I work on a breeze with beautiful apps and a beautiful UI all of which JustWorks (tm). For that I am more than willing to pay the MacTax (tm).

Although Apple have been known to change things for change-sake, I find it is possible to take a Mac running Mac OS 10.2 and 10.12 and you will find your way around with ease.

Of course, under the hood they've rewritten everything like DNS and actually using the hosts file etc. but from a usability perspective you are right that you end up fighting with the OS less (so I have found).

> It's annoying, but not that annoying.

I dunno, I've done all kinds of stuff to my windows 10 machine to keep Candy Crush Soda from reinstalling itself. Yet every few weeks/months that King garbage ends up on my start menu.

I use windows 10 because I'm a .NET developer and a gamer. If I could use OSX on my desktop instead, and have access to the same steam games - I can't think of a reason I would stay.

> Less cluttering--I can uninstall apps on windows

On OSX you typically don't need to 'uninstall' just drag to the trash. Yeah, some apps leave some garbage behind - but the same happens on windows when you 'uninstall'

> Native package manager-- I guess Windows has Chocolatey and I use npm for dev work.

I think the biggest detriment on this point for windows is that the command line interface on windows is not friendly. I recently worked on a project where half the team didn't know powershell, and the other half really loved powershell. We also used some stuff from the node ecosystem. We had scripts that would only run in cmd.exe, powershell scripts, and scripts that only worked in bash. In the end http://cmder.net/ saved my butt, since I could have all three shells open.

> I dunno, I've done all kinds of stuff to my windows 10 machine to keep Candy Crush Soda from reinstalling itself. Yet every few weeks/months that King garbage ends up on my start menu.

Another anecdote, I right clicked and clicked "unpin from start" and never saw it again.

Sure, but I told windows to uninstall it. Windows reinstalled it. I told it to again, windows did it again.

It bothers me. It doesn't bother you. That's fine.

Microsoft lost points with me, doesn't mean it has to affect you in any way.

Makes sense from a philosophical view, practically it's insignificant.

Besides, I thought only the Anniversary Update had CC? How would it get reinstalled?

Some people don't like having junk they are not using on their computers, even if they 'never see it again', it's all about being in control of your own computer, (as much as possible, that is).

It's still there though, isn't it? Granted you don't see it in the Start Menu, but it remained installed on your system. God knows if it's not having its own process at launch, doing similarly nasty stuff?

It isn't. You could easily check that in Task Manager or Process Explorer and/or Glasswire or whatever.

Most of these things take up a trivial amount of disk space -- some of them are just placeholders -- so they're not worth the time taken to worry about them.

I understand they are not worth it, but it boggles my mind that you have to accept their presence in the first place.

You never explicitly asked for it to be added there, did you?

You never asked for Solitaire or Freecell either. And you never asked for Notepad or Calculator or whatever. Did you have mini-hysterics about Solitaire being bundled, and did you waste hours worrying about it or removing it?

What about the pernicious inclusion of Edie Brickell's Good Times in Windows 95? ;-) https://www.youtube.com/watch?v=iqL1BLzn3qc

Candy Crush Saga was actually one of the benefits of Windows 10 that Microsoft promoted, for two reasons: (1) Candy Crush was enormously popular, and (2) it provides practice in touch operations, just as Solitaire got people used to using a mouse.

This is idiocy. Solitaire and Freecell are originally not video games, and nobody is making money off selling them. Candy Crush Saga, on the other hand...well, I don't think I need to explain to you who benefits from having it preinstalled on Windows.

This is idiocy. Freecell was originally sold as part of a games pack for Windows, and Candy Crush Saga is a highly-rated game that's otherwise available from the Windows Store. Thousands of people have downloaded it.

The Good Times video in Windows 95 also sold Edie a lot of CDs, but it would be equally stupid to criticize that. In both cases, Microsoft is providing something entertaining that demonstrates some benefit of the operating system.

I don't give a shit if it's highly rated. The Chainsmokers are also highly rated and completely critically empty as well, just like Candy Crush. To compare the two is lunacy, it's the difference between Windows Media Player coming with Bach sample music versus Nickelback. Thousands of people downloading something is no excuse for advertising it and forcing it down the throats of probably millions more paying customers. It sets a bad precedent for Microsoft either way because they're supposed to be the company that supports Freedom Zero where Apple doesn't, and yet increasingly your use of their software is contingent on accepting ugly and invasive advertising. This is also why "you can turn it off" is a non-criticism. "You can turn it off" is an acceptable response to Siri being included with macOS, I shouldn't even have to deal with advertisements in the first place.

If you don't see this as part of a bigger trend I don't think I can help you do so.

You're insane if you think it's an advertisement. If you can't see that, I don't think I can help you do so.

I guess you think it's clever to imitate me or something? Anyways you clearly have nothing more to contribute. Microsoft wanted to give away Windows 10 "for free" but realized they'd be screwed money wise, so they loaded it up with advertising and telemetric crap to try and compensate. It's really that simple. I'm sorry I bothered engaging in the first place, and I certainly won't continue if you just imitate me with more inane bullshit in your reply.

LOL. I certainly won't continue if you just imitate me with more inane bullshit in your reply.

Unstoppable force, meet immovable object.

No, I think King is paying Microsoft a hefty price to advertise to you directly in your start menu.


Note the "think" in my statement. I have no evidence. I just can't fathom Microsoft actually thinking pre-installing Candy Crush on Windows 10 provides a net positive value to their customer, more than the company King Digital. With its psychological scammy IAP scheme. Or maybe Microsoft is just in on the IAP scam. Either way, its the first thing I removed when I installed Windows 10.

Microsoft's Brandon LeBlanc certainly promoted it as a feature:

"Solitaire. Hearts. Minesweeper. These are games that have been played millions of times over the years in Windows. And they are coming back in Windows 10. If you’re a Windows Insider, you can check out a preview of the new Microsoft Solitaire Collection that’s included in the latest build of the Windows 10 Insider Preview (Build 10074). In addition to these games, we’re also working with partners to bring some of their great games to Windows 10 too. And we’re excited to be able to announce today that King will bring their game, Candy Crush Saga, to Windows 10. Candy Crush Saga will be automatically installed for customers that upgrade to or download Windows 10 during the launch! Over time, other popular and awesome King game titles will be available for Windows 10. Ever since Candy Crush Saga arrived for Windows Phone, I’ve spent countless hours of fun matching candies. I’m really looking to playing Candy Crush Saga and King’s other game titles on Windows 10."


God, and anyone who knows how to read logfiles.

> It's annoying, but not that annoying.

For you, maybe. For me, I have zero intention of going through the hassle when I can just use Linux instead. Any hassles here are easily learned and generally don't _require_ the use of third party stuff doing black magic under the hood.

Fair enough, but Linux brings hassles of it's own, at least my Linux box does.

The issue for linux are often things you can't solve at all. Like poor power management.

If anything, Linux is the only OS where you can solve that. Plus on modern kernels, battery life is seldom worse than on Windows.

I'm not following here. Apple has great power management. Sure, it's closed, but you can actually rely on it today. Put linux on it and all of a suden you have power management issues.

Windows is pretty bad on high DPI screens, and even third party tools don't help. There's inconsistency everywhere, and most older software is just blurry.

Chocolatey is nowhere near as good as e.g. pacman.

You mentioned disabling telemetry, but the fact that the OS you paid for spies on you and shows ads is a big turn off.

It's terrible to script, you cannot make use of the billion unix command line utilities (and there is no equivalent eco system either), you need to use the mouse too much, and it's awful to program with in any but a small number of sanctioned programming languages.

What language are you wanting to program in that is awful on Windows? And regarding your other points, Windows scripting story has come a long way in the last few years.

Your concerns sound like they come from many years ago and that maybe you haven't taken a look lately.

What baffles me is that it is 2017 and Windows comes with less than it did decades ago. At least prior to Win2000 there was QBasic and edit.com, but now starting to work on a Windows machine means downloading and installing basic tools.

Need to SSH/SFTP? Download. Need to edit code? Download. Python? Download. Perl? Download. A reasonable terminal? Download.

Yes, I might have to go to the Mac App Store and get command line tools for C, C++, Objective-C, etc. It is unfortunate that XQuartz is no longer installed by default, granted. (PowerShell is very nice to work with though, I give MS full credit for that.)

I could live with having to download python, perl, etc., but someone please explain why having an absolutely fundamental ability to edit text and securely connect to work and transfer data to/from remote machines is something that any OS should be shipping without?

starting to work on a Windows machine means downloading and installing basic tools

While that is true, it's a bit of a moot point imo. I have yet to see an OS which had everything I needed for any actual work installed out of the box. As such, the way to deal with this is have a script download/install everything for you (and eventually copy or link all configuration files). Using Powershell getting any of the examples you mention is basically a one-liner just like for other package management tools, something like `openssh, miniconda, strawberryperl, conemu | Install-Package`. Or you can go more of a DSC way with Powershell Dsc.

Windows does have a C# compiler by default. It is located in the `Windows\Microsoft.NET` folder. Not very discoverable, though.

And starting with Windows 10 a metro app called 'Code Writer' seems to be installed by default for coding. (At least it's there in my installation.) I didn't try it though.

I'm glad. MS has made a lot of good programming tools. I really like Visual Studio and was a huge fan of QuickBasic 4.5 back in the day. Turbo Pascal was the killer app that first enticed me to the PC world.

It still befuddles me why some of this basic functionality cannot be a standard part of Windows. Not every Mac user uses emacs, or even knows how to open the Terminal app, but the fact that basic tools are supported means that there is just a baseline level of infrastructure to work with.

I have a feeling they cut a lot of these things in trying to reduce the install footprint when netbooks/tablets were all the rage.

> but someone please explain why having an absolutely fundamental ability to edit text and securely connect to work and transfer data to/from remote machines is something that any OS should be shipping without?

The ability to edit text _does_ ship on windows - notepad. (not that I'd recommend it but it does exist). Also, OSX doesn't ship with anything better.

FTP isn't a fundamental requirement for everyone, I don't have an FTP client installed on my machine, and don't have any intention of installing one.

Notepad??? OS X has shipped with both emacs and vim since Day 1. I'm sorry, but you seem quite unfamiliar with Macs.

You are correct, I would never suggest anyone have an FTP client; I have that service turned off on every machine I administer. SSH / SFTP are fundamental tools however.

> SSH / SFTP are fundamental tools

They are provided out of the box (and newer versions than OSX ships with) by WSL. As is vim, emacs, apt, etc.

They are provided in WSL, but the Windows Subsystem for Linux is a separate install atop Windows, and the installation process is currently very complex and lengthy.

The installation process is not at all complex. You just have to turn on developer mode and check the box that says you want to enable WSL.

Windows key, type "developer mode", hit enter, click "developer mode" (or 3x tabs, space, enter). PowerShell, send "lxrun /install /y"

Done. Pro-tip. Pin PowerShell to your taskbar and drag all the way left. Now you can open it with win+1.

Edit: now with no mouse required!

After going to the Windows store and upgrading to Windows Pro. That's another advantage of OS X- no need to target various OS revisions- the baseline OS IS the OS.

I just sort of assume if you're a developer that you buy the developer version of your software :)

Edit: for reference, home also doesn't come with bitlocker (!?), Domain join, Group Policy, client hyper-v, and others. Don't buy home to do work.


You've missed a step. After enabling Developer Mode, you need to enable support for WSL in Programs and Features, then restart Windows.

When I tested it on my laptop out of the box that was not the case. Maybe Dell does that on the xps line...?

Am i going mad? Windows has a command line ftp tool, I used it this morning. Is it just a Windows 10 thing? because it was also on my netbook running 8.1 out of the box.

Excellent point. WSL is certainly a step in the right direction.

Apooogies, I forgot that it ships with emacs and vim. So you use the vanilla installations of emacs and vim for your editing? Or do you download a more recent version and configure plugins? Notepad is a perfectly adequate editor if you need to quickly change a config value, but I wouldn't consider it a usable day to day tool. Nor would I consider a vanilla vim install with no customisation a usable day to day tool.

> I would never suggest anyone have an FTP client; I have that service turned off on every machine I administer. SSH / SFTP are fundamental tools however.

Pedantry at its finest.

I have neither ssh nor sftp on my workstation and I have no need for either.

> The ability to edit text _does_ ship on windows - notepad.

Windows also ships with WordPad, which is a simple word processor.

I've tried to do work on windows 10 Pro on a brand new 8 core Ryzen machine with 16 GB of RAM, SSD storage, and an RX480, and working in windows at the command line is 100x (no exaggeration) slower than Linux.

> It's terrible to script

I'm pretty sure you didn't try PowerShell. It is at least as good as bash, if not better.

> you need to use the mouse too much

I find this more problematic on macOS. I was forced to use a mouse much more on macOS. It doesn't even allow me to press the yes/no dialog only using a keyboard. On Windows nearly every item has a shortcut, sometimes even better than GNOME (but worse than KDE, IMO).

Powershell might have some neat features, but the verbosity of the commands (don't bring up shortcuts here either - you need the full commands as that's what everyone else is using) just drives me batty. I find that they don't lend themselves well to mnemonics or easy memorization.

Who needs ls when you have Get-ChildItem?

Who needs grep -r 'pattern' when you have Select-String -Path c:\ -Pattern pattern?

Now that I think about it, Powershell has a conceptual similarity to Applescript. A proprietary, verbose, and hard-to-discover English-like syntax belying a great amount of power over the target platform.

Microsoft might have gone a little far on the whole "code is meant to be read first" thing, but the verbosity does make it immediately obvious what every line in your history does.

> It doesn't even allow me to press the yes/no dialog only using a keyboard

cmd+first letter of the dialog option.

I actually find OS X far superior with shortcuts than Windows: More discoverable, actually configurable and more consistent.

One of the only things I miss now I've switched to Win.

For me one of the joys of using macOS is when you realize adding option or shift to a shortcut does a similar but more specialized thing that is more useful.

In Windows the shortcuts have always seemed less logical to me, though the newer Windows key ones are an improvement.

I find it hard to take powershell seriously, considering last time I tried using it for anything, I just wanted to quickly download something over http. Looked for something like 'wget <URL>' online, the only results I found was something like multiple verbose lines of instantiating an http client and calling methods on it. That's fine for a programming language, completely horrible for an everyday shell, from the perspective of someone who generally only uses Firefox and a terminal emulator in Linux.

After some googling just now, it seems like there's now an Invoke-WebRequest command, but that too looks like a hell of a lot of typing compared to Linux shells.

There's also the fact that lots of stuff in windows wasn't designed to be accessible through the cli. You can't, for example, make a powershell script to toggle an audio output device on and off, as that's only available through the GUI.

> the only results I found was something like multiple verbose lines of instantiating an http client and calling methods on it.

I blame the documentation. Not the official documentation (they're not excellent, but OK), but various outdated resources residing in many blogs and sites, including Stack Overflow. I mean, what's wrong with

? The situation this command wasn't searchable by you is unfortunate, possibly because PowerShell has come a long way since its introduction in 2006 and it is hard to remove the outdated resources online. But for those who know what features/commands are available in PowerShell, finding them isn't particularly difficult.

> There's also the fact that lots of stuff in windows wasn't designed to be accessible through the cli. You can't, for example, make a powershell script to toggle an audio output device on and off

This is just one example. On the other hand, I found nearly every thing I had done using GUI could be replaced by a few lines of PowerShell code. Actually automating my day-to-day GUI operations was my way to learn PowerShell, and mostly it worked great. Microsoft is adding tons of commands each release to expose more system functionalities. There are exceptions of course, but "lots of stuff" is a bit exaggerated.

It does, you simply need to change a default configuration for keyboard shortcuts to be able to jump over UI elements with keyboard only.

Control + F7 (Fn + Ctrl + F7 if you're on a MBP or using the wireless keyboard)

Toggles on highlighting for all UI elements so you can Tab / Shift-Tab through them. It's usually the first thing I do when I touch a new Mac.

:( Why is it not the default? Is there a technical reason? I cannot think of any possible downside that the shortcuts would bring.

I've yet to figure out what PowerShell can/can't do though really. Maybe I'm weird, but I like that it's bash on OS X, I already know it.

You're not weird. PowerShell does have barriers to entry and that's why I also had used Cygwin on Windows until recently. And it might not change because it is a very different monster than POSIX. It is unfortunate for sure, but still I think it's worth learning especially if you use Windows frequently.

Even if you don't, learning it is a fun experience. It's like learning Haskell just to feel another way to program, even though you're not using it in practice.

Eh, it's just so .. nuts looking to me that I'll probably stick to *nix land.

I recently installed Windows 10 as a secondary os on my laptop for music making.

The biggest annoyance was configuring the system to not get in my way: Never ever put something in the front of the app I'm working in, forcing a change of context. Don't use up all of the bandwidth when downloading updates in the background, etc. This was much less of a hassle the last time I used OSX. Apple might give you less options for configuration, but at least out of the box it is/was much less disruptive.

Overall I like the look and feel of windows 10, and some of the problems were caused by third party software. I do think a lot of the defaults actually make sense for the mass market, but they should be much more transparent and easier to change. For example, I expected disabling Cortana during installation would, well, actually disable it.

I find my workflow in "bash for windows" horribly slow. My prompt command (that does git/virtualenv/etc checks) takes 4 seconds to run on windows and 0.04 seconds to run on the same machine dual-booted to ubuntu, and about the same time on a 2015 Macbook pro running MacOS. Everything else in bash for windows is similarly slower than bash on ubuntu. I haven't found a native windows implementation of bash that's anywhere as responsive as Linux or MacOS. I actually find Windows to be a better window manager than MacOS at this point, but I find myself most effective under Ubuntu and i3.


Just the fact that I can download some new software and still see a 2001 era file dialog or such (because it was made with an older, but still supported ancient UI lib), is enough to put me off windows for life...

Personally, rather than thinner/lighter I'd pay for it to be a bit bigger but capable of letting me open it up and replace RAM and the SSD as was possible up to the 2013 ones.

I'll be holding onto my MBP-Non retina from 2012 for as long as I can!

Best look for a cheese-grater Mac as a workhouse. Xeons may be old but not to be sniffed at.

The resell market is good enough that you can sell your laptop and buy one with the upgrades you want for around the price the upgrade would have cost.

That's a workaround, not a solution. Not being able to replace memory is absurd. But being able to replace a hard drive (the part most likely to fail) is just evil.

> Thiner/Lighter

I can understand lighter, but thinner? Why do you wish for it to be thinner? I consider it to be thin enough.

Thiner makes it easier to manipulate when I'm in Cafes/Airplane/On the Couch.

No it doesn't. Lighter makes it easier to manipulate. Thinner makes it more difficult to hold and manipulate. Did you ever try to "manipulate" a sheet a paper without a surface to set it on?

Try using a 12" rMB, than you know why.

>32/64GB RAM

I'm genuinely curious - why do you need 64 GB of RAM on a laptop? Are there industries where this is a necessity? At that point, wouldn't you be better off having remote machines?

> why do you need 64 GB of RAM

I see this question often, and I totally don't get it. I do use 64GB for work, and in light of this news that no new Mac Pro will arrive any time soon, I'm considering bumping that to 128GB[1]. But I don't do high-frequency corporate hegemony work, or video editing, or any of that — I'm just a programmer.

Moreover, you could delete IDEA and Xcode and my 5 browsers and 7 text editors and my 30 terminal windows and git client and all the other work-related stuff open right now, and I'd still easily use 64GB just fucking around.

I wonder: how is it that people don't use 64GB of RAM? Do they reboot their machines every week? Do they fastidiously quit applications even though they'll probably use the app again within a few days? Are they just all like, "modern memory-swapping technology is so awesome compared to 1990s System 7 'Virtual Memory' that I love to watch it work, even though things run an order of magnitude slower in many critical sections"?

I really don't get it. Terabytes of RAM? Yeah, that might be hard to make use of today. But 64GB is definitely not too much, not for me and probably not for you, or even for your mom.

I don't have 64GB in my laptop, but only because I can't and have to settle for 16GB (unless I switch to a different OS, which is on balance a worse tradeoff currently, and yeah yeah I'm rooting for Linux but come on, one can only maintain hope for a couple decades and that mark is fast approaching...)

Cheap RAM is one of the things that keeps hope alive in this increasingly degenerate era.

[1]: https://eshop.macsales.com/item/Other%20World%20Computing/13...

> Do they fastidiously quit applications even though they'll probably use the app again within a few days?


It's an old habit of mine that stems from spending most of my pre-adult life with old equipment, and using others' equipment with <1gb ram running Norton antivirus.... I'm so glad those days are over, but I haven't completely recovered. That being said, I do occasionally just leave everything running for as long as I can stand to. My system can never tell the difference.

As for using less than 64gb of ram... Ha! I have never had more than 8gb of ram! I have never needed more than 8gb of ram! 8gb is a lot of memory! 64gb? Are you kidding me? I've considered several times over the past few years getting another 8gb (for 16gb total), and ended up realizing I would never use it.

Don't browsers generally use more RAM when more is available? I only have 12 GB on my laptop and I've never really noticed anything. It's not like I'm using all 50 tabs and 20 applications at once, and the split second that it takes to reload the app state/data into RAM if it got bumped doesn't bother me.

I would phrase it this way. No matter how much RAM you have, the gosh darn internet browser will easily gobble it all up.

Yes -- anything related to data science. Or, like in my case, algorithmic trading.

I used to keep AWS GPU nodes for that, but those are expensive, and it is infinitely more convenient to keep your data close to your workspace, instead of constantly uploading/downloading work batches.

A better option is to just have your own server at your house on a static IP address that you connect to via your laptop. That way you can have as much space as you want and it's always available to you.

I used to do that. Then I realized I just can attach a nice display and a keyboard to the "server" and make things even more convenient.

I'd honestly rather have it on my machine, rather than on a server. I get a lot of work done in places with pretty dubious network connectivity.

Remote machines can't match the local machine in terms of latency. Especially when I'm "remote" from America somewhere in the middle of nowhere where the best connection I can get is a 3G.

But back to your 32/64Gb question. I need it to run my Docker containers. I do trading and stuff.

Your website/blog is down.

> I'm genuinely curious - why do you need 64 GB of RAM on a laptop?

How about this? For when you want to run VMs that are non-trivial.

Not OP and I'm no professional but Photoshop alone is the reason I can never have enough RAM.

I use Photoshop a ton and currently I'm convinced it doesn't even TRY to use the ram. I open it up and it just seems to use about 2GB and happily chug away on swap rather than taking a bite out of my 32GB

IIRC it has a configuration setting to tweak how much RAM it is allowed to use

I have some resource intensive VM's I run, but I also need to be mobile enough to go to different client sites. I could potentially do some of that stuff in the cloud but then the monthly cost starts to get high for just development.

I agree, the cloud is not expensive. £30/month gets you a beast of a machine with OVH that's always online with masses of bandwidth. Connectivity issues from the client are the main consideration.

Xcode will happily consume that much RAM on a big enough project.

Personally I want the Apple hardware, but would love to run 3 operating systems as I've never used Apple OS before. But am in love with the Macbook Air concept, seems the new Macbook Pros make the Macbook Air unnecessary. I mean they're insanely thin! The display, oh my god... not sure about those keys though.

I bought this Samsung Chromebook 2 to test out a 13.3" laptop size and the keys were close to being "counter sunk" into the frame (not really but they were noticeably low) and seeing one of the new Macbook Pro's in person at a store I was like "WTF is up with those keys."

Yeah I love the software optimization giving to long battery life on Apple's behalf but the whole "gaming on Windows, and software like CAD/Solidworks on Windows" I don't know. As I said run three operating systems as Linux is my primary OS to develop on. I'm not looking forward to learning Apple OS, at least Visual Studio Code is on there.

I'm kind of dumb though in some ways, I keep thinking "If I have a computer like a Macbook Air I can develop on the go" but I'm most productive on my desk, two monitor, desktop. But I want to get setup for a moving/traveling digital nomad lifestyle so one device and barely any possessions would be great, particularly in the event of theft my device is outdated/protected enough that it will destroy itself and I can replace it relatively easily... but that's far from my current situation in life as a mere peasant.

This autobiography brought to you by, schizophrenia, you gotta love it.

If you really need Solidworks, it should be paying for you to run it on a dedicated machine.

Just warez or what?

This is contradictory too, can I afford a $5,000 license haha. But that's something I'd like to be able to use in the future as I'm also interested in mechanical engineering/prototyping.

I mean visual representations something like SketchUp is great, free easy to use. My friend has a 3D printer and can produce STL files. I've used SolidWorks before. Yeah I don't know, I'm just rambling excuse me.

I've heard of Warez.

I'm also aware of free options like FreeCAD which I loaded on Ubuntu, pretty cool.

I primarily buy Apple for the hardware, secondarily for OSX. I used Windows for years and years, there's nothing about it I can't get used to. If MacBooks weren't so great, I'd be using ThinkBooks, they're not terrible. But MacBooks are so much better that it isn't even a close consideration.

That might be the lock-in talking, Apple would have to screw the MacBook line over as badly as they did the Mac Pro line to get me to switch.

I'm sure you've heard it before... but the XPS line from Dell is a solid choice for a Windows laptop. Just be sure to buy a new one. I recommend against going the Dell Outlet refurb route to save money.

> That might be the lock-in talking

It is.

Apple hardware is ok, except for the fact that it is insanely overpriced.

The price differential doesn't really concern me. I've tried using different laptops, I always come back to Apple. I wouldn't call it insanely overpriced, it's just higher priced than everything else if you just went by specs. Being that the quality is superior, I do not begrudge them their profits. It would be a sad day if Apple ever stopped making hardware.

> I wouldn't call it insanely overpriced Are you kidding? I would. I did. Just now.

> Being that the quality is superior

Exactly how? Honest question.

How? Just about everything is better. The biggest difference between Apple laptops and everybody else's is the trackpad. Nobody else makes one like Apple. You don't know what a pleasure it is to not have to think about the trackpad while I'm working. That alone lifts the build quality of Apple laptops to a level above ordinary Windows laptops.

The keyboards are excellent, better than the norm. I consider ThinkPad keyboards to be outstanding, slightly superior to Apple. But Apple keyboards are still way better than the average laptop, the second best laptop keyboard. I haven't used the latest Lenovo ThinkPads and I've read that their laptops have degraded over the years. So maybe Apple's now is the best. All I know is that it does it's job without any fuss and that's very important to me. The backlighting could get dimmer in low-light conditions but I understand that Apple fixed that in the newest model.

Moving on, the batteries are outstanding. Apple manages to get everything right. Charging works well, though the chargers themselves are sub-par, due to Apple's ill-considered decision to not use strain relief, I never have to worry about whether I'm charging my laptop too much or not enough, Apple builds all those decisions into the circuitry of the charging system. It's one more thing, like the trackpad, that I don't have to worry about when I use Apple that I always miss when I start using other kinds of laptops.

There's the screen. I'm sure there are similar-quality screens out there, but Apple's is outstanding. With Flux, I can use it in lighting conditions ranging from very dark all the way to just shy of direct sunlight on a bright day.

There's the solidity of the aluminum construction. I wouldn't exactly say I'm careless with my laptops, but I don't use a case and I bring them to the bar. If I close the lid, it's practically impervious to spills. I've relied on this more than once. I've spilled liquid on it with the lid open, all that needed to be replaced was the keyboard and trackpad, the mainboard wasn't damaged.

Finally there's Apple's support ecosystem. I've never not left the Apple Store satisfied. Their reps are helpful and knowledgable in a way that you really miss when you stray outside the ecosystem. One time I didn't want to wait for Apple after I spilled water on it on a Sunday, so I took it to a Micro Center that was listed on Apple's website. The difference in professionalism was night and day. Micro Center made me fill out paper forms and mis-transcribed my phone number, so I didn't get any notifications.

Literally everything about Apple's laptops is a cut above in terms of quality, and some things, like the trackpad and support, are spectacularly so. Other companies can get close to Apple on a few things, but only Apple can consistently do everything right. You're always going to be missing something if you go elsewhere. Apple hardware looks overpriced compared to a run-of-the-mill machine, but when you look at the high end of the laptop market, prices all look very similar. When you're actually comparing apples to Apples, (see what I did there?) the prices for similar quality laptops, like say the ThinkPad X1 Carbon, Apple comes out at only slightly more expensive. I consider the premium very much worth it. I can see how a more price-sensitive customer could find it very expensive, but to me that's like comparing Toyotas and Hondas to Mercedes and BMWs.

I agree macOS is better. It does have issues and bugs, but in my experience, there are far fewer annoyances with macOS than with Windows. It's a little hard to point things out, but Windows does get in the way many a times while using it. It's also the overall quality of applications that run on Windows that make for a poorer experience. Third party apps on macOS tend to be a lot better and nicer.

If there's one part where I like Windows and Windows applications a lot more than macOS, it's in the support of keyboard shortcuts (like all the Alt+ or Ctrl+ combinations). The apps as well as OS on macOS severely lack in keyboard shortcut support and depend more on a mouse or trackpad. I know I can define my own shortcuts for application/system menu items in macOS easily, but that's a big chore to do.

All the praise of macOS aside, I avoid Apple's own apps for anything where I need longer term availability. Take iWork for example. I never use it for anything that's not a throwaway project. Apple could, at any point in time, just decide that it's not worth it, junk support for all the files you've created (in its proprietary format) and then start afresh. So I use LibreOffice for all my longer term spreadsheet needs. Or Thunderbird for mail (and so on). The shelf life of Apple's own applications and their proprietary formats and cryptic file organization systems are relatively much shorter compared to FOSS offerings or even Microsoft's offerings. Apple's consumer side iLife apps also have hit some people hard in the past with data corruption and data loss (IIRC, iPhoto was notorious for that). Since I don't upgrade my hardware every few years, these factors hit me harder on the Mac side.

Linux is a lot more time consuming to manage for me (even though I'm fairly tech savvy). But a good combination of UI (looks, readability, fonts), usability along with perfect hardware support would be a great thing to have.

> a good combination of UI (looks, readability, fonts)

In my experience, Linux has this. Especially fonts. IMHO, fonts in Linux are slightly better than OS X, and worlds ahead of Windows. As far as UI, it depends what you want. There are a lot of options, and some of them look fantastic, some of them are very usable, and some fall into both categories.

> And please, don't tell me Ubuntu or other linux flavors.

Well, you seem to have isolated yourself from counterargument. I was given an 2016 Macbook Pro from work. My normal dev workstation is Ubuntu 16.10. I do truly prefer Ubuntu to OSX. I like the customisation, and even the default look and feel of Ubuntu just works better for me.

Also, as a developer doing mostly Haskell and Python, derping with Elm, rendering documents with Pandoc + LaTeX, all of my tools are perfectly at home on Linux. Everything works with OSX too, but it is usually a bit easier to get things working. I prefer apt to brew. I don't know what else there is to say, but here is a counter argument. If OSX and Ubuntu were both for-pay products and cost the same, I would pick Ubuntu.

The UX on Linux is not lagging. I'm talking about fedora and gnome. I have had Mac toting people specifically ask me about my cool UX and what de was I using.

Oh and the XPS is better looking and non-hypey like the touchbar Mac book.

I really suggest you give the Fedora livecd a try.

OS X (sorry MacOS) has problems, but dear god as soon as I try to use Windows or something else, I'm reminded how good the Mac is. The last 3 or so major revisions haven't offered much of anything I personally care about, though.

I vastly prefer Windows. But use a Macbook Pro which is still the best Windows laptop because of the build quality, performance and features.

>Here are things that I'd pay $1,000 on top of the current Macbook Pro model:

>- Thiner/Lighter

>- Longer Battery Life (5+ hours)

>- 32/64GB RAM

These goals are diametrically opposed.

The first two points are, but not really the RAM. It's going to be an ounce at most. If they go from two 8GB sticks to two 16GB sticks, it wouldn't change size/weight at all.

Except you're not able to get LPDDR3 with more than 16GB of RAM, so you'll need more power..? I might be wrong.

You aren't wrong.

The reason Apple gave is the truth, LPDDR3 only supports 32GB. You would need DDR4 for 64GB but Intel only supports regular DDR4 not LPDDR4. While DDR4 uses less power when active, LP saves significant amounts of power during standby and they would need bigger batteries to compensate.

> but the UX is still lacking a lot

I disagree. I moved from a MBP to a notebook with Arch and i3. The UX of a tiling window manager such as i3 is in my opinion much better and more efficient than the floating wm on OSX. There is no real tiling wm for OSX (don't mention divvy here, it's a nice tool but far away from a real tiling wm).

> I mean Windows is good, but nowhere good as OS X.

The vast majority of the world disagrees. The only reason anybody uses OS X is because it's Unix. Other than that, the UI is atrocious and severely lacking. It doesn't even come close to the robust utility that Windows offers.

Same here. I used windows for many years but the second I used macOS I was won over and that piece of software will keep me there for a very long time. I don't often (not never) run into problems with the hardware. Hell I barely ever notice it. But the software is really important.

That's a reasonable case for an Apple laptop. The Mac Pro is targeted at different use cases and competes against different products on computational power. Signal processing workloads like Audio and Video editing that rely on Fourier transforms and parallel array processing benefit from big power hungry CPU's and GPU's; gobs of RAM; and large fast persistent storage arrays.

Someone who is processing lots of video or audio for money may spend most of their week at a desk in one or two apps and the faster the throughput of their machines the easier it is to meet client deadlines. And hardware starts to matter a lot and throwing hardware at the problem is often a good idea...the logic of rendering farms is the same as server farms.

> Am I the only one that sees OS X as the biggest reason to switch to Mac?

Not any more. Mac OS looks and feels very antiquated compared to Windows today.

As a developer, Windows has caught up to MacOS for the shells and beats it in pretty much all the other areas (UI of the OS, keyboard shortcuts everywhere, great file manager(s), much more productivity tools available, etc...).

And of course, Windows laptops are anywhere between 1/3rd to half the price of the equivalent Mac laptop.

These days, I use both Mac and Windows to develop but once I can no longer use my Mac Book Pro, I won't be getting another Apple laptop, it's going to be Windows all the way for a few years until Apple catches up again, if they ever do.

Can you tell me more about your bash setup?

It seems silly, but to me two big annoyances are

1. I can't figure out how to easily open up the bash/ubuntu thing where I need it. I'd love to just have a dedicated "github stuff" folder that it opens into by default (and can edit). I always seem to put stuff where bash ubuntu isn't allowed to touch, or I'm manually CDing around until I find that weird place where the C drive is. I mean yea I can google it, but I'd have to do it every time.

2. Pardon my french but it's fuckugly. The colors, the fonts, lack of transparency. Copying/pasting/etc all suck. How can I make this less sucky?

I actually have a few different setups on my various Windows computers, just to test things. And they are all pretty much equivalent, the only difference is the console I use (Cmder, msysgit, etc...).

The main take aways:

- I share all my dot files (.bash_profile, etc...) between Windows and Mac OS. They are in a Google Drive folder and whenever I move to a new machine, I just copy them all verbatim and they work right away.

- Bash, git and ssh work out of the box on these Windows/UNIX shells.

I agree with the colors, fonts and the copy/paste interaction on Windows. Not great, but tolerable. I want to experiment with more consoles since there are so many to choose from on Windows.

Oh and Cmder has transparency and you can configure copy/paste to be by line instead of by block, at least.

>they are in a google drive folder

OOOOooooh this is fucking smart. How have I not thought of this?!

I use ConEmu in windows as my terminal of choice.. there are options to add an "open command prompt here" to the registry for directories/folders so you can right-click in explorer... You can also configure git-bash as your default... Copy/paste also get better... with the windows terminal, you can go into the config and choose the quick paste option, I forget what it's called on a mac at work.

Mostly, I use vs code, and open that from where I am in explorer.. it has it's own terminal that opens in the current directory, that I change to use git-bash -l, adding in the git prompt script(s). Overall it works very well, imho better than bash for windows (ubuntu userspace).

1. I put a cmd link in my taskbar, which opens to my Repos folder, and then launches bash (which will open in that folder under /mnt/c). Or just do `ln -s /mnt/c/My/Repo ~/GithubStuff` and have a symlink from Ubuntu land into your Windows drive.

2. Colors are better supported in the CU coming out in 3 weeks, and transparency + copy/paste can be setup via the file menu (right click on the logo in the command prompt title bar and go to Properties).

> it's fuckugly. The colors, the fonts, lack of transparency. Copying/pasting/etc all suck.

No kidding. cmd has not meaningfully changed since its original version. It just sucks. No matter how nice the shells are.

> Am I the only one that sees OS X as the biggest reason to switch to Mac?

No, you're not the only one. I can't stand non-OS X anymore.

The only thing that bothers me is the lack of window-based Alt+tab (Cmd + ~ and Cmd + tab are not equivalent).

I am commenting as someone who uses both Linux, (at home) and a MBP, (at work) on a daily basis:

> And please, don't tell me Ubuntu or other linux flavors. They look good (and are good if you are programming on them) but the UX is still lacking a lot.

There certainly are some specific areas, like 4K support, which are still being worked on, (and is in fact worse on Windows), but other than that, I cannot see what macOS offers over a modern GNOME desktop, UX wise, can you offer specifics?

On my MBP, I always feel constrained, doing any heavier compilation slows it to a crawl and sends the temps to the very edge of what the CPU can handle, there's not even a point in having a CPU that can turbo up to 4GHz, since I never, ever, saw it happen under macOS, Finder is a joke, (Path Finder is good, but you can get there with built-in File Managers on Linux), Xcode is a joke of an IDE, stuff like syntax highlighting and autocompletion is randomly gone every couple of minutes etc.

My main problem with macOS and the hardware it runs on, is that even on a top quad-core model, you don't really feel like 'this thing has power to spare', the last thing I want to feel when working on a computer that costs over 2k.

> god forbid you have a problem (especially a hardware problem) and then try to debug it. Good luck searching online for a resolution.

I don't think that is really true anymore, places like the Arch wiki and forums are a sure way to get almost anything resolved. On the other hand, try having a hardware issue, (personally experienced WiFi drops, dead pixels and GPU glitches), on macOS, nobody even tries to resolve it themselves, you're told just ship it back to Apple.

> Never mind the confusion of the different flavors, packaging systems, and configurations

Not really a problem in practice, (but a very tired talking point), you just stick to your distro's 'ecosystem' and be done with it.

> Anyone figuring out the Linux/Laptop problem is re-inventing the Macbook Pro/OS X.

There are surely people doing just that, but I don't think that's the majority.

Linux with GNOME just 'clicks' better with my workflow, the system feels a lot snappier, the package manager is in charge of every update and systemd is powerful and easy to use, so I always have a very clear picture of the services running on my system and their health.

Additionally, my Linux laptop is aprox. 3x as powerful as the MBP for less money. The only thing I really wish my Linux laptop had was the MBP's superior build quality, but things like the XPS line are catching up fast, so there's hope...

Once Linux is set up without hardware compatibility issues, it's substantially better than OS X for programming, in my experience: the software Just Works more, compared to brew or whatever. I know that's ironic, but I've used both of them over years. I'm sure other people have contrasting experiences in some other sub-ecosystem of software development.

No, I used Mac then Windows in the PowerPC days, then back to MacOs on the switch back to Intel. I still need to use Windows for work sometimes and I still think some things about it are better (file management). But in so many ways it's way better. If I needed to build a high end video/gaming workstation now I would buy a PC. But I would still have a mac laptop to do everything else. Let's see what Apple comes up with, but my guess is that this is the reality going forward.

Isn't the article about the Mac Pro, not the Macbook Pro?

I would say no to a native package manager. I do not want to make Mac OS Linux. I would like to keep Mac OS as Mac OS. It's like recommending putting Quartz on Linux.

The built-in apps aren't cluttering I don't think. If you don't use them, what's cluttering about them? I'd rather have them than not.

Things Mac OS is missing compared to Windows: - COM - Stealthy updates There may be more.

I've never had a problem with Xubuntu besides the occasional hiccup that stackoverflow easily solves. Maybe you've just had bad luck?

> They look good (and are good if you are programming on them) but the UX is still lacking a lot. (Never mind the confusion of the different flavors, packaging systems, and configurations).

How can plaintext configs be confusing for a competent software engineer?

On Linux, you can make your OS work for you just the way you like it.

Good luck changing anything significant in Apple's walled garden

Plain text configuration comes in a million flavours. The differences in syntax goes from large to subtle, and it's easy to make mistakes and usually hard to debug. Documentation of both syntax and semantics varies wildly in quality. If only there was a convention...

Nowadays I'm on a Xubuntu box, and I've managed to have zero system-wide configuration. I've made a metapackage that depends on the software I use---and in the years I've optimised that to be a couple dozen---and installs a package repo for itself. Until recently I was running a FreeBSD box where all the desktop setup was my own (VTWM, dunst, many little programs; I ran Arch for a couple years before that). That's nice, but it becomes a baggage quickly. So many points of failure, and only me to maintain it. Now I'm back on (X)Ubuntu, all I have to do is configuration for my shell, git, mercurial, and then my emacs.d. It isn't even close to how plesurable it was to run BSD or Arch, but the minutiae is tiresome. I'd rather configure as small as possible and focus on my actual work and indispensable tools (Emacs, VCS, shell, in descending order) instead.

The usual Unix level of customisations are good on server, but for daily use they're hard. And the configuration files, with the lack of conventions makes it harder (one has to know tens of dialects and languages).

> Nowadays I'm on a Xubuntu box, and I've managed to have zero system-wide configuration.

That's awesome.

In most cases, you don't even need to customize much.

I was arguing about the ability to customize that's just not present in OSX and W10.

Knowing that you can always change things is liberating.

I do believe that people go overboard sometimes, but that's not the fault of plaintext configs at all.

I've been running XFCE on Arch with just a handful of visual tweaks for 3 years now. For the most part, everything just works.

You can edit plist files that litter the ~/Library directory???

If Macbooks, and by extension macOS, used a "normal" keyboard layout I'd agree (not talking about the touchbar, which is gimmicky at best imo).

But currently, on the french layout, you can't even pipe things.

A Macbook dual booted with a normal keyboard would be my dream machine I think.

You can very easily buy a MacBook with a "normal" US keyboard, even in France. Personally I gave up the french layout several years ago. It took me maybe one week to get comfortable with the US-International input to type accents when writing in French, and that was it, never looked back.

The US-International input is very simple: to do an à you do ` then a, to do a ç you do ' then c. This input mode is however quite annoying when writing code, so I switch between US and US-International input mode depending on what I'm doing.

Nowadays (at least in Sierra), you can "long press" a key to pop up an iOS like menu of alternative character. eg: à = long press "a", then "1".

The normal US keyboard has alt-e (´), alt-`(`), alt-u (¨), alt-i (ˆ), alt-c (ç), alt-n (˜) for the combinable version of accents.

Ubuntu Unity is actually pretty slick, and enables tiling prety easily.

I agree Canonical should have first-party laptops and demand quality.

But Apple not having an open package management ecosystem, where people can manage/create their own repositories, kills it for me.

> But Apple not having an open package management ecosystem

It's not from Apple but Mac OS has Macports and Brew for this just like Windows has Chocolatey

Unity makes the Linux desktop usable now, but I still wouldn't call it slick. Even if it leaned more on KDE instead of Gnome it still doesn't feel right compared to either Mac OS or Windows.

Going on a tangent, I still wish Apple would release a screenless iMac. Not as much people want or need a screenless Macbook Pro (Mac Mini) - the 16 GB RAM limit is annoying and thunderbolt is lacking as opposed to just SATA, and not as much people can justify or afford a modern Mac Pro. If Apple wanted to see the market demand for that, they should try tracking sales of used old-gen Mac Pros on ebay.

Homebrew is nice, but source based packages suck, especially on underpowered Apple hardware..

Not sure why you still feel that Apple needs "an open package ecosystem" when you're already happy with homebrew. Apple computers have a lot of problems, but that isn't one of them

First of all: > source based packages suck

Second: The package manager only manages a subset of user-installed software.

I honestly don't care much, since I don't even use OS X anymore, but I wanted to clarify this as one of many reasons why.

People really need to start understanding that there's a hard choice to make between thin/light, battery life, and power. You can't have all three in the same package. The laws of physics prohibit it.

I love Mac OS but it gets regular updates and which each update, it's more demanding. The hardware needs to keep up. Try running IOS 7 on a Gen 3 iPhone.

I am using a 2010 MacBook Pro 13" (2,4 GHz) as my everyday development machine with macOS Sierra and Xcode. I maxed out the RAM to 8 GB and replaced the HD with an SSD 3 years ago.

The screen keeps feeling smaller every year, but I can not complain about the performance of this nearly 7 year old computer.

Still running a 2012 non-retina MacBook Pro. I shoved 16GB RAM in as soon as I bought it (it officially only supports 8GB).

But it was a real dog with a hard disk. Shoved in a 1TB SSD and all is good (and that's a SATA3 not NVME). Should continue working for another 5 years no problem.

But you can't run iOS 7 on the 3GS (the third iPhone). The last update for it was 6.1.6.

So update your hardware regularly?

Maybe you can afford that, but many can't.

I really dislike this argument. If you are not doing any serious work, then yes, Apple products are a luxury. If you are doing serious work, then you can afford Apple products easily. Let's say you spend $10k on your 2-year updated hardware. That comes at roughly $14/day. That's about how much I pay for coffee daily (cafes + Nespresso capsules)

Edit: And that doesn't include the re-selling price. I do give my old hardware to my mother, so I take it out of equation.

It's only $14/day if you work 365 days a year. If you work a more typical 253 days/year, then it's $20/hour which could be half an hour of the developer's hourly rate.

Does that $10K hardware save you 30 minutes/day over over what you'd see with $3000 worth of hardware (or keeping your $10000 hardware for another year)?

For some, the answer is clearly yes, but for others, maybe not.

I'd really like to know what you do to make a 2 year Macbook Pro upgrade cycle worth the cash outlay. Performance updates have been really incremental between releases for the last while. I do some serious machine learning and DSP development (except for deep learning, but an upgrade is not going to help with that) on my early 2013 rMBP and I feel bad asking for an upgrade although I could probably get one, because there is really nothing wrong with my machine. Maybe when a 32GB version swings around...

> Edit: And that doesn't include the re-selling price

I second this. Just take a look at prices on Ebay for old metal Mac Pros.

I think literally the long battery life and the hardware reliability over the years has been my one reason to dismiss other laptops.

Once Flatpak becomes more commonplace, the problem of distributing third-party software is hopefully solved on Linux distros.

Try elementaryos. Just buy intel hardware and youll be set for drivers. Try it and tell me its bad

And if you do, that does not mean every other Linux distribution is bad. Try [kxl]Ubuntu. (Not normal Ubuntu unless you honestly think you would like unity. Most of us do not.)

This is about a Mac Pro not MacBOOK Pro.

You can build a much more powerful computer and put OSX on it.

Not worth the trouble. Its too much trouble with the updates and all that crap. I have people calling me about their hackintoshs and I tell them to call someone else

I'm really, really surprised you said thinner/lighter. I have a few years old MacBook Pro and it's already plenty thin and light for a "Pro" laptop.

A lot of the other things you list are in direct conflict with thinner/lighter, and Apple's obsession with thinness is probably why you don't have them.

FWIW, you can disable Siri in System Preferences.

I'm with you on this. The bloatware in modern operating systems, even once you take away the PC-vendor garbage, is appalling.

I feel like they could keep things the way they are, and offer an AOSP-like vanilla version for people who generally know what they're doing (Google does a pretty good job with limiting it).

I'd pay hundreds of dollars more for this software option (have previously considered hiring someone to do it in the past on a new PC, but I have had bad experiences with PC repair shops).

I bought my spouse a new PC and literally had to spend HOURS removing software and decoupling McAffee from Windows. An i5-based system was out of the box crippled while it downloaded updates and software from the Windows store that I didn't even want to begin with.

OSX is markedly better, but I don't need siri, icloud, chess, ilife, dvd player, photo booth... the list goes on.

You can turn Siri and iCloud off at first boot-up, and the others are just apps that sit in /Applications and don't really take up much space, and won't bother you if you don't use them.

(The only exception might be Garage Band with its huge sound files, but you can simply find and delete those.)

When you get a new Windows computer first thing to do is give it clean install using an image direct from MS (remove all the partitions), which gives you a nice clean start. Don't even try to uninstall crap the OEMs have installed, there will always be stuff you've missed.

What you want is Linux.

OS X is a bloated version of BSD. Why run that when you can use Linux for free? Install the software you use and nothing else. Your package manager will keep all of your software up to date for you. You won't be running an absurd antivirus program an the time...

I need to use the Adobe Creative Suite (or a mainstream alternative like Sketch). Literally the only reason I can't switch to linux.

Before anyone even starts — GIMP is not viable in enterprise workflows.

> Before anyone even starts — GIMP is...

I understand completely. GIMP has never been very good (though quite usable in many cases). GTK (Gimp ToolKit) is a nice library, though. Krita is much better, but is very focused on painting.

At least you can run a real OS whenever you aren't using that specific software. Any reasonable linux distro will use <10gb including all the software you really use, and have a nice automated installer to shrink your windows/mac partition and install in the empty space.

Sure it's not ideal to have to reboot, but with solid state drives, rebooting isn't very much hassle anymore.

Whoa. OS X is so lacking and a mess to use that I avoid it at all costs.

You were using it wrong.

I spend much of my OS X time in terminal.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact