Hardware Design Tools
I recommend all Hardware Designers learn how to use a scripting language (Python, Pearl, TCL, etc..). I prefer Python but they will all do the job. It's an invaluable tool to have, I use it to automate testing, process files, automate simulators, etc...
A free, Open-Source 2.5D BEM EM Modeling Tool, highly recommended.
My favorite free SPICE implementation for Windows (provided by Linear Tech.)
Another free text based Berkeley Spice Simulator for Windows.
A free high-quality Text Editor for Windows (Linux, OS X versions are also available).
A free replacement to the horrendous Windows tool, HyperTerm. Useful for establishing serial and Telnet sessions with test cards.
This is a useful tool that can be used to run a quick thermal analysis during the initial system design stage of a PCB design process.
This can be used for either Hardware or Software design files, though it was initially intended for Source Code. It's a simple to use Windows based design file repository, based on the Subversion project.
The archives are a treasure trove of information related to hardware design. I recommend subscribing as well as browsing the archive. All the cool SI kids are on it (like most of the guys that wrote the SI text books).
Specs / Manuals
I/O Buffer Information Specification
LVDS Owner's Manual: by National Semiconductor
Spice 3 User's Manual: by University of Exeter
Articles on Hardware Design
A Collection of Interesting Articles: by Istvan Novak
An incredible collection of articles describing ideas and analysis on the cutting edge of High Speed Design. My personal favorites are the articles on using lossy bypass caps -- the basic idea is that if using big-V decoupling you don't really need an ESR as low as it is, i.e. the bottom of the V is really way lower than required, so why not have a higher ESR which will lower the anti-resonance peaks where your big-V network crosses with the power plane resonance, and the mid frequency decoupling -- I don't know of any capacitors that are lossy like that but maybe one day...
A Black-Box Frequency Dependent Model of Capacitors for Frequency Domain Simulations: by Istvan Novak
The most comprehensive article on Bypass Capacitor Modeling that I've ever read.
Effective Power / Ground Plane Decoupling for PCB: by Dr. Bruce Archambeault
This is one of my favorite articles (actually slides from a presentation) on bypass capacitors and Power Distribution System Design.
Minimize EMI Emissions with Optimum Termination Strategy: by Bruce Archambeault
This is my all-time favorite hardware design related article. On most designs these days have stringent EMI requirements, and this article presents some very interesting ideas on the subject.
Power Supply Design for PowerPC Processors: by Gary Milliorn
A very good app note from Freescale. It is applicable to all power supply design for digital systems, not just for PowerPCs.
Decoupling: by Henry Ott
Explores some of the realistic limitations of bypass capacitors, but unfortunately fails to discuss on-die capacitance. Do we really need PCB level decoupling at 1GHz when we have > 50pF on die capacitance and 1nH lead inductance?
Parasitic Inductance of Bypass Capacitor II: by Howard Johnson
One of the first articles I read on bypass capacitors, motivated me to buy Dr. Johnson's book; High Speed Digital Design.
Modeling and Simulation of Planes in Electronic Packages: by Nanju Na
This is an excellent PH.d. Thesis. The introduction has a some great info on what PCB level decoupling capacitors do.
(For Your) Protection: by Howard Johnson
A great article on what happens when ESD protection diodes conduct current, yet another reason why over-shoot and under-shoot are bad.
PCB Stack-Up; Parts 1, 2, 3, 4, 5, and 6: by Henry Ott
A very good article on the trade-offs when designing a stack-up. Note the absence of a 20 layer example (or anything greater that 12). Only wimps use more than 12 layers.
Everything You Know is Wrong - Part XIX: by Tony Kordyban
This is a great article on how to perform a quick and dirty thermal analysis in the preliminary stages of a design.
Articles on Software Design
Object-Oriented Programming in C: by Paul Field
Some interesting ideas here.
A very well written multi-part article on techniques that can be used to reduce the number of bugs in code.
Some interesting ideas on how to optimize Linux to run on an embedded system.
Embedded Software Related
The world's greatest C library, design specifically for space contained embedded systems.
An almost complete automated package for building an embedded Linux system based on uclibc. This is very cool. Just add a kernel and stir. My Reisa Script is loosely based on buildroot, i.e. just the toolchain section.