What Is Virtual Web Hosting

Web Hosting FAQPart 3

What is full-service web hosting?

For companies who choose to offer the so called "Full-service" it generally mean that they made available to their customers the whole or full range of services extending from offering of additional web spaces, bandwidths, emails for a web site, etc. Other additional services may include web design services, web site content maintenance services and 24/7 toll free phone support,

What is shared (virtual) web hosting?

With virtual web hosting, basically, a web hosting subscriber will have his or her own IP address with the virtual hosting. The final website displayed on the web will not be any different from any other websites.In the case of shared hosting, this is how almost 98% of websites are currently hosted.

Basically, the web hosting provider will have more than one servers (super fast computers constantly connected to the web that run on server based OS applications such as Apache or IIS) that will run multiple websites belonging to many different webmaster. (they all shared one server)

Without the website is very popular with very high bandwidth requirement or that the number of web hit to the site is exceptionally high, it usually is the best way to host due primarily to the cost of hosting compared to dedicated hosting, co-location or DIY hosting.

What are PHP, SQL, Java, IP, etc.?

These are very commonly used web hosting acronyms referring to the various features such as database (SQL), programming scripts (PHP, Java), service providers address (IP), etc.

All these terms will usually be reflected within the technical specification of a web hosting plan, deciding their respective value and provision within a particular offered hosting plan.

What do the numbers listed under "space" and "transfer" means?

Space, as the definition goes, means how much data you can "stored". It is just like you are given a room of different sizes and each different size rooms will have different storage capacity. The technical terms for space is usually listed in megabytes (MB, millions of bytes).

A single letter takes up one byte. HTML files are usually small (about 25,000 bytes) but pictures and programs can get quite big. Your scripts, emails and stats will also take up space on your host.

Transfer on the other hand generally intends the amount of "data" visitors to a site can download before reaching the initially set monthly limit. (Based on the type of hosting plan you purchased). The main unit symbol for transfer is usually listed in gigabytes (billions of bytes).

Once the transfer limit is reached for the month, a hosting subscriber will immediately be informed by the hosting provider on the need to pay extra for additional transfer at higher rates.

An example, if an average visitor to your site views 3 HTML pages of 20 KB (thousands of bytes) each and 8 small embedded pictures of 10 KB each, and you get 500 visitors per day, you will require at least (3 * 20 …

The 3 Main Principles of Object Oriented Programming – How to Program With Java

Object Oriented Programming (or OOP) is actually classified by three main principles.

1) Encapsulation

2) Inheritance

3) Polymorphism

These appear to be frightening terms but are actually fairly easy principles to grasp. In order to figure out how to program with java, you’ll need to understand these principles. So let’s consider our first main concept of OOP, encapsulation. Encapsulation just means we want to limit the access that some other pieces of code have to this particular object. So, to illustrate, if you have a Person object, and this Person object has a first and last name as attributes. In the event another chunk of code attempts to modify your Person object’s first name to be say “Frank3”, you could take note of what the first name is trying to be set to, and remove any digits so that we are simply left with “Frank”. Without encapsulation, we will not have the ability to prevent “silly programmers” from modifying the values of our variables to something which wouldn’t seem sensible, or worse, break the application. Seem sensible?

The second concept of OOP, and a essential principle if you wish to learn how to program with Java, is Inheritance. This specific concept refers to a super class (or parent class) and a sub-class (or child class) and the simple fact that a child class acquires each of the attributes of its parent. You can think of it in terms of a real world circumstance, like a real parent and child. A child will probably inherit certain traits from his or her parents, like say, eye colour or hair colour. Allow us to imagine yet another example in terms of programming, say we have super class “Vehicle” and sub-classes “Car” and “Motorcycle”. A “Vehicle” possesses tires, therefore through inheritance so would a “Car” and a “Motorcycle”, however a “Car” has doors, and a “Motorcycle” does not. So it wouldn’t be accurate to state that a “Vehicle” has doors, as that declaration would be inaccurate. So you can see how we could determine all the aspects that are similar regarding a “Car” and a “Motorcycle” and thus identify them inside of the “Vehicle” super class.

The 3rd concept of OOP is Polymorphism. This specific concept appears to be one of the most frightening, but I’m able to explain it in simple terms. Polymorphism means that an object (i.e. Animal) can take on several forms while your program is operating. Let’s imagine you have designed an Animal class and defined the method “Speak”. You then asked three of your buddies to develop kinds of animals and have them implement the “Speak” method. You won’t know what sort of animals your friends create, or how their Animals will speak, unless you actually hear those animals speak. This is very comparable to how Java addresses this issue. It’s called dynamic method binding, which simply means, Java won’t understand how the actual Animal speaks until runtime. So maybe your friends have created a Dog, Cat and Snake. …

