useful programming resources
W3 Schools programming resources
Learning Ruby, an interactive Guide
An HTML validation tool, Very Important
Lists and CSS styles elegantly explained
Step by step lessons in PHP programming
Useful tools
Text Wrangler - General Purpose text editor
Transmit Text Edit and FTP client
The Total Validator validation tool
Building a basic web page is very easy. The basic code for a begining web page looks a bit like this:

It is organized into sections, with header information and then your basic text. The most complicated and amazing web page and the simplest bit of text on a page start out with the same basic structure. As always, Gd is in the details.
HTML stands for Hyper Text Markup Language. Markup languages came into being with the first personal computers, if not longer. In the old days of computing, when you wanted to tell the computer something about the way the text was formated, you inserted a small code charcter in front of the text you wanted formated, and the computer would make the change. As far as the computer is concerned, all text is just a long file of characters. The formating stuff is for us, they don't care about it. Hyper text came in the late 80's. Originally, it was just codes that reach across files. Since most of the heavy computing power was in universities, hyper text began to reach across networks. Which is still the way it is used, even now. You can have information from several different computers displayed on the same page. Most of the time you just want to combine information from several files into one page. You can have several different pictures of your daughter's science project, with captions, for expmple. Or you can display the contents of a small library, or comparisons of insurance rates from several different companies.
Over the years, several new improvements have come along. The one that makes web pages work for both the designer and the reader is Cascading Style Sheets or CSS. Early on it was recognized that structure and content had to be seperated a much as possible. CSS makes it possible to store the style information about a site on a single file that will manage the appearance of all the files in a site. Many production sites will have many different pages. If you want to make a small change to your web page, with CSS, you can do it in a single location. This makes maintenance both easy for the web author, and consistant for the reader.
HTML consists of tags which tell the computer how to format the page. Some are simple, like the tags that control things like line breaks and text styles. Others handle the placement of pictures and tables. And there is of course, the hyperlink, which gives the visitor the means to visit other pages. With CSS, it is considered better practice to give the formating information in the style sheet.
Tags consist of a formating code inside "greater than" and "less than" symbols found above the comma and period on your keyboard. < > Most tags require both an opening and closing tag.
Style information is contained in the header. Usually by means of a linked file, but also by means of collection of styles within the page. The illustration to the left shows how a linked css file is placed in the HTML script in the header. The first two parts, the rel="stylesheet" and type="text/css" have to have that exact information. The link itself (the href part) can have any name you like, but has to have a .css extension. You can have several different linked sheets for different features of your site. Or you can have an internal style sheet.
It is possible to build a HTML page on your home computer. HTML is very powerful if used correctly, but what the reason most people build HTML pages is to show their ideas and pictures to the world. For that, you need a web server. the Mac has basic web server tools (Apache) built in, you just need to make a couple easy changes and you can host web pages seen by the whole world. (Making a domain name point to this machine isn't a whole lot more difficult.) Basic web service can be had from your Internet Service Provider (ISP). Most ISPs have a large web space for each customer. Some of them, like Apple's Me.com provide tools to build incredible web galleries. You don't need to know anything about computers except how to move your mouse, and you can build very professional looking sites with these tools. If you want your site to be interactive, use forms, or access databases, the ISP sort of web space is very restrictive. For the next level of web page design, you should go to a web host. These are firms that arrange domain names, databases, and permit scripting on their servers. Most ISPs severly restrict the use of scripts on their servers for reaons of security.
HTML tags are used to give structure to the web page. Many older tags also gave formating information. These are being depreciated in the newer web standards. The formating is migrating to the CSS scripts. It is hard on the reader to have lots of weird and different styles in the text. Some of the formating tags, such as the "blink" tag have become object lessons in how not to format a web page.
On the next page, a discussion of the various HTML tags and what they do. After that, a more in depth discussion of CSS tags and how they work.