Saturday, November 7, 2015

Off Topic: Emacs and OS X: Confession of a partial convert

I have crossed to the Dark Side.  I have for work a well-abused MacBook Pro, purchased an iMac, and have traded my Android Phone for an iPhone.   Pangs of Conscience: Yes!  I have them.  There is much that works right, though.

So this is a confession, then, of sourts.  It is also an opportunity to take a somewhat unbiased look at OS X and what it gets right.   When I learn to Code, it would be my wish to implement some of these in GNU/Linux.

[This is incomplete, and is unlikely to be completed.]

Philosophical and Moral Issues

Among those things that Apple gets wrong, or that seem wrong

  1. Emacs keybindings are ubiquitous on the desktop (good and bad!), but keybindings in Emacs are difficult.  Partly because of the odd Command/Option/Ctl/Fn suite of keys, which seems actually to be useful once it is made a little sense of.
  2. It's all about paywalls and keeping the competition out of the garden.  My new iPhone took almost 24 hours to get working, due primarily to the oddball Apple ID system, as well as my password cluelessness.
  3. Starting out from a Unix base, the Directory Structure and permissions area is hard to get one's head around.  Recent changes include changes in root access permissions at some level that seems inconsistent with the Unix Philosophy (as I poorly understand that)
  4. It's all about Consumerism
  5. Let's build a system that uses all kinds of new gadgets and doesn't allow people to use the means and materials they are used to, and charge a Gazillion 
  6. Good and Bad: I can install many tools more or less painlessly from the MacPorts collection and MacBrew.  More below.
  7. Apple's GUI is hard for me to understand.  The filesystem layout is very particular and unique to Apple's implementation of Unix, with lots of hooks to make it harder to get along with. 

 

Installing "Unofficial" Software.

One of the annoying aspects of Apple's business model is the word "Official" and whatever other synonyms have evolved or been cloned into existence.  Another permutation of the Window$ conceptual construct.  Apple's "App Store" only sanctions certain software officially.  The infrastructure has again, in 2015, been tightened up to make the hegemony even more exclusive.  Several groups have arisen to make it easier to install from source code and binary packages, to note: MacPorts and MacBrew.  

It was certainly not the intention of the two camps (or their predecessors and less dominant brethren) to extend the talon like  grip of Apple even further over the installation of non-compliant software.  Then what has happened to cause the two to produce self-proclaimed incompatible systems?  Let's say the idea of Santa Clause giving gifts to children is so good and great that another group, on the South Pole, decided to implement it in another way that is completely incompatible: They eschew the use of a chimney, and come in only through the basement window.  And they place their gifts under the tree so as to block access to each other's packages.  Each child must declare his allegiance with one of the Winter Superhero groups by placing either Cookies and Milk---for Santa Clause---or a South Pole Official Gift Card loaded with a minimum of 25$, for the South Pole cult.

 This is something like what has happened (but of course, it was Apple itself, the manufacturer of the sleighs, who implemented the gift card system.   How nice.  Now the kids with cell phones have their phones seeded with credit card numbers.  Wow!  

 Back to the two systems.  

This is soooo very  bizarre: These two camps (actually, at least two more exist, including "fink" that seem out-dated in 2015) exist with (so each complains of the other) mutually exclusive systems for installing unofficial software over OS X.  I recognize a plethora of software from my years of using GNU/Linux.  The systems work---especially MacPorts---like Gentoo or Arch Linux, and, in reality, those two draw their inspiration from Unixes Ports system for installing software from Source Code.   


I will use Emacs as an example, and it's a very strange story indeed.


Emacs

I am a die hard Emacs fan.  Emacs is the Self Extensible text editor, the flagship of the Free Software movement, one of the earlier contributions of the much maligned and much loved Richard Stallman.  Many years ago---in about 1992, the FSF responded to my appeal for help to get "free software" to support my animal names lexicon project in Chuuk, by sending over a dozen disks (if my memory serves correctly) of free software, including Demacs, a port of Emacs to the Windoze Non-Operating System, and a large number of Unix Utilities, in particular text-processing utilities that, I have learned, are some of the most incredible EVER.  

 TMALSS I adopted Emacs, and never looked back.  So when I bought this Apple iMac, my first action was to investigate the installation of Emacs, which I knew was possible, because I have used Emacs on other OS X computers.  This is why:

 Emacs is actually installed on every OS X installation.

 This is why, but not how, and it is not the end of this story.


I am a self stated distro jumper.  In search of the perfect GNU/Linux system I have installed quite a number of Linux Distributions.  Here's a bitter pill to swallow:

Emacs is not found on any of the GNU/Linux distros that I have tried, out of the box.   It is found installed out of the box on OS X computers.  

Some other facts

    1.  Emacs keybindings are found all through OS X.  Believe it or not!
    2. Emacs Keybindings are not found on GNU/Linux distros, except in some cases, on a program by program basis.
    On OS X there are a plethora of Emacs versions and builds available.  I have gotten Emacs to work on two computers, but doe to the obscene incompatibility situation, I have not been able to find a single best package to install.  There are at least three.  The Emacs onboard, while usable, is console only, and it is an older version.  I will not take the time to research and enumerate the various possibilities.

Things OS X gets Right 

 

    1. Spotlight Search 
        
    2. The Finder is awesome
    3. Emacs Keybindings are ubiquitous
    4. Emacs is installed by default
    5. Interoperability and smooth integration is good.  The downsides include a bunch of little dot files scattered around the system, and the complexity of installing a program so that OS X identifies it and works with it. 
    6. CUPS (Stolen for money from Free Software/Open Source Community, and cleaned up nicely)
    7. Smart folders.  Persistent searches saved as folders.