I last updated this page in 1997. I doubt I'll have time to update it but I find it still interesting to see what I was doing at the time.

Professional Stuff
I did my Bachelors degree in Computer Science at the Technion in Israel. Since I started working at NetVision I've been dealing with the following subjects.

Web Servers
It all started with Netscape 1.X. It worked (most of the time).It had a "cool" web interface, and it was "Netscape". Then we looked at Netscape 2.x. Netscape might be fine for one or a handful of web servers running on the same machine but nothing beats Apache for hosting a large number of web servers on the same machine. I wrote a few scripts (perl/sql) that take care of installing new web servers, checking to make sure the system is running smoothly, creating access reports for our clients, creating "yahoo like" index pages of our clients web sites, etc.

SQL
Why do they call it "sequel" ? Why not just S-Q-L ? Well anyways SQL makes managing large amounts of data easy. It's a lot easier to learn then you might think. It doesn't have to cost a lot of money either. We used to use MiniSQL, but dropped that for what is IMHO the best "free" SQL server there is - MySQL. We have full sources and have even added a few functions for our needs. Do yourself a favor and learn SQL.

HTTP
There is a lot more information going between the web browser (Netscape etc) and the web server (apache etc) then you might think. Some of the scripts I wrote talk HTTP directly with the web server so I can get file information like when it was last updated or file size without actually downloading the file. Also telnet'ing to a www server on port 80 is the easiest way to check up on a web server from a telnet prompt. Just telnet to port 80 and type:

HEAD / /<enter>
<enter>
and wait for a response. You'll also get some general info about the web server itself. (hmmm maybe I should call that tip of the day or something).

CGI's
CGI - Stands for Common Gateway Interface. For some reason the word CGI now stands for any program that runs when "called" from a web page. I used to spend %90 of my time writing CGI scripts. I now consider myself a "guru" debugging CGI scripts written in perl under UNIX.
Tip of the day - the most common problems writing CGI's under UNIX are :

  • permissions - does the user running the web server, usually nobody, have permission to run the CGI ? Is it even executable (chmod +x)? If it needs to write to a file is the file writable by the web server ?
  • Path's - If you are accessing or running any other files from the CGI it might not be in the current path. Sometimes is best to use full path names when accessing any file from a CGI.
Now-a-days you can just use something like FrontPage that has built in wizards that will do %95 of the CGI's that you might need from a web site. Pretty cool actually.

Perl
I actually started to learn perl exclusively to write CGI's. Now I do everything in perl. It's really a unix system administrators dream come true. Yes advanced regular expressions can be a bit difficult at times, but it's well worth the learning curve. Perl also has support for MySQL so it's "easy" to access databases. You can learning language itself (basic stuff) in a couple of days very highly recommended. My main gripe is that you can't easily "hide" the source code - I played with the perl compiler - pretty cool.

Unix
Most of the stuff I do is pretty straight-forward though I have spent countless hours on the little things. In 1995 most UNIX variants were very poorly tuned for web performance. I must have read endless columns by Adrian Cockcroft on Sun performance and tuning. All of the UNIX variants released today come "pre-tuned" for web servers. None-the-less I learned quite a few things about UNIX networking stuff. I also have spend a lot of time trying to find the golden path between security and user convenience. NetVision policy is that users do not get shell account. Period. No and's, if's or but's. Apache version 1.2 and up has a very neat feature that helps with some security problems:
"The suEXEC feature -- introduced in Apache 1.2 -- provides Apache users the ability to run CGI and SSI programs under user IDs different from the user ID of the calling web-server. Normally, when a CGI or SSI program executes, it runs as the same user who is running the web server."

Windows NT
This is relatively a new field for me. The main reason we started supporting web hosting under Windows NT is market pressure. Currently (Aug 1997) we are running NT 4.0 (with all the service packs and security fixes), IIS 3.0 (the 4.0 beta looks interesting) with ASP (Active Server Pages) and FrontPage 97 support. I still have a lot to learn (like writing scripts to automate stuff) but can handle all of the basic and web related admin stuff. I even have NT 4.0 running on my own PC at work (It's A LOT more stable than Windows 95).

HOME
Last updated