Fix broken links found by "make linkcheck".  scipy.org seems to be done right now, so I could not verify links going there.
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
index aacb476..94afaff 100644
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -396,12 +396,13 @@
 ``x+1``.
 
 Several projects described in the Python newsgroup or at past `Python
-conferences <http://python.org/community/workshops/>`_ have shown that this approach is feasible,
-although the speedups reached so far are only modest (e.g. 2x).  Jython uses the
-same strategy for compiling to Java bytecode.  (Jim Hugunin has demonstrated
-that in combination with whole-program analysis, speedups of 1000x are feasible
-for small demo programs.  See the proceedings from the `1997 Python conference
-<http://python.org/community/workshops/1997-10/proceedings/>`_ for more information.)
+conferences <http://python.org/community/workshops/>`_ have shown that this
+approach is feasible, although the speedups reached so far are only modest
+(e.g. 2x).  Jython uses the same strategy for compiling to Java bytecode.  (Jim
+Hugunin has demonstrated that in combination with whole-program analysis,
+speedups of 1000x are feasible for small demo programs.  See the proceedings
+from the `1997 Python conference
+<http://python.org/workshops/1997-10/proceedings/>`_ for more information.)
 
 Internally, Python source code is always translated into a bytecode
 representation, and this bytecode is then executed by the Python virtual
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 3389877..82fed97 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -48,7 +48,7 @@
 If you need to interface to some C or C++ library for which no Python extension
 currently exists, you can try wrapping the library's data types and functions
 with a tool such as `SWIG <http://www.swig.org>`_.  `SIP
-<http://www.riverbankcomputing.co.uk/sip/>`_, `CXX
+<http://www.riverbankcomputing.co.uk/software/sip/>`_, `CXX
 <http://cxx.sourceforge.net/>`_ `Boost
 <http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
 <http://www.scipy.org/site_content/weave>`_ are also alternatives for wrapping
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index 758c26e..67935f4 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -164,9 +164,10 @@
 several useful pieces of freely distributable software.  The source will compile
 and run out of the box on most UNIX platforms.
 
-Consult the `Developer FAQ
-<http://www.python.org/dev/devfaq.html#subversion-svn>`__ for more information
-on getting the source code and compiling it.
+.. XXX update link once the dev faq is relocated
+
+Consult the `Developer FAQ <http://www.python.org/dev/faq/>`__ for more
+information on getting the source code and compiling it.
 
 
 How do I get documentation on Python?
@@ -176,7 +177,7 @@
 
 The standard documentation for the current stable version of Python is available
 at http://docs.python.org/.  PDF, plain text, and downloadable HTML versions are
-also available at http://docs.python.org/download/.
+also available at http://docs.python.org/download.html.
 
 The documentation is written in reStructuredText and processed by `the Sphinx
 documentation tool <http://sphinx.pocoo.org/>`__.  The reStructuredText source
@@ -220,8 +221,10 @@
 newsgroups and on the Python home page at http://www.python.org/; an RSS feed of
 news is available.
 
+.. XXX update link once the dev faq is relocated
+
 You can also access the development version of Python through Subversion.  See
-http://www.python.org/dev/devfaq.html#subversion-svn for details.
+http://www.python.org/dev/faq/ for details.
 
 
 How do I submit bug reports and patches for Python?
diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst
index d3cf779..4761b7d 100644
--- a/Doc/faq/gui.rst
+++ b/Doc/faq/gui.rst
@@ -45,11 +45,12 @@
 '''
 
 There are bindings available for the Qt toolkit (`PyQt
-<http://www.riverbankcomputing.co.uk/pyqt/>`_) and for KDE (PyKDE).  If you're
-writing open source software, you don't need to pay for PyQt, but if you want to
-write proprietary applications, you must buy a PyQt license from `Riverbank
-Computing <http://www.riverbankcomputing.co.uk>`_ and a Qt license from
-`Trolltech <http://www.trolltech.com>`_.
+<http://www.riverbankcomputing.co.uk/software/pyqt/>`_) and for KDE (PyKDE).  If
+you're writing open source software, you don't need to pay for PyQt, but if you
+want to write proprietary applications, you must buy a PyQt license from
+`Riverbank Computing <http://www.riverbankcomputing.co.uk>`_ and (up to Qt 4.4;
+Qt 4.5 upwards is licensed under the LGPL license) a Qt license from `Trolltech
+<http://www.trolltech.com>`_.
 
 Gtk+
 ''''
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index d977c77..305f092 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -16,14 +16,10 @@
 standard library module.  (Eventually you'll learn what's in the standard
 library and will able to skip this step.)
 
