All Things Computed
Computing Web Sites
- Database Debunkings - "Where
Persistent Prevailing Database Fallacies Are Dispelled". Articles,
books, seminars, and C. J. Date!
- Anthony Aaby - excellent
computer science materials (programming languages, language tutorials,
software engineering, and more).
- Joseph Bergin - an excellent
collection of on-line articles and papers on C++, Java, object-oriented
programming, and languages.
- CS PhD
Comprehensive Exams - at the University of New Mexico; includes
questions from previous exams.
- The Oberlin CS DRAGN
Project - excellent, on-line tutorials about various computer
science topics including continuations, dynamic programming, graph
- XLink Kai - "a global gaming
network ... that allows you to play system-link enabled games online
for free". Supporting the XBox, Playstation 2, and Gamecube consoles;
working on the Sony PSP and the Nintendo DS.
- EmulaMaster -
emulators, utilities, and ROMs for a variety of game consoles.
- EmuAsylum - emulators, ROMs,
news, forums ...
- GBXemu - "Game Boy Roms, GBA Roms,
Flash Advance Cards".
- GameCube Advanced
- liksang.com - special
hardware, games, etc. for various gaming systems.
- One Minute Left (OML)
Classics - classic game console emulators and SNES ROMs.
2 Network Adaptor FAQ - by Tim Campbell.
- Rom-Mania -
emulators and ROMs for a variety of game consoles.
- Romster.com - "Napster for ROMS".
- Video Game Music Archive -
- Cheat Codes
Secrets of Professional GameShark Hacking" - commonly called the
"Hacking Text", it teaches "several different ways to hack your own
codes" on different game platforms.
to Create Your Own Cheat Codes" - will "teach you how to take
the results from hacking codes and put them into the proper code
format, as well as teach you how to encrypt/decrypt codes and
convert codes between different formats."
- Out of the Ordinary
- Software Development
Handhelds - Hardware and Software
- E-Text (Palm Doc readers are available for
- News, Views, and Information
- Handango - "World's Leading
Publisher of Handheld Software" for Palm and Pocket PCs.
- Handmark Software - "tools
& toys for a mobile generation".
- The Gadgeteer - high-tech
- GetHighTech - "The PDA Parts,
Accessory & Service Specialist".
- Palmistry - covers
both Palm and Pocket PCs.
- Palm Source
- Developers Home
- How-to -
expert guides for various interests/professions/tasks, user stories,
and an index of Palm-based applications.
- Palm OS
- JFile Pro - a
full-featured commercial database program for the Palm.
- Pilot-DB - a free
database program for the Palm. (The related
Flat-File Database Tools project has conversion programs for
JFile, MobileDB, and List databases, as well as
- J-Pilot - Linux "Desktop Organizer
Software for the Palm Pilot".
- Guikachu -
a GNOME-based resource editor for PalmOS.
- LispMe - Scheme for the Palm.
- Metrowerks -
CodeWarrior IDE for Windows and Macintosh.
- Mobile-Coder - articles and tips about Palm software developments.
- Palm OS
- PalmPilot Software
Development - Alternatives to C - BASIC, Forth, Java,
ML (CAML), Pascal, Prolog, Python, Scheme, Smalltalk, ...
- PDA Toolbox Developers
Community - and their on-line magazine,
Nuts & Bolts.
- PilRC -
Pilot Resource Compiler.
- PRC-Tools -
GCC-based development tools. (Also available to run in the Cygwin
environment under Windows.)
Digital Library PalmPilot Infrastructure - and
CORBA for the
and pre-compiled binary)
- News, Views, and Information
- palmOne - formerly Palm.
- PalmGear.com - "The One Stop
Source for your Palm Connected Organizer". (online shopping)
- International Palm Users Group
- Linux on Palm
Tungsten E - interesting!
- PalmEvolution.com -
a graphical history of Palm PDAs.
- PalmVNC -
run your desktop from your Palm - really!
- News, Views, and Information
Year Usenet Timeline
- ACM History of Programming
Languages (HOPL) - at Wikipedia.
- ACM Timeline of Computing -
includes a full timeline as well as timelines filtered for particular
categories of computing.
- ClassicGaming - has a lot
of information on old video game equipment and their active user
communities. It also hosts the
of Home Video Games and a number of specialty
web sites devoted
to hardware and software development for various systems:
- Commodore Computers
- Colossal Cave Adventure
page - formerly known as The XYZZY Page.
- Computer History - a
budding collection of papers and audio clips!
- Computer History Simulation
Project - software simulations of the world's greatest computers!
- Computer Languages Timeline -
compiled - pun intended! - by Éric Lévénez.
in Spaceflight: The NASA Experience - by James E. Tomayko.
Written in 1998, this NASA report provides a fascinating history of
the computers NASA used for (i) manned spacecraft, (ii)
unmanned spacecraft, and (iii) flight operations. The full
text of the report is online, although the illustrations are missing.
- In Pursuit of Simplicity:
The Manuscripts of Edsger W. Dijkstra - has many of his writings,
including his Ph.D. thesis and the famous EWD-numbered manuscripts.
Unfortunately, the documents I looked at are simply page images in
PDF format; readable, yes, but searchable text or HTML files might
be preferable. More links, quotes, and information can be found at
the Portland Pattern
Repository's Wiki Web.
- Infocom - paying "homage
to the company that created some of the best computer games ever,
History Of Programming Ideas - is part of the
Pattern Repository's Wiki Web.
- Intel Museum
- Tom Pittman's Itty Bitty
Computers - Tiny Basic!
- Nick Chessman's
articles about old personal computers, programming languages, and
- Multics - duly venerated
- Perlisisms -
Epigrams in Programming - the famous collection by Alan Perlis.
Languages and their Authors - photographs!
- The Retrocomputing
Museum - has implementations of a number of old programming
- T E X T F I L E S - "What this
site offers is a glimpse into the history of writers and artists bound
by the 128 characters that the American Standard Code for Information
Interchange (ASCII) allowed them."
- UNIVAC Memories -
"In 1971, John Walker figured out how to convert a multi-million dollar
room-sized UNIVAC 1108 mainframe into a Morse code practice oscillator
with a stand-alone, bootable operating system dedicated to that dubious
application." How can you stay away?
- The Unix Heritage Society
- VAXarchive - has historical
information and links on the hardware and on the various operating
systems (VMS and various UNIX dialects).
- Code Humor
Challenge - embedding humor in your code, subtly and not so subtly!
- Cult of the Flaky Hardware
- "Has the
Pattern Emperor Any Clothes? A Controversy in Three Acts" -
"a light-hearted attempt to expose some difficulties in the use
of patterns", by d'Adderio, Dewar, Lloyd, and Stevens.
- The Hex
Processor - by Dave Gilbert and others.
- "How To Write Unmaintainable
Code" - by Roedy Green.
- Internet First
Virtual Journal of Plagiarism - from the Institute of
Programming Jokes - collected by Shuguang Hong.
- "PC Operating
Systems - the True History" -
by Jon Crowcroft.
- "The Seven Habits of
Highly Defective Developers" - by Jack Ganssle, the
from Embedded System Programming. Number 6, "Neglect
Standards", presents the Capability Maturity Model (CMM) and
the Capability Immaturity Model (CIMM).
- "The Twelve Networking
Truths" - RFC 1925.
- Famous Last Words
- Hello, World!
- Hanoimania! -
the Towers of Hanoi implemented in various programming languages
- Connected: An Internet
Encyclopedia - an excellent source of information.
- Internet FAQ Consortium - RFCs and
- The Living Internet -
another comprehensive resource.
- Wayback Machine - a searchable
archive of web pages dating from 1996. This archive is one component
of the Internet Archive (same URL), which is "building a digital
library of Internet sites and other cultural artifacts in digital form".
All kinds of materials (movies, texts, etc.) are being archived, either
by the Internet Archive itself or in collaboration with public and
- whatis?com - kind of an
information technology (IT) encyclopedia and more.
- Linux Documentation Project (LDP) -
HOWTOs, FAQs, man(1) pages, and book-length guides.
- Desktop Environments
- Lynucs.org - "The Free Desktop
- OEone - and its HomeBase
- Window Managers for X - Matt
Chapman's extensive guide to X Window-based "window managers and
- Sound & Music
- LinuxPrinting.org -
"contains a number of resources to help you with your free software
- Alternative Operating Systems
- The FreeDOS Project -
developing "a complete, free, 100% MS-DOS compatible operating
- Inferno(tm) - a
network operating system and programming environment from Bell Labs.
- Plan 9 - Bell Labs'
(Plan 9: The Early
- ReactOS - "an Open Source
effort to develop a quality operating system that is compatible
with Windows NT applications and drivers."
- Checkpointing Resources
- Concurrent Clean - a pure,
functional language and environment.
- Distributed Systems
- File Systems
- MIT Parallel and Distributed Operating Systems Group
- OperatingSystem Developers
Homepage - Johan Rydberg.
- Other Operating Systems
- Sensor Networks (Wikipedia)
- nesC - "is an extension
to the C programming language designed to embody the structuring
concepts and execution model of TinyOS."
- SwissQM - "is a
stack-based Virtual Machine for wireless sensor networks ...
[that uses] a bytecode instruction set that is independent of
sensor platforms and application languages."
- TinyDB - "is
a query processing system for extracting information from a
network of TinyOS sensors."
- TinyOS - "is an open-source
operating system designed for wireless embedded sensor networks."
Sensor Network (WSN) Wiki
- VAX/VMS and OpenVMS
- WebOS - "provides
OS services to wide-area applications, including mechanisms for
resource discovery, a global namespace, remote process execution,
resource management, authentication, and security."
PC Hardware and Software
- Bell Labs Alumni
- Brad Appleton -
software engineering materials and links.
- Tim Berners-Lee -
thank your lucky web browsers for him!
- Jim Blandy - Guile.
- Hans-J. Boehm -
- Nicolas Pascal
- Christopher B. Browne -
- Timothy A. Budd - LEDA,
- Luca Cardelli - Bell Labs,
DEC Systems Research Center, Microsoft Research ...
- Kyle Cassidy -
books, photographs, and his own VAX computer!
- Craig Chambers - Self, Cecil.
- Allan Clarke - good links to OO and C++ sites.
- Andrew Cooke
- Middle of Nowhere - Brad Cox of
- Russ Cox - formerly of Bell
Labs, then Google. ("Thoughts
and links about computer programming")
- Jon Crowcroft -
distributed systems, etc.
- Bruce Eckel - of Thinking
in ... fame.
- Matthias Felleisen -
The Little Schemer, The Little MLer, ...
- Craig A. Finseth - The Craft
of Text Editing (on-line) and lots of links.
- Bill Foote - Java, JOVIAL, and
- Martin Fowler - refactoring,
- Markus Freericks
- Richard P. Gabriel - "Blending
Art & Science".
- Hunter Goatley - VMS guru
and Alice Cooper wannabe!
- Luke Gorrie - a real live
Erlang "hacker" with some interesting software, some great links, and
some great quotes.
- Vladislav Grinchenko -
open-source software developer.
- Marty Hall - JHU/APL
professor and expert in AI, Lisp, and WWW development.
- Steve Heller - author of
several C++ and Java books.
- Michi Henning - the "H" in H &
V's Advanced CORBA Programming in C++, but
Ice more recently.
- Paul Hudak -
Haskell and functional programming.
- Bryce Jacobs'
Programming Wisdom Center
- Ian Joyner - of
C++ Critique fame.
- Ted Kaehler - Squeak!
- Jak Kirman - STL tutorial.
- Donald E. Knuth -
The Art of Computer Programming.
- Markus Günther Kuhn -
a computer scientist with on-line papers on divers subjects, including
is how I happened to find his web site.
- Rahul Kumar
- Cameron Laird -
another Renaissance man!
- Don Lancaster's GURU'S LAIR - of
The TTY Cookbook fame.
- Daniel Lawrence - of
Lévénez - compiler of various must-see computing
- Bruce Lewis - WWW
- Steve McConnell - author of Code Complete.
Martin - OOA/OOD/OOP guru.
- Lee Moore - a
researcher at Xerox's Innovation Group, he recommended me for my
student programming job in Dr Kanal's pattern recognition group.
I hope that picture on his web page is old, because he still looks
as young as ever!
- David R. Musser - of
generic programming fame, along with Alexander Stepanov.
- Erik Naggum, RIP.
- Rich Neitzel - of NCAR/VxWorks fame.
- Peter G. Neumann -
another venerable computer scientist, well-known moderator of the
Risks Forum newsgroup, and editor
Risks" column in CACM. All of which is very well and
good, but the required reading on his lengthy home page begins
with Mentors and
extends to the final quote on the page: "No. Mr. Noymann, 'cuz it's
- Peter Norvig - AI, Lisp, and a
- Jakob Nielsen - useability guru.
- Arlet Ottens - computer
- John Ousterhout
Tcl, Tk, and log-structured file systems!
- Keith Packard - X11 guru, etc.,
etc. But, more importantly, author of the Layout widget! (Back in
the 1990s, I incorporated the Layout widget into
tclmotif package and got a lot of use out of it.)
- Theo Pavlidis - pattern
recognition and windowing systems.
- Bernd Paysan - Forth and computer
- Kent Pitman - Lisp guru.
- Eric Raymond - open-source
software, "The Cathedral and the Bazaar", ...
- Mark Roseman - Tcl/Tk applications.
- Hugh Sasse - has a wide
range of computing- and non-computing interests with links to match.
If you skip over the link to my page on his
you'll find a lot of interesting links to languages and software
- John Savard - computer history
and a variety of other topics.
- Peter Schweitzer - Tcl/Tk,
- Olin Shivers - Scheme,
- Peter da Silva - an
aficionado of Amigas, though not of VMS.
- Amit Singh - the man of
1,000 operating systems on one computer and
- Lincoln Stein - web
development and genome informatics guru.
- W. Richard Stevens - the
late network guru.
- George Stockman - my
CSC 220 professor at the University of Maryland, but now a retired
Professor Emeritus at Michigan State University.
- Daniel Temkin - can be found at
the intersection of computing and art/literature/music/... Among his
specialties are esoteric
- Bruce "Tog" Tognazzini - UI guru.
- Tom Van Vleck -
"You learn something every day, unless you're careful." Lots of good
software engineering stories and anecdotes.
- Joe VanAndel - NCAR, VxWorks, Tcl/Tk, C++ ...
- Melinda Varian - VM guru and historian.
- Linas Vepstas - assorted topics,
including a large collection
of Linux information and links.
- Barry Warsaw - Python evangelist
and local musician.
- Gerald M. Weinberg -
Dare you ask?
- David A. Wheeler - secure
programming plus lots more!
- Claes Wikström - Erlang.
- Meng Weng Wong - Perl, Perl, Perl.
- Yannis Smaragdakis -
- Warren Young - good
quotes and good links, software and otherwise.
- Ed Yourdon - If you have to ask ...
- Michal Zalewski - a gold mine
with lots of tunnels to explore.
- Jamie Zawinski - last, but not least!
(Scroll down through the hex dump for links to the various pages on the
web site.) Software,
essays, and a
Frequently-Asked Questions (FAQs)
(See Object-Oriented Programming above for C++,
- In General
- C Resources
- C Source Code Metrics
- Jutta Degener's Programming in
C - links relating to Standard C, C Literature, C History,
and C Culture. Plus an
Yacc grammar and the
specification. Parsing C is not trivial; as Jutta
says in the
grammar FAQ, "To parse full-fledged C source code, you'll
need at least a preprocessor and a semantic analyser. For
example, you'll need to parse C declarations to keep track
of which words are names of types and which ones are still
available as new identifiers. You'll need to keep track of
scopes, and update your tables of what identifiers mean as
their declarations move in and out of scope." See my own
in 1990 and which parsed, as best it could, C programs using
Jeff Lee's C grammar (for the purpose of computing complexity
- Concurrent/Distributed Programming Languages
- Declarative Languages
- Embedded/Scripting Languages (see Python and Tcl/Tk below)
- Guile - "Project
GNU's extension language".
- Lua - "a powerful light-weight
programming language designed for extending applications."
for Scripted Applications - formerly "Tcl Programming Idioms".
- Rebol - a "messaging language
designed for networks and the Internet". On first impression,
Rebol (Relative Expression-Based Object Language) appears to be
kind of like a functional version of Perl.
- Esoteric Programming Languages
- Esolang -
"This wiki is dedicated to the fostering and documentation of
programming languages designed to be unique, difficult to program
in, or just plain weird."
Programming Languages Ring
- STOICAL -
"STack Oriented Interactive
Compiler Adapted to Linux".
- Daniel Temkin's
Esolang Projects - including
Velato, which I
came across some years ago. Velato is programmed using MIDI
music files; the musical notation for a "Hello, World" program
can be found at the bottom of the Velato web page.
(Wayback Machine) - designed and implemented by individuals who
"shouldn't have stayed up so late" and "shouldn't have had so much
to drink"! Spaces, tabs, and newlines are the only meaningful
characters in the language. (More recent information can be found
at the Esolang
- Functional Languages (see Lisp below)
- Inform 6:
A Design System for Interactive Fiction
Project - Timothy Budd's "multiparadigm language ... [supporting]
imperative programming, the object-oriented approach, logic programming,
and functional programming."
- Pike® - "a dynamic
programming language with a syntax similar to Java and C."
Protocols, RFCs, and Standards
- CORBA et al
- D-BUS - "a message bus
system, a simple way for applications to talk to one another."
Remote Procedure Calls
- Efficient Short Remote Operations
(ESRO) - "When TCP is too much and UDP is too little".
- File-Extensions.org -
"The Source for File Extensions Information". A comprehensive and very
useful resource on file extensions and the types of files with which
they are associated.
- Free Protocols Foundation
- ASN.1 -
Abstract Syntax Notation One.
Guide to SNMP and CMIP - by Tyler Vallillee.
- The IL protocol
Directory Access Protocol - by Timothy Howes.
NFS Distributed File Service - by Paul Farrell.
- OpenMP: Simple, Portable, Scalable,
SMP Programming API
- SAMBA - file system based on
the Session Message Block (SMB) protocol.
- Service Location Protocol (SLP)
- The SimpleWeb - SNMP, CMIP, etc.
- SOCKS - network proxy server
- UDDI - "Universal Description,
Discovery, and Integration".
- Open eBook (OEB) -
industry-standard XML extensions for electronic books.
- Simon St. Laurent - author
of numerous articles and books on XML.
Markup Language (SML) - XML extensions for spacecraft "commands,
telemetry, abstract messages, science data, etc."
- Textuality - Tim Bray's
"Knowledge is a text-based application" site on all things text,
including XML and his Lark (non-validating) and Larval (validating)
- <?xmlhack?> - "developer
news from the XML community".
- Software and Tools
- Mini-XML - a
small XML parsing library written in ANSI C by Michael Sweet.
- The Assayer - "Book Reviews
and Discussion for the Free-Information Renaissance".
- Bookpool - discount computer
and technical books.
- Fatbrain.com - technical and
- ReadMe.Doc - discount
computer and technology books.
- On-line Books
- NEC Research
Index - Computer Science Directory - is an extraordinary resource.
An incredible number of academic papers are categorized and indexed
(search page). Each
document has its own page containing an abstract, links to on-line
copies of the paper (usually in PostScript and PDF format), links
to papers in the index that cite the given paper, links to related
documents, and more.
- The Ganssle Group -
not surprisingly, has many articles by Jack Ganssle. Although these
extremely well-written and entertaining articles and columns primarily
focus on embedded systems programming, they are nonetheless worthwhile
reading and have lessons for software developers of any stripe.
- Paul Hsieh - has many
interesting programming articles under "Technical" and "Opinion".
Laird - is a prolific author of computing articles.
- Lambda the Ultimate -
"The Programming Languages Weblog".
- Lockergnome - "Free Technology
E-mail Newsletters for the World's Most Curious Users".
- osOpinion - Open Source