Saturday, May 31, 2014

The *NIX Side of Things

May 26, 2014

As I do every day, I continued to indulge my fascination with UNIX. I have cleaned out Amazon in books about UNIX. There is history, detailed, documented history. Today I was looking at the two or three thousand PDF pages the programmers who built Xwindows in the nineties left. It is a great narrative waiting to be written. It is without the greed of the confusing copyright battles in the story of hardware advancement. In the programming side, especially *NIX, there is a selflessness that I find heroic and inspiring. These programmers, some of whom are not the cellar dwelling youngsters they used to be, have worked tirelessly in an idealistic effort to put the internet and complete OSes and magnificent programs that really work in the hands of every human being on earth. If you can somewhere get a used board, wash it up, re-solder the blown caps, and put on it a cpu, and mount the whole in a garbage can with a fan on the bottom, you can boot up from a disk or a floppy or a snap drive gotten from lord knows where with software that is free any way you can think about it, and like magic you are on the net describing the behavior of some disgusting despot that the world would be better off without, and of course hacking and scamming, which should be no surprise to anybody. But for the much greater number, they are skilled and idealistic people struggling to write software that anybody can get and use to advantage for good. And there are other people, businessmen, who are naturally capitalizing on this wide open market that has been created. But let's forget the businessmen and focus on the fact that a cpu that hasn't been burned up can last a very long while—no moving parts—, and can continue to be serviceable as long as there is software that is efficient and effective.

I personally can't nor would I buy a new computer every other year, and though I write novels and keep a blog, and I am thinking about starting a wiki about writing, I would not spend two-thousand dollars for software to work on them with. I would not spend a single dollar for software to work on them with. What I am writing now, this blog post and almost all the others I have written and published in various places have been written in raw HTML on Emacs, which I downloaded from the net for free, that is free any way you can think about it; and besides HTML Emacs means to me LaTex which means to me Auctex, with which I have created a publishing system that allows me to get some of my writing out there, and that also is free any way you can think about it. Without these programs, it would be much harder even to think about publishing, in fact, I probably wouldn't be able to think about it at all because I can't afford to buy Adobe anything. Adobe is a monolith. You can see Adobe in every website, every photograph, and because it is a monolith, it sucks up everything and spits it out in my opinion looking like hell. I was sucked in by Adobe for a few minutes in my writing career by a lot of fake style. I mean, do you really want your documents to look like that? Do you really want your photographs to be thought of as "Adobe" photographs? I don't.

There are quite a few things that UNIX apps do right. Some are procedural and are similar on the surface to all OS's. *NIX is different more that anything else in vocabulary. There are shifts in vocabulary. Configure, for instance, is one word that is common in *NIX that you have to get used to before you can see the common sense and simplicity in it. Very soon you'll appreciate the advantage of having a configuration file available to you so that you can get in there and make changes that will allow the app to become more responsive to your particular needs. Soon making changes in configuration files will become a daily habit. How did you ever survive without this possibility?