-Search the `Python Package Index <http://pypi.python.org/pypi>`_.
-
-Next, check the `Vaults of Parnassus <http://www.vex.net/parnassus/>`_, an older
-index of packages.
-
-Finally, try `Google <http://www.google.com>`_ or other Web search engine.
-Searching for "Python" plus a keyword or two for your topic of interest will
-usually find something helpful.
+For third-party packages, search the `Python Package Index
+<http://pypi.python.org/pypi>`_ or try `Google <http://www.google.com>`_ or
+another Web search engine.  Searching for "Python" plus a keyword or two for
+your topic of interest will usually find something helpful.
 
 
 Where is the math.py (socket.py, regex.py, etc.) source file?
@@ -181,11 +177,10 @@
 How do I create documentation from doc strings?
 -----------------------------------------------
 
-.. XXX mention Sphinx/epydoc
-
 The :mod:`pydoc` module can create HTML from the doc strings in your Python
-source code.  An alternative is `pythondoc
-<http://starship.python.net/crew/danilo/pythondoc/>`_.
+source code.  An alternative for creating API documentation purely from
+docstrings is `epydoc <http://epydoc.sf.net/>`_.  `Sphinx
+<http://sphinx.pocoo.org>`_ can also include docstring content.
 
 
 How do I get a single keypress at a time?
@@ -239,7 +234,7 @@
 low-level primitives provided by the :mod:`thread` module.
 
 Aahz has a set of slides from his threading tutorial that are helpful; see
-http://starship.python.net/crew/aahz/OSCON2001/.
+http://www.pythoncraft.com/OSCON2001/.
 
 
 None of my threads seem to run: why?
@@ -399,6 +394,7 @@
 ------------------------------------------------
 
 .. XXX mention multiprocessing
+.. XXX link to dbeazley's talk about GIL?
 
 The Global Interpreter Lock (GIL) is often seen as a hindrance to Python's
 deployment on high-end multiprocessor server machines, because a multi-threaded
@@ -585,7 +581,7 @@
 ("ptys") instead of pipes. Or you can use a Python interface to Don Libes'
 "expect" library.  A Python extension that interfaces to expect is called "expy"
 and available from http://expectpy.sourceforge.net.  A pure Python solution that
-works like expect is ` pexpect <http://pexpect.sourceforge.net>`_.
+works like expect is `pexpect <http://pypi.python.org/pypi/pexpect/>`_.
 
 
 How do I access the serial (RS232) port?
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index f1dfccd..af12c4f 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -67,8 +67,8 @@
 PyChecker performs, Pylint offers some additional features such as checking line
 length, whether variable names are well-formed according to your coding
 standard, whether declared interfaces are fully implemented, and more.
-http://www.logilab.org/projects/pylint/documentation provides a full list of
-Pylint's features.
+http://www.logilab.org/card/pylint_manual provides a full list of Pylint's
+features.
 
 
 How can I create a stand-alone binary from a Python script?
@@ -1141,7 +1141,7 @@
    A = [[None] * w for i in range(h)]
 
 Or, you can use an extension that provides a matrix datatype; `Numeric Python
-<http://www.pfdubois.com/numpy/>`_ is the best known.
+<http://numpy.scipy.org/>`_ is the best known.
 
 
 How do I apply a method to a sequence of objects?
diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst
index 1f40137..eb1d3ac 100644
--- a/Doc/faq/windows.rst
+++ b/Doc/faq/windows.rst
@@ -389,10 +389,10 @@
     .py :REG_SZ: c:\<path to python>\python.exe -u %s %s
 
 This line will allow you to call your script with a simple reference like:
-http://yourserver/scripts/yourscript.py provided "scripts" is an "executable"
-directory for your server (which it usually is by default).  The "-u" flag
-specifies unbuffered and binary mode for stdin - needed when working with binary
-data.
+``http://yourserver/scripts/yourscript.py`` provided "scripts" is an
+"executable" directory for your server (which it usually is by default).  The
+:option:`-u` flag specifies unbuffered and binary mode for stdin - needed when
+working with binary data.
 
 In addition, it is recommended that using ".py" may not be a good idea for the
 file extensions when used in this context (you might want to reserve ``*.py``
@@ -517,7 +517,7 @@
 There is a bug in Win9x that prevents os.popen/win32pipe.popen* from
 working. The good news is there is a way to work around this problem.  The
 Microsoft Knowledge Base article that you need to lookup is: Q150956. You will
-find links to the knowledge base at: http://www.microsoft.com/kb.
+find links to the knowledge base at: http://support.microsoft.com/.
 
 
 PyRun_SimpleFile() crashes on Windows but not on Unix; why?
@@ -604,4 +604,4 @@
    we can't fix it).
 
 David A Burton has written a little program to fix this.  Go to
-http://www.burtonsys.com/download.html and click on "ctl3dfix.zip".
+http://www.burtonsys.com/downloads.html and click on "ctl3dfix.zip".