
From Linux to OSX - 1 Year Later - bozhidar
http://batsov.com/articles/2012/09/09/from-linux-to-osx-1-year-later/
======
jsolson
Interesting. I actually love the Command key. I see it as a Control key for
GUI operations, leaving my actual Control key free for doing things in my
Terminal. This is actually a big sticking point when it comes to trying to
work on Linux workstations like we have at work -- GUI and console stuff end
up munged under the same modifier key (and this is harder to change than you'd
think, even with a lot of xmodmap work).

That said, I've also ditched my Caps Lock key entirely and turned it into a
second Control key. Control-A has never seemed difficult to me, at least with
this arrangement, but I'm not a home row typist (or an Emacs user -- I just
use the Emacs bindings in text boxes and terminals).

Otherwise this more or less mirrors my experience, although mine was ~7 years
ago (so the Linux desktop environment was even less mature at the time). I
haven't found a need to shop around for as many alternative applications. In
particular, you can have Terminal.app when you pry it from my cold dead hands.

~~~
pooriaazimi
I never forget that time when I was ssh-ed on some machine and was doing
something very urgent, and wanted to copy some text from the terminal to text
editor (it was an Ubuntu machine) and accidentally pressed control-c and
killed the session. I could've killed someone.

IMO, the Command key is one of the best features of a Mac.

~~~
chimeracoder
I have the opposite problem. There's one command - I think it's probably <C-w>
(split screens in Vim) that I always hit every time I'm using a Mac, and it
inevitably closes my entire terminal.

The nice thing about Linux is that I can at least remap these keybindings. On
OS X, it's literally impossible to do a perfect remapping of the keys (trust
me. I've tried.)

Hopefully I've saved recently (or run the process inside GNU screen....).

~~~
pooriaazimi
If by <C-w> you mean control-w (I'm a vi user and don't know!), also take a
look here: <http://news.ycombinator.com/item?id=4497258>

~~~
chimeracoder
No, I already remap Caps_Lock to Esc - much more useful.

------
16s
I value free, open source software more than convenience. For this reason, I
will not use OSX or any other non-free operating system no matter how
convenient they may be to use. That convenience comes at a great cost that I
am not willing to pay.

~~~
shuw
I'm curious about your thoughts outside of software. This is a sincere
question because I often see so much passion about the topic in software, but
rarely outside.

Do you only play free games, listen to free music and read free books? What
about the electronics you use, the architecture of the buildings you live in
and the car you drive?

~~~
chimeracoder
The analogy breaks down for most things outside of software (even hardware, to
a degree), because the basis for the argument in favor of free software is the
four freedoms[1], which are themselves mere extensions of the rights of
purchase.

If you sell me something, you cannot tell me that I can't modify it for my own
use, for example. You as the seller can't tell me that I'm not allowed to
resell my textbooks, or to modify the frames on my eyeglasses, or to hire my
friend to fix my vacuum cleaner.

Proprietary software licenses _do_ do that - the main difference is that is a
non-rivalrous good; I can redistribute software _without losing access to it
myself_. Because of that, people think it's somehow 'wrong' to say that I
should be allowed to purchase a program and then resell it to another person,
but if you look at it the other way, that's no more 'wrong' than purchasing a
physical good and then reselling it.

In the South, it used to be common to sell property on the condition that the
purchaser never sell it to a black person (I think they still used the term
Negro or 'colored' then). If I remember correctly, that was first deemed
illegal in certain parts _not_ because it's horribly racist, but because it
violates the principles of first sale: you've sold me something, and now you
can't tell me what I'm not allowed to do with it.

[1] <http://www.gnu.org/philosophy/free-sw.html>

~~~
shuw
Textbooks and eyeglasses are guarded by copyright and patents. I cannot
improve on the design of Oakley sunglasses and hire a firm to manufacture
them. I can modify it for myself, but that is a much more limited form of
freedom. Microsoft probably wouldn't care if I somehow reverse engineered
Windows and modified it for myself only.

Same goes for architecture. When I buy a house, I can make modifications to
it. But I don't think I have the right to hire construction companies to build
new houses based on the design.

Electronics and car companies guard heavily the schematics and designs that
makes it possible to repair their products much less reproduce them.

