This site first went online in the spring of 1997. It was a struggle getting the Ample Power Primer online for a couple of reasons. First, there was our own ignorance about HTML, the language of Web documents. Secondly, the tools for generating HTML from standard text editors were weak at best. And complicating matters was the fact that the Primer, our catalogs and books are in a mark-up language most will not recognize. To get up our first Web offering meant extra labor stripping out mark-up commands by hand and then running the plain text through a Windows based program. This brute force method was not satisfactory in the long term because it was too labor intensive, and meant that two sets of documents would have to be maintained, one for printed output, and one for Web content.
In the Beginning
As far back as 1985, we began using a publishing program that was authored by Donald
Knuth at Stanford University. His program is called TEX. Running as a set
of `macros', or super instructions on top of TEX is another program
called LATEX. Written by Leslie Lamport, LATEX
allows an author to write without worrying about structural details ...LATEX
can build a letter, article or book with tables of contents, list of figures, etc.
We chose TEX and LATEX in 1985 for a few reasons. First, our attempts to use another so-called word processor was laden with install problems and difficulties reading plain old ASCII text produced by our programmer's editor. The first program, which we ended up referring to as word-scum, wanted us to think about fonts and sizes for all the headings, worry about placement of figures, and construct tables with a great amount of labor. Worse than all this, we were expected to learn a new editor to make simple changes.
As a programmer, LATEX was understandable in principle, if not always as predictable as expected. Within hours of opening the software, we had a chapter of the book on paper!
While LATEX was freely available on Unix systems, we couldn't afford such a system at the time and therefore had to run a version of LATEX on our lowly PC. Our 1985 Compaq computer ground for 4.5 hours making the final output for Living on 12 Volts with Ample Power. While each year brought faster computers, and software upgrades for our PC version of LATEX, we knew from following the TEX community that the real way to run the program was under the Unix operating system.
Part of a Tangled Web
In 1991, an operating system started growing over the Internet. Linus Torvalds, a
student at the University of Helsinki in Finland made an Internet posting that captured
the imagination of programming wizards all around the world. That seed has flowered into
Linux, an operating system that is faster, and more stable than the typical Unix. While
Linux is available at no cost to anyone with Internet access, it's chief attraction isn't
the price, but the tools that are available for it ...also available by simply downloading
them.
Running Linux meant we could use TEX and LATEX in it's native environment. All the packages that have been added to the TEX community over the years would be available to us immediately, without waiting for support to be added by the vendor of the PC version.
We began exploring Linux, and at last can produce output such as catalogs, the Ample Power Primer, and our books with only minor modifications to our original source documents.
So Where Does this Go?
So what does all this have to do with this Web Site? The Web runs on HTML, or Hyper
Text Markup Language. We have years of work in LATEX ,
another type of markup language. But we're not alone. While the average computer consumer
has been on a diet of Apples and Windows, universities and large organizatons have used
some variant of Unix. Thousands, (millions?) of books and articles have been published
using LATEX . It had to happen, and it has
...a converter that takes LATEX input and
pumps out HTML. As you'll see, we have used that converter to power our Web site. We were
able to find the source code in the UK, download it, install it, and run our first test
case in less than an hour!
The converter to make HTML out of LATEX is written in a language called Perl. Perl, written by Larry Wall, is another tool available on the Internet at no cost. At one time, we read that Perl was being used by over 90% of the Web servers on the Internet. Perl excels at text interpretation and translation into computer actions.
We're not in the Clear
There was one other major hurdle we had to clear before we could really move our LATEX
material to the Web. Early photos were scanned into a PC and saved as Windows .bmp files.
Schematics and block diagrams can be output as PostScript, (.ps), or Encapsulated
PostScript Files, (.eps). Such material on the Web is usually in Graphics Interchange
Format, (.gif), or image compressed format, JPEG, (.jpg).
The first version of the Ample Power Primer Online, which may still be in use as you read this, managed to get system wiring diagrams into .gif files by first displaying the original PostScript files on the screen, and then doing a screen capture. It was done by Mitch Ishihara using a lot of patience and brute force work. He said, "Find a better way and I'll use it!"
You can imagine our excitement to find on our Linux system a program, with a modest name of xv, which can translate between just about any format! Not only could be use the Postscript wiring diagram files, we can also translate the Windows .bmp photo files into .gif, or even .ps to use for printed pages. We won't bore you with details about make utilities, but with a single source document and a make file, we can produce one output destined for the printer, and another output readable on the Internet.
One more Stretch
One hurdle remained. How do you transfer files from a Windows 3.1 machine to a Linux
machine. Yes, Linux can read DOS files on the floppy drive, but many of our photo files
are greater than the capacity of a floppy disk. The answer lies in TCP/IP, and SAMBA.
TCP/IP is the underlying protocol of the Internet, and despite a slow start supporting the
Internet, Windows software is now available to run TCP/IP.
SAMBA is a program that allows a Linux and Windows machine to communicate using a conventional Ethernet interface. We been using such a network for our internal network. First we experimented with hooking two Linux machines together on a small subnet ...a piece of cake. Getting SAMBA to work between Linux and Windows wasn't quite so easy, but eventually the pieces meshed.
If all this seems like a lot of effort to re-use old material, and to continue publishing printed documents with the familiar LATEX tools, consider this ...one source file of text and graphic file names can be `made' into a printable document, or a Web document without changes! But yes, it was a lot of effort, and we couldn't have done it without the contributing efforts of thousands of programmers around the world.
The Bottom Line
It seems the bottom line is always cost, so why should it be different here. How
much did it cost? All the software except xv is available at no cost if you have Internet
access. Because we planned on using xv for commercial purposes, a registration fee of
$25.00 applied ...a bargain if there ever was one.
This doesn't tell the whole story, of course. To be fair, we'd have to include the cost of a mighty stack of books on TEX, LATEX, Perl, Unix, and Linux. We have every issue of Linux Journal, so the cost of that subscription over the years should be included. And then there were a few CD distributions of Linux programs we `played' with that cost from $15.00 to $49.00. Maybe this all adds up to $600.00.
And what about the time to learn how to use all these tools? There's a learning curve for any program, so learning how to use LATEX or xv is not much different that learning how to use any commercial program. Getting Linux to install on a standard PC is not terribly difficult with the latest distibutions. We complicated our life by first trying to install it on a laptop before there was full Linux support for laptops.
Making Linux useful after installation is considerably tougher because there are a myriad of configuration files that may need to be tweaked. And then, because Linux has been designed to be a multi-user system with e-mail facilities and even a web server, setting up the network interfaces is a little daunting. New distributions take much of the pain out of doing all this, but if your computer skills are limited to point-and-click on icons, then Linux will tax your patience.
What ever the final cost of learning how to make Linux work for us, we're convinced that in the long scheme of things it will continue to pay dividends. As you can see here, it's a productive enviroment. It's also an open and cooperative environment and a exemplary statement about the capacity humans have to help one another.
Visit the Credits
It would be impossible to give everyone credit here who has contributed to the tools
we use ...our Internet Service Provider would have to buy a bigger disk! We are collecting
some URLs for some of the people and software that enable this Web site, and will be
adding that list later.