All Things Computed
Computing Web Sites
Architecture
Artificial Intelligence
Careers
Companies
Databases
- Database Debunkings - "Where
Persistent Prevailing Database Fallacies Are Dispelled". Articles,
books, seminars, and C. J. Date!
Education
- 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
algorithms, etc.
Games
- 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.
- PlayStation
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 -
MIDI files.
- Cheat Codes
- "The
Secrets of Professional GameShark Hacking" - commonly called the
"Hacking Text", it teaches "several different ways to hack your own
codes" on different game platforms.
- "How
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
General
Palm Pilots
Pocket PCs
- E-Text (Palm Doc readers are available for
other
platforms.)
- News, Views, and Information
- Software
- Handango - "World's Leading
Publisher of Handheld Software" for Palm and Pocket PCs.
- Handmark Software - "tools
& toys for a mobile generation".
- Vendors
- Wristwatches
- The Gadgeteer - high-tech
gadgets galore!
- 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
- Databases
- JFile Pro - a
full-featured commercial database program for the Palm.
- Pilot-DB - a free
database program for the Palm. (The related
PalmOS
Flat-File Database Tools project has conversion programs for
JFile, MobileDB, and List databases, as well as
comma-separated-value files.)
- Desktops
- J-Pilot - Linux "Desktop Organizer
Software for the Palm Pilot".
- Development
- 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
Development FAQ
- 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,
The
Nuts & Bolts.
- PilRC -
Pilot Resource Compiler.
- PRC-Tools -
GCC-based development tools. (Also available to run in the Cygwin
environment under Windows.)
- Stanford
Digital Library PalmPilot Infrastructure - and
CORBA for the
PalmPilot.
(source
and pre-compiled binary)
- E-Text
- News, Views, and Information
- Software
- Vendors
- palmOne - formerly Palm.
- PalmGear.com - "The One Stop
Source for your Palm Connected Organizer". (online shopping)
- International Palm Users Group
(InterPUG)
- Linux on Palm
Tungsten E - interesting!
- PalmEvolution.com -
a graphical history of Palm PDAs.
- PalmIt
- PalmVNC -
run your desktop from your Palm - really!
- Development
- News, Views, and Information
- Software
History
- 20
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
Museum
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.
- Computers
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.
(Table
of Contents)
- 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,
period."
- Informal
History Of Programming Ideas - is part of the
Portland
Pattern Repository's Wiki Web.
- Intel Museum
- Tom Pittman's Itty Bitty
Computers - Tiny Basic!
- Nick Chessman's
MonoCall -
articles about old personal computers, programming languages, and
operating systems.
- Multics - duly venerated
and documented.
- Perlisisms -
Epigrams in Programming - the famous collection by Alan Perlis.
- Programming
Languages and their Authors - photographs!
- The Retrocomputing
Museum - has implementations of a number of old programming
languages.
- 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).
Humor
- Code Humor
Challenge - embedding humor in your code, subtly and not so subtly!
- Cult of the Flaky Hardware
- Dilbert
- "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
Epiphytology.
- Object-Oriented
Programming Jokes - collected by Shuguang Hong.
- "PC Operating
Systems - the True History" -
by Jon Crowcroft.
- Promotion,
Habilitation, Mumifikation?
- Quotes for Programmers
- "The Seven Habits of
Highly Defective Developers" - by Jack Ganssle, the
prolific columnist
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
and environments.
Internationalization
Internet
- Connected: An Internet
Encyclopedia - an excellent source of information.
- Internet FAQ Consortium - RFCs and
FAQs.
- 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
corporate partners.
- whatis?com - kind of an
information technology (IT) encyclopedia and more.
Issues
Linux
Object-Oriented Programming
- 18,000+ Links on Objects &
Components - a wealth of links, organized and searchable, on
everything OO.
- C++
- Eiffel
- Smalltalk
- Squeak - a free,
high-quality Smalltalk implementation that has been ported to
Windows 95 and NT, Macintosh, most UNIX platforms, various PDAs,
Acorn's RiscOS, OS/2, DOS, BeOS, and NeXT.
- Design Patterns
- The Object Agency, Inc.
- Bob Hathaway's
Object-Oriented
FAQ
- Object-Oriented
Metrics Bibliography
Operating Systems
- Alternative Operating Systems
- BeOS
- The FreeDOS Project -
developing "a complete, free, 100% MS-DOS compatible operating
system".
- Inferno(tm) - a
network operating system and programming environment from Bell Labs.
- Plan 9 - Bell Labs'
next-generation UNIX.
(Plan 9: The Early
Papers)
- ReactOS - "an Open Source
effort to develop a quality operating system that is compatible
with Windows NT applications and drivers."
- Sprite
- 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
- Real-Time
- 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."
- Wireless
Sensor Network (WSN) Wiki
- Solaris
- UNIX
- 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
People
- Bell Labs
- Brad Appleton -
software engineering materials and links.
- Tim Berners-Lee -
thank your lucky web browsers for him!
- Jim Blandy - Guile.
- Hans-J. Boehm -
garbage-in, garbage-out?
- Nicolas
Pascal Boghossian - What happened to your home page?
- Christopher B. Browne -
Wow!
- Timothy A. Budd - LEDA,
OOP, etc.
- Luca Cardelli - Bell Labs,
DEC Systems Research Center, Microsoft Research ...
- Kyle Cassidy -
books, photographs, and his own VAX computer!
- Skip Carter
- Craig Chambers - Self, Cecil.
- Allan Clarke - good links to OO and C++ sites.
- Andrew Cooke
- Middle of Nowhere - Brad Cox of Objective-C fame.
- Jon Crowcroft -
distributed systems, etc.
(old page)
- 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
hockey.
- Martin Fowler - refactoring,
patterns, etc.
- 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
Unicode, which
is how I happened to find his web site.
- Rahul Kumar
- Cameron Laird -
another Renaissance man!
(publications)
- Don Lancaster's GURU'S LAIR - of
The TTY Cookbook fame.
- Daniel Lawrence - of
MicroEmacs fame.
- Éric
Lévénez - compiler of various must-see computing
timelines.
- Bruce Lewis - WWW
development tools.
- Steve McConnell - author of Code Complete.
- Robert
Martin - OOA/OOD/OOP guru.
- David R. Musser - of
generic programming fame, along with Alexander Stepanov.
- Erik Naggum
- Rich Neitzel - of NCAR/VxWorks fame.
- Peter G. Neumann -
another venerable computer scientist, well-known moderator of the
Risks Forum newsgroup, and editor
of the
"Inside
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
Joyman."
- Peter Norvig - AI, Lisp, and a
Java IFAQ.
- Jakob Nielsen - useability guru.
- Arlet Ottens - computer
scientist.
- John Ousterhout - Tcl, Tk,
and log-structured file systems!
- Keith Packard - X11 guru, etc.,
etc. But, more importantly, author of the Layout widget! (Some years
ago, I incorporated the Layout widget into
Jan Newmarch's
tclmotif package and got a lot of use out of it.)
- Theo Pavlidis - pattern
recognition and windowing systems.
- Bernd Paysan -
comp.arch guru.
- 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
software
page, you'll find a lot of interesting links to languages and software
engineering topics!
- Olin Shivers - Scheme, ML, ...
- Peter da Silva - an
aficionado of Amigas, though not of VMS.
- Amit Singh - the man of
1,000 operating systems on one computer and
Hanoimania!
- Lincoln Stein - web
development and genome informatics guru.
- W. Richard Stevens - the
late network guru.
- George Stockman - my CSC 220 professor.
- Monnica Terwilliger - PARSEC compiler.
- Bruce "Tog" Tognazzini - UI guru.
- Jeffrey D. Ullman -
of Aho, Hopcroft, and Ullman fame.
- 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 -
Functional C++.
- 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!
Software,
essays, and
links.
Programming
- Algorithmist - "dedicated
to anything algorithms - from the practical realm, to the theoretical
realm."
Programming Languages
(See Object-Oriented Programming above for C++,
Eiffel, ...)
- In General
- Ada
- C
- 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."
- Patterns
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.
- SpiderMonkey
(JavaScript-C) Engine - embeddable JavaScript.
- Esoteric Programming Languages
- Esolang -
"a wiki about esoteric programming languages".
(Language
List)
- Esoteric
Programming Languages Ring
- STOICAL -
"STack Oriented Interactive
Compiler Adapted to Linux".
- Whitespace -
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 ...
- Forth
- Fortran
- Functional Languages (see Lisp below)
- Java
- Lisp
- Python
- Tcl/Tk
- Inform 6:
A Design System for Interactive Fiction
- Leda
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."
- Efficient Short Remote Operations
(ESRO) - "When TCP is too much and UDP is too little".
- Free Protocols Foundation
- ASN.1 -
Abstract Syntax Notation One.
- A
Guide to SNMP and CMIP - by Tyler Vallillee.
- The IL protocol
- Lightweight
Directory Access Protocol - by Timothy Howes.
- Kerberos
- The
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.
- SOAP
- SOCKS - network proxy server
protocol.
- UDDI - "Universal Description,
Discovery, and Integration".
- XML
- MusicXML
- Open eBook (OEB) -
industry-standard XML extensions for electronic books.
- Simon St. Laurent - author
of numerous articles and books on XML.
- Spacecraft
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)
XML parsers.
- <?xmlhack?> - "developer
news from the XML community".
- Software and Tools
- Mini-XML - a
small XML parsing library written in ANSI C by Michael Sweet.
- XML-RPC
Publications
Books
- Clubs
- Publishers
- Reviews
- Stores
- Bookpool - discount computer
and technical books.
- Fatbrain.com - technical and
professional books.
- ReadMe.Doc - discount
computer and technology books.
- On-line Books
Magazines
On-line Magazines
Research Papers
- 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.
Assorted
- 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".
- Cameron
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
opinions.
Research Sites
Software
- Applications
- Development Utilities
- GNU, not UNIX
- Libraries