Edit - One more thing: Just the ability to modify something you own (like
textbooks or sunglasses) does not make it free. For example, I've made many
modifications to OS X through utilities and configuration. The fact that OS X
doesn't come with source code is equivalent to Textbooks not coming with their
LaTeX source.

~~~
chimeracoder
> Textbooks and eyeglasses are guarded by copyright and patent

I'm talking about the physical book, not the words contained within.

> When I buy a house, I can make modifications to it.

When I buy software, I should be able to make modifications to it.

> Microsoft probably wouldn't care if I somehow reverse engineered Windows and
> modified it for myself only.

That's explicitly prohibited by the license. Whether or not you think they'll
enforce the license in your case has no bearing over the fact that it _does_
violate it, and free software advocates argue that such licenses cannot be
nonenforceable.

In any case, patents are a separate issue altogether. So is copyright,
actually - free software licenses are a way of twisting current copyright law
into doing the opposite of what it was meant to do: provide freedom.

~~~
shuw
Let's take a step back and look at the goals of free software. It's not just
to modify and tweak things I own, it's to allow me to modify, enhance and
contribute that work back to the community.

By that yardstick, most textbooks and eyeglasses are not free. I can't improve
a textbook and put it online. I can't put my improved sunglasses on the market
(even if it was non-profit).

So why are people revolted by a copywrited and patented (hence unfree) OS, but
have no qualms using other non-free products?

Personally, I think free and proprietary products can co-exist. Both models
produce innovations which ultimately benefit society.

~~~
chimeracoder
> By that yardstick, most textbooks and eyeglasses are not free. I can't
> improve a textbook .... I can't put my improved sunglasses on the market
> (even if it was non-profit).

Yes you _can_ \- the product in that case is physical, not digital. You can
certainly turn the pages of a book into an origami creation and sell that on a
secondary market if that's what you want to do. You can sell modified copies
of physical products to your heart's content.

~~~
shuw
> You can sell modified copies of physical products to your heart's content.

Yes, but only in a very limited way. You've only mentioned examples where I
can modify the original physical atoms.

I cannot modify and re-distribute the ideas present in textbooks. It is those
ideas that have the most value, not the paper it's printed on.

------
fsniper
I'm a hardcore Linux user, a sysadmin, developer of some kinds and an humble
desktop user. For some IOS projects I have to use an hackintosh.

The experience is - in one word - disgusting. It lacks common denominator
keyboard shortcuts and keyboard bindings. It lacks sane default simple
applications like a decent terminal emulator. ( Yes Windows lacks is too).
unavailability of a great package manager - all of us knows it, homebrew or
macports doesn't cut it - makes me vomit. Unfamiliar key bindings makes me
think twice or thrice before typing , "Which key should I use for this? Apple
or Option? How can I skip to end of line? Why I'm at end of file now?" Also
some desktop choices are not ok for my liking; switching to full height
windows instead of full screen windows with the maximize button? Why on earth
I would opt-in for loosing screen real estate? So many details.

Most of the time I can't help myself to stop restarting into Linux. I get
slower and distracted. I have to install Mozilla Stack (Thunderbird and
Firefox).

This may be only me but, I hate OsX. And I'm not starting on the "wanna be
walled garden-ness."

~~~
seiji
_decent terminal emulator._ \-- lie.

 _makes me vomit._ \-- visit your local physician.

 _Unfamiliar key bindings_ \-- "Unfamiliar" by definition = "I don't know it"
which isn't the OS's problem. You've gotta admit Command-C for copy being
different than Control-C is brilliant.

 _switching to full height windows_ \-- it's not a maximize button, it's an
"optimal size" button. If your content is 500px wide, you don't need a 1000px
wide window full of white space.

 _may be only me_ \-- I'm pretty sure it is (check their stock).

~~~
fsniper
Terminal as a decent terminal emulator? I believe you are referring to iTerm2
but that's not the default.

unfamiliar key bindings, look for any other keyboard except OsX ones and show
me the apple or the option or the command keys then I will back.

For the "Optimal Size button", the underlying operation does not account for
the contents width, it only accounts for the desktop height.

The world is not running on OsX or Apple hardware. They have a decent userbase
but not the whole computer users are using one.

