I've collected some links to pages I find interesting and/or useful. I've started removing links to pages that are badly designed (in particular, using images, javascript, or plugins when they don't add to the usefulness of the site). One recent victim is Learn2.com.
Writing Web Pages
- Learn to Program HTML in 21 Minutes. This is a good first-read for anyone, even if you've been writing web pages for many years.
- The Dao of Web Design. Read this if you write web pages. Also this Zen story.
- HTML Tutorial. A good set of pages describing how to write proper HTML; also check out other pages on webreference.com.
- Usability Tips. A great site with tips on web design, by Jakob Nielsen.
- Doctor HTML. A very useful HTML checking system that tells you about broken links and bad HTML and page loading time -- use it regularly to avoid linkrot.
- The Curl Project. An interesting project to bring together HTML and Java and JavaScript into one unified language . Note: there is now a company promoting Curl as a replacement to these languages. As of April 2001, I predict that this company will fail miserably.
- Content Creation for Average People. One thing I've long felt was the best part of the web was that regular people can put up web pages. It's not limited to people with money and power.. The web isn't just another form of television -- it's dialogue.
Unix
- Unix lovers are linguists? An article comparing Unix to the love of language .. I've long felt that the Macintosh promoted a "click and grunt" approach to communication, while Unix allowed creating phrases, sentences, and paragraphs. Which do you think is harder to learn? Which do you think is more expressive? In your day to day life, are you glad you learned language?
Tools For Programmers
- XEmacs text editor.
The greatest editor ever created .. I use the programming
modes (auto indent, color/font keyword highlighting), HTML
editing modes (auto indent, right click to create tags or edit
attributes of a tag), e-mail ("VM", with support for
attachments including inline graphics, clickable hyperlinks,
virtual folders (e.g., show the subset of my INBOX that
contains the word
urgent
in the subject)). - History of XEmacs. An archive of discussions between XEmacs (Lemacs), Epoch, and GNU Emacs developers, and why they didn't merge everything into one system.
- Paul Wilson's tools for GC and persistence. Garbage collection and persistence libraries aren't for everyone, but many applications can benefit from them.
- Garbage Collection FAQ. All you wanted to know about garbage collection! I'd take a good hard look at garbage collection before dismissing it as "too slow" or "too weird".
C++ Programming
- C++ in the Real World. A good article to read if you hate C++
- C++ Guru of the Week. A great way to learn about topics from C++ gurus
- C++ Standard Template Library (STL). A great source for an implementation of and documentation for the STL component of the C++ library
- C++ Standard Library reference. Dinkumware's documentation for the standard C++ libraries
- STL References. A list of links to tutorials and papers about STL
- Blitz++ Numerical Library. A project to use C++ templates to produce fast code for numerical programs
- Extensions to STL. Extensions to STL including restricted Lambda expressions
- Callbacks in C++. Callbacks make some things much easier and more modular
Python Programming
- Python. An easy to use scripting language
- FAQ. Frequently asked questions about Python installation and programming
- Library Reference. The Python library reference is something to keep handy
- Starship Python. A great place where Python programmers come together to share their work
- Stackless Python. A version of Python with my favorite feature, continuations! (Also see a tutorial.)
- Python for Lisp Programmers. Peter Norvig, who has been using Lisp for many years, is considering using Python for AI work.
Miscellaneous Programming
- Taste. An essay on good taste.
- Programming for Everybody. What if everyone in the world could program?
- Architecture Astronauts. An article about architectures that solve all your problems (Java, XML, .NET, SOAP, etc.).
- Hackers and Trackers. Is programming for everyone like literacy for everyone?
- An alterate syntax for Regular Expressions. An alternate syntax for patterns that avoids many of the problems with regular expressions.
- Fudgets. A GUI toolkit using Haskell. Be sure to check out the small tutorial; you'll see how you can do so much with so little programming in a functional language.
- Object Orientation Tips. A summary of the most useful tips found on newsgroups and mailing lists.
- Continuations. The language feature even better than sliced bread!
Fun Educational Sites
- Retirement calculator. Calculate how much you need to retire.
- Scientific American: Ask the Experts. Questions and answers from many scientists.
- Keirsey Personality Test. Test your personality type. I'm an INTP.
- Common Errors in English. A list of errors that are commonly made in English text.
- American Culture. If you're American, be sure to read this!
- How Stuff Will Work. Some great articles explaining the technology of the future!
- Font design standards. Have you ever wondered about ascenders and descenders? Vertical and horizontal alignment? Old style vs. proportional vs. fixed width numerals? Neutral vs. left vs. right vs. baseline vs. guillemet vs. prime mark quotes? En dash vs. em dash? If you're interested in fonts, this is a must read.
- Micropayments. This fun page explains how micropayments would alter the economy.
Crazy Things
- Geoengineering. An alternative to fighting global warming by reducing comfort.
- Megascale Engineering. Engineering of huge projects!
- Genius. Stephen Wolfram's secret project to revolutionize science and mathematics.
- Rproxy. A web proxy system that can send diffs instead of full HTML documents. So I can now load Slashdot every hour and it'll only send me the parts that changed!
Miscellaneous
- Multics. A really cool operating system.
- The Future of Lighting. This is what I'd like to have in my home!
- Uptalk. How the way people speak English is changing.
- Operating Systems Projects. Lots of cool ideas for operating systems. It's quite possible that Multics already implemented all of them.
- Is there oil deep within the Earth? A bit about Thomas Gold and his theory about oil.
- Did Al Gore invent the Internet? We've made fun of him but this article gives us good facts about what he really said, and whether he was telling the truth. Here's another story about this, with more details.
- Linux Viruses. Why don't we see them? Ecology tells us diversity keeps viruses from spreading in nature, and we should expect the same in the computer world.
- Why software is bloated. I always wondered why everyone complained that Office was bloated, and yet the very same people wouldn't buy Works instead of Office. And they complained that Netscape was bloated, and yet the very same people wouldn't use Opera instead of Netscape.
- Troubleshooting Professional. A magazine dedicated to troubleshooting the world around us.
- Interactive Text-to-Speech Page. A way to turn text into speech through a web form.
- Doug Englebart: hero of the computing age. Read about the inventor of the mouse and tons more.
- When not to use XML. A good read for anyone who's trying to decide about XML.