skynet-verizon

Is Verizon SkyNet? Reroutes Entire Network After Typhoon Kills Cables

Say you’re the CEO of a large internet provider based in Taiwan. A huge typhoon comes out of nowhere and wipes out ten of your largest cable lines, thus transforming the world wide web enjoyed by millions of customers into a worldwide disaster. What would you do?

In Verizon’s case, your system would have woke up, assessed the entire situation and rerouted itself so fast that the only way of knowing something was wrong would be to open the window and let Typhoon Morokat blow you to the other side of the planet. It’s a bit exaggerated, but since Verizon invested three-billion dollars into their network, near disasters such as this can be handled effortlessly and the entire network can reconfigure itself without any human contact. The concept itself is referred to as an advanced network mesh, and clearly Verizon is leading the way in how global systems are configured and maintained. With this sort of technology out of R&D and in wide-spread use already, maybe it’s time to revisit that save-the-world strategy to overcome a SkyNet clone whose only reason for human communication is when it tries to show the planet who’s boss.

Free WordPress Themes

Where to Find Free WordPress Themes

There are literally hundreds of blogs out there that link to the same 30 or so free WP designs. Since we’re trying to be different, we’ve set out to create ten of our own free blog templates that are look great, and are easily customizable – even if you’ve never used CSS or HTML before!
We have a huge amount of work ahead of us, since our site is brand new, but you can expect these free themes to be released during Winter, 2009. This page will be updated as each theme progresses, so stay tuned.

rack2

Dedicated Servers

Introduction: What is a Dedicated Server?

Larger websites, or those which serve a high amount of media, are best suited on a dedicated server. This sort of arrangement generally means you’re allowed to rent and use a server to its fullest capacity, provided your content and site are within the providers terms and service. Since you are essentially renting the entire computer for use as a web host, (or streaming media server, game server, ect) you are not usually subject to the limitations found in most VPS or shared hosting environment. In fact, the only real limits placed are bandwidth allotment, and the maximum power of the computers components.

How Much Does a Dedicated Server Cost?

Dedicated web servers are priced based on their configuration, and the amount of bandwidth supplied. General configurations may include 10mbps (megabits per second), and are billed on the 95th percentile; your monthly bill would be calculated by traffic spikes, in which case high-traffic sites could consider the alternative bandwidth cap of 5TB (terabytes) per month, which ensures the same fee, plus overage fees.

Why Would I Need One?

Justification of upgrading to a full server vary, however sites with increasing page views per month will benefit from the investment.

Dedicated Server Options – Operating System:

Windows and Linux are the two major operating systems provided. Both have thousands of monitoring applications and server enhancement tools available, and both bug fixes and security patches are released on a monthly (or sooner) basis. Linux distributions are usually offered at no extra cost, however Windows IIS environments come with a extra charge, which increases your monthly bill.

Windows Server 2003 and 2008 both server web content using Microsoft IIS, and execute scripts written in ASP, which is default on all Windows based server systems. IIS includes plugins (called snap-ins) which can execute PHP, and you can even run Apache on Windows. IIS provides a simple to use interface, while allowing for more advanced options to be used if needed. There are commercial training courses available which teach the very basic fundamentals, to the expert skills needed to deploy IIS based sites across a intranet, or the web.

Linux, on the other hand, is completely open-source and its core functionality can easily be customized on a level unavailable on Windows. For example, a Linux system which is intended to server static content, such as images or cached HTML and CSS stylesheets, can be tweaked to do so, such as removing all traces of any dynamic run-time components. On a purely subjective note, some security experts claim that a LAMP install is inherently more secure than Windows, and therefore the real exploitations to be considered lie within the scripts run on the site itself.

Things to Consider When Buying a Dedicated Server:

There are two main resource allotments to think about when comparing providers, the priority of which obviously dependent on situation.

Bandwidth allotment:
Unmetered bandwidth can prevent unwanted overage fees by capping the maximum output of bandwidth you’re allowed. Once this level is reached, visitors may experience longer loading times which accessing your webpage, or may see the 503 (service unavailable) HTTP message.

The 95th percentile billing option refers to your monthly bill being calculated per peak usage, rather than a set price for a set amount of transfer. This is useful for sites with known traffic patterns, but a high-traffic spike (such as getting linked from a popular site, like Digg or Yahoo) can increase the amount you have to pay at the end of the month, even if the spike lasted only a short time.

Total transfer calculates cost by adding both inbound and outbound transfer and billing for that amount.

Disk space:
For this explanation, disk space refers to both the amount of storage needed for the files stored on the hard drive, as well as the size of any databases created with MySQL or Postgres.

