Thursday, October 06, 2005

Unix Free Since 1999

My first computer was a TRS-80, my second an Apple IIe. In college I mostly programmed in IBM 370 assembly code. But in graduate school (first at Berkeley and then at MIT) I starting using Unix in its various forms and its programs, first Vi and Troff, then Emacs and LaTex and reading email via the command line "mail."

My future wife had one of the early "IBM Compatible" PCs and I liked some of the programs one could use, like Quicken, Prodigy (an information dial-up service), good spreadsheets and word processing. My home computer has always been a DOS/Windows machine since.

Windows had good calendar and email programs long before they were available for Unix so at one point I got a PC card for the Sun in my office which ran Microsoft Windows in an Unix window. As I found myself spending more and more time in that window, my next machine was a Windows machine with an X-Windows program so I could connect to the department's Unix machines to use Emacs and LaTex.

Soon very good Emacs and LaTex programs became available for Windows and when I moved to NEC in 1999 I went Unix free and haven't looked back. My biggest complaint about Unix was the user interface. To print pages 3 to 5 of a latex document is easy in windows, for Unix I had to do a man dvips since I could never keep straight which flags did what. Once I spent hours trying to figure out what I did wrong in a Make program (I had uses spaces instead of tabs). I'll never forget the time I accidentally typed "rm temp *" instead of "rm temp*".

Ever since people have kept telling me Linux interfaces and programs have gotten much better, and they have, but never enough to get me to switch back. Some Apple lovers have tried to get me to move to Apples, but they just never had the software available that PCs do. Windows emulators for Apples are popular but you don't see the need for the other direction.

As more and more of the programs I use become web based, the actual platform becomes less and less important. Still though as someone who likes an easy user interface and wide availability of programs and doesn't do much programming and scripting, Windows has worked well for me.

