Tag Archives: Internet

Personal Computing Comes Full Circle

Revisiting the Lessons of Timesharing

by Warren Juran

“Those who cannot remember the past are condemned to repeat it.”  George Santayana, might have been talking about how today’s Internet-based computing echoes computer timesharing from the 1960s and 1970s.  How can the lessons learned from that early era of computing help us to design better systems and applications today?  The tale of personal computing’s evolutionary path shows what experienced engineers and developers can bring to the design table.

Once upon a time, computers were so large and expensive that hardly anyone could afford to have one.  Computer users punched their program instructions and data into cards and brought the decks of cards to a computer center.  Operators at the computer center fed the cards into the computer’s input device.  The printed results were available after a considerable wait.  This inconvenient system seemed to take forever to debug software because of the delays after each cycle of correction and re-submission.  There wasn’t much ready-to-use software and the benefits of computing were available to very few.

Computer timesharing let more people enjoy the advantages of “personal computing.”  Hundreds of users could use their own keyboard/printer terminals to share the resources of one central computer.  In the 1960s and 1970s, computer timesharing companies spread around the world, operating large data centers and communications networks to provide dial-up services for their users.  Timesharing companies opened branch offices in large cities and employed armies of salesmen to locate and cultivate new customers.  The new customers could do their own interactive programming, or use extensive libraries of ready-to-use software for their computing needs.

The timesharing companies provided the central computers, communications networks, software libraries, customer support and education, printing services, remote job entry for traditional “batch” computing jobs, client data storage, and a one-stop-shop for word processing, accounting, messaging, engineering analysis and other customer requirements.

Developers of early timesharing systems dealt with issues like utilizing limited bandwidth, providing rapid access to large amounts of data, and insuring that individual users didn’t monopolize computer resources. Tools like “linked lists,” “sparse matrices,” “hashing,” and priority queuing helped improve timesharing systems. Today’s computers and communication networks are vastly more powerful than their early counterparts, but disciplines like Information Theory, Queuing Theory, Distributed Computing and Peer-to-Peer computing can still enhance system performance and reduce costs.

Free Internet Node, Part 3 – First Free Internet Service: A Website

The first service we will install is a web server because it is typically the main purpose for an Internet node. It is your “HTTP service” that establishes the network presence of a website and responds to browser requests. Fortunately, this is one of the easier services to set up.

You have many choices for HTTP servers ranging from free software to expensive software from reputable companies. Since we are doing this project on the cheap, let’s check out the free software.

Of all of the free software, the one with the greatest traction (almost two thirds of all websites) and ongoing support is the open source HTTP server project from Apache Software Foundation. Some readers may wonder – isn’t Apache’s server for Unix and Linux systems? Not quite. Historically, Apache’s best running version has been the one for Unix/Linux with the Windows version somewhat of an experimental poor cousin. However, years of development have yielded a fine Windows-based Server every bit as good as the original.

Go to the Apache’s website and read about their HTTP Server Project. You will see that there are essentially three versions of their HTTP server for Windows, versions 1 and 2.0 and 2.2 (ignore the notes for Linux and Unix as those are different operating systems). Apache HTTP Server 1.3.xx (‘xx’ is some number representing the current release) is an older release that is only now supported for bug fixes and security plugs. Apache HTTP Server 2.0.xx is a newer, more feature rich version, and Apache HTTP Server 2.2.x is a major new release with many added features.

While some techies might jump right into 2.2.x, I was a bit more conservative. 2.0 is a serious improvement over 1.3, and it has several years of stability and security bulletproofing, therefore, version 2.0 is the one that I recommend today. Besides, my notes that follow are all based on version 2.0, so if you decide to go with 2.2, you’ll have to translate my notes accordingly, and hopefully you won’t run into any serious conflicts.

At this point, I feel that I should add a **Warning**: This project is educational and is direct towards amateurs wanting to set up their own Internet node and learn the details about web and email servers and the like. If you are really concerned about reliability, uptime, providing services to clients, security, etc., then you might consider having your service hosted by a mission critical ISP, you know, the one with a data center with 24 x 7 support? Hey, don’t complain later that your site went down while you were vacationing in Jamaica! (Actually, there are tools for that — I will try and make a “vacation support” post at some point.)

