|
To my taste, Linux puts a lot less roadblocks in my way than MacOS does. Maybe my complaints that follow are simply due to my ignorance, in which case I hope you will take the time to correct me, but as far as I know they're real roadblocks. I want to see the source to the ls command? dpkg -S /bin/ls; apt-get source coreutils. I have no idea how to do that on MacOS. I want to be able to compile it? apt-get build-dep coreutils, which IIRC will install the compiler. The equivalent on MacOS involves signing up for a developer account with Apple, signing a contract that promises God knows what, and downloading a multi-gigabyte disk image. Even after installing, gcc still isn't in your PATH, and won't work properly with the platform SDK without a verbose -isysroot option. I want to make executable the file named gooba somewhere under my current directory? chmod +x $(find -name gooba). Apple's find requires an explicit `.` and maybe an explicit `-print`, I don't remember. Got performance problems on your machine? On Linux you have htop, dstat, iotop, powertop, and latencytop, none of which have MacOS equivalents as far as I know. Even plain old top has keystroke commands to switch between sorting by CPU and sorting by resident set size. As far as I can tell, doing that on MacOS requires restarting top with different command-line options. And there's no package-management system, so if you're building a server-based app, good luck installing the same versions of the same libraries on the server that you tested against in development. Or on your new dev box. And the server's probably running Linux anyway. Also, where the fuck is strace? Dtruss is a fucking piece of shit. Admittedly XCode is a pretty nice IDE, but there are a lot of nice IDEs out there, and most of them run on Linux too. And I'd love to have dtrace on Linux. |
But that aside, I'm not sure about the rest of your complaints. I just created couple new folders and 5-6 files named gooba and gooba2 and typed 'chmod +x $(find . -name gooba)' and everything worked (gooba's are executable and gooba2's are not). I don't think that extra dot is that bad and I actually like it better (it's more logical).
Also, you can install package managers such as: MacPorts[1] or Homebrew[2] or Fink[3] (I prefer Homebrew). Then you can install htop, iotop, ftop, and a million other unix apps.
in 'top', if you press 'o' (order), and then 'cpu', it sorts them by CPU usage. You can even set a secondary key by pressing 'O'. And you can always "alias top='top -o cpu'" in your .aliases.
[1] http://www.macports.org/ports.php
[2] https://github.com/mxcl/homebrew
[3] http://www.finkproject.org/