~~~
pooriaazimi
1\. Terminal.app is a very good app. I switched to iTerm 2 a while back, but
only because of a few minor features that I could've lived without. What are
your problems?

2 & 4\. You don't run a Hackintosh and expect it to work. If you want OS X,
you buy a Mac. And all Macs (except the Mini) come with standard Apple
keyboard.

3\. I'm not sure what you're talking about. There's no "magic" algorithm that
all apps use. Each app can use its own "algorithm" and can account for screen
width as well. Just because Finder.app (most of the time) just grows the
height doesn't mean all apps should do it, or are doing it.

~~~
fsniper
Terminal app is a sufficient terminal emulator. But it lacks most of decent
options. Can you split windows? Use tabs? Can you change color profiles? May
be so many simple decent ap choices are lacking from it. Also I'm not even
talking about the lack of simple Terminal emulation modes. I told you I'm a
system administrator and I live in terminals. So Terminal.app is not cutting
for me.

What's wrong with a Hackintosh other then legal and ethics issues if it's
running well? I used Apple hardware and my criticisms were the same.

and for the 3, If every app is using it's own algorithm than I'm really on the
wrong side of the issue. And my criticism lacks proper bases. I have to take
it back. But again, why not a maximise button?

~~~
pooriaazimi
Terminal has tabs (had it since early 00's).

The lack of split panes was what made me switch to iTerm. I don't use it that
often, but it's a "nice to have" feature. Terminal.app has split panes, but
it's not "two sessions, side-by-side", rather "different windows into the same
session", which I personally don't like much.

And you're right. You can't change the color profile like <http://kde-
look.org/content/show.php?content=86353> , which might be a bummer for some
one like you (you can change the 16 ANSI colors to look less horrible
though!).

Why no maximize button? I don't know the reasoning behind that, but I don't
miss it. Full screen apps are amazing (for one monitor scenarios), and OS X
has a nice handy feature called "Hide Others" (Command-Option-H) that gives
you a distraction-free experience without making the app ridiculously large
(and showing you a million white pixels!)

[1] touches upon this issue and has good arguments for it.

But of course, power users need more "power", so I also use the wonderful
Moom[2] which combined with "Zoom" and "Full Screen" fulfills 100% of my
windowing needs.

[1]: [http://www.macyourself.com/2011/02/06/why-doesnt-mac-os-
xs-g...](http://www.macyourself.com/2011/02/06/why-doesnt-mac-os-xs-green-
zoom-button-maximize-windows/)

[2]: <http://manytricks.com/moom/>

~~~
lloeki
> And you're right. You can't change the color profile like <http://kde-
> look.org/content/show.php?content=86353>

I may be missing something but I don't see how it's different from what has
been available since Lion (and since Tiger with a SIMBL plugin). I've been
using Zenburn and Solarized since what seems like forever.

------
binarycrusader

      You need to install a giant lame IDE just to get
      a bunch of command line development tools?
    

That hasn't been true since earlier this year. If you login to
developer.apple.com, you can download the "Command Line Tools for XCode" from
here:

    
    
      https://developer.apple.com/downloads/index.action
    

No "lame" IDE required. But you might think that IDE is not so lame the first
time you use Instruments...

~~~
visionscaper
To add to that: I think XCode is the most powerfull IDE I've ever used when it
comes to coding c/c++/objective-c.

~~~
dagw
I have a macbook air and have some projects where I write cross platform C and
C++ libraries (Linux/OS X/Windows via mingw), currently using Makefiles and a
text editor. I use and like IDEs when programming python, C++ on Windows and
javascript and certainly wouldn't mind a powerful C IDE. Can XCode help in
this case or do you have to basically be writing Mac/iOS apps to access that
power? Also can XCode work nicely with Makefiles or do I have to buy into a
special platform specific build system (again a problem with the whole cross
platform thing)?

~~~
niclupien
"Can XCode help in this case or do you have to basically be writing Mac/iOS
apps to access that power?"

I'm also very interested to get the answer of this.

------
blinkingled
Within the last year I have moved my work desktop (iMac) to Windows -
RDP(actually Remmina/FreeRDP are looking good on Linux recently), VPN etc.
just works better there - and development laptop (MBP) to Linux.

More and more as Linux matures and OS X gets buggier/fancier, I don't see the
need to use OS X. I am running KUbuntu 12.10 beta on my 2010 MBP and it is
pretty pleasant to work with - boots fast, nothing crashes, wi-fi connects and
stays so, suspend resume works, no proprietary drivers needed. I did have to
do some little hackery to do an EFI install and disable the Nvidia crap and
that gives me very good battery life.

To get me to stick to OS X - Apple needs to do significantly better. Each
release gives me new headaches and no features I need - bad battery life, Wi-
Fi issues, graphics glitches - I can at least try to fix those with Linux.

------
zobzu
What annoys me about OSX is the whole "copy app to install"

"please wait while 500 megs are being copied". Oh hi non-shared libraries.

I also don't see what's so great about iTerm2, some lights would be
interesting. Otherwise I'll claim Konsole is the best termminal emulator in
the world, bare none just like that too :)