Okay, we are at the point where we download and install the Apache 2.0.xx HTTP server. Go ahead and do that, run the install and check back here.

Once you have installed the server, you should have an entry in you Start Programs folder for activate the Apache HTTP server. You might also have an icon on your desktop. Either way, start the service. That’s it! You now have you own web server running! To try it out, go to your browser on your Internet node PC and type in “http://localhost” and see the Apache server’s default home page.

Of course, you will want to change the contents of that home page. So, let’s do that now but creating a simple HTML web page. Open up wordpad or some other Windows-based text editor and type in the following:

<title>My First Free Web Page!</title>
<p>This is my <em>very first web page</em> for this website.</p>
<p>Click <a href=”http://www.google.com/”>here</a> to go to Google.</p>

Hopefully I am not going overboard by throwing in some html language elements. If you already know HTML, then that is a good thing, and you will recognize the above example as being a crude minimum page where I define a header with a title which will appear in the title bar of a browser’s window and a body which contains some simple text and a hypertext link to the search engine Google. Knowing HTML at this point isn’t that important if you already have a website and are just going to port in over, or if you have a friend or employee who takes care of your HTML. Still, if you would like to learn more about HTML, there are numerous HTML references and resources on the web.

Save this file as “index.html” in the apache’s default folder located in the folder:

C:\Program Files\Apache Group\Apache2\htdocs

Now, when you type in “http://localhost/” into your browser window, you should get your new web page or an error if you typed it in wrong. By editing this file or by using a variety of HTML editing tools, you can transform this web page into a spiffy looking home page for yourself. In the next part, we will show you how to port over existing website files you may already have.

Okay, remember your IP address? If you go to another PC attached with access to the Internet and in a browser you type in your IP address in the format “″ (where you substitute your four numbers), you should also get your sample website home page.

