<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TutWow</title>
	<atom:link href="http://www.tutwow.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tutwow.com</link>
	<description>Playing Creativity Tag</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:48:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Create a Simple and Secure Contact Form with jQuery and PHP</title>
		<link>http://www.tutwow.com/htmlcss/create-a-simple-and-secure-contact-form-with-jquery-and-php/</link>
		<comments>http://www.tutwow.com/htmlcss/create-a-simple-and-secure-contact-form-with-jquery-and-php/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 20:45:55 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1375</guid>
		<description><![CDATA[In this tutorial, we walk through the steps needed to create a simple and secure contact form with HTML, CSS, Javascript, and PHP.]]></description>
			<content:encoded><![CDATA[<p>Today we will be creating a simple yet secure contact form with PHP and Javascript. I have used this contact form on multiple websites, and I find it to be very easy to use and install, so you should enjoy it.</p>
<h2><a href="http://img.tutwow.com/simplesecurecontact/contact.html">See the final result in action.</a></h2>
<h2><a href="http://www.tutwow.com/wp-content/uploads/2012/01/SimpleSecureContactForm-TutWow.zip">Download the files for this tutorial.</a></h2>
<h1>Step 1 &#8211; Download the Files</h1>
<p>Before we get started, go download the following javascript files:</p>
<ol>
<li>The <a href="http://code.jquery.com/jquery.min.js">latest minified version</a> of jQuery</li>
<li>The <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validate plugin</a> (click the Download link on the page, unzip the downloaded file, and then copy out the <strong>jquery.validate.js</strong> file)</li>
<li>The <a href="http://malsup.github.com/jquery.form.js">jQuery Form plugin</a></li>
</ol>
<p>After you have downloaded those three files, place them in a folder named <strong>js</strong> in the directory where you want to have your contact form. Now you&#8217;re ready to start crafting the contact form!</p>
<h1>Step 2 &#8211; HTML</h1>
<p>First off, make sure that you have a basic understanding of HTML, PHP, and Javascript. <a href="http://w3schools.com/">W3schools.com</a> is a great resource for quickly getting up to speed with these languages. Once you have a grip of these technologies, you should be able to understand what is going on in this tutorial much better.</p>
<p>To start off, create a new file on your server named <strong>contact.html</strong>. It can be named whatever you want (or you can add the contact form to an existing file), but for the sake of this tutorial we will use contact.html.</p>
<p>In this file, add the following code:</p>
<pre class="brush: html; gutter: true">&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Contact Form&lt;/title&gt;

		&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; type=&quot;text/css&quot; /&gt;

		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.validate.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.form.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/contact.js&quot;&gt;&lt;/script&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;div id=&quot;wrap&quot;&gt;
			&lt;h1&gt;Contact Sweetness&lt;/h1&gt;
			&lt;form id=&quot;contactform&quot; action=&quot;processForm.php&quot; method=&quot;post&quot;&gt;
				&lt;table&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;name&quot;&gt;Name:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;message&quot;&gt;Message:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;textarea id=&quot;message&quot; name=&quot;message&quot; rows=&quot;5&quot; cols=&quot;20&quot;&gt;&lt;/textarea&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;submit&quot; value=&quot;Send!&quot; id=&quot;send&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/table&gt;
			&lt;/form&gt;
			&lt;div id=&quot;response&quot;&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre>
<p>This code contains the structure for our contact form. Let&#8217;s take a look at what each section is doing.</p>
<pre class="brush: html; gutter: true;">&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;Contact Form&lt;/title&gt;</pre>
<p>These lines set up the basic structure of the HTML document, and they should be second nature to you.</p>
<pre class="brush: html; gutter: true; first-line: 6;">		&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; type=&quot;text/css&quot; /&gt;

		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.validate.min.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.form.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;js/contact.js&quot;&gt;&lt;/script&gt;</pre>
<p>First we include the CSS stylesheet that we will be creating shortly, and then we proceed to include all three of the javascript files that we just downloaded into the js folder. The last line is including &lt;strong&gt;contact.js&lt;/strong&gt;, a file we will create later on.</p>
<pre class="brush: html; gutter: true; first-line: 12">	&lt;/head&gt;
	&lt;body&gt;
		&lt;div id=&quot;wrap&quot;&gt;
			&lt;h1&gt;Contact Sweetness&lt;/h1&gt;
			&lt;form id=&quot;contactform&quot; action=&quot;processForm.php&quot; method=&quot;post&quot;&gt;</pre>
<p>This ends the head and starts the body of the page. We set up a &#8220;wrap&#8221; div that will be used to style the contact form with CSS later on, and add a heading at the top of the new div. Then we start the form that will contain all of the inputs where the user will type in their info and message. The action of the form is set to <strong>processForm.php</strong>, another file which we will create later on. The reason we add this file to the action attribute of the form instead of just doing all of the processing with javascript is that someone without javascript enabled will be able to use the form as well as someone with javascript enabled. The key here is <em>progressive enhancement</em>, or making sure that users with less capabilities will still be able to use your website. Always start by coding for the lowest common denominator &#8211; users who don&#8217;t have javascript in this case &#8211; and then adding better functionality for users with better browsers/more capable systems.</p>
<pre class="brush: html; gutter: true; first-line: 17">				&lt;table&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;name&quot;&gt;Name:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;label for=&quot;message&quot;&gt;Message:&lt;/label&gt;&lt;/td&gt;
						&lt;td&gt;&lt;textarea id=&quot;message&quot; name=&quot;message&quot; rows=&quot;5&quot; cols=&quot;20&quot;&gt;&lt;/textarea&gt;&lt;/td&gt;
					&lt;/tr&gt;
					&lt;tr&gt;
						&lt;td&gt;&lt;/td&gt;
						&lt;td&gt;&lt;input type=&quot;submit&quot; value=&quot;Send!&quot; id=&quot;send&quot; /&gt;&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/table&gt;</pre>
<p>These lines contain the actual input areas for the contact form. As you can see, I am using a table to format the form, even though tables are typically frowned upon in the design community. I find that in certain situations, when I want to easily align different elements in nice grids, tables are just the easiest option, but you can of course use divs if that&#8217;s what you prefer. Each input element has both an id and a name which are needed for processing the input with javascript and PHP and for styling the form with CSS. We&#8217;ll see how all of these values work together soon.</p>
<pre class="brush: html; gutter: true; first-line: 35">			&lt;/form&gt;
			&lt;div id=&quot;response&quot;&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Here we are basically just closing all of the tags that we opened up above. However, line 36 contains a new &#8220;response&#8221; div that will contain the response of the processForm.php file when we try to submit a message to it. Again, you will see how this comes into play soon.</p>
<p>Now that you have this basic HTML structure, you should see something like this when you open up contact.html in your browser:</p>
<p><img class="aligncenter size-full wp-image-1399" title="BasicHTML" src="http://www.tutwow.com/wp-content/uploads/2012/01/BasicHTML.jpg" alt="" width="270" height="240" /></p>
<p>It&#8217;s not too pretty yet, but that&#8217;s where the next step comes in&#8230;</p>
<h1>Step 3 &#8211; CSS</h1>
<p>I always love it when I get to the CSS portion of my designing. There&#8217;s something about taking an ugly and deformed hunk of content and crafting it to beautiful pixel perfection that just sets my heart to racing. Okay, that might be going a bit far, but that&#8217;s not really all that far off.</p>
<p>Start by creating a new file next to contact.html named <strong>style.css</strong>. Remember that line in the head of contact.html where we included style.css? Yup, this is the very same one. What a funny coincidence. Anyway, in this new css file, put in this code:</p>
<pre class="brush: css; gutter: true">body {
	background: #24333d;
	color: #4a606f;
	font: 21px &#039;Helvetica&#039;, &#039;Arial&#039;, sans-serif;
	margin: 0;
	padding: 50px 0 0;
}

h1 {
	color: #24333c;
	font-size: 48px;
	font-weight: normal;
	margin: 25px 0 15px;
	text-align: center;
}

#wrap {
	background: #eaf0f4;
	border: 5px solid #7a91a1;
	margin: auto;
	width: 500px;
}

form {
	padding: 0;
	margin: 0 0 20px;
}
table {
	margin: 0 auto;
}
tr, td, input, textarea {
	margin: 0;
	padding: 0;
}
td {
	padding: 0 0 5px;
}
tr td:first-child {
	padding-right: 10px;
	padding-top: 11px;
	text-align: right;
	vertical-align: top;
}
.error[generated=true] {
	color: #dc0000;
	font-size: 16px;
	padding: 5px 0 2px 5px;
}
tr.error td {
	padding: 0;
}
input, textarea {
	background: #FFF;
	border: 3px solid #7a91a1;
	font: inherit;
	font-size: 16px;
	line-height: 29px;
	min-height: 30px;
	padding: 5px 10px;
	width: 300px;
}
input:focus, textarea:focus {
	border-color: #b0c3d0;
	outline: none;
}
textarea {
	height: 240px;
	resize: vertical;
}
input[type=submit] {
	background: #24333d;
	color: #FFF;
	font: inherit;
	padding: 7px 20px;
	width: auto;
}

#response {
	margin-bottom: 20px;
	text-align: center;
}
#response .success {
	color: #08a300;
}
#response .failure {
	color: #dc0000;
}</pre>
<p>Now I could go through each selector and tell you exactly what everything in here does, but that would ruin the fun of you figuring it out yourself (plus it would take a long time for me to write and for you to read, which would be boring for everyone). So take a look at it yourself and see if you can figure out everything that&#8217;s going on. If you run into something you don&#8217;t understand, there&#8217;s this <a href="http://lmgtfy.com/?q=Help!+I+can%27t+figure+out+what+this+code+does!">amazing tool</a> that can help you with basically every aspect of coding that you should <a href="http://lmgtfy.com/?q=Help!+I+can%27t+figure+out+what+this+code+does!">take a look at</a>. It&#8217;s a lifesaver and you should learn to use it if you ever want to get anywhere with your web design.</p>
<p>Some of the things in that CSS have to do with errors and responses, and you probably don&#8217;t know what those mean yet. Don&#8217;t fret, my friend, for soon you will be an expert on errors and responses &#8211; just as soon as we take a look at the javascript portion of this contact form. Now you should have something that looks like this if you refresh contact.html:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2012/01/Stylish.jpg" rel="lightbox[1375]"><img class="aligncenter size-large wp-image-1403" title="Styled Up" src="http://www.tutwow.com/wp-content/uploads/2012/01/Stylish-540x579.jpg" alt="" width="540" height="579" /></a></p>
<p>Not too bad!</p>
<h1>Step 4 – Javascript</h1>
<p>Now we get to the fun part – making everything actually work (to some extent)! More specifically, by adding javascript to this contact form, we will be adding validation (making sure the user enters acceptable things into the different fields) and ajax in a nice blend of usefulness. You’ll see what I mean soon enough.</p>
<p>Remember when we referenced contact.js in the HTML file? That’s right, now it’s time to create it! Here we go: inside the js folder that you created in step 1, create a new file and name it <strong>contact.js</strong>. This will hold all of our jQuery goodness. More specifically, it will look like this:</p>
<pre class="brush: javascript; gutter: true; first-line: 1">$(function() {
	// Validate the contact form
  $(&#039;#contactform&#039;).validate({
  	// Specify what the errors should look like
  	// when they are dynamically added to the form
  	errorElement: &quot;label&quot;,
  	wrapper: &quot;td&quot;,
  	errorPlacement: function(error, element) {
  		error.insertBefore( element.parent().parent() );
  		error.wrap(&quot;&lt;tr class=&#039;error&#039;&gt;&lt;/tr&gt;&quot;);
  		$(&quot;&lt;td&gt;&lt;/td&gt;&quot;).insertBefore(error);
  	},

  	// Add requirements to each of the fields
  	rules: {
  		name: {
  			required: true,
  			minlength: 2
  		},
  		email: {
  			required: true,
  			email: true
  		},
  		message: {
  			required: true,
  			minlength: 10
  		}
  	},

  	// Specify what error messages to display
  	// when the user does something horrid
  	messages: {
  		name: {
  			required: &quot;Please enter your name.&quot;,
  			minlength: jQuery.format(&quot;At least {0} characters required.&quot;)
  		},
  		email: {
  			required: &quot;Please enter your email.&quot;,
  			email: &quot;Please enter a valid email.&quot;
  		},
  		message: {
  			required: &quot;Please enter a message.&quot;,
  			minlength: jQuery.format(&quot;At least {0} characters required.&quot;)
  		}
  	},

  	// Use Ajax to send everything to processForm.php
  	submitHandler: function(form) {
  		$(&quot;#send&quot;).attr(&quot;value&quot;, &quot;Sending...&quot;);
  		$(form).ajaxSubmit({
  			target: &quot;#response&quot;,
  			success: function(responseText, statusText, xhr, $form) {
  				$(form).slideUp(&quot;fast&quot;);
  				$(&quot;#response&quot;).html(responseText).hide().slideDown(&quot;fast&quot;);
  			}
  		});
  		return false;
  	}
  });
});</pre>
<p>Yes, that&#8217;s a lot of code to wade through. Let&#8217;s get into it.</p>
<pre class="brush: javascript; gutter: true">$(function() {</pre>
<p>If you have used jQuery before, this should look very familiar. This is jQuery&#8217;s way of waiting until the page is loaded to execute something. Anything inside the function&#8217;s curly brackets will run as soon as the page has finished loading.</p>
<pre class="brush: javascript; gutter: true; first-line: 2">// Validate the contact form
  $(&#039;#contactform&#039;).validate({</pre>
<p>This is telling the Validate plugin that we downloaded and included earlier to validate the #contactform form. By using a plugin instead of validating everything ourselves, everything is just easier for everyone.</p>
<pre class="brush: javascript; gutter: true; first-line: 4">// Specify what the errors should look like
  	// when they are dynamically added to the form
  	errorElement: &quot;label&quot;,
  	wrapper: &quot;td&quot;,
  	errorPlacement: function(error, element) {
  		error.insertBefore( element.parent().parent() );
  		error.wrap(&quot;&lt;tr class=&#039;error&#039;&gt;&lt;/tr&gt;&quot;);
  		$(&quot;&lt;td&gt;&lt;/td&gt;&quot;).insertBefore(error);
  	},</pre>
<p>Though the validate() function works great without any help, we need to give it some extra info so that it will display everything nicely. These first few options deal with where we should display errors when the user types in something they shouldn&#8217;t. You can read about all of the possible options on <a href="http://docs.jquery.com/Plugins/Validation/validate#toptions">this page</a>.</p>
<p>Here&#8217;s what the different arguments do:</p>
<ul>
<li><strong>errorElement</strong>: What element the error message will be placed in. The reason I chose to put it in a label is so that if the user clicks on the error, it will automatically focus the correct text box for them.</li>
<li><strong>wrapper</strong>: Basically like errorElement &#8211; it wraps the error, including the label, in a td tag.</li>
<li><strong>errorPlacement</strong>: A function that specifies where the error should be placed after it is generated. It looks complicated, but really all we are doing is putting it in a tr element next to the tr that the input box is in, and adding an empty td tag before the error to push the error to the right. You&#8217;ll see what I mean if you take a look at the code of the page after an error is generated.</li>
</ul>
<pre class="brush: javascript; gutter: true; first-line: 14">  	// Add requirements to each of the fields
  	rules: {
  		name: {
  			required: true,
  			minlength: 2
  		},
  		email: {
  			required: true,
  			email: true
  		},
  		message: {
  			required: true,
  			minlength: 10
  		}
  	},</pre>
<p>The rules option specifies the details of each input element in the contact form. As you can see, every one of the inputs is required, and the name and message text boxes have minimum amounts of characters allowed. The email text box has a special parameter which tells the Validate plugin that it is an email element. This ensures that any email entered into the form will truly be an email and not just something like &#8220;asdf.&#8221;</p>
<pre class="brush: javascript; gutter: true; first-line: 30">  	// Specify what error messages to display
  	// when the user does something horrid
  	messages: {
  		name: {
  			required: &quot;Please enter your name.&quot;,
  			minlength: jQuery.format(&quot;At least {0} characters required.&quot;)
  		},
  		email: {
  			required: &quot;Please enter your email.&quot;,
  			email: &quot;Please enter a valid email.&quot;
  		},
  		message: {
  			required: &quot;Please enter a message.&quot;,
  			minlength: jQuery.format(&quot;At least {0} characters required.&quot;)
  		}
  	},</pre>
<p>As you can see, this messages option looks suspiciously like the rules option we just looked at. The reason for this is that in this option we specify what error messages to show the user when they break one of the rules we just set up. For example, if the name that they enter doesn&#8217;t meet the minimum length requirement, it will say &#8220;At least 2 characters required.&#8221;</p>
<pre class="brush: javascript; gutter: true; first-line: 47">  	// Use Ajax to send everything to processForm.php
  	submitHandler: function(form) {</pre>
<p>This line of code is yet another option that we&#8217;re passing the Validate plugin, this time specifying what should happen when the form is submitted (with no errors). Let&#8217;s take a look at what&#8217;s going to happen when the Send button is clicked:</p>
<pre class="brush: javascript; gutter: true; first-line: 49">$(&quot;#send&quot;).attr(&quot;value&quot;, &quot;Sending...&quot;);</pre>
<p>So when the form is submitted, we begin by changing the text in the submit button from &#8220;Send!&#8221; to &#8220;Sending&#8230;.&#8221; The reason for this is that the Ajax server request takes a few seconds, so we want to make sure that the user knows something&#8217;s going on.</p>
<pre class="brush: javascript; gutter: true; first-line: 50">  		$(form).ajaxSubmit({
  			success: function(responseText, statusText, xhr, $form) {
  				$(form).slideUp(&quot;fast&quot;);
  				$(&quot;#response&quot;).html(responseText).hide().slideDown(&quot;fast&quot;);
  			}
  		});</pre>
<p>The cool thing about this form is that it doesn&#8217;t reload the page when the Send button is pressed, it just sends the email asynchronously (in the background). It&#8217;s called using Ajax, and it&#8217;s pretty nifty. These lines of code use the other plugin we downloaded at the start &#8211; the Form plugin &#8211; to do all the Ajax kungfooery. We pass just one parameter to the ajaxSubmit function: <strong>success</strong>. This tells the form what to do when the form is submitted successfully. In there we tell the entire form to hide itself by sliding up, and we then insert the response text into the #response div.</p>
<p>Here&#8217;s how it works: The user fills in the form and hits the send button, and the content is sent to processForm.php to be emailed. If there are no errors with the sending of the email and it is sent successfully, the processForm file sends back a message to contact.html saying &#8220;Success!&#8221; However, if there is an error along the way, it sends back a &#8220;Failed!&#8221; message. This message (either success or failure) is then put into the #response div.</p>
<p>That&#8217;s it for the javascript! Now the form should validate correctly, and if you type in some bogus information, it will give you pretty errors like this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2012/01/Errors.jpg" rel="lightbox[1375]"><img class="alignnone size-large wp-image-1422" title="Errors" src="http://www.tutwow.com/wp-content/uploads/2012/01/Errors-540x656.jpg" alt="" width="540" height="656" /></a></p>
<h1>Step 5 – PHP</h1>
<p>We&#8217;re onto the final section of our little contact form &#8211; PHP! The purpose of the PHP is first off to actually send the message that the user typed into the form, and secondly to do some additional error validation. Why do we need to do more validation, you ask? Why can&#8217;t we just rely on the javascript to catch everything? Well, think about what would happen if the user doesn&#8217;t have javascript enabled when they submit the form – no errors will occur! All of their data, including anything that might be erroneous, will be emailed to you, and that&#8217;s not what you want. So we&#8217;re forced to repeat all of the validating that we did before in javascript, this time in PHP. Here we go!</p>
<p>Create another file &#8211; the final file &#8211; and name it <strong>processForm.php</strong>. In it, put the following code:</p>
<pre class="brush: php; gutter: true">&lt;?php

// Clean up the input values
foreach($_POST as $key =&gt; $value) {
	if(ini_get(&#039;magic_quotes_gpc&#039;))
		$_POST[$key] = stripslashes($_POST[$key]);

	$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}

// Assign the input values to variables for easy reference
$name = $_POST[&quot;name&quot;];
$email = $_POST[&quot;email&quot;];
$message = $_POST[&quot;message&quot;];

// Test input values for errors
$errors = array();
if(strlen($name) &lt; 2) {
	if(!$name) {
		$errors[] = &quot;You must enter a name.&quot;;
	} else {
		$errors[] = &quot;Name must be at least 2 characters.&quot;;
	}
}
if(!$email) {
	$errors[] = &quot;You must enter an email.&quot;;
} else if(!validEmail($email)) {
	$errors[] = &quot;You must enter a valid email.&quot;;
}
if(strlen($message) &lt; 10) {
	if(!$message) {
		$errors[] = &quot;You must enter a message.&quot;;
	} else {
		$errors[] = &quot;Message must be at least 10 characters.&quot;;
	}
}

if($errors) {
	// Output errors and die with a failure message
	$errortext = &quot;&quot;;
	foreach($errors as $error) {
		$errortext .= &quot;&lt;li&gt;&quot;.$error.&quot;&lt;/li&gt;&quot;;
	}
	die(&quot;&lt;span class=&#039;failure&#039;&gt;The following errors occured:&lt;ul&gt;&quot;. $errortext .&quot;&lt;/ul&gt;&lt;/span&gt;&quot;);
}

// Send the email
$to = &quot;YOUR_EMAIL&quot;;
$subject = &quot;Contact Form: $name&quot;;
$message = &quot;$message&quot;;
$headers = &quot;From: $email&quot;;

mail($to, $subject, $message, $headers);

// Die with a success message
die(&quot;&lt;span class=&#039;success&#039;&gt;Success! Your message has been sent.&lt;/span&gt;&quot;);

// A function that checks to see if
// an email is valid
function validEmail($email)
{
   $isValid = true;
   $atIndex = strrpos($email, &quot;@&quot;);
   if (is_bool($atIndex) &amp;&amp; !$atIndex)
   {
      $isValid = false;
   }
   else
   {
      $domain = substr($email, $atIndex+1);
      $local = substr($email, 0, $atIndex);
      $localLen = strlen($local);
      $domainLen = strlen($domain);
      if ($localLen &lt; 1 || $localLen &gt; 64)
      {
         // local part length exceeded
         $isValid = false;
      }
      else if ($domainLen &lt; 1 || $domainLen &gt; 255)
      {
         // domain part length exceeded
         $isValid = false;
      }
      else if ($local[0] == &#039;.&#039; || $local[$localLen-1] == &#039;.&#039;)
      {
         // local part starts or ends with &#039;.&#039;
         $isValid = false;
      }
      else if (preg_match(&#039;/\\.\\./&#039;, $local))
      {
         // local part has two consecutive dots
         $isValid = false;
      }
      else if (!preg_match(&#039;/^[A-Za-z0-9\\-\\.]+$/&#039;, $domain))
      {
         // character not valid in domain part
         $isValid = false;
      }
      else if (preg_match(&#039;/\\.\\./&#039;, $domain))
      {
         // domain part has two consecutive dots
         $isValid = false;
      }
      else if(!preg_match(&#039;/^(\\\\.|[A-Za-z0-9!#%&amp;`_=\\/$\&#039;*+?^{}|~.-])+$/&#039;,
                 str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
      {
         // character not valid in local part unless
         // local part is quoted
         if (!preg_match(&#039;/^&quot;(\\\\&quot;|[^&quot;])+&quot;$/&#039;,
             str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
         {
            $isValid = false;
         }
      }
      if ($isValid &amp;&amp; !(checkdnsrr($domain,&quot;MX&quot;) || checkdnsrr($domain,&quot;A&quot;)))
      {
         // domain not found in DNS
         $isValid = false;
      }
   }
   return $isValid;
}

?&gt;</pre>
<p>That&#8217;s definitely the biggest file we&#8217;ve had yet. Let&#8217;s take a look at what&#8217;s going on.</p>
<pre class="brush: php; gutter: true; first-line: 1">&lt;?php

// Clean up the input values
foreach($_POST as $key =&gt; $value) {
	if(ini_get(&#039;magic_quotes_gpc&#039;))
		$_POST[$key] = stripslashes($_POST[$key]);

	$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}</pre>
<p>This foreach statement is reading all of the variables in the $_POST array and sanitizing them. When you sanitize data, you make sure that it doesn&#8217;t contain anything harmful that could potentially hurt your website.</p>
<pre class="brush: php; gutter: true; first-line: 11">// Assign the input values to variables for easy reference
$name = $_POST[&quot;name&quot;];
$email = $_POST[&quot;email&quot;];
$message = $_POST[&quot;message&quot;];</pre>
<p>As the comment states, all we are doing here is putting each $_POST option into its own variable. That way it will be easier to access the variables later on (less typing).</p>
<pre class="brush: php; gutter: true; first-line: 16">// Test input values for errors
$errors = array();
if(strlen($name) &lt; 2) {
	if(!$name) {
		$errors[] = &quot;You must enter a name.&quot;;
	} else {
		$errors[] = &quot;Name must be at least 2 characters.&quot;;
	}
}
if(!$email) {
	$errors[] = &quot;You must enter an email.&quot;;
} else if(!validEmail($email)) {
	$errors[] = &quot;You must enter a valid email.&quot;;
}
if(strlen($message) &lt; 10) {
	if(!$message) {
		$errors[] = &quot;You must enter a message.&quot;;
	} else {
		$errors[] = &quot;Message must be at least 10 characters.&quot;;
	}
}</pre>
<p>Here we have the actual error testing for each of the variables we just initiated. As you can see, we are basically just performing all of the tests that we did in the Javascript. Every time we encounter an error, we pass the appropriate error message to the $errors array so that we can output all of the errors to the user.</p>
<pre class="brush: php; gutter: true; first-line: 38">if($errors) {
	// Output errors and die with a failure message
	$errortext = &quot;&quot;;
	foreach($errors as $error) {
		$errortext .= &quot;&lt;li&gt;&quot;.$error.&quot;&lt;/li&gt;&quot;;
	}
	die(&quot;&lt;span class=&#039;failure&#039;&gt;The following errors occured:&lt;ul&gt;&quot;. $errortext .&quot;&lt;/ul&gt;&lt;/span&gt;&quot;);
}</pre>
<p>If there were any errors, we output them to the screen in a nicely formatted list, and then we kill the page using the handy die() function.</p>
<pre class="brush: php; gutter: true; first-line: 47">// Send the email
$to = &quot;YOUR_EMAIL&quot;;
$subject = &quot;Contact Form: $name&quot;;
$message = &quot;$message&quot;;
$headers = &quot;From: $email&quot;;

mail($to, $subject, $message, $headers);

// Die with a success message
die(&quot;&lt;span class=&quot;success&quot;&gt;Success! Your message has been sent.&lt;/span&gt;&quot;);</pre>
<p>Now we get to actually send the email! Whoop! First we set all the appropriate variables (change &#8220;YOUR_EMAIL&#8221; to whatever email address you want the messages to be sent to), and then we use PHP&#8217;s built-in mail() function to send the email.</p>
<p>That last line (the die function) is very important. It tells the scrip to kill itself once the email is sent, which does one of two things. If the user has javascript enabled, this die function will send the success message contained in itself back to the javascript file we created in the last step, which will in turn update the #response div with the success text. However, if the user doesn&#8217;t have javascript enabled, the script will simply die and output the success message. It&#8217;s kind of like killing two birds with one stone, isn&#8217;t it?</p>
<pre class="brush: php; gutter: true; first-line: 58">// A function that checks to see if
// an email is valid
function validEmail($email)
{
   $isValid = true;
   $atIndex = strrpos($email, &quot;@&quot;);
   if (is_bool($atIndex) &amp;&amp; !$atIndex)
   {
      $isValid = false;
   }
   else
   {
      $domain = substr($email, $atIndex+1);
      $local = substr($email, 0, $atIndex);
      $localLen = strlen($local);
      $domainLen = strlen($domain);
      if ($localLen &lt; 1 || $localLen &gt; 64)
      {
         // local part length exceeded
         $isValid = false;
      }
      else if ($domainLen &lt; 1 || $domainLen &gt; 255)
      {
         // domain part length exceeded
         $isValid = false;
      }
      else if ($local[0] == &#039;.&#039; || $local[$localLen-1] == &#039;.&#039;)
      {
         // local part starts or ends with &#039;.&#039;
         $isValid = false;
      }
      else if (preg_match(&#039;/\\.\\./&#039;, $local))
      {
         // local part has two consecutive dots
         $isValid = false;
      }
      else if (!preg_match(&#039;/^[A-Za-z0-9\\-\\.]+$/&#039;, $domain))
      {
         // character not valid in domain part
         $isValid = false;
      }
      else if (preg_match(&#039;/\\.\\./&#039;, $domain))
      {
         // domain part has two consecutive dots
         $isValid = false;
      }
      else if(!preg_match(&#039;/^(\\\\.|[A-Za-z0-9!#%&amp;`_=\\/$\&#039;*+?^{}|~.-])+$/&#039;,
                 str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
      {
         // character not valid in local part unless
         // local part is quoted
         if (!preg_match(&#039;/^&quot;(\\\\&quot;|[^&quot;])+&quot;$/&#039;,
             str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
         {
            $isValid = false;
         }
      }
      if ($isValid &amp;&amp; !(checkdnsrr($domain,&quot;MX&quot;) || checkdnsrr($domain,&quot;A&quot;)))
      {
         // domain not found in DNS
         $isValid = false;
      }
   }
   return $isValid;
}

?&gt;</pre>
<p>This is a function that I found online (in <a href="http://www.linuxjournal.com/article/9585?page=0,3">this article</a>) that validates email addresses. It is very handy, and I use it in a lot of my projects because it covers so many different possibilities. If you want to, you can look through and see what it&#8217;s doing, but if you&#8217;re like me and don&#8217;t really care, you can just treat it like a black box and feed it email addresses. It works, believe me.</p>
<h1>Conclusion</h1>
<p>And that&#8217;s it! Now you know how to code a simple and secure contact form that you can easily implement on your own websites. It looks great, is very functional, and has good error checking &#8211; what more could you want?</p>
<h2><a href="http://img.tutwow.com/simplesecurecontact/contact.html">See the final result in action.</a></h2>
<h2><a href="http://www.tutwow.com/wp-content/uploads/2012/01/SimpleSecureContactForm-TutWow.zip">Download the files for this tutorial.</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/htmlcss/create-a-simple-and-secure-contact-form-with-jquery-and-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS Remove Textarea Scrollbar</title>
		<link>http://www.tutwow.com/htmlcss/css-remove-textarea-scrollbar/</link>
		<comments>http://www.tutwow.com/htmlcss/css-remove-textarea-scrollbar/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 18:33:58 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1359</guid>
		<description><![CDATA[One of the frustrations of browser testing is that Internet Explorer often renders elements of the page in ways you would never expect. This article will show you how to remove the nasty "disabled" scrollbar from textareas with CSS.]]></description>
			<content:encoded><![CDATA[<p>One of the frustrations of browser testing is that Internet Explorer often renders elements of the page in ways you would never expect. One such example is in scrollbars on textareas. IE (and some other browsers) likes to throw scrollbars into your textareas even when they&#8217;re not necessary.</p>
<p>Thankfully, there is a very simple and easy way to fix this.</p>
<h1>The Solution</h1>
<p>To fix this little annoyance, just add this one line of code to your textarea&#8217;s CSS:</p>
<pre>textarea {
     overflow: auto;
}</pre>
<p>That&#8217;s it! Easy, right? Now the scrollbar will only show when it&#8217;s <em>necessary</em>. In other words, it will be invisible until enough text is written in the textarea to grow beyond its bounds, in which case the bar will be shown.</p>
<h1>Want to <em>really</em> kill that scrollbar?</h1>
<p>Just add this line of code to your textarea&#8217;s CSS, and the scrollbar will <em>never</em> be shown, even if the user fills up the textarea!</p>
<pre>textarea {
     overflow: hidden;
}</pre>
<p>I wouldn&#8217;t recommend doing that unless you have a good reason, though, because you won&#8217;t be able to see what you&#8217;re typing into a textarea with that CSS. It can be useful sometimes, though. Try it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/htmlcss/css-remove-textarea-scrollbar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create a Shiny New iTunes Gift Card in Photoshop</title>
		<link>http://www.tutwow.com/photoshop/create-a-shiny-new-itunes-gift-card-in-photoshop/</link>
		<comments>http://www.tutwow.com/photoshop/create-a-shiny-new-itunes-gift-card-in-photoshop/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 23:47:01 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1238</guid>
		<description><![CDATA[The other day I got a $25 iTunes gift card from a relative. I was almost more excited than if I had gotten real money, because now I know that I have to spend $25 on music, and I can't spend it on anything else. :) That being said, I was surprised by how cool the actual card looked, so I thought I'd make a tutorial on how to recreate it in Photoshop. Random? Maybe. Cool? Definitely.]]></description>
			<content:encoded><![CDATA[<p>The other day I got a $25 iTunes gift card from a relative. I was almost more excited than if I had gotten real money, because now I know that I <em>have</em> to spend $25 on music, and I can&#8217;t spend it on anything else.  That being said, I was surprised by how cool the actual card looked, so I thought I&#8217;d make a tutorial on how to recreate it in Photoshop. Random? Maybe. Cool? Definitely.</p>
<h1>Final Image</h1>
<p>Here&#8217;s what the card will look like when we&#8217;re done:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/Final.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1317" title="Final Result (woohoo!)" src="http://www.tutwow.com/wp-content/uploads/2011/02/Final-540x675.jpg" alt="" width="540" height="675" /></a></p>
<p>Shiny!</p>
<h1>Step 1 &#8211; New Document</h1>
<p>Ok, let&#8217;s get started.</p>
<p>Open up Photoshop and make a new document of the dimensions 800px by 100px. Double click on the Background layer and press enter in the dialog box that pops up to unlock it. Then double click on it again to open up the Layer Styles window. Apply a Gradient Overlay like the below image:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2010/11/BG-Gradient-Overlay.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1241" title="Gradient Overlay" src="http://www.tutwow.com/wp-content/uploads/2010/11/BG-Gradient-Overlay-540x411.jpg" alt="" width="540" height="411" /></a></p>
<p>That should give you this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2010/11/BG-Gradient-Final.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1244" title="BG Gradient Final" src="http://www.tutwow.com/wp-content/uploads/2010/11/BG-Gradient-Final-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 2</h1>
<p>Now we will create the actual iTunes gift card shape. Get the Rounded Rectangle Tool (U), and set the Radius to 10px. Drag out a shape similar to the one below (my rectangle is 304 x 475 pixels, if you&#8217;re a pixel perfectionist), and place it slightly above the center of the image.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2010/11/Card-Shape.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1245" title="Card Shape" src="http://www.tutwow.com/wp-content/uploads/2010/11/Card-Shape-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 3</h1>
<p>For the card background, you will need to download a stripe pattern from <a href="http://www.stripemania.com/stripecode/30-30-135-2-CC5F16-2-863600-FFCA1D-DDEE1E-DDEE1E-DDEE1E-78D316-78D316-78D316-78D316-78D316-no-no-yes-yes-yes-">Stripemania</a>. I already created the stripe for you, so all you need to do is <a href="http://www.stripemania.com/stripecode/30-30-135-2-CC5F16-2-863600-FFCA1D-DDEE1E-DDEE1E-DDEE1E-78D316-78D316-78D316-78D316-78D316-no-no-yes-yes-yes-">click this link</a> and click the &#8220;Download this stripe&#8221; button on that page.</p>
<p>Save the stripe image they give you to your computer somewhere, and open it up in Photoshop. Go to Edit &gt; Define Pattern, and name the pattern &#8220;Stripes&#8221;. Click ok and close the file.</p>
<p>Now you will have a nice orange stripe pattern that you can apply to your iTunes card. Switch back over to that document, double click the rectangular shape layer, and apply these layer styles:</p>
<h2>Inner Shadow</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/CardInnerShadow20.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1258" title="Inner Shadow" src="http://www.tutwow.com/wp-content/uploads/2011/02/CardInnerShadow20-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Inner Glow</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/CardInnerGlow.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1262" title="Inner Glow" src="http://www.tutwow.com/wp-content/uploads/2011/02/CardInnerGlow-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Satin</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/CardSatin.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1264" title="Satin" src="http://www.tutwow.com/wp-content/uploads/2011/02/CardSatin-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Pattern Overlay</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/CardPatternOverlay.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1266" title="Pattern Overlay" src="http://www.tutwow.com/wp-content/uploads/2011/02/CardPatternOverlay-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Result</h2>
<p>And that should give you this result:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/CardBGResult.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1269" title="Result" src="http://www.tutwow.com/wp-content/uploads/2011/02/CardBGResult-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 4</h1>
<p>Now let&#8217;s add some of the text and decorations to the card. First, go to <a href="http://http://vectorlogo.blogspot.com/2008/02/apple-logo-eps.html">this website</a> and download the Apple logo there. Go back into Photoshop, go to <strong>File &gt; Place</strong>, and choose the <em>apple_logo.eps</em> file that you just downloaded. Resize and move the logo into the position shown below (or close to it &#8211; you can change it later), and press enter to finish the place. Rasterize the logo layer by going to <strong>Layer &gt; Rasterize &gt; Layer</strong>, press <strong>D</strong> to reset your foreground and background colors, and press <strong>Control + Shift + Backspace</strong> to fill the logo with the background color (white).</p>
<p>You should now have this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/Logo.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1271" title="Logo" src="http://www.tutwow.com/wp-content/uploads/2011/02/Logo-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 5</h1>
<p>To add some text to the card, get out the type tool (<strong>T</strong>), and type out &#8220;iTunes&#8221; next to the Apple logo. Set the font to Myriad Pro, the weight to Semibold, and the size to 40 pt. If you don&#8217;t have the Myriad Pro font, you could use a substitute like Arial, Lucida Grande, or Helvetica.</p>
<p>Position the text like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/TextiTunes.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1273" title="iTunes Text" src="http://www.tutwow.com/wp-content/uploads/2011/02/TextiTunes-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 6</h1>
<p>Add a few more text layers, using the image below as a reference. Here are the font values for each of the different new text layers (they are all in the Myriad Pro font):</p>
<p><strong>25</strong>: 51 pt Semibold</p>
<p><strong>Gift Card</strong>: 13 pt Bold</p>
<p><strong>$</strong>: 24 pt Semibold</p>
<p><strong>Get the latest music&#8230;</strong>: 11 pt Semibold</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/TextOther.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1274" title="Other Text" src="http://www.tutwow.com/wp-content/uploads/2011/02/TextOther-540x675.jpg" alt="" width="540" height="675" /></a></p>
<p>Now that we have the text in the right places, let&#8217;s style them a bit. Double click the logo layer and enter the settings as follows:</p>
<h2>Drop Shadow</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/LogoDropShadow1.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1279" title="Logo Drop Shadow" src="http://www.tutwow.com/wp-content/uploads/2011/02/LogoDropShadow1-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Outer Glow</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/LogoOuterGlow.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1280" title="Logo Outer Glow" src="http://www.tutwow.com/wp-content/uploads/2011/02/LogoOuterGlow-540x411.jpg" alt="" width="540" height="411" /></a></p>
<h2>Gradient Overlay</h2>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/LogoGradientOverlay.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1277" title="Gradient Overlay" src="http://www.tutwow.com/wp-content/uploads/2011/02/LogoGradientOverlay-540x411.jpg" alt="" width="540" height="411" /></a></p>
<p>Press ok, and with that logo layer selected, go to <strong>Layer &gt; Layer Style &gt; Copy Layer Style</strong>. Click on each of the other text layers you just created and on each one go to <strong>Layer &gt; Layer Style &gt; Paste Layer Style</strong> or just right click on the layer and choose <strong>Paste Layer Style</strong>. This will replicate the style you just created onto each of the layers.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/TextStyles.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1281" title="Text Styles" src="http://www.tutwow.com/wp-content/uploads/2011/02/TextStyles-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 7</h1>
<p>Take the Rounded Rectangle tool (<strong>U</strong>), set the radius to something large (anything above ten will work), and drag out a shape that is 106 x 17 pixels. You can make sure your shape is exactly this size by clicking on the little arrow next to the Custom Shape tool icon in the toolbar and selecting &#8220;Fixed Size&#8221; like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RoundedRectangleFixedSize.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1282" title="Rounded Rectangle Fixed Size" src="http://www.tutwow.com/wp-content/uploads/2011/02/RoundedRectangleFixedSize.jpg" alt="" width="350" height="171" /></a></p>
<p>Drag it into position like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RoundedRectanglePosition.jpg" rel="lightbox[1238]"></a><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RoundedRectanglePosition1.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1284" title="Rounded Rectangle Position" src="http://www.tutwow.com/wp-content/uploads/2011/02/RoundedRectanglePosition1-540x675.jpg" alt="" width="540" height="675" /></a></p>
<p>Next take the Ellipse tool (<strong>U</strong>), and drag out a 20 x 20 ellipse (you can make sure it is perfectly round by holding <strong>Shift</strong> while creating it). Position it like this (I have made it white in the image so you can see it better &#8211; the actual color doesn&#8217;t matter):</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/EllipsePosition.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1285" title="Ellipse Position" src="http://www.tutwow.com/wp-content/uploads/2011/02/EllipsePosition-540x675.jpg" alt="" width="540" height="675" /></a></p>
<p>Take the Pen Tool (<strong>P</strong>), and by holding down <strong>Control</strong> and clicking in the ellipse you just created, select all of the points in the ellipse. Press <strong>Control + C</strong> to copy the points, click on the rounded rectangle layer you just created, and press <strong>Control + V</strong> to paste the points into that layer. Now select all the points in this rounded rectangle layer and in the same fashion copy them. Now click on the vector mask thumbnail of the original gift card layer (the one with the stripes), and paste the points into it. Press the &#8220;Subtract from path area&#8221; button in the toolbar (see the image below), to &#8220;cut out&#8221; those points from the layer.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/SubtractFromPathArea.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1286" title="Subtract From Path Area" src="http://www.tutwow.com/wp-content/uploads/2011/02/SubtractFromPathArea.jpg" alt="" width="484" height="31" /></a></p>
<p>You can now delete the rounded rectangle and ellipse layers.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/Tag.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1287" title="Tag" src="http://www.tutwow.com/wp-content/uploads/2011/02/Tag-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 8</h1>
<p>On to the headphones! Set your foreground color to white, grab the Line Tool (<strong>U</strong>), and drag out a 3 pixel line across the bottom third of the card shape. <strong>Control + Click</strong> on the card shape layer&#8217;s thumbnail to make a selection of it, click on the line layer you just created, and go to <strong>Layer &gt; Layer Mask &gt; Reveal Selection</strong>. This ensures that the line won&#8217;t go out of the bounds of the card shape.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/WhiteLine.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1289" title="White Line" src="http://www.tutwow.com/wp-content/uploads/2011/02/WhiteLine.jpg" alt="" width="428" height="552" /></a></p>
<p>Take the Ellipse Tool (<strong>U</strong>) and drag out a 13 pixel circle, placing the circle in the center of the white line you just created. Then take the Pen Tool (<strong>P</strong>) and create a shape similar to the one below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordShape.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1290" title="Right Cord Shape" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordShape-540x497.jpg" alt="" width="540" height="497" /></a></p>
<p>Set the <strong>Fill</strong> opacity of the newly created shape layer to <strong>0%</strong>, double click on the layer, and apply a stroke with the following settings:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordStroke.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1291" title="Right Cord Stroke" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordStroke-540x411.jpg" alt="" width="540" height="411" /></a></p>
<p>That will give you this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordResult.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1292" title="Right Cord Result" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightCordResult.jpg" alt="" width="520" height="293" /></a></p>
<p>Duplicate this layer and go to <strong>Edit &gt; Transform &gt; Flip Horizontal</strong>. Drag the new layer into position like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightAndLeftCords.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1293" title="Right and Left Cords" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightAndLeftCords-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 9</h1>
<p>Take the Line Tool again and drag out a 3 px line like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudLine.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1294" title="Right Bud Line" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudLine.jpg" alt="" width="395" height="291" /></a></p>
<p>Press <strong>Control + T</strong> to enter transform mode for the shape, right click on the shape, and select Warp from the dropdown. Drag the controls until you get a result like below, and press Enter:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudWarp.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1295" title="Right Bud Warp" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudWarp.jpg" alt="" width="382" height="283" /></a></p>
<p>With the Pen Tool, draw out a shape like this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudShape.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1296" title="Right Bud Shape" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudShape.jpg" alt="" width="414" height="651" /></a></p>
<p>Take the Ellipse Tool and make an thin oval of <strong>4 x 26 pixels</strong> with the color <strong>#464646</strong>. <strong>Control + T</strong>ransform the shape, rotating it to the left and placing it over top the earbud shape you just created:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudOval.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1297" title="Right Bud Oval" src="http://www.tutwow.com/wp-content/uploads/2011/02/RightBudOval.jpg" alt="" width="425" height="422" /></a></p>
<p>Group the three layers you created in this step (the earbud cord, the earbud shape, and the gray oval) by selecting them and pressing <strong>Control + G</strong>, and duplicate the group by going to <strong>Layer &gt; Duplicate Group</strong>. With the new group selected, go to <strong>Edit &gt; Transform &gt; Flip Horizontal</strong>, and then move the group into position like in the image below.</p>
<p>And voilà! You have a sweet bow made out of iPod earbuds. Cool? I think so.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/Earbuds.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1298" title="Earbuds" src="http://www.tutwow.com/wp-content/uploads/2011/02/Earbuds-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 10</h1>
<p>All that&#8217;s left to do now is to add some cool &#8220;special effects&#8221; to the card, and we&#8217;ll be done.</p>
<p>To begin, create a new layer above all of the other layers in the document. Take the Elliptical Marquee Tool (<strong>M</strong>), and drag out a selection like the one in this image:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/GlossSelection.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1301" title="Gloss Selection" src="http://www.tutwow.com/wp-content/uploads/2011/02/GlossSelection-540x475.jpg" alt="" width="540" height="475" /></a></p>
<p>Fill the selection with white by pressing <strong>D</strong> and then <strong>Control + Backspace</strong>. Set the Blending Mode of the layer to <strong>Overlay</strong>, add a layer mask to the layer (<strong>Layer &gt; Layer Mask &gt; Reveal All</strong>), and drag out a <strong>Black to White Gradient</strong> on the layer mask so that you get a result like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/GlossGradient.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1302" title="Gloss Gradient" src="http://www.tutwow.com/wp-content/uploads/2011/02/GlossGradient.jpg" alt="" width="540" height="375" /></a></p>
<p>Lower the opacity of the layer to around <strong>20%</strong>. Duplicate the layer and transform the new layer, rotating it slightly to the right. That should give you this effect:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/GlossDouble.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1303" title="Gloss Double" src="http://www.tutwow.com/wp-content/uploads/2011/02/GlossDouble-540x295.jpg" alt="" width="540" height="295" /></a></p>
<p>Group the two layers you just created together, <strong>Control + Click</strong> on the gift card shape layer&#8217;s thumbnail (the one with the stripes) to create a selection of it, and add a mask to the group you just created by going to <strong>Layer &gt; Layer Mask &gt; Reveal Selection</strong>.</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/GlossResult.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1306" title="Gloss Result" src="http://www.tutwow.com/wp-content/uploads/2011/02/GlossResult-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 11</h1>
<p>What we need now is a shadow behind the card to give it a 3D look.</p>
<p>Find the card shape layer and duplicate it. Move the new layer to the bottom of the layers palette (right above the background layer that contains our blue gradient), press <strong>Control + G</strong> to add it to its own group, and then press <strong>Control + E</strong> to flatten the group. This is a quick way to rasterize the layer without having to go into menus.</p>
<p>Now that you have a flat layer, press <strong>D</strong> to reset your colors, and then press <strong>Alt + Shift + Backspace</strong> to fill the shape with black. Press <strong>Control + T</strong> and transform the layer down like so:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowTransform.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1307" title="Shadow Transform" src="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowTransform.jpg" alt="" width="367" height="132" /></a></p>
<p>Right click on the transformation controls and select <strong>Perspective</strong> from the dropdown. Drag the top right corner to the right so that you get this result:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowPerspective1.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1310" title="Shadow Perspective" src="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowPerspective1.jpg" alt="" width="485" height="187" /></a></p>
<p>Press Enter to apply the transformation, and then go to <strong>Filter &gt; Blur &gt; Gaussian Blur</strong>. Enter <strong>8.0</strong> for the blur amount, and press enter. Lower the opacity of this shadow layer to <strong>30%</strong>, and add a layer mask to it by going to <strong>Layer &gt; Layer Mask &gt; Reveal All</strong>. Take the Gradient Tool (<strong>G</strong>), and drag out a black-to-white gradient from above the shadow to its center, like below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowMask1.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1314" title="Shadow Mask" src="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowMask1.jpg" alt="" width="501" height="225" /></a></p>
<p>This will give you this effect:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowResult.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1312" title="Shadow Result" src="http://www.tutwow.com/wp-content/uploads/2011/02/ShadowResult-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 12</h1>
<p>What we need now is a good reflection under the card. Group all of the layers in your document together except for the background and shadow layers (i.e. the card and everything on it) by selecting them and pressing <strong>Control + G</strong>. Then duplicate the newly created group and press <strong>Control + E</strong> to merge the new group into a single flat layer.</p>
<p>With the new layer selected, press <strong>Control + T</strong>, right click somewhere in the document, and select <strong>Flip Vertical</strong> from the dropdown. Then drag the layer down so that it is just at the bottom of the original card, like so:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionTransform.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1313" title="Reflection Transform" src="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionTransform.jpg" alt="" width="417" height="607" /></a></p>
<p>Press Enter to apply the transformation, and decrease the opacity of the layer to <strong>20%</strong>. Add a layer mask to the layer and drag out a white-to-black gradient like this:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionMask.jpg" rel="lightbox[1238]"><img class="alignnone size-full wp-image-1315" title="Reflection Mask" src="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionMask.jpg" alt="" width="370" height="413" /></a></p>
<p>Check out that snazzy reflection!</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionResult.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1316" title="Reflection Result" src="http://www.tutwow.com/wp-content/uploads/2011/02/ReflectionResult-540x675.jpg" alt="" width="540" height="675" /></a></p>
<h1>Step 13</h1>
<p>To finish off this shiny new iTunes gift card, let&#8217;s add a bit of a sparkle to the top right corner. Go to <a href="http://graphicssoft.about.com/od/photoshopbrushes/ss/leprakawn.htm">this website</a> and download the glint brushes on that page. Load them into Photoshop, get out your Brush Tool, and select the fifth brush in the set (its size is 269 pixels). Set your foreground color to white by pressing <strong>D</strong> and <strong>X</strong>. Make a new layer above all of the other layers in the document, decrease the brush size to about 150 pixels, and click once on the top right corner of the card to create the sparkle. Press <strong>Control + T</strong> and rotate the sparkle about <strong>60 degrees</strong> to the right to complete the effect.</p>
<h1>Conclusion</h1>
<p>And we&#8217;re done! Give yourself a pat on the back and take a look at the result below:</p>
<p><a href="http://www.tutwow.com/wp-content/uploads/2011/02/Final.jpg" rel="lightbox[1238]"><img class="alignnone size-large wp-image-1317" title="Final Result (woohoo!)" src="http://www.tutwow.com/wp-content/uploads/2011/02/Final-540x675.jpg" alt="" width="540" height="675" /></a></p>
<p><strong>Update:</strong> You can now <a title="Download!" href="http://www.tutwow.com/wp-content/uploads/2011/02/ShinyiTunesCard.psd">download the PSD file</a> for this tutorial!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/photoshop/create-a-shiny-new-itunes-gift-card-in-photoshop/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Win $25 Worth of Prints at Next Day Flyers!</title>
		<link>http://www.tutwow.com/giveaway/win-25-worth-of-prints-at-next-day-flyers/</link>
		<comments>http://www.tutwow.com/giveaway/win-25-worth-of-prints-at-next-day-flyers/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 19:45:38 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Giveaway]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1221</guid>
		<description><![CDATA[Hey everyone! Today our good friends over at Next Day Flyers have offered to host a giveaway here at TutWow. It's a win-win situation - they get the publicity, and you guys (or at least one of you guys) get a $25 printing credit to their online store. Look below to find out how to win.]]></description>
			<content:encoded><![CDATA[<p>Hey everyone! Today our good friends over at Next Day Flyers have offered to host a giveaway here at TutWow. It&#8217;s a win-win situation &#8211; they get the publicity, and you guys (or at least <em>one</em> of you guys) get a $25 printing credit to their online store. Look below to find out how to win.</p>
<h1>About Next Day Flyers</h1>
<p><img class="alignnone size-full wp-image-1222" title="NextDayFlyers.com Web Logo" src="http://www.tutwow.com/wp-content/uploads/2010/10/NextDayFlyers.com-Web-Logo.jpg" alt="" width="280" height="76" /></p>
<p>Next Day Flyers is an online company that offers printing services. You can choose from a whole bunch of different items such as <a href="http://www.nextdayflyers.com/business-card-printing/">business cards</a> and <a href="http://www.nextdayflyers.com/postcard-printing-marketing/">postcards</a>, and in return you get great high quality prints.</p>
<h1>How to win</h1>
<p>Alright already, how do you win the $25 credit? It&#8217;s simple &#8211; all you have to do is leave a comment on this post asking to win! Please make sure to give us a valid email address so that we can contact you if you win. Remember, you have to be 18 years of age or older to win. Sorry, kids!</p>
<p>The contest as ended!</p>
<h1>Winner!</h1>
<p>By using a very complicated and CPU-wearing function, I have been able to deduce the <strong>winner</strong> of the contest! And the winner is&#8230;<strong>Sam from the comments!</strong> Congrats, Sam &#8211; you should be getting an email with your credit very soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/giveaway/win-25-worth-of-prints-at-next-day-flyers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>6 URL Shorteners That Still Create Short URLs</title>
		<link>http://www.tutwow.com/roundups/6-url-shorteners-that-still-create-short-urls/</link>
		<comments>http://www.tutwow.com/roundups/6-url-shorteners-that-still-create-short-urls/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 14:23:03 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Roundups]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1215</guid>
		<description><![CDATA[With the burst in the popularity of social media sites over the past few years, massive amounts of people have started using URL shortening services like TinyURL to create small links that don't contain too many characters. This is how it works: say you have a really long, ugly URL like this one...]]></description>
			<content:encoded><![CDATA[<p>With the burst in the popularity of social media sites over the past few years, massive amounts of people have started using URL shortening services like <a href="http://tinyurl.com/">TinyURL</a> to create small links that don&#8217;t contain too many characters. This is how it works: say you have a really long, ugly URL like this one&#8230;</p>
<p><a href="http://www.amazon.com/JVC-FX34-GN-Marshmallow-Headphones-ear/dp/B001PPQJVI/ref=sr_1_2?ie=UTF8&amp;s=electronics&amp;qid=1286846958&amp;sr=1-2">http://www.amazon.com/JVC-FX34-GN-Marshmallow-Headphones-ear/dp/B001PPQJVI/ref=sr_1_2?ie=UTF8&amp;s=electronics&amp;qid=1286846958&amp;sr=1-2</a></p>
<p>&#8230;and say you want to put that URL into a Twitter status to show off to your friends. The only problem is that the URL is 129 characters long, and you only have 140 characters available in your Twitter status! This means that you only have 11 characters to write as a description of the URL, and as we all know, this would never do.</p>
<p>Enter the URL shortener.</p>
<p>URL shorteners do exactly what it sounds like &#8211; they simply take your URL and make a shorter version of it for you to use instead of the original. So, if we took the above long URL and put it through a shortening service, we would get something like this:</p>
<p><a href="http://shrt.st/o49">http://shrt.st/o49</a></p>
<p>Much shorter and easier to remember! And it leaves plenty of space in your Tweet to describe what&#8217;s in the link.</p>
<h1>The Problem</h1>
<p>There&#8217;s just one problem with URL shortening services, and that is that after a ton of people have used them, the URLs get longer and longer until they don&#8217;t really shorten your URL much anymore. For example, if I put a URL through the <a href="http://tinyurl.com/">TinyURL</a> service, I will get something like this:</p>
<p><a href="http://tinyurl.com/2fn2vo8">http://tinyurl.com/2fn2vo8</a></p>
<p>Sure, that URL is shorter than the original one, but it is still a good 26 characters long. How can you solve this problem? There is only one way &#8211; find a new service that hasn&#8217;t been used as much, and still has short URLs.</p>
<p>Below I have put together a list of five such URL shortening services, so that you can create super short URLs without worrying about extra characters. Under each heading I put what you get when you put the above Amazon URL through their service, and how long it is.</p>
<h1><a href="http://tinyarro.ws/">➡.ws</a></h1>
<p><a href="http://➡.ws/⌘瞂">http://➡.ws/⌘瞂</a> - 14 characters!</p>
<p>This service (tinyarro.ws) uses Unicode characters to create virtually the smallest URLs possible.</p>
<h1><a href="http://my.dot.tk/tweak/">Tweak</a></h1>
<p><a href="http://loyg4.tk">http://loyg4.tk</a> - 15 characters.</p>
<p>Tweak actually creates a custom <em>domain </em>name for your URL, meaning that there are no &#8220;trailing characters&#8221; in it like other services.</p>
<h1><a href="http://3.ly/">3.ly</a></h1>
<p><a href="http://3.ly/B3uv">http://3.ly/B3uv</a> - 16 characters.</p>
<h1><a href="http://0.mk/">0.mk</a></h1>
<p><a href="http://0.mk/b8027">http://0.mk/b8027</a> - 17 characters.</p>
<p>That&#8217;s a zero (0), not an &#8216;o&#8217;.</p>
<h1><a href="http://j.mp/">j.mp</a></h1>
<p><a href="http://j.mp/b1WGIc">http://j.mp/b1WGIc</a> - 18 characters.</p>
<p>j.mp uses this save service as <a href="http://bit.ly/">bit.ly</a>, which means that you can get statistics and click data on your shortened URLs.</p>
<h1><a href="http://is.gd/">is.gd</a></h1>
<p><a href="http://is.gd/fYDuU">http://is.gd/fYDuU</a> - 18 characters.</p>
<h1><a href="http://a.gd/">a.gd</a></h1>
<p><a href="http://a.gd/cf3dbd">http://a.gd/cf3dbd</a> - 18 characters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/roundups/6-url-shorteners-that-still-create-short-urls/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>10 Inspiring Web Design Groups on DeviantArt</title>
		<link>http://www.tutwow.com/roundups/10-inspiring-web-design-groups-on-deviantart/</link>
		<comments>http://www.tutwow.com/roundups/10-inspiring-web-design-groups-on-deviantart/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 15:22:54 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Roundups]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1183</guid>
		<description><![CDATA[DeviantArt is one of the best places to get design inspiration on any type of project. Wether it be web design, graphic design, or a different media, someone is sure to have posted something unique and inspiring related to it on the site. Here are 15 inspiring groups for you to follow.]]></description>
			<content:encoded><![CDATA[<p>DeviantArt is, in my opinion, the best place a designer can go to find inspiration on any type of project. Wether it be web design, graphic design, or a different media, someone is sure to have posted something unique and inspiring related to it on the site.</p>
<p>Below I have put together a list of 10 groups on DeviantArt that you should follow if you want to find great web design inspiration. Enjoy!</p>
<h1>1. <a href="http://artistunion.deviantart.com/">Artists Union</a></h1>
<p><a href="http://artistunion.deviantart.com/"><img class="size-full wp-image-1185 title=" src="http://www.tutwow.com/wp-content/uploads/2010/09/ArtistUnion.png" alt="" width="100" height="50" /></a></p>
<h1>2. <a href="http://devwebdesign.deviantart.com/">Dev Webdesign</a></h1>
<p><a href="http://devwebdesign.deviantart.com/"><img class="size-full wp-image-1188" title="devwebdesign" src="http://www.tutwow.com/wp-content/uploads/2010/09/devwebdesign.png" alt="" width="100" height="50" /></a></p>
<h1>3. <a href="http://1stwebdesigner.deviantart.com/">1st Web Designer</a></h1>
<p><a href="http://1stwebdesigner.deviantart.com/"><img class="size-full wp-image-1193" title="1stwebdesigner" src="http://www.tutwow.com/wp-content/uploads/2010/09/1stwebdesigner.png" alt="" width="100" height="50" /></a></p>
<h1>4. <a href="http://design-shell.deviantart.com/">Design Shell</a></h1>
<p><a href="http://design-shell.deviantart.com/"><img class="alignnone size-full wp-image-1194" title="design-shell" src="http://www.tutwow.com/wp-content/uploads/2010/09/design-shell.png" alt="" width="100" height="50" /></a></p>
<h1>5. <a href="http://iwebdesign-layouts.deviantart.com/">iWebDesign Layouts</a></h1>
<p><a href="http://iwebdesign-layouts.deviantart.com/"><img class="alignnone size-full wp-image-1195" title="iwebdesign-layouts" src="http://www.tutwow.com/wp-content/uploads/2010/09/iwebdesign-layouts.png" alt="" width="100" height="50" /></a></p>
<h1>6. <a href="http://designspot.deviantart.com/">Design Spot</a></h1>
<p><a href="http://designspot.deviantart.com/"><img class="alignnone size-full wp-image-1196" title="designspot" src="http://www.tutwow.com/wp-content/uploads/2010/09/designspot.png" alt="" width="100" height="50" /></a></p>
<h1>7. <a href="http://creative-inspiration.deviantart.com/">Creative Inspiration</a></h1>
<p><a href="http://creative-inspiration.deviantart.com/"><img class="alignnone size-full wp-image-1197" title="creative-inspiration" src="http://www.tutwow.com/wp-content/uploads/2010/09/creative-inspiration.gif" alt="" width="100" height="50" /></a></p>
<h1>8. <a href="http://templateartists.deviantart.com/">Template Artists</a></h1>
<p><a href="http://templateartists.deviantart.com/"><img class="alignnone size-full wp-image-1198" title="templateartists" src="http://www.tutwow.com/wp-content/uploads/2010/09/templateartists.png" alt="" width="100" height="50" /></a></p>
<h1>9. <a href="http://designerscouch.deviantart.com/">Designers Couch</a></h1>
<p><a href="http://designerscouch.deviantart.com/"><img class="alignnone size-full wp-image-1199" title="designerscouch" src="http://www.tutwow.com/wp-content/uploads/2010/09/designerscouch.png" alt="" width="100" height="50" /></a></p>
<h1>10. <a href="http://92pixels.deviantart.com/">92pixels</a></h1>
<p><a href="http://92pixels.deviantart.com/"><img class="alignnone size-full wp-image-1200" title="92pixels" src="http://www.tutwow.com/wp-content/uploads/2010/09/92pixels.png" alt="" width="100" height="50" /></a></p>
<h1>11. <a href="http://mintdesign-pl.deviantart.com/">mintDesign</a></h1>
<p><a href="http://mintdesign-pl.deviantart.com/"><img class="alignnone size-full wp-image-1201" title="mintdesign-pl" src="http://www.tutwow.com/wp-content/uploads/2010/09/mintdesign-pl.png" alt="" width="100" height="50" /></a></p>
<h1>12. <a href="http://designmyworld.deviantart.com/">Design My World</a></h1>
<p><a href="http://designmyworld.deviantart.com/"><img class="alignnone size-full wp-image-1202" title="designmyworld" src="http://www.tutwow.com/wp-content/uploads/2010/09/designmyworld.png" alt="" width="100" height="50" /></a></p>
<h1>13. <a href="http://interfacespace.deviantart.com/">Interface Space</a></h1>
<p><a href="http://interfacespace.deviantart.com/"><img class="alignnone size-full wp-image-1203" title="interfacespace" src="http://www.tutwow.com/wp-content/uploads/2010/09/interfacespace.png" alt="" width="100" height="50" /></a></p>
<h1>14. <a href="http://worldofweb.deviantart.com/">World of Web</a></h1>
<p><a href="http://worldofweb.deviantart.com/"><img class="alignnone size-full wp-image-1204" title="worldofweb" src="http://www.tutwow.com/wp-content/uploads/2010/09/worldofweb.jpg" alt="" width="100" height="50" /></a></p>
<h1>15. <a href="http://design-addicts.deviantart.com/">Design Addicts</a></h1>
<p><a href="http://design-addicts.deviantart.com/"><img class="alignnone size-full wp-image-1205" title="design-addicts" src="http://www.tutwow.com/wp-content/uploads/2010/09/design-addicts.png" alt="" width="100" height="50" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/roundups/10-inspiring-web-design-groups-on-deviantart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Turn Your Mac Menu Bar Black</title>
		<link>http://www.tutwow.com/mac/turn-your-mac-menu-bar-black/</link>
		<comments>http://www.tutwow.com/mac/turn-your-mac-menu-bar-black/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 01:45:05 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1160</guid>
		<description><![CDATA[Mac OS is, in my opinion, the most beautiful operating system out there. Today I will show you how to turn the menu bar black instead of the usual gray.]]></description>
			<content:encoded><![CDATA[<p>Mac OS is, in my opinion, the most beautiful operating system out there. I won&#8217;t go into the reasons why I think this for the sake of limiting hot discussion, but I truly do love its design and user experience.</p>
<p>That being said, there are always those of us who like to customize our computers to crazy lengths just so that they look different from the &#8220;normal&#8221;. Thankfully, Mac has a lot of ways of doing just this (some of which I hope to write about in future articles), and one of them is by turning the menu bar at the top of the screen black with white text instead of the usual gray with black text.</p>
<h1>How?</h1>
<p>Let&#8217;s get down to the details:</p>
<ol>
<li>Go download the <a href="http://docs.blacktree.com/nocturne/nocturne">Nocturne app</a> from <a href="http://blacktree.com/">Blacktree</a>.</li>
<li>Install the app by dragging it into the Applications folder on your Mac.</li>
<li>Start the app and open up the preferences by pressing Cmd + , (comma).</li>
<li>Under the &#8220;Menu bar&#8221; section, click the box that says &#8220;Invert menu bar&#8221;.</li>
<li>Enjoy!</li>
</ol>
<h1>Why not use a different theming app?</h1>
<p>You might be wondering why I chose to use a big program like Nocturne (that has many other features besides menu bar inversion) instead of using an app specifically designed for changing the appearance of a mac (like ThemePark). The reason is that even though apps like ThemePark can change the menu bar background, they can&#8217;t change the menu bar font. So if you used ThemePark to make the menu bar black, the font would remain black as well, making the menus impossible to read. Nocturne, on the other hand, simply inverts the entire menu bar; so if you start out with a white menu bar with black text, you will end up with a black menu bar with white text.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/mac/turn-your-mac-menu-bar-black/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>7 Sleek NetNewsWire Styles</title>
		<link>http://www.tutwow.com/roundups/7-sleek-netnewswire-styles/</link>
		<comments>http://www.tutwow.com/roundups/7-sleek-netnewswire-styles/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 04:18:14 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Roundups]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1147</guid>
		<description><![CDATA[Though there are many, many RSS feed readers out there for Mac OS, my absolute favorite is one called NetNewsWire. In this article I have compiled a list of my favorite seven "styles" for the app.]]></description>
			<content:encoded><![CDATA[<p>Though there are many, many RSS feed readers out there for Mac OS, my absolute favorite is one called NetNewsWire. It is simple and streamlined, and it makes it very easy to plow through LOTS of feed items if you&#8217;re like me and have over 300 subscriptions.</p>
<p>Below I&#8217;ve compiled a list of seven of my favorite NetNewsWire &#8220;styles&#8221;, which are basically just different looks that you can give to it.</p>
<p>Feast your eyes on this goodness, and choose the one(s) you want to install!</p>
<h1>Default</h1>
<p>For reference, here is the default NetNewsWire style that comes pre-loaded with every installation:</p>
<p><img class="alignnone size-large wp-image-1163" title="Default" src="http://www.tutwow.com/wp-content/uploads/2010/06/Default-540x437.jpg" alt="" width="540" height="437" /></p>
<h1><a href="http://www.jetplanejournal.com/jetreader">JetReader</a></h1>
<p><a href="http://jetplanejournal.com/jetreader/"><img class="alignnone size-large wp-image-1164" title="JetReader" src="http://www.tutwow.com/wp-content/uploads/2010/06/JetReader-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://cameron.io/project/bullit/">Bullit</a></h1>
<p><a href="http://cameron.io/project/bullit/"><img class="alignnone size-large wp-image-1165" title="Bullit" src="http://www.tutwow.com/wp-content/uploads/2010/06/Bullit-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://www.legistyles.com/">Serif Black</a></h1>
<p><a href="http://www.legistyles.com/"><img class="alignnone size-large wp-image-1166" title="Serif Black" src="http://www.tutwow.com/wp-content/uploads/2010/06/Serif-Black-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://www.legistyles.com/">Serif White</a></h1>
<p><a href="http://www.legistyles.com/"><img class="alignnone size-large wp-image-1167" title="Serif White" src="http://www.tutwow.com/wp-content/uploads/2010/06/Serif-White-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://cleverdevil.org/article/58/readlight-for-netnewswire">ReadLight</a></h1>
<p><a href="http://cleverdevil.org/article/58/readlight-for-netnewswire"><img class="alignnone size-large wp-image-1168" title="ReadLight" src="http://www.tutwow.com/wp-content/uploads/2010/06/ReadLight-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://www.wootest.net/hardcover/">Hardcover</a></h1>
<p><a href="http://www.wootest.net/hardcover/"><img class="alignnone size-large wp-image-1169" title="Hardcover" src="http://www.tutwow.com/wp-content/uploads/2010/06/Hardcover-540x437.jpg" alt="" width="540" height="437" /></a></p>
<h1><a href="http://shawnblanc.net/2009/03/daring-serif-nnw-style/">Daring Serif</a></h1>
<p><a href="http://shawnblanc.net/2009/03/daring-serif-nnw-style/"><img class="alignnone size-large wp-image-1170" title="Daring Serif" src="http://www.tutwow.com/wp-content/uploads/2010/06/Daring-Serif-540x437.jpg" alt="" width="540" height="437" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/roundups/7-sleek-netnewswire-styles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix the YAPB &#8220;File Does Not Exist&#8221; Problem</title>
		<link>http://www.tutwow.com/tips/fix-the-yapb-file-does-not-exist-problem/</link>
		<comments>http://www.tutwow.com/tips/fix-the-yapb-file-does-not-exist-problem/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 17:57:08 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1149</guid>
		<description><![CDATA[Recently I installed the Wordpress "Yet Another Photoblog" (YAPB) plugin to use on my up-and-coming photoblog. I had heard a lot about it all over the web, and I figured that if it was so popular, I might as well give it a try.]]></description>
			<content:encoded><![CDATA[<p>Recently I installed the WordPress &#8220;Yet Another Photoblog&#8221; (YAPB) plugin to use on my up-and-coming photoblog. I had heard a lot about it all over the web, and I figured that if it was so popular, I might as well give it a try.</p>
<h1>The Problem</h1>
<p>Everything went well with YAPB until I decided to upload my first photo to my blog. I created a new post, added a title, image, and description, and pressed submit. Then I waited. And waited. And waited. After quite a while, the web page decided to load for me and it spewed a rather cryptic error that went along the lines of &#8220;Warning: unlink() [function.unlink]: No such file or directory&#8221;. Below that it simply said &#8220;Error: file does not exist!&#8221; My super-geeky brain didn&#8217;t seem to be working well that day, so I couldn&#8217;t seem to decipher the error until I turned to my extra-super-geeky friend Google and asked him what I should do.</p>
<p>A quick search showed that many other people seemed to be having the same problem, and when I searched a bit deeper, I managed to trace the solution.</p>
<h1>The Solution</h1>
<p>It&#8217;s quite simple, really:</p>
<ol>
<li><strong>Login</strong> to your WordPress admin area.</li>
<li>Navigate to <strong>Settings &gt; Miscellaneous</strong>.</li>
<li>In the <em>Store uploads in this folder</em> text box, enter &#8220;wp-content/uploads&#8221;.</li>
<li>Click the <em>Save Changes</em> button.</li>
</ol>
<p>That&#8217;s it! For some reason, when WordPress says that the default upload folder is wp-content/uploads, it&#8217;s really lying. Either that, or YAPB is holding a knife to its back and <em>making</em> it lie. Either way, the above steps should solve your problem once and for all. You can now upload photos to your photoblog happily ever after.</p>
<p>Let me know in the comments if this solution works for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/tips/fix-the-yapb-file-does-not-exist-problem/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Make a Glowing Landing Page in Photoshop</title>
		<link>http://www.tutwow.com/miscellaneous/make-a-glowing-landing-page-in-photoshop/</link>
		<comments>http://www.tutwow.com/miscellaneous/make-a-glowing-landing-page-in-photoshop/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 01:55:48 +0000</pubDate>
		<dc:creator>Ben Lind</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.tutwow.com/?p=1115</guid>
		<description><![CDATA[Though landing pages aren't usually recommended for your websites, every once in a while you run across an insanely awesome one that deserves the space it takes up. Today, we will (hopefully) be creating one such page in Photoshop for you to enjoy.]]></description>
			<content:encoded><![CDATA[<p>Though landing pages aren&#8217;t usually recommended for your websites, every once in a while you run across an insanely awesome one that deserves the space it takes up. Today, we will (hopefully) be creating one such page in Photoshop for you to enjoy.</p>
<h1>Final Result</h1>
<p>Here is what we will be creating:</p>
<p><img title="Final Result" src="http://www.tutwow.com/wp-content/uploads/2010/06/Final-540x540.jpg" alt="" width="540" height="540" /></p>
<h1>Step 1</h1>
<p>Let&#8217;s get started! First of all, open up Photoshop and create a new document of the dimensions 800 by 800 pixels (the size isn&#8217;t too important here). Set your foreground color to <strong>#6c8000</strong> and press Alt + Backspace to fill the <em>Background</em> layer with an olive green:</p>
<p><img class="size-large wp-image-1121 alignnone" title="Background Color" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step1BG-540x540.jpg" alt="" width="540" height="540" /></p>
<h1>Step 2</h1>
<p>Grab the Rounded Rectangle Tool (U) from the Tools palette, and in the top toolbar, enter these settings:</p>
<p><img class="size-full wp-image-1123 alignnone" title="Rectangle Settings" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step2Rect1.jpg" alt="" width="296" height="167" /></p>
<p>Notice that the radius is set to 200px, the width is 309px, and the height is 147px.</p>
<p>Now click somewhere in your document and you should get a nice oval shape. Make sure the oval shape layer is selected, press Ctrl + A to select the entire document, and then in the top toolbar (with the Move Tool selected) press the Align Vertical Centers and Align Horizontal Centers buttons. This is what those buttons look like:</p>
<p><img class="size-full wp-image-1124 alignnone" title="Align Vertical and Horizontal Centers" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step2Align.jpg" alt="" width="540" height="33" /></p>
<p>Press Ctrl + D to deselect everything, and now you should have your rounded rectangle centered to the document nicely like this:</p>
<p><img class="alignnone size-large wp-image-1125" title="Rounded Rectangle" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step2Rectangle-540x540.jpg" alt="" width="540" height="540" /></p>
<h1>Step 3</h1>
<p>Fill the rounded rectangle with <strong>#6c7f00</strong> by double clicking on the layer&#8217;s color thumbnail. Onto the layer effects! Double click on the rounded rectangle layer, and enter these settings:</p>
<h2>Drop Shadow</h2>
<p><img class="alignnone size-large wp-image-1127" title="Drop Shadow" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3DropShadow-540x411.jpg" alt="" width="540" height="411" /></p>
<h2>Inner Shadow</h2>
<p><img class="alignnone size-large wp-image-1128" title="Inner Shadow" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3InnerShadow-540x411.jpg" alt="" width="540" height="411" /></p>
<h2>Outer Glow</h2>
<p><img class="alignnone size-large wp-image-1129" title="Outer Glow" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3OuterGlow-540x411.jpg" alt="" width="540" height="411" /></p>
<h2>Gradient Overlay</h2>
<p><img class="alignnone size-large wp-image-1130" title="Gradient Overlay" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3GradientOverlay-540x411.jpg" alt="" width="540" height="411" /></p>
<h3>Gradient</h3>
<p><img class="alignnone size-large wp-image-1131" title="Gradient" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3Gradient-540x457.jpg" alt="" width="540" height="457" /></p>
<h2>Result</h2>
<p>That should give you this:</p>
<p><img class="alignnone size-large wp-image-1132" title="Result" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step3Result-540x540.jpg" alt="" width="540" height="540" /></p>
<h1>Step 4</h1>
<p>Now it&#8217;s time to spruce up our design a bit by adding some light &#8220;whisps&#8221; to the background. Go to <a title="Radial Brushes on QBrushes" href="http://qbrushes.net/photoshop-abstract-brushes/radial-brushes-photoshop-cs4-brushe/" target="_blank">this page on QBrushes</a> and download the Radial brushes featured there. Unzip the brushes and add them to Photoshop.</p>
<p>Create a new layer below the rounded rectangle layer, and select the tenth brush in the downloaded set (pictured below):</p>
<p><img class="alignnone size-full wp-image-1133" title="Brush 1" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step4Brush1.jpg" alt="" width="254" height="271" /></p>
<p>Press <strong>D</strong> and then <strong>X</strong> to reset your colors, and paint the brush behind your rectangle in this position:</p>
<p><img class="alignnone size-large wp-image-1134" title="Brush 1 Position" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step4Brush1Position-540x540.jpg" alt="" width="540" height="540" /></p>
<p>Now create a new layer above the brush layer but still below the rounded rectangle layer, and select the 12th brush in the set:</p>
<p><img class="alignnone size-full wp-image-1135" title="Brush 2" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step4Brush2.jpg" alt="" width="254" height="271" /></p>
<p>Paint the brush anywhere on the document, and then go to <strong>Edit &gt; Transform &gt; Flip Horizontal</strong>. Press Ctrl + T, and resize and position the brush to about this place in the image:</p>
<p><img class="alignnone size-large wp-image-1136" title="Brush 2 Position" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step4Brush2Position-540x540.jpg" alt="" width="540" height="540" /></p>
<p>Set the blending mode of both of the brush layers you just created to Color Dodge, and set the opacity to 60%, and you should get this:</p>
<p><img class="alignnone size-large wp-image-1137" title="Brushing Result" src="http://www.tutwow.com/wp-content/uploads/2010/06/Step4Result-540x540.jpg" alt="" width="540" height="540" /></p>
<h1>Step 5</h1>
<p>Now all that remains is to add the text to the image. Take the Type Tool (T), and make a new type layer in the middle of your oval. Type in two lines of text (you can say whatever you like, but I chose to say the truth: &#8220;TutWow &#8211; rocking your world&#8221; <img src='http://www.tutwow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), and in the Paragraph palette, set them to Center Justify.</p>
<p>I used the font &#8220;Gotham ExtraLight&#8221; for the first line of text, and &#8220;Gotham Light&#8221; for the second, but any thin font will work for this, like Helvetica Neue. I set the first line to 48pt size, the second to 18pt, and the color to white. Play around with the settings until you get the look you want.</p>
<p>Center the text to the oval, and you&#8217;re done!</p>
<h1>Final Result</h1>
<p><img class="alignnone size-large wp-image-1139" title="Final Result" src="http://www.tutwow.com/wp-content/uploads/2010/06/Final-540x540.jpg" alt="" width="540" height="540" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tutwow.com/miscellaneous/make-a-glowing-landing-page-in-photoshop/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