How Computer Hardware Works

COMPUTER HARDWARE BASICS

MICROPROCESSOR:

Microprocessor is the brain of any computer. It controls all activities inside the computer. Basically it performances 2 types of operations – arithmetic & logical operation (internally), read & write (externally). Read / write operations are performed on 2 types of devices – I / O and memory devices. It uses the "address bus" to select any "location" on these devices, sends a read / write signal over the "control bus" and then the information over the "data bus".

MEMORY DEVICES:

The CPU stores all information in the computer's memory. There are two memory types – RAM & ROM

RAM (Random Access Memory):

This volatile type is a read & write memory device. This loses its contents when power is shut off.

The types of RAM are

· DRAM (Dynamic ram) – is similar to a capacitor, as it tends to lose its contents and hence requires to be refreshed. This is the Computer RAM.

· SRAM (Static ram) – Is faster than Dram and does not require to be refreshed. This is cost and since only a limited amount is used as CACHE memory in the computer.

ROM (Read only memory):

ROM can be programmed using a programmer and then it acts as a "read only" device. This device is used as the textbook for the CPU in the computer and is called ROM BIOS. It stores all the basic information of programming the devices present inside the system as well as the POST (Power On Self Test) sequence. AMIBIOS and AWARD BIOS are the most common ROM BIOS.

The types of ROM are

· PROM (Programmable Read Only Memory)

· EPROM (Erasable & Programmable Read Only Memory)

· FLASH ROM

· EEPROM (Electrically EPROM)

· EAPROM (Electrically Alterable ROM)

I / O DEVICES:

Apart from passive memory devices, there are certain controllers in the system, which assist the CPU in performing various operations. These are referred to as I / O devices. These devices include Interrupt controller, Timer, Ports, DMA Controller, Floppy Drive Controller, CRT Controller etc.

BUSES & EXPANSION SLOTS:

These are the means through which communication between various devices of the computer takes place and the types are as stated below.

ISA (Industry Standard Architecture):

ISA bus consists of a 24-bit address bus and the 16-bit data bus. ISA can support 8MHZ clock speed.

MCA BUS (Micro Channel Architecture):

MCA bus is available either in 16 bit or 32 bit versions. It was developed in a new line of computers called the PS / 2 (personal system 2). The clock speed is slightly faster (10MHZ instead of 8MHZ).

EISA BUS:

EISA has a 32-bit Address and Data bus and 10MHZ CLK speed.

VL BUS / VESA LOCAL BUS:

It is a 32-bit bus which was positioned local to the CPU and hence its name. There before it could support high bus speeds (that of the CPU).

PCI BUS:

PCI has many benefits over other bus types. First of all, it supports 64 …

Dish Network's Programming Packages

Going through several decisive tasks in choosing the right satellite TV would have consumed most of your valuable time. Now that the selection has been confirmed, its time for you to relax and look into the menu of interesting programs that you want to watch. Yes, its time for choosing your Dish Network programming package. Although you always have an option to choose the package after you place the order but still its better to select the package during the process itself. This would help you choose the available packages and prevent any future discrepancies.

Dish Network offers programming packages that suits your choice and economy. From just $ 19.99 per month to $ 84.99 per month subscribers can choose any package as per the need. This satellite TV has channels at the price that you want. Then why choose other satellite TV providers.

Dish Network has exceptionally exciting packages to delight you and your family members. The packages are America's Top 60, America's Top 60 plus, America's Top 120, America's Top 180 and America's "Everything" Pak . Each program package is unique, that covers the versatile benefits of each family member with the best entertainment, sports, news and children's programming.

America's Top 60

America's Top 60 package is the basic programming entry package. The monthly price is $ 29.99 / month. Some dealers offer the same package for just $ 19.99 a month. Most people choose this package to compare the services with the cable TV. This is the cheapest when compared to cable TV and this package provides programs better than the cable TV at this price. This package covers almost all the major pay channels of United States which include ESPN, CNBC, ABC Family, Nickelodeon, Star Sports etc. with the local channels which is for free (local channels are area specific).

America's Top 120

