From: Ron Hunsberger
To: Ask Tim
Subject: Where do I begin?
Hey Tim,
If you were starting out today as a Webmaster, knowing what you do about the Internet and the various technologies to choose from, where would you begin?
I'm starting my second career after 20 years as an electronics technician and communications specialist in the U.S. Navy submarine force. I greatly enjoy working as a Webmaster, and I know enough to maintain the sites I'm responsible for, but I lack the fundamental education and experience other Webmasters with years of experience have; to be able to do what I would like to do with our sites.
I am a Windows weenie by default, but I have been playing around with Linux as of late. I enjoyed OS/2 in its glory days, but I was saddened by the lack of software support and not knowing which applications to chose from (wondering if they will have sufficient support and still be in business in a year).
I feel the same (probably due to ignorance on my part) about Linux as well. There are a great multitude of programs written for Linux, but which ones do I invest time and/or money in? Open source software isn't developed as quickly as Windows commercial programs are, and many remain in a quasi-beta state indefinitely. (I'm guessing that the developers work on their programs on a part-time basis after work or college or on weekends.) So, choosing a program that will meet my needs and be most likely to improve on a timely basis is, in my opinion, a crapshoot at best.
I would like to be able to use Linux on my desktop (and I have the freedom to do so in my workplace), but I don't want to spend an enormous amount of time figuring out the programs to choose from (e.g., an HTML editor, email client, Web browser, ftp, graphics, etc.). I'm also unable to figure out which direction to go with respect to scripting languages and which database to use on our Web server. (We're currently using NT/IIS4/Access via ODBC but we'd like to migrate to Linux/Apache/what else?)
Where do I begin?
Thanks,
Ron
P.S. I enjoy your books, especially the level at which they are written. Thanks for your Web site and for the resources and information you provide us.
Hi Ron,
Unfortunately, I'm not going to give you the answer you might expect. I don't have a canonical list of software to use. As the Perl folks say, "there's more than one way to do it." There are lots of different technologies for building Web sites, and at this point in the evolution of the Web, most of them work reasonably well.
My advice is of a more general sort and is more about attitude and sociology than it is about specific technologies.
Here are some of the things I'd think about when making a choice of technologies:
- Do you have a community of peers that is using one technology rather than another? Nothing beats the ability to learn from your peers. You can find "virtual peers" on Usenet newsgroups, mailing lists, or IRC chats, but even better are local user groups, coworkers, and other people who you can hit up with a hard question when you have it, or get sample code and configurations from. For example, if all your friends are building Web sites with Apache and PHP, you might not want to choose Microsoft IIS and ASP, unless you like to go your own way. I'm not advocating conformity, but I am advocating community.
- Are you someone who wants to set things up and then ignore them as long as they keep running, or someone who likes to keep learning, and "push the envelope" with the technologies you use? Some tools make it easy to get started, but once you've mastered the basics, they make it harder to do something really outstanding. Others draw you in, challenge you, and constantly lead you to improve your skills. There are great hackers in every tradition, but in general, the Unix tradition has favored the development of deep expertise over ease of use for beginners, while the Windows tradition has focused on the opposite. (A great essay on this subject is Tom Scoville's Unix as Literature.)
- What draws you? There's a lot more taste in the choice of computer programs than people often allow. There are people who like Perl and hate Python, people who like Visual Basic and people who hate it. If you find something you like, go for it! Chances are good that you'll learn more about a program you like, and get more out of it, than about one you merely tolerate.
- The last question you might ask yourself is about the quality of the available documentation. Here, I'm biased. :-) At O'Reilly, we have more good books about open source Web technologies than about proprietary ones. Some books you might want to check out include:
- Apache: The Definitive Guide, 2nd Edition
- This book describes how to obtain, set up, and secure the Apache software on both Unix and Windows systems.
- Webmaster in a Nutshell, 2nd Edition
- This book covers all the essential reference information for the Web: HTML 4.0, CSS, XML, CGI, SSI, JavaScript 1.2, PHP, HTTP 1.1, and administration for the Apache server.
- Learning Perl, 3rd Edition
- This book will turn you into a Perl programmer.
- CGI Programming with Perl, 2nd Edition
- Topics covered in this book include incorporating JavaScript for form validation, controlling browser caching, making CGI scripts secure in Perl, working with databases, creating simple search engines, maintaining state between multiple sessions, generating graphics dynamically, and improving performance of CGI scripts.
- Sams Teach Yourself Active Server Pages 3.0 in 21 Days
- O'Reilly doesn't have an introductory book on ASP, but this book by Scott Mitchell, published by Sams, is a very good resource.
- Designing Active Server Pages
- This book teaches and demonstrates techniques for code reuse, which makes large sites easier to manage.
- Developing ASP Components, 2nd Edition
- This book gives a specific and well presented introduction to creating COM-based components for ASP.
- ASP in a Nutshell, 2nd Edition
- This book has essential background information, but it really shines as an in-depth quick reference.
(That being said, whatever program you're faced with, odds are that if you take the time to learn about it, you'll not only be more effective at using it but also enjoy it far more. For example, I completely hated Windows until I got dragged into a rescue job on a stalled book [originally Windows 95 in a Nutshell, now Windows 98 in a Nutshell]. Once I forced myself to learn how to make Windows jump through hoops, my satisfaction with it went way up. So if you have to use software you don't like, take the time to learn as much as you can about it anyway!)
You say, "I am a Windows weenie by default, but I have been playing around with Linux as of late." So follow your nose. You've got easy access to both alternatives. Play around. You can't go wrong as long as you're learning. It's clear that both Windows and Linux- and Unix-based Web servers are both going to be around for a long time, so you're not going to find your software suddenly unsupported in either case.
We've just published an updated version of the ever-popular O'Reilly Open Source Bibliography. It lists all the very best open source books, including those by other publishers.
O'Reilly's Windows and .NET product manager, Glen Gillmore, offered the following list of books for becoming proficient with Active Server Pages:
Once you become comfortable with ASP's basics, try these books from O'Reilly:
In addition to ASP, you'll need to pick a server-side scripting language. VBScipt is one possibility, and I'd recommend our VBScript in a Nutshell.
I hope this helps.
Tim
Post your responses to this article here,
or read what others have to say.
