On Software

Some people have developed a really strange tendancy to ask me what software they should use, especially if they are or are trying to become a Microsoft refugee. After all, I use "that Linux thing" and can apparently get work done with it. So here goes, take my opinions for what they're worth. Yes, these are all rave reviews; if I don't think a package is outstanding, I'm not going to bother to write about it here.


Operating Systems

Gotta have one, don't gotta be friends with it

Debian GNU Universal Operating System

They're not kidding when they call it a "universal OS". The Debian project supports every major architecture from PCs to Macs to IBM supercomputers to your cellphone, and some CPUs even I've never heard of. Plus, while primarily a Linux-based distribution, it also runs on the Hurd microkernel architecture.

Probably the spiffiest thing about Debian is its packaging system: essentially all Free software known to man is packaged for Debian (8000+ packages now, including all the software listed here, with the obvious exception of the other OSes), and this packaging gets you all kinds of coolness. Install, configure, and remove packages with a single command; let the packaging system manage setup issues so software can be used by you, or a hundred people logged into your system, seamlessly; stuff Just Works.

Speaking of stuff that Just Works, Debian is generally considered one of the most stable and robust general-purpose operating systems in existence. Much of this is because the process of making sure all your software works correctly on a dozen kinds of computer is a really good way to catch bugs. The Debian Quality Assurance group is an outstanding outfit, especially when you consider they're all volunteers.

Watch out, though -- Debian is not for everyone. While it is quite usable and a joy to work with once you get to know it, some users are daunted by the complexity of a system that will occasionally send you snarky emails about configuration settings that it has changed for you. However, I have hand-held several Linux newbies who quickly became happy and enthusiastic Debian users.

Mandrake Linux ... Ooooh, shiny!

I haven't used Mandrake myself in a few years, but the internet is full of people who rave about it. This Linux-based OS caters to the general desktop user, who wants a powerful graphical interface and integrated desktop tools. Not as powerful as Debian, nor as easy to maintain, but apparently a very good starting place for many new users.

Apple MacOS X

Sure, I swore off Nonfree software years ago, but this candy rocks. Plenty of my Mac-using friends have this, so I've gotten to play with it a bit. Mix the Apple's user interface wizards with BSD and NeXT goodness and some cutting edge display technology, and what did you expect? If you're in the market for a laptop, I'd almost go so far as to recommend buying an iBook with MacOS X -- and you can even partition off part of the drive and slap Debian in alongside it for bonus sweetness.

Document Creation

The might of your pen is insignificant next to the power of the source!

LaTeX

Pronounced La-tek, based on the TeX typesetting engine, after a decade in use this is still where its at in content-based document preparation. Known chiefly for its godlike mathematical typesetting powers, there's very little this system can't handle, especially when extended by the dazzling variety of add-on packages availaibe online. This is a little something I whipped up one night 'cause I was bored and felt like playing around with some little-used options. Of course, I didn't code it entirely by hand -- there's tools for that, which I'll get to presently. This is the software that typesets a pretty good chunk of the world's academic journals and textbooks (and variants also based on the TeX system are responsible for many more).

Which reminds me, LaTeX isn't a GUI word processor. It processes text files you have created that describe the document you want, the content and the types of markup desired. Once you get the hang of it, the LaTeX macro language becomes second nature and learning it is definitely worthwhile. But, as I said, there's tools to help you if you don't want to learn a programming language to type a letter to granny. Even GUIish word processors.

One more thing: TeX. The programming language behind the magic, designed for creating documents by Donald Knuth, Stanford's Professor Emeritus of The Art of Computer Programming (one of the guys who invented computer science), is regarded by many as the most nearly perfect piece of software in existence. Knuth will actually pay you $256 if you should find a bug in TeX or its associated font-processing system, METAFONT. You won't. Nobody has in years. Large chunks of the code for these programs have been mathematically proven to be correct.

LyX

LyX is a WYSIWYM word processor that uses LaTeX behind the scenes. That's What-You-See-Is-What-You-Mean, thank you very much. It's not Word, or even all that much like Word, but there's enough similarity that most anyone can get up to working speed in no time. Intuitive, fast, and comes with great documentation that doubles as examples of almost everything you're likely to want to do with it. Look at the document I linked above; that came out of LyX, and no, I didn't have to number any of those equations or references myself -- LaTeX did that. This software places the awsome power of TeX at your fingertips without forcing you to get your hands dirty, although should you need more TeX is right there to provide.

Mathematical Tools

'Cause a good math geek is a lazy math geek. Stuff to do the boring stuff.

Maxima

Think Mathematica, but written in Lisp. The UI doesn't have the Wolfram polish, but that stuff's expensive and doesn't add much once you know the (dead simple) command language. Mathematically very powerful for both symbolic and numeric calculation, and also pretty good as a plotting tool, especially when paired with Gnuplot.

Grace

A powerful 2-D plotting utility with all the statistical and data analysis tools built in that one is likely to need. I mostly use it for simple stuff like data reduction and regression, but the possibilities are limitless. In addition to analytical abilities, Grace offers a sophisticated set-oriented approach to data, allowing set-theoretic manipulations to recombine data in ways that would be difficult with other packages. Moreover, it provides complete WYSIWIG control over data display for direct printing or embedding graphs in your documents. Most pictures aren't worth ten words; the figures made by this program are definitely worth the full thousand.

Calc

A reverse-polish calculator, inspired by those nifty HP calculators that could manipulate formulas and do matrix algebra. What makes this cool, besides being a versitile and full-featured calculator, is that it is written in Emacs Lisp and is integrated into the Emacs text editor. So, while I ordinarily wouldn't use it for symbolic algebra or the like, Calc makes it very easy to perform sophisticated mathematical operations on large sets of data, just by importing them into Emacs as a text file. Plus, since it IS written in Lisp, it is highly programmable.

<%method title> On Software <%method time_stamp> Last modified: Thu Jan 22 22:27:10 CST 2004