Putting websites together is fun. For small static sites like this one, my preferred method is hand-coding, using my favourite text editor Vim for (X)HTML, style sheets and PHP files. Whenever I get stuck, Chris Pederick's Web Developer extension for Firefox helps me figure out the effect of each tag. Primitive? Sure, but it lets me get much closer to the guts of the machine than any WYSIWYG editor.
The page you're looking at is hand-coded, with a layout based on Root's "Vesuvius" template for WordPress, and style sheets that owe a fair bit to Sylvain Pajot's SPGM. My aim was to get a liquid, table-less layout and to separate content from presentation.
When the pages look just as I want them in my favourite web browser, some rudimentary cross-browser testing is in order. So I load my files into every other browser I have installed - which usually means IE, Chrome and Opera on a WinXP box. Once all bugs are ironed out, it's time to upload the files to the server, e.g. using FileZilla. Finally, the W3C Validation Service helps find any mistakes in my code, as well as broken links.
For dynamic websites, I've hacked around with PHP, MySQL and Wordpress (a blog tool based on PHP and MySQL) on a few sites that are no longer running. Around 2000 I was also the webmaster of a company website, armed with nothing but Microsoft FrontPage and Vim. I ended up using FrontPage to check for broken links, and Vim for everything else. When the company had outgrown this website, I defined the requirements for its replacement, which was then implemented by a collaboration between two external companies - a web development outfit and a graphic design firm. This was a proper, database-driven job with a CMS back-end.