About this Site

This site is Greg Hewgill's personal home page. It's a place for me to distribute software I've written, show off cool things, write about stuff I'm interested in, and generally mess around with web site technology.

Site Design

I like good design. Good design makes things usable, and usable things get used more often. For something public like this web site, why not make it as nice a place to visit as possible?

Now, although I like good design, I don't claim that I am good at creating good design, but I try my best. Here are some of the design elements I've incorporated on this site to make it easy to use:

One of the best resources I've found for web site design and usability is Jakob Nielsen's useit.com site. In particular, the Alertbox columns have a ton of sane advice about usability.

Technical Information

Valid XHTML 1.0!

Most pages on this site are XHTML 1.0 Strict compliant. There are a couple of exceptions (I leave it as an exercise for the reader to find them :), but I hope to find ways around these minor hurdles soon.

XHTML 1.0 is just like HTML 4.01, but it follows the stricter XML rules about requiring that tags be closed, attributes values be quoted, and a bunch of other details. By following these rules, every XHTML document is also an XML document, and can be parsed by any XML parser.

What does this mean for you, the reader? Not much, really, the pages will display in your browser just like they always have. But by making the pages strictly conform to XHTML, there are fewer cases where bad HTML will trigger different display behaviour in different browsers. Browser bugs will exist until the end of time, but by using XHTML, site authors can try to minimize their impact.

Made with Cascading Style Sheets

CSS stands for Cascading Style Sheets, which is a way of controlling how web pages display in your browser. They are not used for much on these pages, because I believe site authors should respect the user's settings whenever possible (as least as far as colour and font are concerned). They are used for some minor layout issues, like centering and right justification, and omitting the borders that some browsers draw around images that are links (like the CSS button above).

CSS is, however, used to control the background colour of the yellow navigation bar at the top of every page. Since every page links to a common style sheet, one single change can affect the colour of the navigation bar on every last page on this site. This is the real benefit of style sheets. On a small site like this it doesn't really matter much, but on large sites with thousands of pages the effort saved is enormous.


MathML is a way of representing mathematical equations in XML. Modern browsers such as Mozilla support MathML content in web pages. At this time the only page using MathML on this site is a MathML-enabled version of the Prime Numbers page.

[PNG Home Page]

PNG is Portable Network Graphics, which is a lossless raster image format well suited to the needs of the web. In comparison to GIF, PNG offers smaller file sizes, better colour support, alpha channel blending, and many other features.

Greg Hewgill <greg@hewgill.com>