The Free On-line Dictionary of Computing
URL: http://foldoc.org/
The Free On-line Dictionary of Computing (FOLDOC) is a searchable dictionary of acronyms, jargon, programming languages, tools, architectures, operating systems, networking, theory, mathematics, telecoms, institutions, companies, projects, products, history, in fact anything related to computing.
It aims to provide a one-stop source of information about all computing terms and includes many useful cross-references and pointers to related resources elsewhere on the Internet, as well as bibliographical references to paper publications. It lacks many entries which one can find in paper computing dictionaries but contains more encyclopedia-like entries and entries on subjects such as current hardware and software products, companies, and institutions.
FOLDOC is maintained by me, Denis Howe, in my "copious spare time" as a free service. It is served from a Linux web server provided for a pittance by Scaleway.
How does it work?
The dictionary is stored as a single source file in a simple, easy-to-edit, human-readable form of mark-up which is converted to HTML on the fly by a Perl CGI program. The program uses a custom matching algorithm to provide fast, flexible, indexed searches of headings. Other Perl programs build the index, the lists of missing terms, and the contents pages.
History
The dictionary started in 1985 and has grown, with the help of 2000 contributors, to contain nearly 15,000 definitions. It receives around 10,000 unique visitors per month.
A list of frequently requested missing terms is available. Users are encouraged to contribute definitions of missing terms. These contributions are usually edited extensively before inclusion. New terms are added occasionally.
I started the dictionary in 1985 by copying half a dozen definitions from a magazine article for my own use. It grew slowly until I came to Imperial in 1990 and discovered the Internet and the wonderful world of anonymous FTP. I found several major sources of definitions out on the net, most notably the On-line Hacker Jargon File, but nothing you could call a dictionary of computing. I knocked up a few sed, awk, and shell scripts and munged all the sources into one big file, along with my own collection of definitions. I installed an FTP server on my desktop machine and made the dictionary available from there, publicising it on Usenet news.
Around this time, Gopher was just taking off and I soon had a Gopher server running, allowing people to search the dictionary rather than have to download the whole thing. Soon after that, around March 1994, the World-Wide Web happened and I just went bonkers! At last I could do proper cross-referencing and use forms to get feedback as well as adding links to other FTP, Gopher and WWW resources on the net.
I continued to develop the dictionary, with help from the net, while failing to complete my PhD thesis, and later while doing a full-time job, and helping to bring up my sons Mark and Alex.
Why?
I started because I couldn't find anything similar available for FTP (this was in the days before even Gopher, let alone WWW) and because I wanted to play with net software. I carry on because I enjoy providing a service that's used by thousands of people around the world. It's great to get all the positive feedback and help from the net and to find out what the hot topics in the world of computing are.
I've learned a hell of a lot about computing, comms, maths and other interesting subjects, thanks to many excellent contributions from the knowledgeable and kind people on the net.
It was amazing watching the access statistics growing as more and more people got on the Internet. The dictionary aims to help new Internet users cope with all the terminology, buzzwords, and acronyms they run up against.
Apart from all those important reasons, it looks good on my CV.
Advertising
In about 2009 I was approached by an advertising agent and decided it might be fun. After discovering that college policy allowed advertising, I signed up. When that deal ran out, I started showing Google ads. I hope that all the good folk who've helped make FOLDOC what it is don't object.
Are you a computing expert?
I'm more of a jack-of-all-trades. I'm very old and have worked on or studied many aspects of computing, including VLSI design, electronics, logic design, processor architecture, parallel processing, natural language processing, AI, neural networks, machine learning, assembly language, BASIC, C, Lisp, Prolog, functional programming languages, Visual Basic, Java, Perl, Python, JavaScript, JSP, networking, Unix kernel hacking, Windows Registry hacking, COBOL, VMS, umpteen Unixes, RISC OS, NEXTSTEP, George 9, DOS, Windows, HTML, CSS, XML and quantum mechanics. I've worked in industrial research and development, academic research and corporate IT. Having said that, I rely on help from contributors and users for the vast majority of the knowledge contained in FOLDOC.