With the cost of hard disks being around $200 for a TB of storage, most providers are able to offer incredible amounts of storage for little price. However, the true cost in this regard is the amount of resources needed to store and serve media that you may embed within your site. Websites with lots of images and video may benefit from moving this content onto a CDN (content delivery network) to prevent bandwidth and hard drive storage overage fees.

Comparing Dedicated Server Providers and Choosing the Best Option

We have provided a quick checklist of twenty-five key points to use when choosing a dedicated host. If you’re in the market for a faster server, check out our quick dedicated server comparison review.

green business card

48 Creative, Unusual Business Card Designs and Concepts

Slightly Adnormal, Regularly Shaped Business Card Designs

While these first seventeen business cards aren’t exactly normal in the traditional sense, they do contain properties of normal-sized cardstock, which lets your prospects store them in their wallets and rolodexes without much hassle. As an aside: does anyone actually use a rolodex, anymore?










Completely Different, Unusual and Obvious Card Concepts

Completely out of the ordinary, these twenty card concepts take branding one step further with unusual designs that use art to immediately convey the type of business they provide. From ticket stubs to the chest physician’s obvious lung-capacity testing balloon, try to figure out what each business does just by looking at their image.




















Unique Card Holders that Grab Your Attention:

Like golf? How about Hello Kitty? While this section steers away from actual business card design, it shows a glimpse of how creative people can successfully grab the attention of business prospects by using unique, eye-catching card holding containers in their office or trade booth.







Creating a Useful Card that Serves a Secondary Purpose:

As mentioned above, the primary purpose of a business card is to brand yourself, and then possibly convert your networking skills into fruitful business relationships. These last four useful biz cards pull double-duty, providing utilities such as the Japanese bottle opener, or Kevin Mitnick’s lock-picking tools. To further prove the power of this type of branding, recall how many times you have saw the following business card being promoted on the web in the past two years:




clock-icon

7 Time Saving Tips for the Web Designer

How much time do you spend on designing websites? For those of us who pay the bills through web-dev, or even the occasional freelancer looking to break into web design, these seven time-saving tools can allow you to spend less time on tedious, repetitive tasks so you can devote more time to writing content or marketing your services.

Using a Free Theme For Your Site Design

If you’re not keen on creating your own custom-coded site framework, you’re in luck: apps such as WordPress and Drupal offer thousands of great-looking, free themes that instantly tackle the most time-consuming part of designing a site; the theme process. If you haven’t looked at the official WordPress theme repository, it’s recently been updated with a better sorting algorithm, and the addition of premium themes. Likewise, the Drupal community is constantly creating new themes that rival those that could potentially cost a few hundred dollars when commissioned through a freelance site.

Time Saved: Depends on how long it takes you to create and splice the design in Photoshop. For us, it takes anywhere from 4 hours to a few days.

Creating a Theme Framework in PHP

Even if you’re not using WordPress or Drupal, you can save time by styling your site by using a theme framework, such as Smarty (which lets you cache parts of the design to even faster loading). Still think theming your site is too hard? We’ve got you covered in an upcoming post series that explains how to create a dead-simple, lighting-fast skin framework in PHP.

Time Saved: While the initial time spent creating the framework may take a few hours, the time saved on each new project is invaluable. Not to mention the speed in which your sites will load, and the time required to maintain them once they’re live.

Screen and Video Capturing with Jing

If you’re still capturing screenshots using a combination of “Print Screen” and PhotoShop (or GIMP, even MS Paint) then the latest screen-casting software that is available will blow you away. Enter Jing, the free image and video capturing program from TechSmith. After loading, Jing places a ‘Sun’ icon on your desktop, which can be dragged to any edge, awaiting a single click which brings up a simple editing window. Enter text, place arrows and with one more click, your screenshot or video is sent on its way to the free image/video hosting site Screencast.com, or to a FTP server if you so choose. Jing offers a ton more options if you’re willing to configure it through an easy to use UI.

Time Saved: About 2 to 3 minutes per screenshot, on average. For videos, it can be invaluable based on rendering time and other variables.

Using a Cross-Browser JavaScript Library

