Web pages used to be simple affairs, where everything you needed to do could be done in HTML, there was really one set of rules and one set of expectations. Today's world is far more complex.
Web pages can be more complex and customers expect more from web pages. Terms like PHP and ASP now compete with HTML when starting a web page and it can be hard to figure out what option best suits your needs.
If you've ever driven an import car, you can appreciate the importance of being able to find support that meet your needs, if you're going to kick the tires with your website and turn it into something exception, having a large community that can support you is critical.
PHP, Personal Home Pages has more support on the internet than ASP - Active Server Pages. The larger user base gives you more allies; more people who can help you develop your own talents and your website.
Another advantage of PHP is that it's based on unix, giving it more cross platform capability than ASP as increasing demands of Microsoft's operating systems level the cost playing field between Microsoft products and Apple, this is ever more important.
And did we mention that in the grand tradition of unix, PHP is free, while ASP needs support software that isn't? For add-ons and additional tools, PHP's open source has a strong base of free tools, whereas ASP demands that you purchase these tools.
You can find help for your PHP programming from free to paid. Most professional ASP support is very expensive by comparison.
Also, you have to consider the costs associated with a web hosting on Windows Server compared to Linux Servers. For most cases, you will notice a substantial difference in prices.
Not only that, but Windows severs do tend to be unstable and prone to failures, are more likely to be attacked by viruses, Trojans and exploits. Linux servers on the other hand are much more stable and the attacks windows servers suffer in a daily basis are non-existent in Linux.
If you are considering either a dedicated server or a shared hosting, your fist choice should be Linux. I've yet to find a problem that can't be solved using PHP and Linux.
With all this, you might wonder why ASP still is out there at all. Part of it stems from ASP being based on the same methodology that's used to make macros in other Microsoft products.
People that have invested the time learning how to use macros in Word or Excel will be more comfortable using ASP. PHP is based on C++, a robust computer programming language.
Before this intimidates you, the free tools that exist out there allow for a lot of this to be hidden, until you're ready to take advantage of the power behind PHP.
Putting it all together, the power, the cost, flexibility, stability and support of PHP is far superior to that of ASP. If you're going to commit to building the best web page you can, commit to using the best tools you can.
Investing in learning PHP will pay off when you're able to pop the hood, invite your friends over and transform your web page from a normal, average, page to a sophisticated and highly toned performance page.
9/29/07
How To Stop Spyware
This is an additional method that should be used in conjunction with an anti-spyware product.
How can this method prevent spyware from "calling home" with your personal information? It works by letting Windows filter the IP addresses that you place in the hosts file.
What is the host file and how does it work?
The host file resides in the Windows folder on your hard drive and it loads into system memory each time the computer is turned on. For each IP address that is placed in the hosts file, it is cross-referenced with a saved domain name.
Siince the Internet only understands numeric IP addesses, this cross-referencing with domain names is required. These translations between IP addresses and domain names reside on various Domain Name Servers (DNS) that are distributed around the Internet.
IP addresses are in the form of a block of numbers arranged in quartets as in the following example: 125.0.48.220.
They way it works is, as you enter a domain name (URL) in your browser, the first thing that happens is that your computer will check for any IP addresses that are in your hosts file. If it finds the relevant domain name, it will not bother searching the external DNS servers on the Internet.
Before there was the current high-speed connections that we use everyday to connect to the Internet with, it was quicker to find an IP address that was stored on the local computer.
Once you activate a link that is associated with Spyware, by clicking on it, or sometimes just moving the mouse over it, the Spyware in most cases attempts to "call home" back to its server somewhere on the Internet. It can then create an ad server, scrape your personal data and send it back to its server.
Since we now have faster Internet connections, the need for hosts files have just about been eliminated.
Whenever you run into a malicious domain, just add it to your hosts file, and instead of cross-referencing it to a valid IP address, translate it to a fake IP address that connects to a void inside your computer. Then the Spyware thinks it is calling home to its servers, however the call goes nowhere.
The hosts file has entries in it with the following format:
#hosts file from windows directory
127.0.0.1 localhost
123.45.67.89 testsite1.com
51.126.0.189 testsite2.com
The # sign indicates comment lines that the computer will ignore.
In using the hosts file as a Spyware or adware blocker, you will always see the localhost setting in the first line of the file.
Notice that these IP addresses are all the same: 127.0.0.1 -this points only to your own local computer.
You will also see the all of the other IP entries will have the same address as the localhost, as in the following example:
# host file from windows directory
127.0.0.1 localhost
127.0.0.1 testsite1.com
127.0.0.1 testsite2.com
When an infected webpage tries to connect your computer to testsite1.com, the browser looks up the IP address for testsite1.com, and in this situation will find it in the hosts file. Since the IP address translates to 127.0.0.1, the call cannot go out back to its server out on the Internet.
This works simply because the domain is stored on the local computer in the hosts file and Windows will not try to resolve it on the external DNS servers.
Using this methodology will also reduce the time is takes to access normal web pages since it does not have to wait for all of the ads and images to download.
This should not be used as the only solution for Spyware. It should only be used with another proven Spyware product.
The steps with this procedure are not straight-forward as one might think. You have to:
a) detect each bit of Spyware
b) look up the domain name
c) modify the hosts file for each event
It is a constant struggle because not only are companies who produce Spyware and spam are always adding new domain names.
You should not be discouraged however, since you can download very detailed hosts files from the Internet that do not have any costs associated with them. You can visit specific sites that offer this service and download their files. Just remember to constantly check and download the latest updates to these files.
You can also let an anti-spyware program do it for you, such as SpyBot. It will automatically include these problem sites in your hosts file.
How can this method prevent spyware from "calling home" with your personal information? It works by letting Windows filter the IP addresses that you place in the hosts file.
What is the host file and how does it work?
The host file resides in the Windows folder on your hard drive and it loads into system memory each time the computer is turned on. For each IP address that is placed in the hosts file, it is cross-referenced with a saved domain name.
Siince the Internet only understands numeric IP addesses, this cross-referencing with domain names is required. These translations between IP addresses and domain names reside on various Domain Name Servers (DNS) that are distributed around the Internet.
IP addresses are in the form of a block of numbers arranged in quartets as in the following example: 125.0.48.220.
They way it works is, as you enter a domain name (URL) in your browser, the first thing that happens is that your computer will check for any IP addresses that are in your hosts file. If it finds the relevant domain name, it will not bother searching the external DNS servers on the Internet.
Before there was the current high-speed connections that we use everyday to connect to the Internet with, it was quicker to find an IP address that was stored on the local computer.
Once you activate a link that is associated with Spyware, by clicking on it, or sometimes just moving the mouse over it, the Spyware in most cases attempts to "call home" back to its server somewhere on the Internet. It can then create an ad server, scrape your personal data and send it back to its server.
Since we now have faster Internet connections, the need for hosts files have just about been eliminated.
Whenever you run into a malicious domain, just add it to your hosts file, and instead of cross-referencing it to a valid IP address, translate it to a fake IP address that connects to a void inside your computer. Then the Spyware thinks it is calling home to its servers, however the call goes nowhere.
The hosts file has entries in it with the following format:
#hosts file from windows directory
127.0.0.1 localhost
123.45.67.89 testsite1.com
51.126.0.189 testsite2.com
The # sign indicates comment lines that the computer will ignore.
In using the hosts file as a Spyware or adware blocker, you will always see the localhost setting in the first line of the file.
Notice that these IP addresses are all the same: 127.0.0.1 -this points only to your own local computer.
You will also see the all of the other IP entries will have the same address as the localhost, as in the following example:
# host file from windows directory
127.0.0.1 localhost
127.0.0.1 testsite1.com
127.0.0.1 testsite2.com
When an infected webpage tries to connect your computer to testsite1.com, the browser looks up the IP address for testsite1.com, and in this situation will find it in the hosts file. Since the IP address translates to 127.0.0.1, the call cannot go out back to its server out on the Internet.
This works simply because the domain is stored on the local computer in the hosts file and Windows will not try to resolve it on the external DNS servers.
Using this methodology will also reduce the time is takes to access normal web pages since it does not have to wait for all of the ads and images to download.
This should not be used as the only solution for Spyware. It should only be used with another proven Spyware product.
The steps with this procedure are not straight-forward as one might think. You have to:
a) detect each bit of Spyware
b) look up the domain name
c) modify the hosts file for each event
It is a constant struggle because not only are companies who produce Spyware and spam are always adding new domain names.
You should not be discouraged however, since you can download very detailed hosts files from the Internet that do not have any costs associated with them. You can visit specific sites that offer this service and download their files. Just remember to constantly check and download the latest updates to these files.
You can also let an anti-spyware program do it for you, such as SpyBot. It will automatically include these problem sites in your hosts file.
Web Design, Development And Testing
Many organizations are interested in building web applications for their business but are unaware of the various steps that are needed to build a compelling web application. In this article I will attempt to put together the various pieces of the puzzle. Application development involves several distinct efforts that need to come together to build a compelling end product. A compelling end product is the combination of design, development architecture, development implementation, automated regression and functional testing and performance and load testing.
Design: People often confuse design with development. Moreover even within design, user interface design is often confused with graphics design. Web user interface design involves the design of the flow of the website and the layout of the specific web pages within the website. The web user interface designer concentrates on the usability of the application. The user interface designer will typically develop "wireframes" using tools like Adobe Photoshop to convey the design. These are often initially developed as prototypes and usability testing is carried with user groups out to ensure that the web application will be intuitive and easy to use. Graphics design on the other hand relates to the aesthetics of the page. The graphics designer is responsible for the aesthetic layout of the pages and the creation of the various graphical objects inside the pages such as images and flash objects. The graphics Designer will typically use a combination of tools such as Adobe Photoshop, Adobe Illustrator and Adobe Captivate to create the actual graphics objects. A designer will need to work closely with other groups to make sure the design process does not compromise the performance of the application by making sure that the graphics objects are small thus ensuring that the various web performance metrics are unaffected.
Development: This involves converting the design into an actual application. The development typically involves an architectural phase where the underlying modules that make up the application are scoped out. If persistent data storage is needed, a database schema should be designed to accommodate the data storage needs. The choice of the operating system (e.g. Windows, Linux or Solaris) where the web application will run, the web server (e.g. Microsoft IIS, Apache or Tomcat) which will run the web application and the back end database (e.g. Microsoft SQL Server, Oracle, MySQL or Postgres) which stores the data will need to be made. Various development frameworks are available to build web applications. The most common ones are ASP and ASP.NET from Microsoft, Java Servlets and JSP from Sun, PHP and Perl that are open source. The choice of the application framework is typically dictated by the strengths of the members of the development team. The architectural phase is followed by the implementation phase. This is typically the longest part of the project and during this phase the actual code is written using the design specifications and graphics objects developed by the design team. The programming will typically be done using a combination of the application frameworks mentioned earlier together with HTML, JavaScript and CSS style sheets.
Quality Assurance and Testing: A surprising number of people are of the view that quality assurance and testing is desirable but is not actually needed. Unfortunately this view has its roots in total ignorance of the process that is needed to build a good end product. Regardless of how pretty or slick we make the application, if it does not work as expected, users will reject it. Quality assurance and testing involve two different kinds of tasks. Functional and regression testing is used to verify that the developed application is doing what it is supposed to do. This is achieved by test automation using a functional testing tool. Load and Performance testing is used to ensure that the application performs as intended when it is subjected to the typical load of a production environment. Load testing is practically speaking impossible to perform without using an automated load testing tool since it involves the simulation of a large number of concurrent virtual users. This effect cannot really be achieved manually and needs the assistance of an application that is designed to subject the application to a specified load and then measure its performance when it is subjected to that load. Quality Assurance teams will need to track the bugs or defects in the application using bug tracking tools. Such tools will allow defects to be tracked by all members of the team.
The three groups mentioned above tend to be specialized for their skill set. As an example, people often make the mistake of using developers as quality assurance testers. This is not a wise strategy because most developers who are good at writing software are quite poor at finding bugs or defects in their own software.
Writing good and compelling web applications requires an understanding of all phases of the process, design, development and quality assurance. Skipping phases or taking shortcuts will result in low quality software that will generally cost more in the long run.
Design: People often confuse design with development. Moreover even within design, user interface design is often confused with graphics design. Web user interface design involves the design of the flow of the website and the layout of the specific web pages within the website. The web user interface designer concentrates on the usability of the application. The user interface designer will typically develop "wireframes" using tools like Adobe Photoshop to convey the design. These are often initially developed as prototypes and usability testing is carried with user groups out to ensure that the web application will be intuitive and easy to use. Graphics design on the other hand relates to the aesthetics of the page. The graphics designer is responsible for the aesthetic layout of the pages and the creation of the various graphical objects inside the pages such as images and flash objects. The graphics Designer will typically use a combination of tools such as Adobe Photoshop, Adobe Illustrator and Adobe Captivate to create the actual graphics objects. A designer will need to work closely with other groups to make sure the design process does not compromise the performance of the application by making sure that the graphics objects are small thus ensuring that the various web performance metrics are unaffected.
Development: This involves converting the design into an actual application. The development typically involves an architectural phase where the underlying modules that make up the application are scoped out. If persistent data storage is needed, a database schema should be designed to accommodate the data storage needs. The choice of the operating system (e.g. Windows, Linux or Solaris) where the web application will run, the web server (e.g. Microsoft IIS, Apache or Tomcat) which will run the web application and the back end database (e.g. Microsoft SQL Server, Oracle, MySQL or Postgres) which stores the data will need to be made. Various development frameworks are available to build web applications. The most common ones are ASP and ASP.NET from Microsoft, Java Servlets and JSP from Sun, PHP and Perl that are open source. The choice of the application framework is typically dictated by the strengths of the members of the development team. The architectural phase is followed by the implementation phase. This is typically the longest part of the project and during this phase the actual code is written using the design specifications and graphics objects developed by the design team. The programming will typically be done using a combination of the application frameworks mentioned earlier together with HTML, JavaScript and CSS style sheets.
Quality Assurance and Testing: A surprising number of people are of the view that quality assurance and testing is desirable but is not actually needed. Unfortunately this view has its roots in total ignorance of the process that is needed to build a good end product. Regardless of how pretty or slick we make the application, if it does not work as expected, users will reject it. Quality assurance and testing involve two different kinds of tasks. Functional and regression testing is used to verify that the developed application is doing what it is supposed to do. This is achieved by test automation using a functional testing tool. Load and Performance testing is used to ensure that the application performs as intended when it is subjected to the typical load of a production environment. Load testing is practically speaking impossible to perform without using an automated load testing tool since it involves the simulation of a large number of concurrent virtual users. This effect cannot really be achieved manually and needs the assistance of an application that is designed to subject the application to a specified load and then measure its performance when it is subjected to that load. Quality Assurance teams will need to track the bugs or defects in the application using bug tracking tools. Such tools will allow defects to be tracked by all members of the team.
The three groups mentioned above tend to be specialized for their skill set. As an example, people often make the mistake of using developers as quality assurance testers. This is not a wise strategy because most developers who are good at writing software are quite poor at finding bugs or defects in their own software.
Writing good and compelling web applications requires an understanding of all phases of the process, design, development and quality assurance. Skipping phases or taking shortcuts will result in low quality software that will generally cost more in the long run.
Subscribe to:
Posts (Atom)