UNIX apps start simple only when your needs for them are simple; then as your needs become more complicated, they get more complicated. You build on the simple by the rule of easily added on modules. This means that apps may be transported across platforms, which means that any hardware will probably do. In fact, a ten years old board pulled out of a dumpster will probably work better than the latest thing! You know that old laptop that used to boot on XP that everybody said would not work on anything modern like System 7? And you really need to buy a new computer, which is handy for the manufacturers, especially those associated with Microsoft. (I don't know when the American public will eventually get mad at Bill Gates and his cronies. Bill and Belinda are American aristocrats. The power of their propaganda is hard to make a dent in.) That machine need not be turned into salvage, as it will run perfectly well on Xubuntu for many more years, four gigs of RAM or not. Although I am as fond of XP as I was of OS X Tiger, about the only commercial OSes I think were worth anything, it is no sacrifice switching to Xubuntu or Linux Mint or Fedora, for example. In fact, they may be quicker and more efficient. If you have lived with XP for a long time, finding a way to live with Xubuntu, for example, will not be hard. I do not believe anyone will have to learn to live without anything. Let me remind everyone, android is open source.

One of my own personal heroes is Richard Stallman. He wrote the app Emacs and is also the guiding force behind GNU. If anything in the history of computer science can be certain, Richard Stallman and Emacs and lisp are so inseparable that debate about their origins is impossible. These are a few of the basic ideas behind *NIX1.

  • KISS Principle

    The KISS principle is an acronym which means Keep It Simple, Stupid!

  • YAGNI Principle

    YAGNI is an acronym which means You Ain't Gonna Need It. It is a software development philosophy which is based on NOT adding features unless they are needed.

  • DRY Principle

    DRY is an acronym which means Don't Repeat Yourself. It is a software development philosophy that supports not duplicating pieces of code. It is probably the concept less used by the project, but it is still taken into account.


May 27, 2014

To be honest my personal system involves a hybrid involvement with OS X. Long story short, I run two computers at once. Sometimes I don't use the Macbook for days, then I might use it quite often for days. *NIX does most of the heavy lifting. But certain things that anyone would think *NIX would focus on and do best, it does worst. I can only point out certain features that have been around for long enough that they should function at least somewhat automatically in every OS. You shouldn't have to call on any unusual ritual to get a secure connection to the net. I would have to be on cloud nine not to know how different a connection and a secure connection is. Anybody still unaware that their smart phone is like a radio station broadcasting to the world is lost to all reality. Why should anybody need a sleaze like Edward Snowden to tell him that? You take these facts into account. Personally, I don't care if the whole world knows I am in the market for used computer parts that still work. But there is some information that I consider personal and private, and I believe UNIX especially helps me keep that information personal and private by demanding that I take into account certain security issues every time I dial up the net. As a result, getting my Wi-fi printer to work on the other end of the house may take a little work. OS X has that "functionality" down in a way that FreeBSD, for instance, does not. Once the file, like this one, is done, a nice PDF created, I ssh it to the Mac, print out a hard copy—sometimes I like to read from paper, it is a habit that started a long time ago—and then send the file to blog or somewhere else on the web. All this can be done in *NIX, but a little more easily in OS X.

Often times when I do not use the Mac for several days, I feel like the baseball club owner who bought a contract with a star player who has proceeded to play badly but the owner cannot stop playing him because he was so expensive. My *NIX machine is a collection of many years old recycled parts. When I get an app that works particularly well, I may donate a few dollars. I insist on open source and lean toward GNU. I guess you can foretell where I am going with this. I bought a program called DEVONthink. It is a good app but so unpleasant to deal with that I have used it hardly at all.

I can't say I dislike OS X any more than I hate any other OS. I wish the garbage line at the top of the screen was gone, and it is gone if I am in full screen mode. Then I think of all the configuration files I can't get into in OS X that I can get into in *NIX. That makes my dislike intense. Then there is the fact of its inefficiency and the distractions. I do manage to stay out of iTunes. I am not that far gone. Instead, what I do use is emacs. All the time. And it has caused me problems, specifically right now the fact that I am having trouble with a dot file for some reason. And yet I love all those old apps. Like Mutt. I had it working with getmail on freebsd. It was the quickest emailer I ever had. It is retro, I guess, as if somebody pulled it out of a tomb. Another perfect example is xrandr. It is a powerful, old-fashioned cli app. None of the gui apps work switching screens around, and rotating screens, setting resolutions the way xrandr does.

I don't know what the deal is with printing in *NIX. Maybe they worry about the trees. Or maybe the developers are as dumb as I mysteriously forethought they would be. Is it true that they do all the work they do for nothing? Seems to me Stallman runs a mysterious business down there in the flatlands.

1. Having looked at this for a long time, it strikes me that it is the sort of list that would interest anyone doing anything."↩"

No comments:

Post a Comment