All Things Computed
Computing Web Sites
Architecture
Artificial Intelligence
Careers
- Badbossology.com - "How
to deal with bad bosses, problem supervisors and difficult managers".
- Career Guide for
Engineers and Computer Scientists - a humorous look
at what you can expect, career-wise, with an advanced degree.
- the cluetrain manifesto:
the end of business as usual - "markets are conversations.
talk is cheap. silence is fatal."
- "Debunking the
Myth of a Desperate Software Labor Shortage" - by Dr. Norman
Matloff.
- GoingWare, Inc. - must reading
by Michael David Crawford for programmers old and young. Start with
the "About ..." link and explore the whole site - nuggets of wisdom
are scattered throughout.
- IEEE-USA
Today's Engineer - "Career Articles".
- Software Reality -
"Programming with a dose of satire." (Formerly "Bad Managers:
True-Life Horror Stories of Software Development Cowboys".)
- Interviews
- Chris Shaver's "The
Best Technical Interview Question Ever".
An equivalent pressure-packed situation would be for a
software manager to march each of the competent developers
on his/her team into a room and say "If you can't solve
FizzBuzz
on this whiteboard in 15 minutes, I'm going to fire you."
Go ahead and try this: I guarantee you'll get some
surprising results. And if you're unwilling to try this,
why are you willing to do what is basically the same thing
with interview candidates?
- Willam Wu's (unmaintained?) collection of
Computer
Science Riddles - "Design the implementation and thread models
for I/O completion ports" (also known as asynchronous traps in
OpenVMS)? Wow! (Some of the riddles are actually exam questions,
not interview questions.)
- Kirit's
Interview
by under-constrained programming - examines the
reverse-a-string problem and provides links to other discussions
about interview questions.
- Jason Looney's
The
Microsoft Interview - "I've always assumed that I would be too
stupid to survive the Microsoft interviewing process." Wonderful!
- David's
Stupid
Interview Questions - shows how he would answer a file-copy
question and, at the same time, drive the interviewer nuts!
- Job Search
- Resumes
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
- 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)
- The CPU Shack Museum - "CPU
History Museum for Intel CPUs, AMD Processor [sic], Cyrix
Microprocessors, Microcontrollers and more."
- The Digital Antiquarian - "A
History of Computer Entertainment and Digital Culture", by Jimmy Maher.
A well-written, on-going history of same.
- 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!
- Multics - duly venerated
and documented.
- Perlisisms -
Epigrams in Programming - the famous collection by Alan Perlis.
- 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
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
- Linux Documentation Project (LDP) -
HOWTOs, FAQs, man(1) pages, and book-length guides.
- Desktop Environments
- GNOME
- KDE
- Lynucs.org - "The Free Desktop
Screenshot Archive".
- OEone - and its HomeBase
operating environment.
- Window Managers for X - Matt
Chapman's extensive guide to X Window-based "window managers and
desktop environments".
- Distributions
- Portals
- Projects
- Publications
- Software
- Sound & Music
- LinuxPrinting.org -
"contains a number of resources to help you with your free software
printing problems".
Object-Oriented Programming
Operating Systems
- Alternative Operating Systems
- 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
- HP OpenVMS Systems - the
official site.
(On-line documentation)
- Digiater.nl - "We help
confused computers back into the right direction....." In addition
to its own free products, the website hosts an archive of DECUS
tapes dating back to 1979 (!) and an archive of VMS freeware
(including many UNIX programs).
- FreeVMS - "An open source
VMS clone".
- OpenVMS.org - "The OS with
uptimes longer than MS Windows support policies".
- 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 Alumni
- 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
- Christopher B. Browne
- 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!
- Craig Chambers - Self, Cecil.
- Allan Clarke - good links to OO and C++ sites.
- Andrew Cooke
- Middle of Nowhere - Brad Cox of
Objective-C fame.
- Russ Cox - formerly of Bell
Labs, then Google. ("Thoughts
and links about computer programming")
- Jon Crowcroft -
distributed systems, etc.
(old page)
- Bruce Eckel - of Thinking
in ... fame.
- Kevin L. Esteb - (github)
- 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 (1958-2010), R.I.P. -
of MicroEmacs fame. Also see:
- Online remembrance by le_trombone
(Internet Archive)
- The Open Rho Project - sort
of a next-generation version of MicroEmacs that gives credit to Dan
Lawrence and that hosts a very, very virtual
uemacs museum!
- Jasspa's MicroEmacs - was an
enhanced version of MicroEmacs that added Windows support to the
editor's cross-platform capabilities. Unfortunately, it hasn't
been updated since 2009. I have a copy with my own additions and
corrections and build files for Visual Studio 2015; I should
probably get around to posting that online someday ...
Anyway, farewell to Dan, whose name will pass into the mist of faded
memories despite the unsung, but impactful and widely used contribution
he made to the computing world.
- É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.
- Alex Measday - not me! My son,
who puts his dad to shame, as does my daughter. That is admittedly
not a high bar! Alex's web page immediately hits you with acronyms:
DMV (Delaware/Maryland/Virgina) and MEAN/MERN/MEVN (MongoDB,
Express.js, Angular/React/Vue.js, and Node.js).
- 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
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
(Wikipedia) -
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
Jan Newmarch's
tclmotif package and got a lot of use out of it.)
- Theo Pavlidis - pattern
recognition and windowing systems.
- Bernd Paysan - Forth and computer
architecture 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!
- John Savard - computer history
and a variety of other topics.
- Peter Schweitzer - Tcl/Tk,
Xed Editor.
- 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 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
programming languages.
- 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 -
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!
(Scroll down through the hex dump for links to the various pages on the
web site.) Software,
essays, and a
blog.
Programming
Frequently-Asked Questions (FAQs)
64-bit Programming
Miscellaneous
Programming Languages
(See Object-Oriented Programming above for C++,
Eiffel, ...)
- In General
- Ada
- C
- 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
ANSI C
Yacc grammar and the
Lex
specification. Parsing C is not trivial; as Jutta
says in the
ANSI C
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
npath, written
in 1990 and which parsed, as best it could, C programs using
Jeff Lee's C grammar (for the purpose of computing complexity
metrics).
- 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 -
"This wiki is dedicated to the fostering and documentation of
programming languages designed to be unique, difficult to program
in, or just plain weird."
(Language
List)
- Esoteric
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.
- Whitespace
(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
Whitespace page.)
- Forth
- Fortran
- Functional Languages (see Lisp below)
- Java
- Lisp
- Python
- SNOBOL -
"SNOBOL4 (StriNg Oriented and symBOlic Language) is a language for
text processing, pattern matching, and much more, first designed and
implemented at Bell Telephone Laboratories, Inc. (BTL) in the 1970's."
- 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."
- DCE
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.
- 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
- The Assayer - "Book Reviews
and Discussion for the Free-Information Renaissance".
- Stores
- Bookpool - discount computer
and technical books.
- Fatbrain.com - technical and
professional books.
- ReadMe.Doc - discount
computer and technology books.
- On-line Books
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.
- "What
Happened to CrossTalk: The Journal of Defense Software
Engineering?" - by Jason Boog in
The QA Lead,
discusses the demise of CrossTalk and lists 10 important
articles published by the journal. Publications come and go, but
Jason did his research and provided links to archived copies of
the CrossTalk articles in the Internet Archive.
Research Sites
Software
Software Engineering