Finally I do agree that OSX gets Spotlight right. The Linux look alikes for
this feature plain sucks. But that's probably the only thing I can see.

~~~
ricardobeat
> What annoys me about OSX is the whole "copy app to install"

As opposed to "press a button (or 30) to copy/install"?

~~~
djacobs
No -- as opposed to pacman -S package (or whatever his former distro used).
Having come to Linux from OS X, I agree that OS X installations are pretty
inferior to Linux's.

~~~
ricardobeat
OSX does have homebrew (or macports if you're so inclined), which IMO is
better than the usual package manager in a linux distro; it doesn't litter the
disk with init scripts or config files, you always know where things are being
installed to. Copy to install is only for GUI apps.

~~~
chimeracoder
> Copy to install is only for GUI apps.

That's the problem - you have two completely different installation methods,
neither one of which is particularly UNIX-y, and neither of which is capable
of talking to the other in a reliable manner.

> IMO is better than the usual package manager in a linux distro

It's incapable of handling binary installations, which is remarkable
considering the hardware variation is _far_ less than there is for Linux, it
installs to /usr/local, it doesn't integrate well with language-specific
package management tools, and it can't update system files.

> it doesn't litter the disk with init scripts or config files

I've never once had this problem with Linux; the man pages for any Linux
package manager should provide a straightforward way of figuring out which
package own which files.

> you always know where things are being installed to.

Because they're _not installed to the right place_.

I can't count the number of times an OS X package has told me that I need to
add such-and-such folder to my $PATH. Hint: if you're requiring me to change
my $PATH so that your installed file works, _you're not installing it
properly_.

------
pooriaazimi
Regarding the Control key - you can swap that with the absolutely useless
"Caps Lock" key: <http://thehelpfulhacker.net/2012/02/15/killing-caps-lock/>

Now you can do CapsLock-a, CapsLock-e, etc. all day, which is much easier.

------
azakai
..and you've swapped from using an open OS to buying an OS from a company that
fires patent lawsuits left and right. You've also bought that company's
hardware.

I grant you it's convenient in many ways to use OS X, but supporting companies
that commit patent mayhem is not good for our industry.

(Yes, yes, I know the competition isn't clean either, blah blah. But you
switched from _Linux_.)

------
doktrin
>> _iTerm2 is the ultimate terminal emulator. It alone warrants the purchase
of a Mac._

This is quite a strong statement and caught me a little off guard. What
particular features does iterm2 offer that make it so stellar? I'm genuinely
curious, as I haven't ever felt the burning need for a "better" terminal
emulator on OSX (or Linux for that matter).

~~~
tiziano88
From what I remember, the default terminal emulator on OSX does not even allow
customising the color palette! I was able to only change the foreground and
background color, and forced to stick to one of the predefined themes for the
rest. On the other hand, I doubt iterm2 can achieve the flexibility and
customisability of urxvt, which for me is still the #1 terminal emulator. Just
my two cents to add to the discussion :)

~~~
jsolson
> From what I remember, the default terminal emulator on OSX does not even
> allow customising the color palette!

For what it's worth, at least in Mountain Lion you can change the ANSI palette
in Terminal.app. That said, it would never have occurred to me that this is
something someone might want to do :).

