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:
- 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.
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.
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.
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.
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.
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.
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.
> 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!
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.
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...)
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...
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.
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.
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?
Windows' way of program executable placement is using the holy Registry. It's called 'Application Registration' 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.
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.
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.
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.
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.
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.
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.
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 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.
(although that doesn't account for personal preference, of course)
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.
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.
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.
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.
- 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.
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.
ps- if anyone has any suggestions or recommendations, I'd love to hear them!
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.
as long as someone does the job correctly
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 use BetterSnapTool instead, which seems to have a better collection of settings and solves my (admittedly minor) gripe with Spectacle.
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.
Not sure about your window size problems with external monitors, I find that OS X handles this amazingly well
It has probably been my favorite utility for Mac
But I do love the amazing level of configuration and scripting that Hammerspoon allows you to do.
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.
It can do everything but make lunch.
Admittedly it's annoying that this feature is hidden and requires dragging with the mouse, but it is possible.
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.
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.
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?
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.
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.
I've never lost focus with fullscreen/2 monitors. So?
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).
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.
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.
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
Uh... because with three 30" monitors, it would be like sitting in the front row at an iMAX theater?
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.
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.
Your experience may be different but I'd be interested in hearing it.
Out of genuine curiosity, what are the ways it's not superior?
I still prefer using Ubuntu for my dev environment, tho.
i finally switched for same reso Dell units on my desk and really happy about that.
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.
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.
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.
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.
This would probably also work with other monitors via MCCS/DDC  but it seems to me that all operating systems just ignore it.
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.
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).
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.
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.
Why are you still using windows 7?
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.
They also perform incredibly as monitors (or did, when they were newly updated). There's that too.
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.
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.
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.
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.
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.
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.
Hmm, where'd the downvote button go?
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".
> 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.
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.
Also here is a Linux joke for you:
If you don't like certain things, just fork it and do your own thing.
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.
Evidently it does matter how complicated it is to implement, or it would just work by now.
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.
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?
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 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.
Very thoughtful point.
Why is that a problem? You're not entitled to anything, easy to use or otherwise.
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.
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.
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 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.
Or to modify it yourself, or even hire someone to change it to your liking.
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.
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.
The power of gestures is incredible. Managing macOS windows without a touchpad is awful. With a touchpad it is the best.
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
* 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.
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.
Please note that I still do consider Windows Office the best version nevertheless, but for different reasons.
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.
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...
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.
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.
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.
And I say this as Mac user.
Btw. in what way is NTFS ahead of APFS?
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.
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).
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.
> 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).
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).
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.
Another anecdote, I right clicked and clicked "unpin from start" and never saw 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.
Besides, I thought only the Anniversary Update had CC? How would it get reinstalled?
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.
You never explicitly asked for it to be added there, did you?
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.
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.
If you don't see this as part of a bigger trend I don't think I can help you do so.
"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."
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.
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.
Your concerns sound like they come from many years ago and that maybe you haven't taken a look lately.
Need to SSH/SFTP? Download.
Need to edit code? 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?
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.
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.
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.
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.
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.
They are provided out of the box (and newer versions than OSX ships with) by WSL. As is vim, emacs, apt, etc.
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!
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.
> 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.
Windows also ships with WordPad, which is a simple word processor.
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).
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.
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.
In Windows the shortcuts have always seemed less logical to me, though the newer Windows key ones are an improvement.
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.
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
iwr REMOTE_URL -o LOCAL_FILENAME
> 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.
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.
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.
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.
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...
Best look for a cheese-grater Mac as a workhouse. Xeons may be old but not to be sniffed at.
I can understand lighter, but thinner? Why do you wish for it to be thinner? I consider it to be thin enough.
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?
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. 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.
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.
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.
But back to your 32/64Gb question. I need it to run my Docker containers. I do trading and stuff.
How about this? For when you want to run VMs that are non-trivial.
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.
Just warez or what?
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.
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.
Apple hardware is ok, except for the fact that it is insanely overpriced.
> Being that the quality is superior
Exactly how? Honest question.
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.
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.
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.
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.
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.
>- Longer Battery Life (5+ hours)
>- 32/64GB RAM
These goals are diametrically opposed.
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).
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.
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.
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.
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?
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.
OOOOooooh this is fucking smart. How have I not thought of this?!
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).
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).
No kidding. cmd has not meaningfully changed since its original version. It just sucks. No matter how nice the shells are.
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).
> 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...
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:
- Stealthy updates
There may be more.
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
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).
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.
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.
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.
The normal US keyboard has alt-e (´), alt-`(`), alt-u (¨), alt-i (ˆ), alt-c (ç), alt-n (˜) for the combinable version of accents.
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.
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.
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.
The screen keeps feeling smaller every year, but I can not complain about the performance of this nearly 7 year old computer.
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.
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.
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 second this. Just take a look at prices on Ebay for old metal Mac Pros.
You can build a much more powerful computer and put OSX on it.
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.
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.
(The only exception might be Garage Band with its huge sound files, but you can simply find and delete those.)
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...
Before anyone even starts — GIMP is not viable in enterprise workflows.
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.
I spend much of my OS X time in terminal.