<?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>Alpha Channel Group</title>
	<atom:link href="http://www.alphachannelgroup.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alphachannelgroup.com</link>
	<description>Web Development Done Right</description>
	<lastBuildDate>Mon, 04 Mar 2013 23:46:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Textarea Dynamic MaxLength jQuery Plugin</title>
		<link>http://www.alphachannelgroup.com/textarea-dynamic-maxlength-jquery-plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=textarea-dynamic-maxlength-jquery-plugin</link>
		<comments>http://www.alphachannelgroup.com/textarea-dynamic-maxlength-jquery-plugin/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 01:48:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web Programming]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=1011</guid>
		<description><![CDATA[I needed to set the max length of a textarea, but the textarea size was not known beforehand.  That is, some textareas might be large, some might be small, and there was no way to know what size they were. Since the textareas were part of a situation where the form was absolutely positioned, it [...]]]></description>
				<content:encoded><![CDATA[<p>I needed to set the max length of a textarea, but the textarea size was not known beforehand.  That is, some textareas might be large, some might be small, and there was no way to know what size they were.</p>
<p>Since the textareas were part of a situation where the form was absolutely positioned, it was imperative that the user could not enter more information than the textarea size.</p>
<p>Note that modern browsers allow you to resize a textarea &#8211; this can be overcome with some simple css:</p>
<pre name="code" class="css">textarea {
    resize: none;
}</pre>
<p>Now that the textarea size is fixed, I just need to limit the amount of text the user can enter, so that it doesn&#8217;t overflow the given space.</p>
<p>All of the javascript solutions out there assumed a predefined maxlength for the textarea.  But that&#8217;s a bit problematic, too &#8211; most fonts aren&#8217;t fixed-width, which means that some letters take more space than others.  I wanted to allow completely dynamic, automatic calculation of the space required, and limit the text based on that real information.</p>
<p>So, using some creative programming, I&#8217;ve developed a jQuery plugin that can determine the dynamic maximum size of the textarea, and limits the user input to that maximum length.</p>
<p>The code is simple to use. Just include the script file (there&#8217;s a link for you below), and then call the following line:</p>
<pre name="code" class="javascript">jQuery(function($) {
    $("textarea").textareaMaxLength();
});</pre>
<p>And voila! Your textareas magically will limit the amount of text to just the text that fits within the textarea.</p>
<p class="banner-button"><a href="http://www.alphachannelgroup.com/wp-content/uploads/2012/12/jquery.textareamaxlength.1.0.js">Download textareaMaxLength 1.0</a></p>
<h3>How it works</h3>
<p>Some of you are going to want to know how it works.  Here you go:</p>
<p>The plugin detects the key-up stroke in a textarea.  When the keyup takes places, it does the following:</p>
<ol>
<li>It creates a hidden div (off screen) with the same size, shape, and font properties as the textarea.</li>
<li>It adds the text from the textarea to that div</li>
<li>It compares the height of the hidden div (which is allowed to stretch vertically) to that of the textarea.</li>
<li>If the hidden div is taller than the textarea, it trims characters off the end of the input until the height is no longer too tall.</li>
<li>Once the focus has left the textarea (on blur), it removes the div from the DOM.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/textarea-dynamic-maxlength-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Sessions in WordPress themes and Plugins</title>
		<link>http://www.alphachannelgroup.com/using-sessions-in-wordpress-themes-and-plugins-without-hacking-core-files/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-sessions-in-wordpress-themes-and-plugins-without-hacking-core-files</link>
		<comments>http://www.alphachannelgroup.com/using-sessions-in-wordpress-themes-and-plugins-without-hacking-core-files/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 00:39:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Programming]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=999</guid>
		<description><![CDATA[Without hacking core files WordPress aims to be stateless, so it uses cookies, not sessions. Which is fine, except for there are things you may need to do that would best be accomplished by tapping into PHP&#8217;s sessions. But, there&#8217;s a problem: WordPress iterates over the $_SESSION variable and unsets any session data in wp-settings.php [...]]]></description>
				<content:encoded><![CDATA[<h2>Without hacking core files</h2>
<p>WordPress aims to be stateless, so it uses cookies, not sessions.</p>
<p>Which is fine, except for there are things you may need to do that would best be accomplished by tapping into PHP&#8217;s sessions.</p>
<p>But, there&#8217;s a problem: WordPress iterates over the $_SESSION variable and unsets any session data in wp-settings.php file.</p>
<p>There&#8217;s articles out there suggesting editing the wp-settings.php file, but I have a hard and fast rule about not modifying core files for WordPress (or Magento, or Open Cart), because the next time you update your installation (which is important for security), you may wipe your modifications.</p>
<p>There&#8217;s a better way.  Why not just hook the session_start AFTER wp-settings.php has run?</p>
<p>Simple as can be with just five lines of code.  First, we set up the action to hook into wp-loaded:</p>
<pre name="code" class="php">add_action('wp_loaded', 'start_my_custom_session');</pre>
<p>And then we set our function start_my_custom_session:</p>
<pre name="code" class="php">
function start_my_custom_session() {
	if (!session_id()) {
		session_start();
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/using-sessions-in-wordpress-themes-and-plugins-without-hacking-core-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing and Styling Magento Order Confirmation</title>
		<link>http://www.alphachannelgroup.com/custom-magento-order-confirmation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=custom-magento-order-confirmation</link>
		<comments>http://www.alphachannelgroup.com/custom-magento-order-confirmation/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 20:53:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=917</guid>
		<description><![CDATA[Magento is powerful, but man does it make some things more laborious than they need to be. Out of the box, Magento&#8217;s order confirmation is weak. The client wanted a more robust solution, and after scraping the web for resources and dumping class methods out, I was able to put together a very robust solution. [...]]]></description>
				<content:encoded><![CDATA[<p>Magento is powerful, but man does it make some things more laborious than they need to be.</p>
<p>Out of the box, Magento&#8217;s order confirmation is weak.  The client wanted a more robust solution, and after scraping the web for resources and dumping class methods out, I was able to put together a very robust solution.<br />
<span id="more-917"></span></p>
<h2>What to Edit</h2>
<p>First, you should no that all of this takes place in the your template file located here: <strong>app/design/frontend/[package]/[theme]/template/checkout/success.phtml</strong></p>
<h2>How to Test</h2>
<p>Second, testing the checkout can be daunting &#8211; unless you know a couple of little tips that make a big difference:</p>
<ol>
<li>Set your payment method to <strong>Test</strong> in your dashboard.  Then you can use a test credit card to checkout and get the success page to display.  (FYI, the Visa test card number is 4111111111111111)</li>
<li><strong>Temporarily</strong> edit a Magento Core code file to disable clearing session. In <strong>app/code/core/Mage/Checkout/controllers/OnepageController.php</strong>, comment out this line (at or about line 227):
<pre name="code" class="javascript">// $session->clear();</pre>
</li>
<li>Now you are ready to implement your code, and you can refresh the order confirmation page as many times as needed, and the content will display.</li>
</ol>
<h2>Displaying Order Details on the Order Confirmation Page</h2>
<pre name="code" class="php">
// First, let's load some Load order details
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order_details = Mage::getModel('sales/order')->loadByIncrementId($order_id);
</pre>
<h2>Displaying Shipping Address and Shipping Method</h2>
<pre name="code" class="php">
// Get shipping method
$shipping_method = $order_details->_data["shipping_description"];

// Get ship-to address information
$shipping_address_data = $order_details->getShippingAddress();

// Output the ship-to address information
echo "<br />" . $shipping_address_data['firstname'];
echo " " . $shipping_address_data['lastname'];
echo "<br />" . $shipping_address_data['street'];
echo "<br />" . $shipping_address_data['city'];
echo ", " . $shipping_address_data['region'];
echo " " . $shipping_address_data['postcode'];
echo "<br />" . $shipping_address_data['country_id'];
</pre>
<h2>Displaying Products</h2>
<pre class="php" name="code">
/*** Product Listing ***/
// Iterate through each product listing the sku, the name, the quantity ordered, and the item price
foreach ($order_details->getAllItems() as $item) {
     echo '<div class="product">';
     echo '<div class="line"><p class="name">Product:' . $item->getName() . '</p>';
     echo '<p class="price">' . Mage::helper("core")->currency($item->getPrice()) . '</p>';
     echo '<p class="qty">' . round($item->getQtyOrdered(), 0) . '</p>';
     echo '<p class="lineprice">' . Mage::helper("core")->currency($item->getPrice() * $item->getQtyOrdered()) . '</p>';
     echo '</div>';
     echo '<p class="model">SKU: ' . $item->getSku() . '</p>';
     echo '</div>';
}
// Get the product id from the item (useful later for loading product attribute information)
$product_id = $item->getData('product_id');
</pre>
<h2>Displaying Payment Method and Billing Address</h2>
<pre name="code" class="php">
// Get payment information
$payment_method = $order_details->getPayment()->getMethodInstance()->getTitle();

// Get billing address information
$billing_address_data   = $order_details->getBillingAddress();

// Output the billing address information
echo "<br />" . $billing_address_data['firstname'];
echo " " . $billing_address_data['lastname'];
echo "<br />" . $billing_address_data['street'];
echo "<br />" . $billing_address_data['city'];
echo ", " . $billing_address_data['region'];
echo " " . $billing_address_data['postcode'];
echo "<br />" . $billing_address_data['country_id'];  
</pre>
<h2>Displaying Order Summary Amounts</h2>
<pre name="code" class="php">
/*** Billing amounts ***/
// These leverage the Magento core helper to format the numbers to currency
echo '<p class="subtotal">Subtotal:<span class="amount">' . Mage::helper("core")->currency($order_details->subtotal)  . "</span></p>";
echo '<p class="tax">Tax:<span class="amount">' . Mage::helper("core")->currency($order_details->tax_amount)  . "</span></p>";
echo '<p class="discount">Discount:<span class="amount">' . Mage::helper("core")->currency($order_details->discount_amount) . "</span></p>";
echo '<p class="paid">Amount Paid:<span class="amount">' . Mage::helper("core")->currency($order_details->total_paid) . "</span></p>";
</pre>
<h2>Loading custom product attribute information</h2>
<pre name="code" class="php">
// Load the CMS helper
$_cmsHelper = Mage::helper('cms');
$_process = $_cmsHelper->getBlockTemplateProcessor();
// Load the product model class
$product = Mage::getModel('catalog/product');
// Load the product into the class
// Uses ID we loaded earlier - see block about looping through products
$product->load($product_id);
// Load the learn block into the variable so we can test the size before displaying
// NOTE: "learn" is the identifier of the attributed.  use the id you defined for the attribute
$block = $product->getData('learn');
if (strlen($block) > 20) {
     echo '<h3 class="title">Learn more about your new product</h3>';
     echo '<div class="learnmore">';
     // Run the block through the cms filter to get cms code rendered properly
     echo $_process->filter($block);
     echo '</div>';
}
</pre>
<h2>How to load a custom static CMS block into the order confirmation page directly</h2>
<pre name="code" class="php">
// Loads the CMS static block directly
// Note: the identifier for the cms block in this example is success_faq - adjust to suite your cms
echo $this->getLayout()->createBlock('cms/block')->setBlockId('success_faq')->toHtml();	   
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/custom-magento-order-confirmation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Denver County Courthouse</title>
		<link>http://www.alphachannelgroup.com/denver-county-courthouse/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=denver-county-courthouse</link>
		<comments>http://www.alphachannelgroup.com/denver-county-courthouse/#comments</comments>
		<pubDate>Thu, 12 Jul 2012 14:53:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=846</guid>
		<description><![CDATA[It is our pleasure to be working with the Denver County Court to redesign and build their website. They have the vision to create a government site that is easy to use, customer-centric, and visually appealing. The project is currently underway, and we look forward to working with the wonderful people at the court!]]></description>
				<content:encoded><![CDATA[<p>It is our pleasure to be working with the Denver County Court to redesign and build their website.  They have the vision to create a government site that is easy to use, customer-centric, and visually appealing.  The project is currently underway, and we look forward to working with the wonderful people at the court!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/denver-county-courthouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShutterMag</title>
		<link>http://www.alphachannelgroup.com/shuttermag/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shuttermag</link>
		<comments>http://www.alphachannelgroup.com/shuttermag/#comments</comments>
		<pubDate>Sun, 01 Jul 2012 14:56:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=850</guid>
		<description><![CDATA[A gorgeous photography magazine (for free!), ShutterMag is a powerful membership based content management site. With custom functionality throughout, and a gorgeous design, we&#8217;re thrilled to see it&#8217;s launch has been a major success! Congratulations!]]></description>
				<content:encoded><![CDATA[<p>A gorgeous photography magazine (for free!), <a href="http://www.behindtheshutter.com">ShutterMag</a> is a powerful membership based content management site.  With custom functionality throughout, and a gorgeous design, we&#8217;re thrilled to see it&#8217;s launch has been a major success! Congratulations!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/shuttermag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Octa</title>
		<link>http://www.alphachannelgroup.com/octa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=octa</link>
		<comments>http://www.alphachannelgroup.com/octa/#comments</comments>
		<pubDate>Fri, 15 Jun 2012 16:21:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Recent Projects]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=864</guid>
		<description><![CDATA[Manufacturers of the coolest iPad stand and handle ever, the people at Octa are a blast to work with. You just watch &#8211; they are going to make it big! I&#8217;ve had the pleasure of working with them over the past several months building out their website &#8211; truly a creative and artistic creation.]]></description>
				<content:encoded><![CDATA[<p>Manufacturers of the coolest iPad stand and handle ever, the people at <a href="http://www.octa.com">Octa</a> are a blast to work with.  You just watch &#8211; they are going to make it big!  I&#8217;ve had the pleasure of working with them over the past several months building out their website &#8211; truly a creative and artistic creation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/octa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to Recent Projects</title>
		<link>http://www.alphachannelgroup.com/welcome-to-recent-projects/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=welcome-to-recent-projects</link>
		<comments>http://www.alphachannelgroup.com/welcome-to-recent-projects/#comments</comments>
		<pubDate>Fri, 01 Jun 2012 16:17:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Recent Projects]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=861</guid>
		<description><![CDATA[While we&#8217;ve been in business for over 7 years, we haven&#8217;t done a good job in the past of keeping our website up to date. That all changes now &#8211; we&#8217;re going to start updating this category with highlights from the projects we are working on. For samples of projects we have been involved in [...]]]></description>
				<content:encoded><![CDATA[<p>While we&#8217;ve been in business for over 7 years, we haven&#8217;t done a good job in the past of keeping our website up to date.  That all changes now &#8211; we&#8217;re going to start updating this category with highlights from the projects we are working on.  For samples of projects we have been involved in the past, check out <a href="/portfolio">Our Portfolio</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/welcome-to-recent-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Make a Secure Password You Can Remember</title>
		<link>http://www.alphachannelgroup.com/how-to-makea-secure-password-you-can-remember/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-makea-secure-password-you-can-remember</link>
		<comments>http://www.alphachannelgroup.com/how-to-makea-secure-password-you-can-remember/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 22:28:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[passwords]]></category>

		<guid isPermaLink="false">http://www.alphachannelgroup.com/?p=938</guid>
		<description><![CDATA[Many people use lame passwords because hard ones can be difficult to remember. But that is dangerous. We have helped many people who have had an account hacked due to weak passwords. Does your password make the List of most common passwords? What Makes a Password Secure There are two elements of a secure password: [...]]]></description>
				<content:encoded><![CDATA[<p>Many people use lame passwords because hard ones can be difficult to remember.  But that is dangerous.  We have helped many people who have had an account hacked due to weak passwords.  Does your password make the <a href="http://splashdata.com/splashid/worst-passwords/index.htm" target="_blank">List of most common passwords?</a><br />
<span id="more-938"></span></p>
<h2>What Makes a Password Secure</h2>
<p>There are two elements of a secure password:</p>
<ol>
<li><strong>Length</strong>.  The longer the password, the more difficult it is for humans OR programs to guess or brute-force your password.  Make sure your password is AT LEAST 8 characters long</li>
<li><strong>Complexity</strong>.  Complexity simply means having more characters to choose from.  If you use a combination of lower case letters, upper case letters, numbers, and symbols (such as #, @, $, punctionation, etc), then your password is much more secure than one that is all lower-case letters.</li>
</ol>
<h2>A Hard Password Doesn&#8217;t Mean Hard To Remember</h2>
<p>Building a secure (or &#8220;hard&#8221;) password that is ALSO easy to remember is possible.  Just use these &#8220;tricks&#8221; to build your password so that you can remember it:</p>
<ol>
<li>Build a pretend word that is meaningful to you.<br />
<blockquote><p><strong>EXAMPLE:</strong><br />
If your name is Susan, and your husbands name is Thomas, and your Son&#8217;s name is Brandon, then build a short word that is a &#8220;mashup&#8221; of the first three letters of your name and their names, like so:<br />
                susthobra</p></blockquote>
<ul>
<li><strong>Why it works:</strong> It adds complexity to the password.</li>
<li><strong>Why it&#8217;s easy to remember:</strong>: If you use it naturally like the example, it uses information you already know.</li>
</ul>
</li>
<li>Use uppercase and lowercase letters.  Using #1 as an example, it&#8217;s simple (and would make sense) to make it:<br />
<blockquote><p><strong>EXAMPLE:</strong><br />
SusThoBra</p></blockquote>
<ul>
<li><strong>Why it works:</strong> It adds complexity to the password.</li>
<li><strong>Why it&#8217;s easy to remember:</strong>: If you use it naturally like the example, it just makes sense.</li>
</ul>
</li>
<li>&#8220;Haystack&#8221; your password by putting several letters or characters before and after the password.<br />
<blockquote><p><strong>EXAMPLES:</strong><br />
                ****susan****   is MUCH better than susan for a password<br />
                ((((susan))))<br />
                !!!!susan!!!!<br />
                &#8230;. you get the idea</p></blockquote>
<ul>
<li><strong>Why it works:</strong> Length is your friend when it comes to secure passwords, and haystacking makes adding length SIMPLE. (This is a technique developed by Steve Gibson of GRC)</li>
<li><strong>Why it&#8217;s easy to remember:</strong>: Rather than having to remember a long string of characters, you just remember that you add four # symbols before and after the password.</li>
</ul>
</li>
<li>Combine some things you already know by heart.<br />
<blockquote><p><strong>EXAMPLES:</strong><br />
                if your ATM pin number is 7799, then make your password susan7799 &#8211; better yet, !!!!susan7799!!!!<br />
                If your husbands birthday is October 21, you could use something like susan1021 &#8211; or better yet, ####susan1021####</p></blockquote>
<ul>
<li><strong>Why it Works:</strong> It adds length AND complexity.</li>
<li><strong>Why its easy to remember:</strong> It&#8217;s something you already know by heart.</li>
</ul>
<li>Use a &#8220;replacement&#8221; technique.  The number 4 LOOKS like an A, so you could replace the A in susan with 4, the letter S with a 5, an L with an exclamation (or number 1), etc.<br />
<blockquote><p><strong>EXAMPLES:</strong><br />
                replacing an A with a 4:  sus4n<br />
                Replacing an S with a 5: 5u54n<br />
                &#8230;etc (1 for L, or an $ for S, or an ! for i, etc)</p></blockquote>
<ul>
<li><strong>Why it Works:</strong> It adds complexity.</li>
<li><strong>Why its easy to remember:</strong> It&#8217;s something you can remember easily if you develop your own system, and use the visual similarities as reminders.</li>
</ul>
</li>
<li>Use a combination of these techniques to get a REALLY EXCELLENT password, that means something to you, but nobody else could possibly guess:<br />
<blockquote><p><strong>EXAMPLE:</strong><br />
using EVERY ONE of the techniques above (and using the Susan/Thomas/Brandon and pin examples)<br />
                ####5u5ThoBr47799####</p></blockquote>
<p>Notice how that looks like gibberish to you? BUT, if YOUR name was Susan, your husband was Thomas, and your sone was Brandon, and your PIN was 7799 &#8211; this would actually be meaningful to you, VERY secure, and easy to remember!
</li>
</ol>
<h3>Best Tip Ever</h3>
<p>Using a different password for each site is very important (don&#8217;t want someone who get&#8217;s your Facebook password to have access to your Bank Account!).  What&#8217;s the best way to manage and track them? The ONLY password manager I recommend: <a href="http://www.lastpass.com">LastPass</a>.  It&#8217;s secure (see <a href="http://www.grc.com/sn/sn-256.htm" target="_blank">this review on Security Now</a>), easy to use, and FREE.</p>
<h3>A word of Encouragement</h3>
<p>I know this seems complicated. I do.  Even if you just only use TWO of these techniques, your password will be much, much stronger than most.  AND, I promise that you can use all 5 techniques &#8211; just go through each step with words/names that are MEANINGFUL to you, and add on a number that is MEANINGFUL to you, I promise it does not end up complicated &#8211; it ends up to be a GREAT password that you can remember!  Always use at least 2 of these techniques &#8211; you&#8217;ll be glad you did!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/how-to-makea-secure-password-you-can-remember/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Almost) Cross Browser Text-Stroke (Outline Text)</title>
		<link>http://www.alphachannelgroup.com/almost-cross-browser-text-stroke-outline-text/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=almost-cross-browser-text-stroke-outline-text</link>
		<comments>http://www.alphachannelgroup.com/almost-cross-browser-text-stroke-outline-text/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 01:49:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Style and CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fonts]]></category>

		<guid isPermaLink="false">http://wp.alphachannelgroup.com/?p=124</guid>
		<description><![CDATA[Or how to fake it in most browsers Super-short, super simple: Using text-shadow, which is supported across most modern browsers, you can achieve the text-stroke (outlining the text) like so: a.hover { text-shadow: -1px -1px 0 #990000, 1px -1px 0 #990000, -1px 1px 0 #990000, 1px 1px 0 #990000; } But, IE9 and earlier stubbornly [...]]]></description>
				<content:encoded><![CDATA[<h2>Or how to fake it in most browsers</h2>
<p>Super-short, super simple:</p>
<p>Using text-shadow, which is supported across most modern browsers, you can achieve the text-stroke (outlining the text) like so:</p>
<pre name="code" class="css">
a.hover {
	text-shadow: -1px -1px 0 #990000, 
	1px -1px 0 #990000, 
	-1px 1px 0 #990000, 
	1px 1px 0 #990000; 
}</pre>
<p><span id="more-357"></span><br />
But, IE9 and earlier stubbornly refuses to participate.  So, drop this in:<br />
filter: glow(color=#990000,strength=1);</p>
<p>And, last but not least, add a width and height (to make it work in IE7 and earlier):</p>
<pre name="code" class="css">a.hover {
     width: auto;
     height: auto; /* width/height so IE7 and lower will work */
     filter: glow(color=black,strength=1);
     text-shadow: -1px -1px 0 #000, 
     1px -1px 0 #000, 
     -1px 1px 0 #000, 
     1px 1px 0 #000; 
}</pre>
<p>And there you have it!  Works in IE8 and later!</p>
<p>Example:
<p style="font-family: Arial, Helvetica, Sans-Serif; font-size: 16px; line-height: 20px; letter-spacing: 1px; font-weight: bold; color: white; filter: glow(color=#990000,strength=0); text-shadow: -1px -1px 0 #990000, 1px -1px 0 #990000, -1px 1px 0 #990000, 1px 1px 0 #990000; width: auto; height: 20px;">Cross Browser Text-Stroke</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/almost-cross-browser-text-stroke-outline-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Stuff for Our Clients</title>
		<link>http://www.alphachannelgroup.com/free-stuff-for-our-clients/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=free-stuff-for-our-clients</link>
		<comments>http://www.alphachannelgroup.com/free-stuff-for-our-clients/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 18:46:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Style and CSS]]></category>
		<category><![CDATA[Web Programming]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://wp.alphachannelgroup.com/?p=113</guid>
		<description><![CDATA[My core business is web development, but there&#8217;s a lot of accessories that seem to go along with owning a website. So, I&#8217;ve invested in some tools and services that I offer my clients, at no extra charge: Font Libraries I&#8217;ve got the professional subscription to TypeKit (see the article I wrote on it here: [...]]]></description>
				<content:encoded><![CDATA[<p>My core business is web development, but there&#8217;s a lot of accessories that seem to go along with owning a website. So, I&#8217;ve invested in some tools and services that I offer my clients, at no extra charge:<span id="more-356"></span></p>
<h3>Font Libraries</h3>
<p>I&#8217;ve got the professional subscription to TypeKit (see the article I wrote on it here: <a href="http://wp.alphachannelgroup.com/2011/03/typekit-and-google-expand-web-safe-fonts/">Typekit and Google Expand Web-Safe Fonts</a>), which means I can use it on as many websites as I like. What that means for you (if you are one of my clients), is that if you choose, you can use this service on your site at no charge.</p>
<h3>E-Mail Testing</h3>
<p>One of the things that many people don&#8217;t realize is that sending a good looking e-mail is actually MUCH more difficult than making a website look good across multiple browsers. That&#8217;s because ever e-mail client displays the e-mail slightly differently. While I USED to test manually in a handful of e-mail clients, the problem was that I could never test in ALL of them effectively &#8211; until I started using <a href="http://www.emailonacid.com" target="_blank">Email on Acid</a>. This service shows me what the e-mail looks like in over 40 different e-mail clients, including Outlook (all the different versions), Yahoo!, GMail, Hotmail, AOL, and more. This allows me to be sure your e-mail will work properly in the e-mail clients that are important to you.</p>
<h3>Staging Hosting</h3>
<p>While your site is in development, we will host it (with a domain name such as yourname.acgdemo.com).  And when it&#8217;s ready to be launched, we&#8217;ll move it to it&#8217;s permanent home as part of our service.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphachannelgroup.com/free-stuff-for-our-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: www.alphachannelgroup.com @ 2013-05-19 03:26:32 by W3 Total Cache -->