This package would cost you $ 39.99 / month. This is the most popular package as it offers 120 all-digitalized channels that includes the best of entertainment, news, movies, children's and family programs. With all the former provisions it also provides more than 30 commercial-free, CD-quality music channels. The subscribers would also receive the regional sports network (s) depending on the location they live in.
It also covers channels like Toon Disney, Soap Net, American Movie Classics, and Turner Classic Movies etc. which were not available with the America's Top 60 package.

America's Top 180

If you are a big music buff then here is the thing you are looking for. America's Top 180 is the Dish Network programming package that offers you a wide range of music TV channels. Along with that you also get channels like History Channels International, Discovery kids, Encore, FOX Movie Channel and and more with the all-digitalized America's Top120 and America's Top 60 channels at just $ 49.99 / month.

A Dish 500 is required to receive all the channels in the package.

The music channels include Sirius music channels and others which cover the music from …

CAM (Computer Aided Manufacturing) – Machining on Steroids

Machining techniques for creating parts has advanced and changed dramatically in the past 25 years. Today, computers and software are used together with technologically advanced CAM (Computer Aided Manufacturing) machines to create both high-quality custom and mass-produced parts. Those skilled in the fine art of old school machining are now forced to either update their skills to the new computerized techniques, or find a new line of work.

Let's face it, human beings, even exceptional ones, can not compete with the repeatability and accuracy of today's computerized machines. Today's 5 axis CNC milling and turning machines can crank out part after part with tolerances tighter than 1/1000 of an inch without ever having a lapse in judgment due to overexertion or long hours. Try working your regular employees 20 hours a day, and see what kind of scrap rate develops. The only human factor that is required is for maintenance and programming.

Additionally, robots and the concept of "cells" can be used for more complex parts. An automated assembly line consisting of different machines can be set up to increase the efficiency and independence of the individual machines. A series of holes can be drilled in one cell in a given part. The part is then moved by a robot or some other type of mechanical process to the next cell while a new part is loaded into the last cell. The part continues from cell to cell until a finished part comes out of the last cell. This setup often requires only the presence of one relatively low skilled worker to monitor the setup and handle any jams or mechanical malfunctions that occurs in addition to doing some loading and unloading of material.

CNC machines are not cheap. The price varies very depending on the capabilities of the machine, but it is not unusual to pay over $ 200,000 for this equipment. However, compare this against the cost of paying a crew of skilled machinists to do the same job, and the high price tag not only sees more reasonable, but actually makes good business sense. It is possible to replace 3 skilled machinists with 1 low skilled "maintenance" worker, 1 high skilled CAM programmer, and a few CNC machines. Plus, part throughput will go up while scrap rate will go down.

CAM is just one more example of how old processes are being improved by technology. More and more, the mundane and repetitive tasks previously performed by human beings are being automated by machines and robots and people are being used more for their brains than for their muscles. Computers, software, and machines can be used to turn one person into a super machinist capable of doing the job of three normal machinists. It's machining on steroids, and a trend that is going to continue to gain momentum as time progresses. …

Let Dish Network Be Your Source Of Relaxation

For most people, the television is a source of current news, sports, and entertainment. When you watch your television you want reliable service with plenty of choices in programming and high quality picture and sound. Of course, you want the price to be reasonable too, because television should be a source of relaxation, not stress. With cable TV, prices have been rising quickly while programming selection has been stagnating. In fact, many areas still can not access service like digital programming and HDTV. Dishnetwork, however, offers only digital programming and brings the latest technology and best programming to your screen- all at a very low cost. And, because Dish Network offers the most choices in programming and equipment, you can select the best options to meet your needs.

When you sign up for a Dishnetwork package, you need to determine what type of programming you want and how many channels you need. By using Dishnetwork's channel directory, you can see what channels are included with each package. For a limited selection at a great price, DishFamily brings the best family-oriented entertainment to you. With channels that include Food Network, Discovery Kids, C-Span, and TV Land you are sure to be guided with this package. If you are enticed by the idea of ​​a larger selection, America's Top 60 might be for you. This package includes favorites like VH1, TNT, ESPN, and Comedy Central for a good all-around selection. Budget-minded sports fans might like the America's Top 60 Plus- a combination of the Top 60 and a regional sports network at a great price. For a great mid-level package with plenty of options and a low cost, America's Top 120 provides most of your favorite channels and extras like SIRIUS satellite radio. And America's Top 180 offers an even larger selection with channels like Bloomberg TV and Encore Mysteries. For the ultimate in television entertainment, America's Everything Pak combines all the channels of the other packages with the HBO, Starz, Showtime, and Cinemax movie packages.

