Philosophy and the World Wide Web1
December 1994
In this note, I plan to describe some of the procedures I followed in creating the World Wide Web site for the Metaphysics Research Lab at CSLI. Its URL (Uniform Resource Locator) is:
If you examine this site with a graphical Web browser (such as Netscape, Mosaic, WinWeb, and OmniWeb) or even a with a text-only Web browser (such as Lynx) and are intrigued by what you see, you may be interested in what follows. I shall presuppose a basic understanding of what the World Wide Web is and basic familiarity with the concepts of Web site, URL, Web browser, links, Web file-server, home page, hypertext, and graphics. These concepts are explained in numerous publications and are now assumed in the popular press, and so I shall not cover this basic ground in detail. Let me just say that the World Wide Web is a distributed, linked file network the files of which exist on Internet machines having an HTTP (HyperText Transport Protocol), FTP (File Transport Protocol), Gopher, or other file-server that will send the files (for display) to any browsing program on any Internet machine which can broadcast requests that those file-servers understand. The files in the network not only contain data that can be displayed in the form of text, graphics, sounds, etc., but also contain links that seemlessly and transparently point towards documents on other machines on the Web. These links are displayed as highlighted text or labeled icons and they can be followed (i.e., the material to which they are linked can be displayed) simply by ‘selecting’ them, without entering any special or arcane commands and without knowing the Internet address of the machine where the linked material is stored.
So with a sophisticated set of tools (programs), one can create a Web site (a set of documents distributed by a server) containing hypertext, graphics (in a variety of file formats), special print files, and sound files, and these files can be viewed from any machine on the Internet with a (graphical) Web browser. However, one need not have such tools to create a simple ‘home page’ on your University’s Web site. You just need a text editor, a rudimentary knowledge of the language HTML (HyperText Markup Language), and ‘write privileges’ to the (special directory on) the University machine on the Internet which has a World Wide Web server.
Why bother creating your own Web site (for your department, lab, or research project) or a home page on the University’s Web site? Well, in the first month it was up and running, the Web file-server I installed on my NeXT (Unix) machine (mally.stanford.edu) satisfied (i.e., sent files in response to) queries issued from over 500 machines located around the world, including such exotic places as Hong Kong, Taiwan, Japan, Australia, Brazil, Oklahoma, Denmark, Finland, Sweden, Turkey, and many others. How do I know? Every time the file-server responds to a query, it prints a line in a log file, and so I can tell that people are not only examining the top page for the Metaphysics Research Lab, but are following links to documents describing my research, my publications, abstracts of my papers, syllabi for courses I’ve taught, etc., all of which I have on-line in HTML files (some of these files I created ‘by hand’ from scratch, others were generated from preexisting LaTeX sourcefiles by ‘latex2html’ [now I use ‘pandoc’] utility that converted them into HTML sourcefiles). Probably many of these queries were from students and people surfing the net (only the machine name is registered in the log file, not the user), but I can tell (from the time-stamp on each line of the log file) that, in some cases, the user had spent up to twenty minutes examining certain documents (I am assuming that the time which elapsed between queries was spent reading the documents served and not on distractions). Therefore, my home page is already a more important Internet address than my email address.2 Those who send me email have to wait for me to respond to get any information. But those who examine my home page can get my email address plus all sorts of information about my professional activities. This could therefore reduce the volume of email; instead of sending me email asking where a paper of mine is published, for example, a colleague could just point his or her Web browser to my home page, select my list of publications, and have the information at hand immediately.
There are other benefits as well. Before going to Australia last spring, I did online CD-ROM searches on the Philosopher’s Index, using the names of colleagues I knew I would meet as keywords to search. This allowed me to get a sense of the range of their research interests and to learn their views on topics that intersect with my interests. But the searches on CD-ROM were time consuming (I know, those of you without access to on-line CD-ROM searches of the Philosopher’s Index won’t believe what you are hearing). Ideally, I should be able to point my Web browser to the URL of the Philosophy Department where I would be speaking (this should be information that is published in the International Directory of Philosophy and in the Directory of American Philosophers), find the link to my colleague’s list of publications, and not only would I be able to browse abstracts of their papers, but I could be presented with a photographic image by which I could recognize him or her at an airport (such images can be produced by digitizing photographs with a scanner), among other things. But probably the most important benefit of having a home page on the Web is that one can create descriptions of one’s research and even tutorials on one’s theories. The Web is a way of publishing philosophy (though, of course, it is a kind of vanity press).
Setting Up a Home Page
The first thing to do is to ask the System Administrator of the machine where you receive email whether the machine has a Web server (if you administer your own machine as a node on the Internet, you might consider installing a server—see below). If there is no server on that machine, you could ask your Administrator to install one, or get an account on a machine that has one. Usually, the University itself will maintain a computer that is dedicated as a server for its WWW pages. You will need to get ‘write privileges’ to the directory containing the HTML documents for your department. You will also need to have some way of testing out your HTML documents; at the very least, you will need a text-only Web browsing program (such as Lynx, for vt100 terminals). These tools will not only let you browse the Web, but also let you examine local HTML files that you are in the process of creating, to see how they will appear to others (this is what I mean by ‘testing them out’).3 Typically, you will find such a program on any machine that has a Web server. But, if you have your own computer, it is simpler to just find Web browsing software and install it, even if your machine is not wired to the Internet, for it makes testing a little easier than doing everything on a mainframe over a terminal connection.4 Of course, if you want to include graphics and sound, a graphical browser such as Netscape (for a variety of platforms), Mosaic (for X, Macintosh, and Microsoft Windows), or OmniWeb (for NeXT) is a must. In addition, you may need an assortment of ‘viewers’ that can (create and) display graphics files such as GIF files (graphics interchange format), TIFF files (tagged image file format), XBM files (X11 bitmap), SND files (sound), DVI files (device independent), and PS files (PostScript). A good place to find out about this software is the NCSA Mosaic Home Page—select the link to information about your kind of computer at the following URL:
http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.html
Next, acquire some basic guides to writing HTML. These documents exist on-line and you can download them or read them ‘on-the-fly’ as you create your homepage (if you have a multi-windowing system, you can open up a copy of the HTML guide in one window, a text-editor in another window, and as you run into problems creating your HTML document in the text-editor, you can just select the window containing the HTML guide for help). You can get The Beginner’s Guide to HTML at the following URL:
http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html
This Beginner’s Guide has pointers to other HTML guides.
Before you start creating your home page, you should browse the Web and examine other home pages, to get an idea of some possible ways of setting up your own. Most Web browsers have a function called ‘View Source’, which will display the HTML sourcefile of the file currently under view. So, for example, if you point your Web browser to the URL of the Metaphysics Research Lab and receive the home page, use the View Source command to see what the HTML code looks like. As you inspect the HTML sourcecode of interesting-looking documents on the Web, you will get a sense of what HTML commands are required to format information for a Web browser.
Probably the most important command to learn is how to create links to other documents, both to your local files and to files elsewhere on the Web.5 Let me digress for a moment to say something about the usefulness and power of the ‘distributed links’ capability that is jointly embodied by HTML, HTTP servers, and Web browsers. An example makes this quite vivid. Suppose that one of the works of David Hume, which is in the public domain, is stored on-line on an Internet machine with a Web server in some distant university. When you start up your Web browser, it usually reads in the information stored in a ‘start.html’ file. This is the start-up page for your browser. Many people just use the default; for example, the start-up page for Mosaic is often set to the NCSA Mosaic Home Page or to the local University Home Page. But one can customize the start-up page so that the Web browser presents whatever information you please when you fire it up. You can have it present links to philosophy resources on the Internet, and in particular, you can have a link directly to the work of David Hume. Simply by opening up your Web browser and selecting that entry on the start-up page, your Web browser will send a request to the Web server on the machine where the work is stored. The server will send back the file you requested, and your browser will either display it or, if it is in some special format, display it in an ‘external viewer’.6 In fact, there doesn’t have to be a Web server on the machine storing the work of Hume—there may simply be an anonymous FTP server. If that’s the case, most Web browsers will automatically set up an anonymous FTP link, bring the document by FTP, and display it.7 So one can set up a virtual library by putting in the right HTML code in the start-up page for your Web browser. Of course, this assumes that you can alter the start-up page on your browser; you cannot do this if you are logging onto a university computer to use Lynx, say, for then you may be stuck with the start-up page that your System Administrator has set as the default (however, the system may be configured so that users can create and save their own ‘bookmarks’ or ‘hot list’; this is a kind of initialization file the lines in which are URLs of interesting Web sites the user has previously visited and tagged). But if your computer is a node on the Internet, and your Web browser’s commands are broadcast directly to the Net, you can set up such a virtual library. I personally don’t like to read documents of any great length on the computer; but such a virtual library would be useful if one is, say, searching for the occurrences of words in the works of a group of related philosophers, among other things. On my Web browser start-up page, I have links set to philosophy resources on the Internet, including a link to such documents as Philosophy in Cyberspace.8 So learning how to create links in an HTML document is very important. You can use links to create ‘icon buttons’ on your home page by inserting the command that tells a graphical Web browser to display a labeled icon, and you can make that icon a link to another document, such as ‘list-of-publications.html’, in which your publications have been formatted in HTML (the items in your publications list can, in turn, be linked to abstracts). Be sure, however, that you do not set up any links to personal on-line copies of your publications, unless you own the copyright.
Greater Sophistication
The use of icons and digitized photographs requires greater sophistication, since these are graphic images.9 You should probably stick to using GIF and XBM file formats, since most graphical Web browsers can display these images without calling up an external viewer.10 As I understand it, file formats such as GIF, XBM, TIFF, etc., are just ways of representing the location and intensity of pixels. There are numerous utilities available for converting a graphic image in one file format into an image in another format, since these utilities are simply algorithms that transform data represented one way into data represented in another. In creating the Web site of the Metaphysics Research Lab, I made the mistake of assuming that any file format that could be directly displayed by my NeXT Web browser OmniWeb could be directly displayed by other Web browsers. OmniWeb can directly display TIFF files, but unfortunately, Mosaic can’t. However, the program OmniImage (which comes with OmniWeb) can convert TIFF files to GIF files, and so I simply converted the TIFF files and anchored the resulting GIF files into my HTML documents.
HTML does have some limitations. It is not nearly as sophisticated a typesetting language as LaTeX, for example. Though it supports italic, bold, and and diacritical marks in various sizes, it does not support a wide variety of fonts, Greek symbols, logic symbols, mathematical symbols, music symbols, etc. However, there are ways to work around this limitation. By explaining how I was able to insert logic symbols, Greek symbols, etc., into web documents using my computer system, you may get an idea of how to do something similar on yours.
The NeXTSTEP operating system is a Unix system with a graphical interface. It includes a nifty program called Grab which captures any selected region on the computer screen as a TIFF file (i.e., as a graphic), no matter what is displayed there and no matter which application program created the display. NeXTSTEP also comes with NeXTTeX, an implementation of TeX and LaTeX for the NeXT platform. LaTeX is a computer typesetting program and it takes a sourcefile containing special ASCII typesetting commands and produces a DVI (device independent) file. These files can be automatically converted into PS files and printed. However, before printing, they can be examined with NeXT’s DVI viewer, called TeXView, which displays all the pretty LaTeX fonts, Greek, logic symbols, etc., clearly on the screen (in display PostScript) at many different resolutions. So to create an icon or formula with logical symbols in it, I wrote and processed a simple LaTeX file, viewed it with TeXView, used the mouse to draw a boxed region around the displayed symbols, used Grab to capture that region as a TIFF file, converted that file to a GIF file using OmniImage, and linked the GIF file into the HTML document as an ‘in-line image’.11 So much of the power of LaTeX and other computer typesetting programs is not necessarily wasted when creating web documents in HTML.12
For those running Windows, there are similar tools for capturing material displayed to the screen as graphics files. One is called GrabIt and another Capture. They are both shareware (which means you have to register and pay for them), but neither is expensive (GrabIt is more powerful and so more expensive). Both are available via ftp from winftp.cica.indiana.edu and its mirror sites.
Saving Time
You can save a lot of time writing your HTML documents if you can create keyboard macros or if your text-editor has a special HTML mode. The text editor Emacs (‘Editing Macros’) does both. By defining a keyboard macro, you can insert a command skeleton with a single keystroke or two.13 The HTML mode in Emacs has all sorts of special keyboard shortcuts for inserting HTML commands into the file. Here are places where you can get information about HTML editors:
http://www.ncsa.uiuc.edu/SDG/Software/MacMosaic/helpers.html
(for the Macintosh)
http://www.ncsa.uiuc.edu/SDG/Software/WinMosaic/HTMLEdit.htm
(for Microsoft Windows)
You can also save time if you have access to utilities like ‘latex2html’ (you might find this on a local mainframe). My course syllabi were all in LaTeX, and instead of creating new HTML files by hand, latex2html converted the LaTeX sourcefiles to HTML sourcefiles. [Note: I now use ‘pandoc’.] Ask your System Administrator if he or she has it installed.14 Those who use Microsoft Word can convert their Word files into HTML by using a special template.15
But you can probably save the most time by using a windowing system with lots of applications running. Since I created a Web site for the Metaphysics Research Lab and not just a home page for myself, I used a wide variety of application programs. Though the ones I shall describe are implemented for the NeXT environment, you should be able to find programs that accomplish similar tasks. The following main application programs (as well as several others less important programs) were always open and running in the background:
OmniWeb, for web browsing and testing local HTML documents
Emacs, a text-editor for creating HTML sourcefiles
TeXView, a NeXT application for displaying DVI files
Stuart, a terminal application for the NeXT which allowed me to use the dvips (which turns a DVI file into a PS file) and latex2html programs from the command line
Grab.app, a NeXT application that captures material displayed to the screen as TIFF files
GatorFTP, a graphical environment for FTP from Internet FTP sites.
NewsGrazer, for reading NeXT and WWW newsgroups in the pursuit of answers to questions
NeXTSTEP (like X-Windows) allowed me to work even more efficiently, since it is not only a multi-windowing system, but also a multi-tasking operating system. So whenever a lengthy task was set in motion in one application, work could proceed immediately simply by clicking into the window of some other application.
The last program mentioned in the above list was particularly useful. When I discovered that Mosaic browsers were not displaying TIFF files, and our System Administrator at CSLI told me that it was because Mosaic can’t read them, I searched the newsgroup comp.graphics (using the keywords ‘tiff’ and ‘gif’). Sure enough, someone had sent a question asking how to convert TIFF files to GIF files on the NeXT, and someone else had replied, indicating that OmniImage could do the conversion.16 So I had the tool that could the solve the problem already on my machine (though I hadn’t known it had that capability). If I hadn’t had that tool, I would have used my FTP program to try to get the tool from a public domain archive. Anyway, you might find the following newsgroups helpful as well:
comp.infosystems.www.users(issues concerning Mosaic, Lynx, etc)
comp.infosystems.www.providers(issues concerning info providers)
comp.infosystems.www.misc(miscellaneous World Wide Web discussion)
Of course, you may also need to consult the newsgroups devoted to the particular kind of computer and operating system that you use.
Setting Up a Server
If you administer a machine which is a node on the Internet and which runs continuously, then you may consider installing your own server. A server is a program that reacts to queries from Web browsers and ships off the file requested. These transactions are frequently conducted using the HyperText Transport Protocol (HTTP), and though there are a variety of http servers out there, I found that the (public domain) http server at NCSA works ‘out of the box’. The NCSA server for Unix systems has to be configured and compiled to create an executable for your particular kind of machine (which means you will have to have a C compiler), but this is pretty straightforward because the NCSA http server is very well documented. A Unix http server is called ‘httpd’, which stands for ‘http daemon’ (a daemon is a Unix background process, and the http daemon usually monitors port 80, waking up whenever a request for a document comes in). Information about the NCSA Unix server can be found at the following URL:
http://hoohoo.ncsa.uiuc.edu/docs/Overview.html
For the Macintosh, a server can be found at one of the following URLs:
http://www.ncsa.uiuc.edu/SDG/Software/MacMosaic/related.html
For Windows machines, you can ftp the NCSA server from ftp.ncsa.uiuc.edu. Look for it in the Web/ncsa_ httpd/contrib directory. Other servers are available for Windows and Windows NT as well.
I should warn you that servers, if not configured properly, can be a security risk; they could provide an avenue for hackers to break into your machine.
Conclusion
If you have further questions about the World Wide Web, there is one Web site the location of which is very useful to know. That is the site for the document’: World Wide Web ‘Frequently Asked Questions’. Its URL is:
This document is a repository of questions and answers about the procedures and programs described in this note. For example, you will find an up to date list of the Web browsing software available on a wide variety of computer platforms (and not just for Unix, Windows, and Macintoshes, like you find on the NCSA Mosaic Home Page). You should, whenever possible, compare the information I have provided in this note with the information available in that document, to make sure it is still current.
It is my hope that the above information will prove useful to those of you interested in creating a home page, creating a Web site, or installing a server on your machine. I should say that a simple home page can be created in about an hour, whereas a fancier home page with links to supporting documents takes about a day. It takes a couple of hours to format your vitæ in HTML (depending on the size of your vita, of course), and a couple of hours to write up abstracts of (some of) your papers and create links to them. A fancy Web site might take a week to construct, working 2 hours a day. Of course, if you think of this as a kind of publication, the time will be well spent. And once it is done, you can get back to the business of thinking about and doing philosophy, if you haven’t already done some in creating your Web site.
End Notes
Copyright ©, 1994, by Edward N. Zalta. All Rights Reserved. I would like to thank the Center for the Study of Language and Information, and John Perry in particular, for their continued support. I am also indebted to Chris Menzel, who provided some information about World Wide Web tools for machines running Windows.↩︎1
My home page is a particular document that is linked to the home page for the Metaphysics Research Lab. It’s particular URL is: https://mally.stanford.edu/zalta.html↩︎2
Instead of using the ‘Open URL’ or ‘Go To URL’ function, use the ‘Open File’ function and you will be prompted for a name of a local file.
It is probably a good idea to test your HTML documents on a variety of different Web browsers, on a variety of different machines, and from a remote site.↩︎3
For example, if you are a Macintosh user, you can use Fetch while telnetting to an Internet-connected mainframe to download Mosaic from NCSA’s machine ftp.ncsa.uiuc.edu. Mosaic for the Macintosh is in the directory Mosaic/Mac, and the file you want is NCSAMosaic200A17.68k.hqx. For Microsoft Windows, you can get the WinWeb from EINet by ftp from the machine ftp.einet.net. Look in the directory /einet/pc/winweb and retrieve the file winweb.zip using binary mode.↩︎4
In HTML, a link command looks something like this:
\(\langle\)A HREF=
"document.html"\(\rangle\) … \(\langle\)/A\(\rangle\)The ellipsis is filled in by the text that will appear as a label for the link in the document (the label is the highlighted text that will appear in a Web browser and which can be ‘selected’ should one want to follow that link). The name ‘document.html’ can be prefaced by a URL, so that a link to a document on another machine somewhere on the Internet would look something like this:
\(\langle\)A HREF=
"http://machine.university.edu/Directory/document.html"\(\rangle\) … \(\langle\)/A\(\rangle\)↩︎5If the text has been formatted and stored in a DVI or PS format, your Web browser will call up your DVI or PS viewing program and display the document as typeset text.
Some Web browsers even support dynamic uncompressing of compressed files. Material that is stored in compressed form on other machines will be retrieved, automatically uncompressed, and then displayed.↩︎6
If the machine on the Internet only has an FTP server and not a HTTP server, the line of HTML code for the link would look like this:
\(\langle\)A HREF=
"ftp://machine.university.edu/Directory/document.txt"\(\rangle\) … \(\langle\)/A\(\rangle\)↩︎7The link can be created with the following HTML code:
\(\langle\)A HREF=
"http://www.bris.ac.uk/Depts/Philosophy/Cyber/philcyb.html"\(\rangle\)Philosophy in CyberSpace\(\langle\)/A\(\rangle\)↩︎8You can also include sound files if you have a digital signal processor and the right software on your machine.↩︎9
However, you should be aware that, at the present time, there is some controversy about the free distribution of GIF files. CompuServe (which created the GIF format), under pressure from UNISYS (which created the compression algorithm used in the GIF format), may ask for royalties from manufacturers of GIF creation programs. If this gets nasty and a worst case scenario develops, there is a small chance that Web browsers will just shift to a different standard image format.↩︎10
In HTML, the command for inserting an image file such as ‘image.gif’, which you have placed in the same directory as the ‘current’ HTML document, looks something like this:
\(\langle\)img src=
"image.gif"\(\rangle\)↩︎11Inserting in-line graphics is not an efficient way to display large blocks of text. If you want to display documents that HTML can’t handle, it is best to present them them in another format, such as DVI or PS. However, be sure to include a parenthetical remark about the kind of file format that will be downloaded, the kind of viewer needed to examine it, as well as its size.↩︎12
For example, the Escape-K command could insert the following characters:
\(\langle\)A HREF=
""\(\rangle\) …\(\langle\)/A\(\rangle\)and leave the cursor under the second quotation mark, ready for you to insert the name of the file to which you are creating a link.↩︎13
Point them towards the following URL:
http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html ↩︎14
The template sets up a toolbar with buttons which call fancy Word Basic macros that do all the conversion magic, and also provide buttons for on-the-fly HTML formatting (e.g., specifying headers, calling graphics, etc.). One ‘attaches’ a template to a document. One such template is called gt_ html.dot (‘.dot’ is the Word extension convention for template files), and another is called cu_ html.dot and may even be better. All the information you desire is in the ‘PC Tools’ link of the following URL:
Apparently, this was not pure luck. A staff member in CSLI Publications recently came in to ask me if I knew how to save graphics files created in Adobe Illustrator (on a Mac) as GIF files for their Web site. We searched comp.graphics, and again, we found someone had asked this very question, and someone else had posted the answer. Of course, one can always post a question to this newsgroup.↩︎16