In the past 2 weeks, 6 of my friends have asked me to teach them how to “make a website”. I absolutely love teaching, especially when I have the opportunity to enlighten regular people about the field I work in. I searched around the web to find some good tutorial. I did find the tutorials, which mostly explain how to write HTML, and not the basic basics. So I thought I would do that first.
How the internet works
The inner workings of the internet probably don’t interest my audience that much, and I don’t intend to explain them. A few details will be helpful to understanding how to make a website. Let’s look at a hypothetical website, samstrasser.com. When you start Firefox* and type http://samstrasser.com, the internet, in a pretty complicated way, translates that URL into a physical computer. Let’s pause and focus on that. The website you are looking does not sit in a cloud** but instead sits on a computer just like the one you are using right now.
Now that you’ve typed in samstrasser.com, and the internet has translated that address to a computer, it is now that computer’s job to show you a webpage. We call that computer the “server” because it serves you a webpage much like a waiter serves you food after you request it. It is the server’s job to determine what to show you.
At this point the server can do it any number of things to decide what to show you, and it can factor in a number of things, like your username, your timezone, your browser, other people’s information etc. I won’t go into this step for now, in part because it’s fairly complex but also because each person’s requirements will differ in this area the most. So assume that the server has now decided what information to display.
The most common way that a server shows a user information is by using HTML I have no intention of going into the details of HTML. Conceptually, HTML is a language that a web browser (e.g. Firefox) can understand and display. It does not process any logic whatsoever, but instead represents unchanging visual data.
Creating a web site : the first stepping stones
I left a lot of gaping holes in my explanation of the internet, and deliberately so. I think I’ve given you exactly enough information to start learning about making a website.
For instance, the astute among noticed that the internet translates a URL like samstrasser.com into the address of a computer just like the one your running. Since you don’t care about having a fancy URL (yet), you can skip that step and go straight to the next one, HTML. Without any webserver, URL or anything internet-specific, you can start learning.
Before you start, let me make some suggestions that I’ve found helpful during my learning process.
- Have a goalIt will be much easier if you pick an easy site that you want to design, even if it’s fake. You can design your own resume site, or your own picture gallery, or anything you want. Just pick something so that when you spend time thinking it is on the how and not the what
- Share your work with someoneIt is easy to discouraged, distracted or disinterested. If there is someone you can talk about this with, do it. I would be happy to be that person, just as my friend Carlos was for me. I love talking about this stuff and am very interested to see you teach yourself.
- Don’t set your goals too highYou aren’t designing facebook or twitter or gmail. Those sites spend millions of dollars on multiple full-time professionals. Start slow and you’ll be at there level in no time at all.
That being said, I think your best bet now is learn HTML. Make a site, email it to me, and we’ll go from there. I found this tutorial online: http://www.html.net/tutorials/html/introduction.asp, and I recommend you start with that. If that’s not enough, I will gladly send you more info.
Footnotes
* or IE or Chrome or Safari or Opera or Flock or ….
** I’m not making fun of the buzzword “cloud” because I like to think of the internet as wispy and hard-to-touch. Still, it’s nice to know that it actually exists.

Self Analysis
I’ve had two occasions for some formal self analysis in the past two days, and let me just say, man, that is tough. I consider myself on of the more introspective people around, but there’s introspection and there’s it’s closely related evil twin, self-deception. I always liked the idea of residual self image from the Matrix – basically, in the Matrix, a person looks how they think they look, no matter how inaccurate that may be.
I had to rank myself on a number of concrete and not-so-concrete skills as part of my mid-year career discussion at work. The MYCD is a great thing, really. It lets otherwise cautious and introverted people discuss their ambitions without being overwhelmed. Still, rating yourself is nearly impossible. Basically, for each question, you and your manager rate your performance on a scale of 1-5.1 Then, you compare your rankings with your manager’s, and discuss both why you feel that way and how you will improve. I can easily see him putting me in any of 3 buckets for almost any of the questions, and I wouldn’t be able to argue too much with his decision.
Now I’m the kind of person2 who loves that kind of an excuse to talk about themselves, to set concrete goals about ways to improve, and to evaluate the execution of past goals. Not everyone is, I imagine, but even for me, comfortable in my ability to reform myself, the idea of publicly and formally describing my defects can be a little scary.
Anyway, wish me luck.
Notes
1. It’s not really that simple or numerical, but it will illustrate my point
2. See, here I go again. What I meant was, “I think I’m the kind of person…”