Of course, if you have invested in a high definition television set, you will want to explore Dish Network's many HD programming options. With 29 HD channels, Dishnetwork offers the most HDTV channels you can currently get. From the Bronze HD package with 25 HD channels and 80 standard definition ones to Platinum with 29 HD and over 200 standard, you can pick the option that most appeals to you. All HDTV packages let you experience movies, sports, news, culture, arts, and much more in this incredible format.

If you want extra programming, you will love Dish Network's additional options. Sports fans can get their fill of their favorite sports with subscriptions to shows like MLB Extra Innings, NHL on the Ice, and ESPN Gameday. And people looking for a better life will love the A La Carte channel, Lime, which broadcasts only programs that help people create a healthier, greener and more balanced life. Of course, entire families can enjoy all the selection of the …

OpenGL Terrain Generation – An Introduction

Introduction

NOTE: For the HTML version of this article with graphics and downloads please visit the following link:

http://www.codeproject.com/opengl/OPENGLTG.asp

I have always been interested in computer graphics and their applications. Data representation and visualization is one of the main areas of HCI (Human Computer Interaction), and the better you make the interaction between a machine and a human, the more productivity will be generated by both the human and the machine. I had some experience with OpenGL during my undergraduate studies while attending the California Polytechnic University. Unfortunately, I never got a chance to pursue the more advanced features of the OpenGL library, given my time and work responsibilities.

You can find more about OpenGL at http://www.opengl.org . There are also a bunch of good literature available on the topic of Computer Graphics and OpenGL that you can refer for further advances. Please check the Background / Reference section for a list of some reference material that I have used, in general, for computer graphics.

The following project is a very simple example demonstrating how to generate a terrain based on a bitmap file. The objective of the project is to generate a three dimensional terrain based on some data file. Please note, that this could have been any data file, but for the purpose of our example, we are going to be using a 32×32 dimensional bitmap file. We could have easily used a text file, and defined logic for each word or letter to represent it graphically.

The project also contains a good Windows framework that can be used for your other OpenGL applications. The current project allows you to rotate the camera using your mouse.

Once again, this is a simple approach to terrain generation, which can be a very difficult task in complex environments.

Background / Reference
Since Computer Graphics is kind of an advanced topic, it is necessary to have at least some king of understanding and exposure to the concepts and theories in the field. However, this does not mean that you will not be able to use the following code or understand it. I have made it as simple as possible, and hopefully, it will give you a good start, or some additional source of information that you can use for your projects. Also, please note that you will need to have a good understanding of C / C ++ programming.

Some books I have used for learning Computer Graphics and OpenGL programming:

Books I used while attending the California Polytechnic University:
OpenGL Programming Guide, or better know as the Red Book.
Computer Graphics Using OpenGL, 2nd Edition.
Books I used while attending the California Lutheran University:
OpenGL: A Premier, 2nd Edition.
Interactive Computer Graphics: A Top-Down Approach Using OpenGL, 4th Edition.

What is a Terrain?

Some background information on a terrain and their uses in a game application: A terrain in an environment is one of the most critical components in the scene that is being rendered. It could easily be the …

The Challenges of a Software Engineer

While it's true that the engineer is also a programmer, and there are some design duties included in the core job functions, there are also some very fundamental, critical differences in the manner in which software engineers, programmers, and designers complete their work. Many engineers would also argue that there is a marked difference in the quality and performance of the products they produce as well.

Software engineer jobs take a more formal approach to the process of programming software. The manner in which engineers complete their work is much more similar to traditional engineering processes than it is to software programming or designing methods.

Software engineers are often involved in the most complex of design or programming activities. Though every day, run of the mill programs can be designed by less skilled people, many programs can not be trusted to just any old programmer.

For example, programs that control important processes – especially in circumstances where human lives may be lost if an error occurs in a program – are primarily the realm of highly skilled software engineers. After all, you do not want the software that runs a key piece of medical equipment or that which drives the operating system of a nuclear submarine to fail.

This is perhaps the most challenging aspect of design engineer jobs with which incumbents must constantly contend. They are tasked with including the smooth and efficient operations of incredibly complex and sometimes frightening processes with computer enhanced systems.

Design engineers are tasked not only with creating a software program that will serve the basic needs of a business, organization, or other client, but they must also foresee the potential pitfalls associated with the program as well. They must be able to grasp the technological concepts of the methods or practices with which the program is intended to interface and design the software appropriately for the highly technical, and often potentially dangerous, environment in which it will be used.