If you recently set up a domain and it has been 1 or 2 days, you can try entering the domain name into the browser (e.g. “http://www.yourdomain.com”) and see what you get back. If the domain name has not rippled through the DNS system yet or if your DNS record has been incorrectly set up, then you will get an error. Otherwise, you may get your sample website page. If so, then congratulations are in order! You have successfully set up a domain name and its corresponding website.

Let me point out a few rough edges here. First off, we are using the default Apache folder which is okay but not great in terms of organization and security. Also, we haven’t fine-tuned the server’s parameters for our site as we just left them at the defaults so certain server abilities are not available to us (yet). In the next several parts, I address these issues and show you how they can be resolved.

Next Up: Free Internet Node, Part 4 – Porting my Existing Website and DNS

Free Internet Node, Part 2 – Setting up the Internet Node PC

If the PC you have selected to be your “Internet Node” is not already hooked to the Internet, you should take the steps many other people have to get it permanently attached with a static IP address. Because of their reasonably high speed and low-cost, I recommend interfacing through either cable or DSL with either a cable modem or DSL modem, respectively.

I recommend Windows XP as your operating system since older versions of Windows simply do not have the reliability or the security, especially with the release of SP2 for Windows XP. Windows Vista is too new, and many experts suggest waiting until late 2008 before using a Windows Vista machine as a reliable server. The last thing you want is to have your Internet node compromised and shut down because a hacker used a vulnerability in your PC.

Some experts suggest running Internet services on Linux boxes (computers) which they consider more streamlined and less prone to attack, and that is okay if you have the experience and expertise. However, my purpose here is to show how to transform an “ugly duckling PC” into an “Internet node swan,” and Windows is what most PC users are familiar with.

I leave it up to you to decide if you need Windows XP Professional over XP Home. I use both, and they both seem to operate equivalently for our Internet purposes here. XP Pro is more tweakable and has additional features, but none of that is necessary for a typical low-bandwidth node.

The absolute best way to set up Windows XP is to restore the factory image of your PC harddrive from the Restore CDs that can with your PC. If you lean more towards being a PC expert, then you can clean up your PC, but please be thorough.

To clean up your PC, first remove any software you don’t want compromised, any financial spreadsheets, documents, etc. Then eliminate all extraneous software that you won’t be using through their Uninstall procedure or Add or Remove Programs in your PC’s Control Panel. Run ScanDisk, Defrag, and scan all of your drives with your antivirus software after making sure it’s virus list is up to date. You should also run anti-spyware software to make sure that your PC hasn’t already been compromised by hackers.

Once you have your Internet Node PC cleaned-up, you can verify your Internet speed to see if it is going to be able to handle the bandwidth you will require. A good rule of thumb is… If your bandwidth seems low, you might review some higher bandwidth services from your telephone or cable companies.

The next stop is to figure out what to do about your domain name, e.g. “yourdomain.com”. If you already have a domain name, then you will inform your current registrar about your IP address change, so that they can change your DNS Record. (If they cannot because they do not provide that service, you may have to switch registrars.)

What’s all that about the DNS Record? Well, the global Internic Registry used for decoding domain names into IP addresses does not, as some might assume, contain a direct pointer to your IP address but instead a pointer to a DNS Record that has the ability to direct the different services and sub-domains of your domain to unique IP addresses. Typically, your registrar maintains your DNS record for you and haven’t had to deal with it until now. Live and learn! Some registrars allow you to create your own DNS Record but will also do it for you through their customer support. If you want to learn how DNS Records work, it is certainly educational from a “how does the Internet work” perspective, but not a requirement for our task at hand.

If you do not have a domain name, now is the time to get one. First, choose a domain name you like and that you think will be easy for others to remember and use. Then, sign-up your new domain using one of the registrars that are authorized to provide domain names. We recommend assign a domain name that ends with the top level domain “.com” unless you have grand reasons for using another (e..g. non-profits typically use “.org”). If your domain is already taken, the registrar will let you know and offer alternatives. You can go with one of those or iterate and pick another domain name to try and register.

There are many low-cost registrars that will sign-up a new domain name for under $15 a year, so don’t get suckered into paying $25 or even $35 a year. The last registrar I used was aplus.net which charged me $11.90 for a one-year registrar of a “.com” domain including DNS service. Note if the registrar you use changes extra for DNS service (or even provides it – some registrars do not) as you will need it in order to have your registrar point your domain to your IP address. Normally, if they host your site at one of their own IP addresses which by the way is a huge profit margin for them – we are bypassing this typical configuration.

Okay, so you have registered or transferred your domain or changed your domain’s DNS Record to that you can . Now the bad news: It is going to take up to 48 hours for your change to propagate through the DNS System so, when someone, including yourself, types in “www.yourdomain.com” in a browser, it is directed to your new IP address. Do you now have to wait for a day or two until you can access your services?

Checking and Setting Up the “hosts.” File

The answer is a definitive “no,” and you can keep going in setting up your Internet node even which your domain name addressing is in transition. First off, you can simply type in your Internet Node’s IP address and service port number to get to a service. But don’t do this yet as we haven’t installed and activated any services yet – we are saving that for the next installment.

Also, you can edit a file on one of your local network PCs that tells your PC to go locally, even to itself, when it sees particular domain names. This local redirection will work also on the Internet node PC you are setting up. This file is called the “hosts” file (actually the file name is exactly “hosts.” with a period and a blank extension) and is located somewhere in one of your Windows folders, somewhere in “c:\windows\…”.

You should use Window’s find feature to locate this file – search for the file “hosts.” starting in “c:\windows\” and include subfolders. On my Windows XP Home PC, the file is in my “c:\windows\system32\drivers\etc\” folder. Open it in Notepad or Wordpad. Wordpad is preferred since it remembers previously opened files in case you have to reedit.

There should be many lines starting with “#” that explain in a semi-obtuse way the use of the hosts file. Basically, all you need to do here is add a couple of line in the following format: yourdomain.com www.yourdomain.com

The IP address “″ is one that means “this PC” and reroutes the specific domains right back to the current PC without attempting to go out over the Internet and resolve the domain name, which, as we know, is in transition. So, at least for the next few days, we will be working with this redirection and you can continue to set up your Internet services and test them out. Then, once your domain’s URL is relocated, your Internet services will be all ready to go without delay.

If, in your hosts file, you already have a line: localhost

that is fine and you can leave that line there as well.

While we are on this topic, let’s do a little security review. Any other entries, lines that begin with an IP address (without the ‘#’) may be a hijack by a virus, spyware or hacker, so if you see anything that looks suspicious, you might want to check it out and delete it. For example, citibank.com

is very likely a hacker intercepting the citibank.com domain and redirecting it to a phishing site in order to steal your citibank online ID and passcode. If you see anything like this, your PC was at least at one point compromised and may still be, so rerun all of your antivirus and anti-spyware software first making sure you have the latest updates. Even better, use alternate software to evoke a wider gamut of detection.

Next Up: Free Internet Node, Part 3 – First Free Internet Service: A Website

Free Internet Node, Part 1 – Equipment and Location Evaluation

Okay, let’s get started. Remember, I am going to describe my actual approach and make more general comments to cover slightly different hardware and approaches. Please feel free to chime in by adding comments. (By the way, we have a few what-should-be-obvious rules for posting comments.)

The first step I took in setting up my own Internet node was to evaluate my potential equipment and locations. Depending on the amount of traffic I might expect, I would require different bandwidths and therefore would need to set up my equipment and choose my location accordingly.

Given my estimated low load of, say, under a hundred or so hits per hour, I decided to locate the node at my residence on its existing DSL line, noting that I could always scale upwards in case my traffic takes off or I add what become a popular website. I determined that I could get by with my existing 512 kilobits per second DSL modem and one of my old PCs as the Internet node. (DSL lines can actually go up to 1.5 megabits per second depending on your DSL service. You can test the speed of your current DSL connection.)

For reasons having to doing with noise and power consumption, I switched over later to a new eMachines mini-tower PC which cost me around $250 at Best Buy after all the rebates came back. Here’s another eMachines pricing sample along with some specifications directly from eMachines themselves.

Anyway, just make sure whatever PC you use is less than a couple of years old and, preferably, running XP Home or Pro. You can upgrade not too old PCs without any big hassles. Not to promote Windows XP too much, however you can optimize your security access, benefit from XP’s advanced features, and add hardware with minimal effort. (You can use older PCs running older versions of Windows such as Win98, but the end results will be sub par and your security will only be slightly better than nil.) The PC should have at least 20 gigabytes of available space, use an Intel-based processor running at least 2 GHz, and be very quiet if it is going to be within earshot. The latest version of an eMachines PC that I bought easily met this criteria.

What about Windows Vista? It may work well actually, but we did all of our work on Windows XP, and we haven’t found a compelling reason to upgrade. From what we hear, Windows Vista is a different animal when if comes to PC operating systems and there are incompatibilities with some software packages. All it would take is one small module not working to put a serious damper on things. Anyway, the incompatibilities with using Windows Vista may diminish greatly after Microsoft’s final release of Service Pack 1 (SP1) which is scheduled for early 2008 (a release candidate is available now). Anyway, I may post a Windows Vista report later since that is the operating system most easily accessible today. For now, downgrade to XP or just buy a used PC with Windows XP on eBay.

So, with my existing equipment of an older tower PC and a DSL line and modem all of which could already access the Internet, I encountered my first dilemma. The typical $30 DSL line to a residence (such as through SBC) requires a log in. Until your equipment logs in, you do not have an IP address. And should you have to log off (or be forced off) for any reason and then sign back in, you will have a different IP address.

Web servers, email servers and ftp servers are best located on a static IP address, a permanent address on the Internet that never changes. With the low cost residential DSL line with a dynamically allocated IP address, you would have to change some network parameters each time your IP address changes. (I am being vague about the “parameters” as that would be a digression, and I do not want to lose focus right now.) While that is possible, it is a technical pain, and, depending on the reliability of your DSL provider and your telephone lines, you might have to change the parameters several times a month. Also, your node will be down until your equipment logs back in and changes its parameters, maybe a good part of a day.

Fortunately, I found that I could upgrade to a static IP address for an extra $25 a month. I feel that paying such a small fee to not have to deal with changing IP addresses. If you disagree, you can explore the dynamic IP address route with either DSL or cable modems and let me know how it works out for you.

The change from a dynamically allocated to a statically allocated IP address took less than 48 hours. Since I use a LinkSys router, I did have to switch it over from PPPoE to Static IP Addressing. Note: This step is different for different routers but is typically achieved using your browser to access your router’s parameters at your local URL address

Thusly, I was able to evaluate my existing equipment and location and found both acceptable with the one change to switch over to a permanent IP address. I estimate this effort took about four hours of my time, most of which was dealing with the phone company and the router.

Next Up: Free Internet Node, Part 2 – Setting up the Internet Node PC

Free Internet Node, Introduction – How to Set Up a Free Internet Node & Web Server

Hello and Welcome! My name is “The Tarnz,” administrator and blogger ordinaire for DataPlex.com, so please bear with me as I get things bootstrapped and organized. Feel free to make comments and I will respond when appropriate. (Thank you!)

Over the past couple of years, I have set up a node on the Internet equipped with a bunch of free services and technologies including:

  • web server
  • ftp server
  • email server
  • database engine
  • forum engine
  • blog publishing engine
  • PERL, PHP and other languages
  • a bunch of utility software tools

As you may imagine, I have been through a lot dealing with the hardware and so many software packages, so I thought I would share the experience and occasional challenges in case anyone else is geeky enough to set up their own free Internet Node.

Okay, maybe the node wasn’t completely free for the value of own efforts, the cost of any new domain name registrations, and the cost of a low-end Windows XP Home Desktop PC and, optional but highly recommended, a reliable Uninterruptable Power Supply (UPS). But it sure beats paying $200 to $2,000 a year to an ISP for what can often be very bad hosting. Any problems and enhancements are solely my own.

Today the node has a fully functional multiple-domain web server, email server, ftp server, database and blogging engines along with many fully-implemented technologies such as Perl, PHP, AJAX, SQL and more.

Whoa, wait a minute! A half-dozen, fully-implemented Internet services, for free, on an eMachines running XP Home? Surely, you jest, Tarnz ol’ boy! That’s the domain of IBM blade servers and other vertical niches rack mount hardware costing thousands of dollars!

Not necessarily. In the past few years, several new technological developments have made it possible. Severe cost-costing competition has led eMachines (owned now by Gateway) to release surprisingly high quality PC boxes for only a few hundred bucks. The release of Apache 2 for Windows (yes, free) turns an XP Home PC into a screaming top notch web server.

But that’s just the beginning. I still had to set up the email and ftp servers, deal with security and spam, develop a backup and restore plan, and handle the everyday maintenance issues that come up. Even though it has been some work, I find myself being rewarded in a number of ways – for example, understanding better the Internet, setting up the servers exactly the way I want, paying much less for domain names, website and email support. I will get into those particulars that too.

Disclaimer: This project is educational and is direct towards amateurs wanting to set up their own Internet node and learn the details about web and email servers and the like. Of course, we cannot be responsible for any problems you encounter, although if you post comments, we will do our best to help. If you are really concerned about reliability, uptime, providing services to clients, security and all that, you should have your service hosted by a mission critical ISP.

Setting up your own Internet server, or Internet Node as I call it since in actuality the node’s PC has running on it several different types of servers, is not for everyone. High volume and mission critical applications should be run in professional 24 x 7 installations. But if you are a consultant like me, then hosting your own Internet Node is less expensive, educational, and not necessarily any less reliable than what I have been encountering with several ISPs.

Anyway, if you stick with me, you will come to understand what I went through, and maybe my experience with embolden you to set up your own node as well. Or, maybe it will make you run to your nearest ISP?! If you do set up your own node, you might then share with me your deviations, enhancements and clever insights to make me smarter about all this too.

Next Up: Free Internet Node, Part 1 – Equipment and Location Evaluation