Menus for the sighted

The following Austin restaurants have their menus in either PDF form, or jpeg images:

Blue Dahlia Bistro
Cannoli Joe’s
The County Line
Jack Allen’s Kitchen
La Sombra Austin
Matt’s El Rancho
Moonshine Grill
Nuevo Leon in Austin
Opal Devine’s
Phil’s Ice House
Pizza Paradise
Quality Seafood
Taco Deli

How convenient!  We can download them, print them, and even color them to our heart’s content.  None of those plain text menus for me; they’re too dull!

Also, except for the “latest scoop”, which is a blog, Amy’s Ice Cream‘s web site is done entirely in Flash, and it’s so colorful, too!  Who woulda thunk it?

Let’s get serious.  Amy’s site is so sweet, it’s sickening (no pun intended), and as for the others, well, they are probably just uneducated about web accessibility.

There are a lot of web developers here in Austin who not only know about web accessibility, but also demonstrate it on every web site they create, so let’s inundate them with offers to “bring their web sites into the 21st century“.  Charge money, of course, and I hope they pay you very well.

Even with the PDF menu, still, I might go to Phil’s Ice House, since Google tells me it’s 0.4 miles from here, and that I can get there in 35 seconds.  If I do, you can betcha I’ll be mentioning the web site.

OK, so who should I check out next?  I’m retired.  I’ve got time. 


Use telnet to test servers

Call a URL an EARL

“URL” stands for Uniform Resource Locator, and since I’m so lazy, I pronounce it as “Earl”. It saves you 7 syllables, and possible embarrassment if you accidentally said “uniform refund lecturer”. Also, being from the USA, when speaking, I would say “an EARL” rather than “a EARL” since EARL begins with a vowel. If I were going to actually say the letters separately, I would say ” a U R L”, instead of “an U R L”.   If i am typing it in an email message, or, this post, for example, I would use “an URL”, while mentally hearing “an Earl”because I type pretty much like I speak.

Testing servers

We coders and/or network managers use multiple protocols to do our jobs.  There are web servers, ftp servers, mail servers, and database servers.  You can at least test them to see if they’re up by using telnet, and knowing a few commands can help you test functionality.


Web servers default to use port 80.  They can be set to listen to other ports, but 80 is the default.  If you set one up to run on port 8000, you would have to use to get there, AND the scheme HTTP:// is required, because browsers can handle multiple schemes, which designate the protocol.  Think of a protocol as a dialect of English.  Using anything other than the default port is required to let the browser know to use the http protocol.

So, let’s test the web server to see it it’s up.  Make sure that you’re at the Linux or Windows command line:

telnet 80

If it’s not able to connect, you’ll get an error message, but in this case, we all know that Microsoft should always be up (?).  You should see a message saying that it is connecting, and then the screen will go blank.  Now test the functionality of it:


Press ENTER twice.  The first ENTER ends the GET command.  The second ENTER tells the server that you are through with the commands.  You should see some html there, like at least a <html><head><title>Microsoft Corporation</title> all the way down to the </html> tag.

The web server is up and functioning.  Once you receive the HTML, it will close the connection, because HTTP is a stateless protocol.  You make a connection, make a request, get the results, and the connection is closed.


FTP is an entirely different protocol, and uses two different ports. The default ports are 21 for the commands, and 20 to transfer the data. We’ll only test the command port here.

telnet 21

Telnet to on port 21, and type “HELP” and hit enter. You’ll see a listing of all valid commands that their server supports.

220 Microsoft FTP Service
214-The following commands are recognized (* ==>’s unimplemented).

So, the ftp server is up and functional. Whether or not you are authorized to get or put files is a matter of authentication.


This is Simple Mail Transport Protocol, and is only used for sending email.  The default  port is 25.  Talking to your mail server is just as easy as HTTP and FTP.  Telnet to on port 25.  You should see a 220 greeting message like this (all lines with a numeric code at the beginning of the line came from the server):

220 Welcome Road Runner. WARNING: *** FOR AUTHORIZED USE ONLY! ***
ehlo says EHLO to

To send a message, use the commands shown below.  :

mail from:<>
250 MAIL FROM accepted
rcpt to:<>
250 RCPT TO accepted
354 continue.  finished with “\r\n.\r\n”
this is a test message
hit return, then a period, then a return to end the message, as you see above (\r\n.\r\n)

I can hit enter as many times as I want to

but enter, then . then enter, and I’m done.


In this case, my server refused the message, because I didn’t actually log in using my username/password.  We wouldn’t want to let everybody and their chihuahua send SPAM via this server, correct?


This is Post Office Protocol, and is only used for receiving email. The default  port is 110.  Talking to your POP server is just as easy as talking to your SMTP server, except the protocol (commands) are different.  Telnet to on port 110.  You should see a 220 greeting message like this (all lines with a numeric code at the beginning of the line came from the server):


We can do the same with databases, but the actual commands used are pretty complex, so I won’t go into that.  The default port for Microsoft SQL server is 1433, and for MySQL it’s 3306.

The server that I have MSSQL Server on won’t come up.  It worked the last time I turned it on, but this time it didn’t.  That’s when things usually break, folks – when you turn them on.

OK, for MySQL:

telnet 3306

You should get a bit of garbage, but you should at least see the version of MySQL you’re using.  I get 5.5.16, which is correct.


Most of us in the business already know this stuff, but for the others…
“So what are all of these port numbers” you ask?  Think of them as doors into your house (server).  Webb (the web server, and my father’s first name) only answers the front door, one request, (Can Billy come out to play?), answers it (No, he’s got the chicken pox), and promptly closes the door (as we saw above when testing – the connection is immediately closed).

Freddie (FTP) only listens to the back door, waits for a request, and (hopefully) sends you a file.  He doesn’t close the door like Harold does, because you might want to ask for another file.

Sammy (SMTP mail server) only answers the side door.  If you show him your identification, he will then accept a message from you to be sent to someone else.  Like Freddie, he leaves the door open, in case you want to send another message.

To repeat: Web servers default to port 80.  FTP servers default to port 21.  SMTP servers default to port 25.   A server can have multiple web servers, web sites, ftp services, and smtp servers; all you have to do is use different port numbers on each service.  Universities used to use multiple ports on their one web server to differentiate between the different departments.  They may still do that; I’m not in college any more.

Keep in mind that if you add too many doors, the house (server) will eventually fall down.