Although the average programmer or designer may be able to afford a few minor glitches, for those working in design engineer jobs, there is often no such thing as a minor glitch. Of the software fails, the consequences can be great. The pressure that design engineers face on a daily basis is splendid for this very reason.

Software engineers also face some other unique challenges in the IT world. They must often complete a lot more paperwork than most IT professionals. Once again remaining true to the engineering trade, software engineers will draft designs, test them for quality, integrity and performance, and will frequently redesign them several times before moving from paper or prototypes to the real deal. In fact, many of those who work in software engineer jobs will spend as much as 70 – 80% of their time dealing with paperwork and only 20 – 30% actually writing code for the software itself. …

Can I Learn Computer Programming?

Computer without any software application is worse than a dumb human baby. This is because; software acts as a knowledge base and teachers your PC how to solve a given problem. Solving problem in computer is nothing but to process the data it receives to get some useful information as output. The process of teaching computer how to process data to solve a given problem is called computer programming. But can anyone learn computer programming?

This question is important as many people try to learn programming not because it's interesting, but mainly because they want to earn money by developing and selling a software application. However, even after reading lots of books and online tutorials, some of them feel that they still can not develop any new application. They feel that they simply wasted time in learning computer programming.

People, who are thinking of learning computer programming to make money, should first understand that, computer programming is not something that could have been learned in few days or months. Understand that, books can only teach you a programming language but that does not mean you will be able to solve complex problems. In other words, books will not teach you how to develop a new application. Only experience can teach you that. To develop computer applications, you need to have a logical mindset and sometimes it takes more than two years of continuous efforts to develop that kind of mindset and gain confidence.

If you are thinking of learning computer programming because you find it interesting, then you can simply go ahead and learn it without worrying about the time it might take. However, if you are planning to learn it for developing and selling your own application, then you do not have to learn programming for that. You can hire any freelance developer to develop an application for you. You simply need to worry about marketing and selling it.

There is no method to know if one can learn computer programming or not. Some people take more than 5 years to learn computer programming. You should also remember that, technology changes pretty quickly and you should be able to adapt to it as fast as possible. Adapting yourself to new technologies is a challenge that every software developer faces. By considering the time you need to adapt to new technologies, and time you need to understand basic concepts, you will be able to decide for yourself whether you can learn programming or not. …

How To Develop An RTS Game – Brief Guide

Red Alert 2 (Westwood Studios) and Age of Empires 2 (Microsoft) were two games which defined the era of computing just getting used to GUI (mid/late 90’s).

Originally designed for DOS, Red Alert was built by Westwood Studios – RTS pioneer through titles including Dune. The game was a breakthrough due to its realtime nature.

Add to that a killer storyline, amazing graphics and near-mythical gameplay mechanics and you have a winner. As a software developer, it’s easy to be in awe at games like this… but it’s another knowing how they work. This tutorial is a brief introduction into what I know about it.

OOP (Object Orientated Programming)

The most important thing you need to appreciate with any game is that they are programmed using OOP principles. OOP stands for object orientated programming, and basically the opposite of flow-based programming:

  • Flow based programs work with the flow of an application. They will focus on user input and manage their system based on forms – typically refreshing the UI each time an input is provided.
  • Object orientated programs work by loading a base application and using that to load a series of variables (objects). These variables are held in memory and can be interacted with on the screen in realtime.

The core of OOP is the ability to “invoke” classes. Classes are a type of variable which allow you to store “attributes”, and use those attributes in “public” (class) and “private” (instance) methods.

The way almost all games work is to invoke a number of data objects into memory, populate them with the appropriate attributes (hit points etc) and then proceed to call the various instance / class methods on them as the user interacts with them in-game.

Data + Renderer

On top of a core OOP architecture, RTS games work with two elements – a data backend and “renderer” front end. Understanding how these work together is the core of whether you’ll understand how to make an RTS game work from a programmatic perspective.

Imagine an RTS as a simple application. Ignore the graphics and artwork etc – focus on how you’d make the objects move around on-screen.

It works like this – the application loads up. This gives you the ability to manage your credentials (load past games, change your details etc). The job of the application (in an RTS) is to then create new “games”. These games exist between two or more players, and acts like a giant chessboard onto which you’re able to add new buildings, units etc.

Each “game” loads up two sets of data (your data & the other player’s). The job of the game is to help you manipulate this data to beat out your enemy.

Data (Buildings / Units / etc)

When a new “game” is loaded, the data for you and your enemies are loaded into memory. For example, you may have a data-set which looks like this:

  • Player #1
    – Buildings
    – 12
    – 34
    – 81
    – 19