Remember the time when a simple AJAX function was a dozen lines of browser sniffing and error fallbacks within try/catch calls? Thankfully a plethora of JavaScript libraries have sprouted up that and are able to do cross-browser AJAX, animation, and DOM manipulation with a very minimal amount of code. Now you can replace document.getElementById(“formButton”).style=”display:none;” with $(“#formButton”).fadeOut(“fast”); to create a nice fade effect. As an added bonus, sites like Google even encourage you to use their hosted version of jQuery, which saves seconds on your sites loading time.

Time saved: Quicker sites, and who knows how many hours saved by not needing to code and test your own animation routines.

Sorting Out Your Tasks With a Todo List or Time Management Program

Your latest design spec may seem complete, but where do you begin? For newcomers and even the occasional freelancer, it may seem overwhelming. Everyone can benefit from a well thought out todo list, and sites like Unfuddled and Backpack allow you to simply input a list of tasks, sort them by priority, and then cross them off one by one as they’re completed. More advanced services provide deeper analytics, and display the amount of time spent on each specific task. This process can really speed up the time it takes to plan, develop and push your site live by allowing your creative process to focus on tasks at hand, rather than time management.

Time Saved: Depends on how well you get by reading and following through logical, well-planned lists.

Testing Your Web Design in Multiple Browsers

While the top four browsers on the market are each finally able to render a standards-based site correctly, don’t forget about the millions of people still stuck with older software, such as Internet Explorer 6, Netscape, or older versions of FireFox and Opera (which don’t support AJAX and CSS as well). For any designer looking to serve as wide a audience as possible, cross-browser layout testing has become quick and painless, and as simple as entering your URL into a site such as BrowserShots. Gone are the days of installing a dozen out of date browsers just to see if your JavaScript menu behaves correctly.

Time Saved: Hours from each design: no installing multiple browsers, no waiting for each site to load.

Using a Free Stock Photo Site to Quickly Decorate Your Posts

When first visiting your site, the average readers attention span is around 8 seconds, and according to Akamai, the crucial first four seconds of page load will determine whether 75% of all visits will bounce off your site (presumably, back to Google or the referring page). This is why it is important to have a quickly loading site and to engage your readers quickly in order to grab their attention. The use of free stock photos can make or break a site for first-time visitors, and fortunately there are thousands of high-quality, free stock photos that you can use from sites such as the Stock Exchange (not to be confused with any financial market sites). Keep in mind that the images you use should allow embedding within your site, and are relevant to your content.

Time Saved: Multiple hours per blog post or page, depending on how you research for relevant images.

cyberhomes

12 Vector Art Twitter Profiles for Design Inspiration

It may seem like our magazine’s main focus is a bit on the technical side, we know that webmasters and designers alike can always find inspiration in the creative designs produced by some imaginative artists on twitter. Check out these 12 designs, and let us know if your own profile (or someone you follow) has the flare and style as these incredible creations!

@cyberhomes: Director of Social Media for Cyberhomes. I love to share real estate and tech resources.
cyberhomes
@designcoyote: Web designer, illustrator, sushi fanatic, animal advocate, and all around nice girl (or so they say – feel free to disagree).
designcoyote
@geeksugar: From simple how-to instructions, to tips, cool websites, tech toys, and news, geeksugar is where it’s at!
geeksugar
@HungryGirl: I’ll be Twittering mostly about guilt-free food and food-related items. Mmmmm!
HungryGirl
@madebyguerrilla: Custom web design & blog design by the Guerrilla! (part of the Guerrilla Network
madebyguerrilla
@membnandurb: 8 Years studying human behaviour. Plus design, science, music and other urban arts. Designer, creative director, founder of MBN, URB and inbitant of Me.
membnandurb
@MrTweet: Who are the influencers and followers YOU are missing out on? Follow us to get personalized suggestions of who you should follow!
MrTweet
@mynameisorman: SEO Specialist, Web Designer, CSS Geek, Code Avoider, Gangster Movie Lover, KFC Supporter, Full-Time Day Dreamer.
mynameisorman
@nikolina100: Crazy Artzy Redhead and lover of all things CUPCAKE!
nikolina100
@rainnwilson: I am an actor and a writer and I co-created SoulPancake and my son, Walter.
rainnwilson
@themediamoose: When I was five I got a stuffed moose puppet – it’s all been downhill from there. Temple graduate, advertising enthusiast, iPod addict, compulsive doodler.
themediamoose
@waynesutton: New Media, Social Media, Technology Evangelist, blogging, consultant, strategist, podcaster, video blogger, entrepreneur & producer
waynesutton

Do you know of any interesting twitter profiles with vector art? If so, let us know by leaving a comment or tweeting us @hostchecklist.

Welcome to WebHost Checklist Network!

The finishing touches are done, and the site is finally live! We’ve worked a good three months up to this point, to create our hosting knowledge base and reviews of most every web-hosting related app under the sun! Relax from searching the web and find your answers on our site!

20-themes-reviewed

20 Impressive Freemium WordPress Themes

WP-Premium Free

Visit the WP-Premium Website

Mimbo

Visit the Mimbo Website

Freemium 1.0

Visit the Frermium Website

derekj

Visit the derekj Website

Seasons of Template Zones

Visit the Seasons of Template Zones Website

Arthemia

Visit the Arthemia Website

Textback

Visit the Textback Website

Revolution-X

Visit the Revolution-X Website

Ultimate Baseball

Visit the Ultimate Baseball Website

Branford Magazine

Visit the Branford Magazine Website

The Morning After

Visit the The Morning After Website

Wynton Magazine

Visit the Wynton Magazine Website

Evolution WordPress

Visit the Evolution WordPress Website

Zoxengen

Visit the Zoxengen Website

w2black

Visit the w2black Website

Brown Magic

Visit the Brown Magic Website

GreenW

Visit the GreenW Website

BlueMin

Visit the BlueMin Website

BlueGrey

Visit the BlueGrey Website

BlackRed

Visit the BlackRed Website

lamp

Installing a Secure LAMP Server in 5 Steps

Step One: Installing Apache 5

sudo apt-get install apache2

LAMP’s central software package is Apache, the open-source web server. Although originally designed to run on Unix based machines, webmasters can now install Apache on Windows easily through an XAMPP based installation. In fact, most of the steps in this tutorial can be ignored by choosing to install XAMPP.

Step Two: Installing PHP5

sudo apt-get install php5 libapache2-mod-php5
sudo /etc/init.d/apache2 restart

The PHP scripting language will allow webmasters to create any run almost all of the popular web publishing platforms: WordPress, Drupal and MovableType all use PHP on the backend. With hundreds of inbuilt functions, such as file system and socket management, PHP can handle most any web app with ease – from the most basic TODO list app to the largest user-submitted encyclopedia in the world.

Step Three: Installing MySQL

sudo apt-get install mysql-server
gksudo gedit /etc/mysql/my.cnf
bind-address = 127.0.0.1 <-- change to IP address
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
gksudo gedit /etc/php5/apache2/php.ini
extension=mysql.so <-- uncomment (remove semicolon)

Now it’s time to install a RDMS system called MySQL. It’s a server-based database program that can hold information on your webserver, such as blog posts, forums, web stats and large amounts of textual data. After proper configuration, MySQL can scale well enough that some of the most popular websites in the world deploy it: FaceBook, Google and Wikipedia are just a few of the sites that use MySQL to power portions of their web empires.

Two requirements are needed for a basic installation. Upon configuration, MySQL must know which IP address to bind with and a root password needs to be set. After that a single line in php.ini must be changed in order for PHP to load the MySQL extenstion upon loading.

Step Four: Installing Related Tools

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Fourth on the list is to install various tools and Apache mods. This includes MySQL authentication and the MySQL mod that will allow communication between MySQL and PHP5. Another tool is the web-based phpMyAdmin database app, which can be used to administrate MySQL through any popular browser. All of the command-line statements can be issued with phpMyAdmin, and many of those are simplified through use of a GUI.

Step Five: Finishing Up

sudo /etc/init.d/apache2 restart

The final step is to simply restart Apache. After loading, Apache should be able to process and serve PHP scripts that communicate with MySQL (such as WordPress and Drupal) and will load when Linux boots. Any errors encountered during this last step can be debugged and fixed by looking through the log files (usually in /var/log/apache2) and by double-checking one of the configuration files.

php-login-system-icon

Simple PHP User Authentication Login System

Note: the following code is for educational purposes only, and should not be deployed on any mission-critical systems or websites that require authentication. This post is best used as a tool to help understand the underlying concept of a basic PHP user login system and merely shows a simple example.

A good user-login system should do three things:

  • 1. Allow the user to enter a username and password.
  • 2. Validate that information and return success or otherwise.
  • 3. Perform basic checks on $_SESSION login after the initial login.

The scope of this particular article will focus on the first stage of authentication, which centers on validating user input and establishing a very basic authentication scheme. In later articles, coders will focus on the more advanced concepts of security salts, and techniques to continue validation well after the user has initially logged in, by checking information just as the user’s browser agent and login time.

Assumptions: This tutorial will be using MySQL and PHP. Apache as a server platform is not required, and any server that allows PHP to manage a HTTP POST will work.

For the back end storage solution, many coders may choose to use one of the two versions of MySQL that are included by most shared hosting and VPS providers. With proper scaling configuration, MySQL can handle large sites with hundreds of thousands of users and even by default can handle most any variant of this tutorial.

There are five basic bits of information that are prudent for any login system: the user ID (which should start at zero and increment up for each new user), the users name, password and email, and finally the user-agent string from the browser they logged in through. This user agent string will be updated on each successful login, and can be used to determine if a user is being subjected to a man in the middle attack (which is more advanced, and will be covered in another post). Insert the following SQL statement into phpMyAdmin or MySQL to create the user table.

MySQL Statement:

CREATE TABLE siteusers(
	u_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	u_name VARCHAR(32) NOT NULL,
	u_password VARCHAR(32) NOT NULL,
	u_email VARCHAR(128) NOT NULL,
	u_useragent VARCHAR(128) NOT NULL
) ENGINE = MYISAM ;

On the front end, the HTML form consists of three inputs: the username, password and submit button. For now the form code can be placed in a separate form.html file, however the PHP script will not execute unless the method attribute is changed to the correct file path. At the end of this tutorial, all the code is put together and can be safely contained within one single login.php file.

HTML Code:

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
	Username: <input type="text" name="username" /><br />
	Password: <input type="password" name="password" /><br />
	<input type="submit" value="Login.." /><br />
</form>

The following twenty lines of code contain limited commenting, however it is rather easy to understand. Step by step, this code simply detects the browsers state and acts accordingly. If the browser has issued a POST statement, it means the user has likely entered their login credentials and pressed the submit button. From there, it connects to a defined MySQL database and captures the POST variables. Here is where things might get tricky, and require further explaination.
One effective way to deter SQL injection attacks is to escape any variables before using them within a SQL query. This means that PHP adds a back-slash in front of any quotation marks or apostrophes, thus preventing MySQL from unknowingly executing multiple statements (such as defaulting the user ID to an administrator, or forcing MySQL to empy the table entirely). PHP added a function called mysql_escape_string() that can be used as a preemptive measure for SQL injections and malicious users destroying data.

The second part is to calculate a MD5 hash of the password, and this is done so that if an attacker gains access to the database, they will only encounter a list of thirty-two character hashes rather than plaintext passwords. Converting those hashes into the original passwords would take lots of computer power to create a MD5 collision, and not many attempts to do this have been successful. The second section of this tutorial will cover the salt concept, which adds a secondary string to the MD5 calculation, which makes it even harder to convert.

Once the HTTP POST variables are processed, the code then queries the database that was created in the first step for the following: if there is a user with the same username and password as was submitted, return their information; otherwise stop. After this executes, the mysql_num_rows() function counts how many users matched the original query and returns that number. If its zero, the script simply redisplays the login form with an error message claiming the info was invalid, however if one or more users matched, then their username is added into the $_SESSION scope, which is used to validate the user on each subsequent page view.

PHPCode:

<?php
	// Edit: select your database here
	mysql_select_db("database-name");

	if($_POST){
		$tempuser	= mysql_escape_string($_POST['username']);
		$temppass	= md5(mysql_escape_string($_POST['password']));

		$res = mysql_query("select * from siteusers where u_name='$tempuser'
		 and u_password='$temppass'");
		$num = mysql_num_rows($res);
		if($num == 0){
			// user entered wrong username or pass; not logged in
			echo "Invalid username or password.";
		}else{
			// user is logged in
			$_SESSION['uname']	= $tempuser;
		}
	}
?>

Connecting it all together, the login form can be returned from within a function, and placed inside of the PHP script, thus condensing everything into thirty or so lines of code.

Entire login.php script:

<?php
	// Edit: select your database here
	mysql_select_db("database-name");

	function showLoginForm($msg){
		$tempMsg = ($msg) ? $msg : "Please login:";
		$temp = "
			<b>$tempMsg</b><br />
			<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\">
			Username: &l;tinput type=\"text\" name=\"username\" /><br />
			Password: &l;tinput type=\"password\" name=\"password\" /><br />
			<input type=\"submit\" value=\"Login..\" /><br />
			</form>";
		return $temp;
	}

	if($_POST){
		$tempuser	= mysql_escape_string($_POST['username']);
		$temppass	= md5(mysql_escape_string($_POST['password']));

		$res = mysql_query("select * from siteusers where u_name='$tempuser'
		 and u_password='$temppass'");
		$num = mysql_num_rows($res);
		if($num == 0){
			// user entered wrong username or pass; not logged in
			echo showLoginForm("Invalid username or password.");
		}else{
			// user is logged in
			$_SESSION['uname']	= $tempuser;
			echo "Welcome back, " . $_SESSION['uname'];
		}
	}
?>

As a reminder, this tutorial covered the basic concept of using PHP to authenticate a user. The next part will cover more advanced topics, such as salts, browser strings and using timestamps to expire a users login session.