23 comments:

  1. Well, that post was sure to get a comment from me :-) To be truthful, my experience is that both Windows and Linux (the Unix-type system I know) require advanced wizardry in a similar portion of the tasks, but not the same tasks. Personally I'm used to Unixisms (I will never learn to like the way Windows handles its windows for instance) but I can't go 100% Windows-free on account of having to deal with Powerpoint on some of my duties.

    At any rate, my recommendation to you is (if you don't do it already) to use the "Unixy" Mozilla Firefox to browse the Web instead of the Windows default IE. It will spare you much viruses and grief. Also, if you don't use Outlook Express for much more than email, perhaps you should look at safer programs such as Thunderbird which I heard is good (although I haven't tried it myself - I use Evolution on my Linux system and try not to go online with Windows at all).

    ReplyDelete
  2. I use both PC and Unix environments at the same time and find both paradigms to have their plusses. In Unix I am perfectly happy to move to a given directory to work on a given task but this feels completely alien on a PC. (This was driven home by how painful it was to adjust to the latex program Miktek on a PC which was set up to use DOS command lines.) On a PC, navigation is generally discouraged by the interface (just start up your favorite program and it will figure out where to store your data). On the other hand, in the Unix world, the data is more the focus rather than the programs that act on it. My Unix data is way better organized than my PC data as a result. On the other hand, as Lance points out, the variety of command options that I can readily access in Unix is much less than on my PC, despite having spent many more years using them.

    ReplyDelete
  3. Join the rest of us and start
    to use linux.

    ReplyDelete
  4. Don't take this as a criticism, but your thoughtless post has put me off computational complexity theory for life.

    ReplyDelete
  5. I've found Windows with Cygwin + XEmacs to be a very strong combination. If only the Outlook Calendar opened up in a fraction of a second instead of 7 seconds.

    The Calendar program at Sun always opened quickly and could be tucked away nicely.

    Ultimately, though, I don't care about which computer I use so long as it can do what I need.

    ReplyDelete
  6. For me, the one huge advantage that Windows has is a TeX editor package which is _better_ than Emacs. What?! you say? Yes, I think WinEdt is actually better software for typesetting in latex.

    If it only had a viper-mode (vi input simulation, like in Emacs), then it would be perfect...

    ReplyDelete
  7. Seems there are always controversy on "windows versus linux(unix)", but I believe that most people here prefer LaTeX(not LaTex) rather than MS Word.

    There are also two ways for using LaTeX, i.e. to manually write LaTeX codes(as most people do), or to use some WYSIWYG(but not free) software like "scientific workplace" instead.

    For me, the latter way seems to have greatly sped up the writing of documents. I don't need to memorize those tags and syntax now. Nor do I see them. LaTeX itself is a big time sink.

    I am interested in knowing, what do you think about this? "manual LaTeX" versus "WYSIWYG typesetting"

    Qiqi Yan.

    ReplyDelete
  8. Linux has become much more user-friendly than before. Today you can setup a linux home computer in a few hours and teach a complete novice how to use it. It doesn't require as much memory as Windows, its faster, more reliable, and most importantely FREE.

    Give it a try. I recommend trying "Fedora Core 4" (http://fedora.redhat.com/)

    ReplyDelete
  9. No way! Ubuntu rules!

    Ahem.

    Anyway, as far as LaTeX editing goes, the very best editor I've ever used is called Kile - a KDE application (Linux). It's all GUI-y, the interface is very transparent (if you're already used to LaTeX), it has tons of helps, syntax highlighting, spell checker...and the very, very coolest: an "inverse search." If you highlight a part in your PDF, you can have it move to the text in your LaTeX document that produced it.

    That's the very height of cool.

    Trolltech has just eased their licensing on Windows, so it's possible we'll see Kile on that platform in the future.

    ReplyDelete
  10. To add to the discussion about LaTeX-based solutions, there is an excellent "semi-WYSWIG" processor which is both Free Software and works for Linux (and also has a port to Windows), LyX. It has its own file format but uses LaTeX internally and can import and export tex files. For Hebrew lecture notes (where direct writing of tex files is next to impossible) I use it exclusively.

    ReplyDelete
  11. Dear Lance,

    why don't you stick to Computational Complexity & Academic Life in your postings? Otherwise you risk putting off & losing another reader, e.g. me.

    ReplyDelete
  12. An interesting topic for a post can be "intellectual hotheads". Or maybe, "intellectual" hotheads. If someone is so put off by a blogger using windows they're welcome to leave, of course, but I really recommend they see a shrink.

    ReplyDelete
  13. Who is Lance's "future wife"? Isn't that more interesting than whether he uses Linux or Windows?

    ReplyDelete
  14. Wow Lance you certainley stirred the pot on this one :) I use Suse at home and Solaris and Windows at work. I really like all of them but I'm thinking of switching from Suse to Ubuntu if I have any more problems with Suse missing essential packages for developers by default on install. Who ever heard of Linux coming without gcc? Suse did that in the main 9.1 personal download from Novell. That aside speaking from a non-academic standpoint as that of a developer in industry I get to work with users at least on a weekly basis to see how to better improve my UI's and from what I have seen most of them are totally not ready to be able to use even a desktop friendly Linux like Suse. Linux still has a ways to go before regular users can use it. Even my users who are primarily engineers are totally not OK with using it all the time. Add in the fact that the most popular drafting program of all time AutoCAD doesn't run on Linux and that gives you a recipe that prevents most engineering firms from using Linux or Unix full time.
    Andy (the guy who e-mailed you the primality question and link update a while back)

    ReplyDelete
  15. "Yup. And we've never needed it, either."

    Until, say, you are getting ready to apply to grad schools and buy a GRE study book and realize the practice CD (which emulates the real test taking environment) only runs on Windows. There are hundreds and hundreds of examples like this... Windows has many network externalities that work in its favor. Enough people only make things for Windows that if you happen to have diverse enough interests/needs you'll need Windows eventually anyway.

    Other people I know get by fine with what you get on a good Linux installation. Good for them. It's like how I get by with my station wagon for almost everything, but I dare not snicker at those who need pick-ups or moving vans for their own special purposes.

    ReplyDelete
  16. Jesus Free Since 1999

    My first church was 1st United, my second an Greater Fountain of Life. In college I
    mostly went to the student chapel. But in graduate school
    (first at Berkeley and then at MIT) I starting worshiping with a group of Evangelical Christians;

    My future wife had one of the early "Atheist-Humanist" philosophies and
    I liked some of the consistency and freedom-of-thought. My religion has been militant atheism.

    Atheism had good calendar and email programs long before they were
    available for Evangelical Christianity so at one point...


    Ever since people have kept telling me Evangelical Christians have gotten much better, and they have, but never enough to get me to
    switch back. Some God lovers have tried to get me to move to
    their God, but they just never had the software available that Atheists do.


    (The point being the original post has some nature of a religious as well.)


    (The point not being the parallels I used, that was just for convenience.)

    ReplyDelete
  17. This has got to be the post with the best comments ever... keep up the good work! Koodos to Lance's future wife!

    Don't forget your prayers in the church of Unix, be the Emacs with you at all times, and don't forget to crucify Bill G. and his burnt pancakes!

    ReplyDelete
  18. I have tried Linux, Windows, and apple. I have tried dual booting with linux/windows, and running with just linux. Frankly, I like windows better, and it isn't just the fact that the programs I need run on windows (i could perfectly well write what i needed on linux).

    ReplyDelete
  19. Lance, thanks for describing how you made the transition from one environment to the other without much pain.

    I was so impressed that I've decided to make the switch as well. Plus, now I've become deeply interested in computational complexity. I guess I make up for one of the commenters above whose gone the other way.

    I'll convince my wife to give up her Linux attraction as well. She'll probably like computational complexity as well, so count on her to make up the shortfall of your other anonymous commenter.

    ReplyDelete
  20. I worked as a computer programmer from 1965 through 2002. One thing you learn in the trade is that people get very ideological and dogmatic about what operating system or language is superior.

    Most fail to recognize that there is NO OS or language that is the best for all tasks. That it is necessary to learn many languages and work in many OSs to get the work done.

    I've learned and programmed in over 100 programming languages during my career. I worked with virtually all operating systems.

    None deserve the religious devotion that some people attempt to color them with. For Pete's sake, people, go worship a crayon if you have to but get over being unix bigots. All you are doing is demonstrating your lack of experience in other work environments.

    ReplyDelete
  21. Welp, I'm over half a decade late to comment on this post, but you just recently linked to it from another one so I just found it...

    One of the things that infuriates me to no end in Linux is how to expand a compressed file. *Every single time* I do this, I have to Google to find the correct syntax. Usually "tar -zxvf yourfile.tar.gz" (I had to look that up just now). Why -zxvf? I have no idea! I could learn what each of those flags do, but why should I spend my time doing that?

    I've suggested to Linux fanboys that maybe, just maybe, there should be a simple "untar" command, smart enough to figure out which flags to use based on (gasp, what a concept) the FILENAME! They respond: "hurr, durr, but the file could have the wrong name! it could be named .tar.gz when it's really a .tar!" Well, sure, that's profoundly stupid but yes it could happen. But in that case, I'm already being trolled by whoever hosted the file, and I'm still going to get the same problems when I manually decide which flags to use, *based on the filename*. It's just plain dumb.

    /rant

    ReplyDelete
  22. @Xamuel:

    Why don't you write a script that does this or get someone else to do this for you? It's very simple.

    (By the way, there is a command "file", which checks the actual content of the file. For instance, it can be used to distinguish the real ".tar" from the real ".tar.gz".)

    Also, if you are not a power user and you are happy with the "Windows-like" GUI experience, Ark opens .tar named .tar.gz (and vice versa) correctly. Really, no one forces you to use the command line these days, if you don't want to.

    -KO

    ReplyDelete
  23. @Xamuel:

    For me, on Linux From Scratch, tar -xf works regardless of whether the file is a .tar, a .tar.gz, a .tar.bz2, and I think even if the file is named wrong. x means extract, f means file. It's not so hard. Doing it based on the filename would open you up to crap from badly named files. Doing it based on the contents is the right thing.

    @Original Post:
    I use Linux solely because I can customize everything so that I can use a tiling window manager with multiple virtual desktops and all window decorations turned off.

    That said, if you are happiest and most productive in MS Windows, and don't feel immoral supporting closed source software, by all means go for it. (not sarcastic, not implying anything)

    Linux certainly has its frustrations, like no 3D accelerated graphics driver for most VIA video cards (which has bugged me and wasted my time for a couple years now).

    ReplyDelete