Suum cuique but some of your concerns really aren't:
> In OSX you can only resize a window in the bottom right corner, in Ubuntu I can resize from any corner, or I can hold Alt and middle click anywhere near a corner of a window to start resizing it. No more hunting for the resize sweetspot.
They changed that in Lion to every corner, every side. And you don't have to press ALT to do it.
> When I click the Maximize button on OSX, it doesn't actually maximize the window 99% of the time, it just picks a seemingly random size.
There's now a full-screen mode that takes care of that.
> Nautilus can access Windows network shares, SSH/SFTP/FTP access, and can mount NTFS, HFS, and pretty much any other filesystem type there is.
> On a new linux machine I can apt-get most anything, but if I do need to compile something I just apt-get build-essentials and I'm ready to go, on OSX you have to download a DVD just to be able to compile stuff from source.
Darwin ports? Fink?
> I just want to see hidden files in Finder, why is that so hard?
> And that reminds me, why can't I type a path in Finder?
CMD-Shift-G
> I like Home and End keys. Where are they?
Erh, fn-ArrowLeft/ArrowRight ?!
> In the default Terminal app, there are no shortcuts (at least none that I could figure out) for moving around the text I'm typing quickly, like going forward and back a whole word, or going Home or End, you have to hold down the left or right arrows for a while.
The keyboard tab in Terminal's preferences? Or switch from Emacs-like to Vim-like navigation in the terminal?
> Maybe for some people this locked down, dumbed down environment works for them.
As I said, to each his own and there are valid concerns/tradeoffs about OS X. But in this particular case, the only thing "dumbed down" here is your rant.
>> On a new linux machine I can apt-get most anything, but if I do need to compile something I just apt-get build-essentials and I'm ready to go, on OSX you have to download a DVD just to be able to compile stuff from source.
> Darwin ports? Fink?
I've used both for the past near-decade (fink for 4 years, now macports for the past 3), along with a Debian desktop, and they're much worse imo. They do the job sort of, but it's a mess. Stuff just outright breaks much more often than even in Debian 'unstable'; you'll install a package and it'll fail to compile, fail to link, a script will die, etc. Dependencies are a mess, especially as regards versions of interpreted languages (python/perl/etc.), and anything that interacts with X11 tends to be flaky. And the use of binary packages is still very spotty, so a simple install, if it pulls in big library dependencies, might spawn an hour or two of compilation, rather than a few minutes of installation.
It gets the job done somewhat, but I'm not really happy with the situation overall; for many things I prefer to use a Debian VirtualBox install, despite that also having some awkwardness.
Building from source isn't necessarily a bad thing: some Linux packages have the same behavior (e.g. Portage, on which MacPorts is based). There are pros and cons to both approaches.
Package management is definitely a disaster on OS X, though. Regardless of whether you use Homebrew, Fink, or MacPorts, packages tend to break often. Some of this may be unavoidable: there are enough differences between Linux and OS X that compiling programs developed for Linux for OS X is bound to cause problems.
I'm using both Linux and OS X regularly. Apt is awesome, without a doubt, particularly for the breadth of software available. And on the whole, I agree that Homebrew is considerably inferior. But there is one aspect I'm liking better about the Homebrew/Mac approach. With Homebrew I can have the latest software without a problem, because the OS itself is not so hooked in to the web of package manager dependencies. In many cases on Linux I just wait until the next OS release to upgrade software - because toying with the huge dependency graph is not worth it. Maybe I should switch to a rolling release distro? I haven't tried that. But I do like the ability to upgrade software without so many inter-dependencies.
In many cases on Linux I just wait until the next OS release to upgrade software - because toying with the huge dependency graph is not worth it. Maybe I should switch to a rolling release distro? I haven't tried that.
When I most recently used Linux on the desktop, in 2010, I finally grew frustrated enough with Ubuntu's screen management setup (there was no way to get it to respect my wishes for it to turn off the screen completely, until I finally killed the power manager entirely) that I switched to Arch. That was superficially better (stuff mostly worked as advertised), but the rolling release means either keeping up to date and dealing with constant breakage ("Oh, look, the new kernel has a broken driver for my audio card", or "Oh, another update, another few hours troubleshooting Wine. Yay"), or waiting a while and having the update become riskier and riskier.
Linux will be ready for the desktop when updating doesn't mean near certainty that something breaks. I realize that things used to be more broken, but when I used Linux as my primary desktop back in 1998-2003, my expectations were lower. Being a Mac user for 5-6 years seriously reduced my patience with troubleshooting random problems just to get all the functionality that the system I'm using claims to provide.
You want to use a distro with an LTS release. Switching to Arch and being surprised that pacman -Syu causes occasional breakage is not a failure of Linux at large.
I was more resigned than surprised. Annoyed, perhaps. Anyway, an LTS release would be guaranteed not to work with newer software, from my experience with them. Apologetics centering on users being prepared for normal updates to break random things do not forward Linux, in my opinion.
It's not clear to me that there's any way to get the level of polish needed for a major desktop OS without at least an army of (very critical) testers and developers, and maybe without forking most of the packages in the distro. Nevertheless, if OS X continues down the apparent path it's on, I'll be switching back again in a few years.
Yes, you should try switching to a rolling release distro. Arch is great. I've been using it for the last five or six years now and have had no desire to switch to a new main distro, though I try out the major ones periodically and install them for certain applications.
Arch is definitely the best workstation for a developer. The convenience of binary packages, the flexibility of PKGBUILDs (analogous to Gentoo's ebuilds, but much more reasonable), vanilla packages and quick releases make it a dream workstation for a developer, despite a rare wonkiness here or there. It works much better than Ubuntu et al for a development box.
If you're installing that many large UNIX packages I'm going to go out on a limb and suggest that there are probably a lot of reasons you'd be better off on Linux.
Homebrew tries to use the default libs and utilities that come with OS X / Xcode.
MacPorts and Fink try to create their own little microcosm of a Linux system complete with all libraries and utilities. They generally seem to fail at this because major packages are broken all the time and conflict in a million little ways with the system ones.
MacPorts and Fink try to create their own little microcosm of a Linux system complete with all libraries and utilities.
That's more like a philosophical (and failure prone) difference that both Fink and MacPorts intentionally abandoned through experience, not really a "miles ahead" difference.
Not reproducing Apple's OS dependencies is a nice idea, but let's say I want to use python2.7 with openssl 1.0. Apple only shipped openssl 0.9.8 in Lion. If I mix modules that use OpenSSL 1.0 and OpenSSL 0.9.8, weird stuff happens. Now what?
(The answer is: now you have to start reproducing OS dependencies. This only gets worse as the OS dependencies grow more stale).
They generally seem to fail at this because major packages are broken all the time and conflict in a million little ways with the system ones.
They changed that in Lion to every corner, every side. And you don't have to press ALT to do it
He meant, you can click anywhere in the window and use Alt. If you left-click, it moves the window. If you middle-click it (apparently - I did not know this) will resize the window.
Mac OS X has oddly small targets for many of the Window management things. You have to be careful with the mouse when finding a resize corner (Lion makes it a little better) and the traffic light buttons are such a frustration that I'm led to believe they are not really meant to be used in an efficient work flow. You're better off enabling double-click-to-minimize or using Cmd-H to make a window go away.
There's now a full-screen mode that takes care of that.
But that green button is still there and still behaves strangely.
It's funnily called the zoom button.
Naturally when you click it in iTunes you expect the iTunes window to.... shrink down to a compact size.
I know the purpose of it is to 'change the window size to fit the content' - a nice concept but doesn't seem intuitive or easy to grasp for everyone.
Darwin ports? Fink?
Haha. I tried to get rdiff-backup or duplicity installed using MacPorts on Lion - it started by trying to install python2.4. And failed.
Anyway, this is not much of problem with Mac OS X - but despite being a Unixy system, I found it odd that certain tools are actually easier to run on Windows that on a Mac (not all but some)
Overall I like Mac OS X - it has great boot/shut down/sleep times, it can run a bash prompt as well as Photoshop and Word. But I'm skeptical about its usability being, on the whole, better than a Windows 7 system.
> Mac OS X has oddly small targets for many of the Window management things.
I actually like this about OS X. When i heard that Lion added resize-from-any-side, i was annoyed, because i feared it would be Windows 7-esque (in that on W7 there is this 20- or 30-pixel dead zone around the edges of every window where you can't get anything done except resize). I found the final implementation on OS X to be surprisingly good.
> Naturally when you click it in iTunes you expect the iTunes window to.... shrink down to a compact size. I know the purpose of it is to 'change the window size to fit the content' - a nice concept but doesn't seem intuitive or easy to grasp for everyone.
iTunes and Finder are outliers when it comes to what the zoom button does. To Apple's credit, a few versions ago they did try to make iTunes more consistent by making the zoom button work as described. However, there was an ENORMOUS backlash from people who liked the former behaviour and found the keyboard shortcut (OpenApple+M i think — it's in the menu somewhere, but i never use the mini-player because it's stupid) too excruciating to use instead, so they switched it back around for the next version.
I was one of the vocal complainers when CMD-Shift-M didn't do what I expected it to do in iTunes. And I know it breaks the HIG but having the controls tucked in a corner was better than having the entire application disappear to the Dock.
FYI, I just installed duplicity and rdiff-backup through Homebrew and it worked flawlessly. Agree that MacPorts is crap. But Homebrew is actually pretty good.
Last time I looked, Homebrew wasn't even trying to deal with conflicting dependencies, or any of the other hard corner cases of package management. MacPorts at least makes a decent effort on that front.
Edit: Yup, flawless installation and fast. Thanks again! I wish I had found this when I was trying to re-install Python Imaging Library after upgrading to Lion. I might have saved half a day.
I think some of the points are valid; there may be solutions but they are so obscure that people obviously never discover them. I've had a MBP for nearly a year now and never knew that Fn+Left/Right substituted for Home/End (thanks for the tip, btw). I can't see myself guessing Cmd+Shift+G to type paths into Finder either...
They're valid solutions but normally Linux is (not unjustifiably) castigated for requiring obscure wizardry to do things, I don't see why OSX should get away with it either.
Actually, I liked text manipulations shortcuts in native text input fields. They are very consistent and easy to get used to.
Option (Alt) means "word". Opt+Left — move one word left, Opt+Right — move one word right.
Cmd means "all". Cmd+left — move to beginning of line, Cmd+right — move to the end of line, Cmd+up — move to the beginning of the text, Cmd+down — move to the end of text.
PgDown/PgUp/Home/End mean the same thing as in other systems, but without moving the cursor. All this might be a little frustrating at first, but it's muscle memory and you can figure the logic out in a couple of days. Don't fight the system, embrace it.
As for cmd+shift+g, you can look these shortcuts up in the menu, if you are not sure where to look, use help/search, type go to and the top item will be what you are thinking about. That said, finder still sucks.
As a relatively recent Mac convert, the whole "Option (Alt)" thing still gets me. I regularly see shortcut hints and then have to sit there for a few seconds thinking "Which one's the Option key again?"
The confusion is in part perpetuated by Apple, who can't seem to make up their mind on the matter.
My UK MacBook Pro keyboard has "alt" and doesn't mention "option" at all. They have also shipped keyboards that just say option (no mention of alt). Many of their keyboards have both printed on them.
In most of their user-facing documentation it is referred to as the "Option" key. In Cocoa, it is the "Alternate" key.
The menus don't mention either: they use the ⌥ symbol. Which is on some, but not all of their keyboards.
One handy thing is that because OS X uses Command for most of its window-management and application hot-keys, control + key is almost always unmasked by the application. Why is this important? Control-A and Control-E work in almost any text input! They work in Adium, they work in Chrome for the location bar and this textarea, and I'm sure many others.
I was pleasantly surprised because the Windows/Linux systems tend to mask Control-A for select-all.
To me I think of it as Bash bindings, because that is where I learned them. For text editing I've been using vim bindings, but I never found the vim mode to work quite like I want it to on the terminal. I should look into that more.
Yeah, the only reason I knew about Fn-arrows was because my old MacBook actually labelled them: http://www.notebookreview.com/assets/15837.jpg
For some reason the labels are not part of the new design (no numeric keypad emulation either). I guess they thought it was too busy a design?
End? What does that mean? Does it quit the current app? Does it shutdown? I’m really confused! And this strange Home key, what’s that for? Going to my start page? Showing the desktop? Start menu? What’s going on?!
It's pretty easy to push a key and find out what it does compared to imagining a key combination and trying to figure if that key combination even does anything
Not only that but, as a new mac user, it seems like there are several common keystroke types. Fn+x, ctrl+x, alt+x, cmd+x, cmd+shift+x; maybe there's some logic behind it but i can't find any. It seems like the windows system is a bit more understandable.
Cmd: this is an important command we expect you to use a lot.
Shift-cmd: wow this program has a lot of commands that people want shortcuts for.
Shift-ctrl/alt: holy shit this program has a lot of commands.
Shift-ctrl-alt: this program is probably old enough to vote, and has a huge ton of commands
Alt: rarely used alone outside of terminal
Ctrl: see alt
Fn: NOT ON ALL KEYBOARDS. Used to force f-keys to output f-key codes instead of doing media control stuff, or to change cursors into page-up/dn/start/end.
The canonical shortcuts are Cmd-left/right/up/down, which move the cursor to the absolute left, right, top, and bottom of the document, respectively. This makes perfect sense.
Home and End behave differently, they move the viewport to the beginning or end of the document but do not move the cursor. They are like scrolling in that you don't lose your position. I'm not sure, but I think that page up and down (Fn-up and Fn-down) behave similarly. I never use these though.
There are home and end keys on a full-size Mac keyboard, too. They're not there on the compact keyboard layout, but many Windows laptops have home/end mapped to other keys, as well. Granted, that's usually is indicated on the keys, whereas it's not on the Mac, but you still have to go hunting for them the first time you need them and one time is all it takes to learn their location.
...those home and end keys unfortunately don't take you to the beginning or end of a line like on Windows or Linux...they take you to the top/bottom of the document! one of the more painful parts of my switching process was un-training myself to hit home to get to the beginning of a line (these is no way to remap system wide either, you need to do it on a per app basis)...you're almost better off without having those keys.
> these is no way to remap system wide either, you need to do it on a per app basis
That isn't true. OS X actually has a very powerful and easy-to-use (but NOT easy-to-discover) method of controlling key bindings, and it applies instantly to ALL Cocoa applications (which, now that Finder and iTunes are Cocoa, means every common GUI application except Firefox).
This isn't my link, but here is an excellent site that describes the Cocoa text system:
And, if you're interested, here is the DefaultKeyBindings file that i've use on every OS X-based Mac i've ever had to fix Apple's default Home/End/PgUp/PgDn implementation:
The issue there is that coming from a Windows environment the terminology isn't exactly the same. The command is called "go", hence Cmd + Shift + G.
It would be useful if one could enter keystrokes into the search bar in the 'Help' panel. That would solve a lot of keystroke identification issues and familiarize them with OS X fairly quickly.
> They changed that in Lion to every corner, every side. And you don't have to press ALT to do it.
You don't have to hold down ALT - you can do it without, holding down ALT increases the window edge hit area to make it easier to resize it.
> There's now a full-screen mode that takes care of that.
And makes using multiple monitors even more pathetic on OS X by effectively disabling other outputs - on top of the age-old problem of the menu for a window on a secondary monitor being displayed on the primary monitor, etc, etc...
the age-old problem of the menu for a window on a secondary monitor being displayed on the primary monitor
That sounds very easy to fix when talking in a forum, but I bet there are a million corner cases. Worse, real users (as opposed to people who can look around a web page when a button moves) would have a hard time. "I have two file menus now, I'm scared!"
OS X isn't perfect, but, for the problem it's trying to solve, it does a really good job. I still don't have a better alternative for my needs that range from scripting and compiling through photoshop and sales presentations. Especially one that works so reliably in a consumer environment.
I'm about to buy a new laptop. I've been putting a lot of thought into it, and Linux just isn't there yet (mostly 3rd party apps I need) and Windows lack of unix underpinnings means fighting Cygwin or running a VM all the time (though I'm finally starting to get the mid-to-late 90s taste of Microsoft out of my mouth :).
> And makes using multiple monitors even more pathetic on OS X (the menu for a window on a secondary monitor being displayed on the primary monitor, etc, etc)...
Yes, that's one of my gripes too. Note that I didn't say OS X was perfect. I took issue with this pompous litany of faux issues.
> I took issue with this pompous litany of faux issues.
You are either accusing the poster of out-right deception in order to make OSX look back, or you are attacking the user for real issues that he/she came up against. Which is it?
(If it's the later, then I view this as the Mac version of the Linux literate telling new users to 'RTFM' instead of being helpful.)
I'd take the "pompous" back if I could. But yeah, "RTFM" (Mac edition); it's a good idea to put in some minimal search effort before writing a long list of pseudo-issues. There are real issues that could have been discussed instead and compared between systems to learn sth.
Perhaps it is better to answer the "why is that so hard?" question instead.
I expect that it is because most people don't need or want that option. You could make an argument that there should be a checkbox for it in Finder preferences like in Windows, but even that isn't as straight forward as it sounds. Microsoft has split "hidden files" into multiple levels with UI checkboxes for two levels, "hidden" and "hidden system" files, though there are other files which are more hidden and never appear in Windows Explorer. Even people who want to see some hidden files probably don't want to see them all. And we've not even gotten into files which are backed by multiple file streams - you could make an argument for making it possible to show them too, since you might want to save disk space by deleting one stream but not the other.
But the real answer, I think, is that it is hard because these are the sorts of things you should probably be doing in the terminal in the first place, where ls -a works just fine.
There is a distinction between "doable" and "usable".
I should switch to Terminal every time I want to toggle hidden file visibility?
Or write a service to install on my Finder toolbar. (I did this, because I'm not Joe Sixpack, but it's still annoying. If I wanted to write my own UI, I wouldn't have gone out and bought one.)
Apple has decided that regular users should never see hidden files. I can see how this might be annoying to you, but I don't think I can be convinced that it's a bad justification.
Someone wrote a little app that toggles it, but honestly, if you care that much about it to ask, just leave the hidden files visible all the time. I've found it to be the path of least confusion.
Homebrew is far superior to Macports or Fink IMO. In some ways I prefer brew install'ing to apt-get'ing. The packages are often far more up to date. I am not a fan of the transition from spaces to mission control. At least you can rearrange windows in mission control, before that update I was pretty unhappy with OS X.
I think your comments just highlight the user unfriendlyness. Am I really supposed to enter some cryptic shell command I copied from the internet to be able to see my hidden files?
I can never remember keyboard shortcuts, even for screenshots I have to Google every time because I make them only infrequently.
Instead of buying an alternative file manager, why not just install another OS...
> I think your comments just highlight the user unfriendlyness.
More like I invested some time to learn the system I use.
But I'm curious, which system do you suggest is so "user friendly" that everything is instantly and intuitively discoverable without resort to documentation or google whatsoever? Or are you telling me that you learnt, I presume, Linux incantations from staring at the keyboard and deep breathing?
> Am I really supposed to enter some cryptic shell command
Yes, you are. It's a standard shell command. You can even look it up on Google in 5 secs. You want every option and contingency printed on the screen or keyboard?
> I can never remember keyboard shortcuts
My rule is, if I really need a shortcut, I'll remember it because I use it so often; if I only need it sometimes, I look it up in my notes or on Google; and if I only use it once or twice, what's the use of the shortcut in the first place? I disable it (if it's on by default) and save the combination for sth I might actually use.
> Instead of buying an alternative file manager, why not just install another OS...
Yeah right, and if a fly flies through your window, I assume you also pull out the flame thrower, yes? :-D
There are a lot of options that are modified by the plist mechanism ("defaults write ..."). They tend to be little things of a very unixy character that serious nerds would like.
It makes about as much sense as changing a .login or .profile or .ssh/config or .emacs or .exrc or .Xdefaults or ... . At least it's always the same tools and the same file format.
Like you, I don't remember the screenshot shortcuts. I know vi and emacs bindings backwards and forwards, but I don't much like remembering special-purpose bindings. So I just use "Grab", the screenshot app (comes standard with OS X).
The full-screen mode is terrible. It leaves everything but your main monitor completely empty, making it essentially unusable for anyone with multiple monitors.
Homebrew is awesome but it should be way easier to compile from source without installing Xcode.
> Homebrew is awesome but it should be way easier to compile from source without installing Xcode.
If it was a real issue someone would have packaged up GCC or LLVM. There is absolutely nothing that prevents anyone from doing this. The truth is that nobody actually minds installing Xcode to get a compiler. Or at least the few who do don't actually care enough to do something about it.
As someone who works at a software startup where the engineers use Macs, trust me we mind when we have to dig around to find the correct Xcode installer for Snow Leopard or whatever. Just because Apple has decided Xcode 4 should be in the app store, does not mean that our developers running Snow Leopard (which has fewer bugs with our mission critical apps like vagrant, for example) should be SOL.
People who realize how stupid it is to install several gigabytes of Xcode for a C compiler also tend to get irked by other weird Apple policies, thus a significant percentage of them switch operating systems instead of packaging up GCC to try and change the Apple ecosystem.
> > In the default Terminal app, there are no shortcuts (at least none that I could figure out) for moving around the text I'm typing quickly, like going forward and back a whole word, or going Home or End, you have to hold down the left or right arrows for a while.
> The keyboard tab in Terminal's preferences? Or switch from Emacs-like to Vim-like navigation in the terminal?
Here's some Terminal editing text:
- `alt-left / right` skips a word in either direction (these work in the entire cocoa text system)
- `esc backspace` deletes an entire word
- `ctrl-a and ctrl-e` skip to the beginning and end of the line respectively (again, entire cocoa text system)
- `ctrl-k` deletes any character from the cursor to the end of line (ditto)
Also, learning how to use these bash tricks will make your life a lot easier too:
- `!!` will repeat the previous command, and you can prefix it. Say you forgot to `sudo` something, just type `sudo !!` to repeat it.
- `!whatever` will repeat the last command in the history starting with `whatever`.
- `!$` will evaluate to the argument of the previous command. so `ls Desktop` followed by `echo !$` will echo "Desktop."
DarwinPorts/MacPorts, Fink, and Homebrew all require the OS X developer tools, so "you have to download a DVD just to be able to compile stuff from source" still applies.
fn-arrow left/fn-arrow right is a pretty pathetic substitute for actual home and end keys. I've never used a Mac for a prolonged period of time so can't speak to other points, but I am baffled at how people can do anything without those keys. When I try to debug some code on one of my coworkers' Macs I feel like I suddenly can't type anymore because of their absence, not bs'ing or exaggerating.
> In OSX you can only resize a window in the bottom right corner, in Ubuntu I can resize from any corner, or I can hold Alt and middle click anywhere near a corner of a window to start resizing it. No more hunting for the resize sweetspot.
They changed that in Lion to every corner, every side. And you don't have to press ALT to do it.
> When I click the Maximize button on OSX, it doesn't actually maximize the window 99% of the time, it just picks a seemingly random size.
There's now a full-screen mode that takes care of that.
> Nautilus can access Windows network shares, SSH/SFTP/FTP access, and can mount NTFS, HFS, and pretty much any other filesystem type there is.
One of these might be for you: http://mac.appstorm.net/roundups/utilities-roundups/5-altern...
> On a new linux machine I can apt-get most anything, but if I do need to compile something I just apt-get build-essentials and I'm ready to go, on OSX you have to download a DVD just to be able to compile stuff from source.
Darwin ports? Fink?
> I just want to see hidden files in Finder, why is that so hard?
Or just use the terminal ?> And that reminds me, why can't I type a path in Finder?
CMD-Shift-G
> I like Home and End keys. Where are they?
Erh, fn-ArrowLeft/ArrowRight ?!
> In the default Terminal app, there are no shortcuts (at least none that I could figure out) for moving around the text I'm typing quickly, like going forward and back a whole word, or going Home or End, you have to hold down the left or right arrows for a while.
The keyboard tab in Terminal's preferences? Or switch from Emacs-like to Vim-like navigation in the terminal?
> Maybe for some people this locked down, dumbed down environment works for them.
As I said, to each his own and there are valid concerns/tradeoffs about OS X. But in this particular case, the only thing "dumbed down" here is your rant.