~~~
pooriaazimi
Come on. The default "blue" color is ridiculously ugly. I always thought of it
as a punishment for those who want to mess with OS X.

Compare that disgusting color palette with a sane one:
<https://github.com/pstadler/optometrist>

~~~
TheGateKeeper
I guess people don't know how to use google:

[http://osxdaily.com/2012/02/21/add-color-to-the-terminal-
in-...](http://osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/)

------
ConstantineXVI
Alfred[0] has to be one of the most valuable (as far as $/usefulness) pieces
of software I've ever bought. Besides the Spotlight-style file/app search, can
also manipulate files/dirs, does pasteboard history[1], and one-shot terminal
commands; without having to drop whatever I'm doing for another window.

[0] <http://www.alfredapp.com/>

[1] not part of Alfred, but pbcopy/pbpaste in the terminal are your friends.

~~~
prophetjohn
You can also use it for math expressions, type in URLs to quickly open them,
search Google and Wikipedia. It's completely changed the way I compute. The
only time I see the app tray anymore is when I accidentally make it spring up
from the bottom with my mouse.

------
Create
perhaps macports is better, but AAPL will f* you over with time, after the
honeymoon. And this applies to OSX updates too, even if you fork over the
money

<http://news.ycombinator.com/item?id=4433082>

back to linux. (it has ruby too.)

~~~
ghshephard
The App Store is where you send your not-so-sophisticated computer relative
to. In theory, applications there, are less likely to hose your operating
system.

In practice - lots of stuff that you have to get off of the App Store such as
LittleSnitch, Arq, SuperDuper, QuickSilver, Carbon Copy Cloner - basically,
anything that needs to plumb into the internals of the OS, or break outside
the sandbox, will have to be purchased from a third party - and run the
(greater) risk, of course, of doing damage to your OS.

------
hollerith
I turned Spotlight indexing _off_ on my Lion install to stop regular bouts of
unresponsiveness on my 2011 Mac mini (with hard drive, not SSD).

~~~
adlpz
Is your hard drive almost full? I've found that when drive space is running
very low, OSX deletes some of Spotlight's cache, probably to make sure there's
space for hibernation and swap. When it gets back enough space, it rebuilds
the cache again.

The problem is that if you are constantly orbiting a certain point of
fullness, it goes crazy and keeps deleting and rebuilding all the time,
causing slowdowns.

~~~
hollerith
47% of capacity with 248 gigs free.

------
conradev
> Programs like launchctl (for instance) are not exactly fun to work with, but
> they do get the job done.

One thing I like about launchd is that on OS X, there is one standard way to
launch daemons. On Linux, there are a thousand ways to launch daemons. launchd
also has a bunch of features, one of which is to start services on demand,
upon connection to a socket, something Ubuntu hasn't had until the latest
12.04 ([http://manpages.ubuntu.com/manpages/natty/man8/upstart-
socke...](http://manpages.ubuntu.com/manpages/natty/man8/upstart-socket-
bridge.8.html)). I do agree, however, that OS X shouldn't be used for anything
more than a desktop workstation.

~~~
chimeracoder
> On Linux, there are a thousand ways to launch daemons.

Depends on your distro, really - Arch keep things fairly centralized and
simple.

I never really got the hang of Ubuntu, though, by comparison.

~~~
donniezazen
I really liked BSD style rc.d and now Arch and other distros are moving to
systemd but Ubuntu won't ship it in 12.10.

------
lorenzfx
What is so great about the OS X Desktop? (Honest question; As a long term Mac
OS (X) user who switched to Linux about a year ago I am really wondering...)

Also, has a heavy computer user I mainly switched to Linux/FreeBSD because of
the much improved customization possibilities. While the default OS X
experience might be superior to GNOME/KDE, I now get a lot of things done a
lot faster since I could make my machine exactly fit my needs. I really cannot
imagine why any (not platform depending) programmer would ditch Linux for OS X
just because the defaults work better.

------
sjtrny
Sorry, how did this get so many points? Most of it is rubbish. All I hear is
"Wah wah wah I like the control key, I don't understand the command key wah
wah". And some of it is factually incorrect.

------
taylodl
OSX is good for developers with families. The wife and kids are happy and
you're pretty happy too. Win-win all the way around.

