<?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>Alex Cook &#187; admin</title>
	<atom:link href="http://www.propellingsolutions.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.propellingsolutions.com</link>
	<description>User Experience Design, Flex Development, &#38; Entreprenuership</description>
	<lastBuildDate>Mon, 06 Sep 2010 01:48:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Pull All Categories out of a WordPress Database</title>
		<link>http://www.propellingsolutions.com/2010/09/how-to-pull-all-categories-out-of-a-wordpress-database/</link>
		<comments>http://www.propellingsolutions.com/2010/09/how-to-pull-all-categories-out-of-a-wordpress-database/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 01:48:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=470</guid>
		<description><![CDATA[Sample code for selecting all categories out of the WordPress database.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing some pretty neat stuff with WordPress lately, specifically querying and displaying categories and their heirarchy in Flex/Air.  For now, though, I just wanted to post this one simple query which selects all of the categories in WordPress&#8230; maybe you&#8217;ll find it useful.</p>
<p><code>SELECT wp_terms.term_id, wp_terms.name, wp_terms.slug FROM wp_terms,wp_term_taxonomy WHERE wp_terms.term_id = wp_term_taxonomy.term_id AND wp_term_taxonomy.taxonomy = 'category' AND wp_terms.term_id != 1 ORDER BY name ASC</code></p>
<p>In this example, I&#8217;m getting all categories that are not &#8220;uncategorized&#8221; from WordPress.</p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2010/09/how-to-pull-all-categories-out-of-a-wordpress-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launching a Startup is Like Creating a Band</title>
		<link>http://www.propellingsolutions.com/2010/08/launching-a-startup-is-like-creating-a-band/</link>
		<comments>http://www.propellingsolutions.com/2010/08/launching-a-startup-is-like-creating-a-band/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 16:30:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=422</guid>
		<description><![CDATA[Working on a startup is exhilarating.  The adrenaline you get when you launch a new product or think of a new idea is amazing.  Hearing feedback from customers is a unique experience you can&#8217;t quite get working for someone else.
I love music.  You may not like their style, but one of my favorite bands is Dave Matthews Band. [...]]]></description>
			<content:encoded><![CDATA[<p>Working on a startup is exhilarating.  The adrenaline you get when you launch a new product or think of a new idea is amazing.  Hearing feedback from customers is a unique experience you can&#8217;t quite get working for someone else.</p>
<p>I love music.  You may not like their style, but one of my favorite bands is Dave Matthews Band.  I&#8217;ve been to quite a few shows in the last 5 years, 21 shows to be exact&#8230; yep I know that&#8217;s a little nuts but this band has it down&#8230; 21 shows is nothing in this community.  Most veterans have been to over 100 shows.</p>
<p>I think the thing I like most about the band is the improvisation, and the mix of real, unique talent .. and seeing it all come together as one sound.</p>
<h3>Forming the Band, Forming the Startup</h3>
<p>Launching a startup is just like being in a band.  Most people go at their big ideas with close friends of theirs, and most bands are formed around close friends.  You might have the skill of being a great programmer, and your friend might be a guy who is obsessed with numbers. Dave likes to write songs, Carter is one of the most talented drummers alive.  Everyone brings a trade and a tangible skill to the table.</p>
<h3>The Songwriter &amp; Visionary</h3>
<p>Bands need leaders, and startups need leaders.  Leaders need to be humble, open, and enthusiastic&#8230; among other really important things. Sometimes band members, or team members, can&#8217;t maintain the vision when times get rough.  People forget the vision&#8230; the reason they started making music in the first place. It&#8217;s the leader&#8217;s job to keep everyone aligned and moving forward.  But at the same time, everyone on the team is a leader in his or her own way.  It&#8217;s important to be always giving up the reigns and letting things happen.</p>
<h3>Synergy &amp; Improvisation</h3>
<p>I&#8217;d like to leave you with a snippet from a show in 2008 &#8211; one of my favorite jams from DMB of all time.  It&#8217;s from a song called Crush, and in it a few of the band members go back and forth to create a really emotional piece of music.  Keep in mind that everything they do is <em>improvisation </em>- one band member working and feeding off another.  It&#8217;s not rehearsed down to specific notes or decided in advance.</p>
<p>I like to think that startups get work done and make progress in the same way this band is jamming away.  There&#8217;s so much excitement, emotion, and passion for music, here.  The same thing can be achieved in a startup.</p>
<p>This jam starts with Rawshawn Ross (trumpet), then Leroi Moore (sax) and Tim Reynolds (electric) duke it out&#8230; with some Carter drum soloing in there as well.</p>
<script type='text/javascript'>wpa_urls.push('\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0070\u0072\u006f\u0070\u0065\u006c\u006c\u0069\u006e\u0067\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0073\u002e\u0063\u006f\u006d\u002f\u0077\u0070\u002d\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u002f\u0075\u0070\u006c\u006f\u0061\u0064\u0073\u002f\u0032\u0030\u0031\u0030\u002f\u0030\u0037\u002f\u0064\u006d\u0062\u0063\u0072\u0075\u0073\u0068\u002e\u006d\u0070\u0033');</script><a class='wpaudio wpaudio_url_0' href='#'>DMB - Crush Jam</a>
<p>If you can&#8217;t get this to play you can download the mp3 here: <a href="http://www.propellingsolutions.com/wp-content/uploads/2010/07/dmbcrush.mp3">http://www.propellingsolutions.com/wp-content/uploads/2010/07/dmbcrush.mp3</a></p>
<p>Note: this is a legal bootleg from the show, so the quality isn&#8217;t that great.  I&#8217;ll post the legit version on here when I find it on Grooveshark!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2010/08/launching-a-startup-is-like-creating-a-band/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.propellingsolutions.com/wp-content/uploads/2010/07/dmbcrush.mp3" length="8246026" type="audio/mpeg" />
		</item>
		<item>
		<title>Processing Credit Cards with Flex and Air: Design, Example Code and Important Info</title>
		<link>http://www.propellingsolutions.com/2010/07/how-to-process-credit-cards-in-flex-and-air-applications/</link>
		<comments>http://www.propellingsolutions.com/2010/07/how-to-process-credit-cards-in-flex-and-air-applications/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 17:38:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[air]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=328</guid>
		<description><![CDATA[An article on processing credit cards with Flex and Air with example code, discussion, and must-read PCI compliance information.  Includes reasoning behind the design, a running example, and source code.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re looking to process credit cards in Adobe Air and Flex (now known as <a href="http://www.adobe.com/products/flashbuilder/">Flash Builder</a>), here&#8217;s some sample code and some information that will save you some serious time.  Before you download this code and integrate with your site, make sure to scroll down to the section on PCI compliance.</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<h2>Designing a Credit Card form for Flex &#8211; Inspiration &amp; Background</h2>
<p>For me, usability in a credit card form is really important.  If someone has their credit card out on table and they&#8217;re ready to give you money, they better not have to take any extra steps to send it in.  For years, every time I saw a credit card form, I always noticed they were designed differently.  Some people would have the expiration date say &#8220;01, 02, 03&#8243;, and others would say &#8220;January, February, March&#8221;&#8230; why?</p>
<p>One day I stumbled across Google Checkout&#8217;s credit card form, and I was really impressed:</p>
<div id="attachment_329" class="wp-caption alignnone" style="width: 487px"><a href="http://www.propellingsolutions.com/wp-content/uploads/2010/07/googlecheckoutexample.PNG" rel="lightbox[328]"><img class="size-full wp-image-329" title="Google Checkout - Add a credit card form" src="http://www.propellingsolutions.com/wp-content/uploads/2010/07/googlecheckoutexample.PNG" alt="googlecheckoutexample" width="477" height="500" /></a><p class="wp-caption-text">This is a screen shot of Google&#39;s &quot;add a new payment method&quot; form</p></div>
<p>It looks pretty straightforward, right?  Well, there was some serious thought put into this form.  First, when you enter in your credit card, and tab out of the card number field, the form automatically recognizes your card type &#8211; no need to specify the card type, and it focuses on your card type&#8230; neat!  Did you know there&#8217;s an algorthim that lets you identify whether or not a credit card number is valid?  By that, I mean you can make sure a card number is legitimate before it&#8217;s sent off to be processed.  I don&#8217;t mean checking to make sure it&#8217;s a *real* card, I mean you can check to make sure it&#8217;s at least a valid set of numbers.  Here&#8217;s a great <a href="http://www.merriampark.com/anatomycc.htm" target="_blank">article </a>on the topic.</p>
<p>Anyways, if you enter an invalid card type in Google&#8217;s form, this is what you get:</p>
<div id="attachment_330" class="wp-caption alignnone" style="width: 479px"><a href="http://www.propellingsolutions.com/wp-content/uploads/2010/07/googlecheckoutwrongcard.PNG" rel="lightbox[328]"><img class="size-full wp-image-330" title="Google Checkout - invalid credit card" src="http://www.propellingsolutions.com/wp-content/uploads/2010/07/googlecheckoutwrongcard.PNG" alt="googlecheckoutwrongcard" width="469" height="122" /></a><p class="wp-caption-text">This is a screen shot of the ajax/javascript function which checks to see if you&#39;ve entered a valid credit card</p></div>
<p>Remember, this is before I hit Save or Submit &#8211; a big time saver.</p>
<p>The next thing I like about this form is the expiration dates use numbers, not month names.  Makes sense &#8211; the user is looking at a card that has numbers on it, not month names.</p>
<h2>The Flex Component &amp; Running Example</h2>
<p>After looking at Google&#8217;s great example, I implemented my own component in Flex.  Note &#8211; the example below was built in Flex 3, using mx components.  You could easily update it to run with spark components, but for the sake of time I haven&#8217;t modified the original component.</p>
<p><strong>Features</strong>:</p>
<ul>
<li>When you tab out of the card number field, it automatically recognizes your card type and highlights your card type</li>
<li>You can type the expiration date in.  You can enter a &#8220;1&#8243;, hit tab, and it will automatically change that to &#8220;01&#8243;.  Same goes for the year.</li>
<li>The &#8220;what&#8217;s this?&#8221; text currently goes to Google Checkout.  I hope Google doesn&#8217;t get mad <img src='http://www.propellingsolutions.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>FYI &#8211; 4444 is a fake credit card that lets you override/test a payment.</li>
</ul>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_main_1899788184"
			class="flashmovie"
			width="500"
			height="400">
	<param name="movie" value="/examples/creditcardsinflexandair/main.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/examples/creditcardsinflexandair/main.swf"
			name="fm_main_1899788184"
			width="500"
			height="400">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<h3><strong><a href="http://propellingsolutions.com/examples/creditcardsinflexandair/srcview/Processing Credit Cards with Flex and Air.zip">Download the source code</a></strong></h3>
<p><strong><br />
 </strong></p>
<h2>Okay, So How Do I Actually Process the Credit Card?</h2>
<p>This is where it gets complex.  I spent a few weeks a few years ago researching all of the different payment gateways (Like authorize.net).  One company stuck out because of their friendly team, honest feedback, and competitive pricing: <a href="http://merchantwarehouse.com/">Merchant Warehouse</a>.  I began using Merchant Warehouse in 2007, and I integrated amfphp with their &#8220;SmartPayments&#8221; system (built by another company) with amfphp.  Basically, the gateway allows you to connect via soap.  I downloaded nusoap, wrote an amfphp class, and then my own methods to send the credit card data of SSL.  It works like a charm.  But, just recently, that completely changed.</p>
<p>If you&#8217;d like the amfphp classes and an example, feel free to contact me and I&#8217;d be happy to send it over.</p>
<h2>Warning: PCI Compliance Completely Changes the Game</h2>
<p>PCI compliance is a good thing for consumers.  Essentially, you&#8217;re not allowed to store people&#8217;s full card information, such as the card number or the CVC code.  You also (obviously) have to transmit everything over SSL, and your server has to be locked down.</p>
<p>But, as of July 2010, if you&#8217;re working on a small project or you&#8217;re a startup with a small budget, you are shit out of luck.  Basically, you can&#8217;t process credit cards in your application without being PCI compliant.  First, you have to hire a company to perform an audit.  If you&#8217;re a software provider, you cannot buy the cheap ~$200 audit service.  You have to spend $8-$15,000 just to have a 3rd party software team come in and make sure you are meeting PCI standards.  Then, you could spend serious resources (some companies mentioned spending $100-200k modifying their systems to become compliant), or just never obtain the compliance at all.</p>
<p>That said, having a sexy component for credit card payments in your Air application or Flex application can be a game changer.  PayPal and Google Checkout are great, but leaving your app to go to another site is just plain terrible for the user experience.  Some people just want to enter their card and get it done.</p>
<p>I still need to look into it, but I might be able to use PayPal&#8217;s advanced services or another gateway.</p>
<h2>This Design Works, But It Can Be Improved</h2>
<p>My startup company has processed over $400k in online transactions using this component.  It might not sound like alot, but our shopping cart abandonment rate is extremely low &#8211; less than 10%.  I&#8217;ve done hours of using testing on it, and many of the bugs and confusing areas have been ironed out.  That&#8217;s not to say it&#8217;s perfect &#8211; I&#8217;m sure I&#8217;ll be updating this form and making changes as I go&#8230; so subscribe to this post and I&#8217;ll keep you updated with new changes.  If you have any items that come up in user interviews, shoot me a comment!  I&#8217;d love feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2010/07/how-to-process-credit-cards-in-flex-and-air-applications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Search For Lost Code with Notepad++</title>
		<link>http://www.propellingsolutions.com/2010/07/search-for-something-across-multiple-files-of-any-type-phpasphtmlwhatever-with-notepad/</link>
		<comments>http://www.propellingsolutions.com/2010/07/search-for-something-across-multiple-files-of-any-type-phpasphtmlwhatever-with-notepad/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 22:01:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[notepad++]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=216</guid>
		<description><![CDATA[Sometimes I can't remember where I wrote a particular function, or even what file or folder the code is located in.  Notepad++ has a great way of searching across multiple files for a piece of text.]]></description>
			<content:encoded><![CDATA[<p>There are some neat tricks on linux that let you search across your entire file system or inside of actual files, one of those being &#8220;grep&#8221;.</p>
<p>But, if you&#8217;re just a normal person and you don&#8217;t have insane abilities to write Regular Expression queries or you just aren&#8217;t a hard-core command line user, then a simpler solution is NotePad++.</p>
<p>Why is this useful?  Well, let&#8217;s say you&#8217;ve written some code and you completely forget where you wrote it.  Maybe you had some CSS or a MySQL statement that you slaved over for hours, and now you just can&#8217;t remember where the hell it went&#8230; well this is a case where NotePad++ comes in handy.</p>
<h2>So, Here&#8217;s How to Search Across Multiple Files with NotePad++</h2>
<ul>
<li>First download Notepad++ if you don&#8217;t already have it: <a href="http://notepad-plus-plus.org/download">http://notepad-plus-plus.org/download</a></li>
<li>Open NotePad++</li>
<li>Hit ctrl+f, or go to Search-&gt;Find</li>
<li>When the window opens up, choose &#8220;Find in Files&#8221;:<br />
 <img class="alignnone size-full wp-image-218" title="Untitled-1" src="http://www.propellingsolutions.com/wp-content/uploads/2010/07/Untitled-1.png" alt="Untitled-1" width="492" height="330" /></li>
<li>In &#8220;Find what:&#8221; enter what you&#8217;re looking for.  Choose the directory you want to look in.  And when you&#8217;re ready to rock, hit &#8220;Find All&#8221;&#8230;</li>
<li>You&#8217;ll get either no results or a nice listing of the <strong>exact locations of each search result. </strong>Even cooler, you can double click those results and it will bring you write to that section of code:<br />
<a href="http://www.propellingsolutions.com/wp-content/uploads/2010/07/Untitled-3.png" rel="lightbox[216]"><img class="alignnone size-medium wp-image-219" title="Untitled-3" src="http://www.propellingsolutions.com/wp-content/uploads/2010/07/Untitled-3-300x291.png" alt="Untitled-3" width="300" height="291" /></a></li>
</ul>
<p>That&#8217;s it!  Since NotePad++ is my editor of choice, I enjoy using this technique over any command line solutions.</p>
<h2>What Do You Do?</h2>
<p>So&#8230; what do you do when you lost some code?  Leave your comment below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2010/07/search-for-something-across-multiple-files-of-any-type-phpasphtmlwhatever-with-notepad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Flex Builder to work on 64-bit Windows</title>
		<link>http://www.propellingsolutions.com/2010/01/getting-flex-builder-to-work-on-64-bit-windows/</link>
		<comments>http://www.propellingsolutions.com/2010/01/getting-flex-builder-to-work-on-64-bit-windows/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 17:55:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=169</guid>
		<description><![CDATA[I&#8217;ve been running the 64-bit version of XP and now the 64-bit version of Windows 7 for the past 2+ years, and I&#8217;ve always had issues with Flex:

Blank build path windows (when right clicking on a project&#8217;s properties) &#8211; having to manage the project files manually
Weird generated asset errors

I think getting setup with Flex and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been running the 64-bit version of XP and now the 64-bit version of Windows 7 for the past 2+ years, and I&#8217;ve always had issues with Flex:</p>
<ul>
<li>Blank build path windows (when right clicking on a project&#8217;s properties) &#8211; having to manage the project files manually</li>
<li>Weird generated asset errors</li>
</ul>
<p>I think getting setup with Flex and eclipse requires an unnecessary amount of knowledge&#8230; hopefully this simplifies it.</p>
<p><strong>I finally decided to find a solution &#8211; here it is:</strong></p>
<ol>
<li>Don&#8217;t install Flex Builder &#8211; install the eclipse plugin</li>
<li>Get eclipse 3.4
<ul>
<li>http://www.eclipse.org/downloads/</li>
<li>Scroll down to eclipse Classic</li>
<li>Click on &#8220;other downloads&#8221;</li>
<li>Or just go to http://download.eclipse.org/eclipse/downloads/</li>
<li>Download version 3.4, unzip it, and drop it in C:\Program Files (x86)\eclipse</li>
</ul>
</li>
<li>Get the Flex Builder Plugin for Eclipse &#8211; http://www.adobe.com/cfusion/entitlement/index.cfm?e=flexbuilder3</li>
<li>When installing, make sure you choose the Eclipse folder (second step): C:\Program Files (x86)\eclipse<br />
<img class="alignnone size-medium wp-image-170" title="fb" src="http://www.propellingsolutions.com/wp-content/uploads/2010/01/fb-300x213.png" alt="fb" width="300" height="213" /></li>
<li>When you&#8217;re done, open up eclipse.exe, and then go to Window-&gt;Open Perspective, then choose Flex.</li>
</ol>
<p><strong>Conclusion</strong></p>
<p>I hope Flash Builder 4 solves the 64-bit issues&#8230; this install is a pain in the ass!  Plus, too bad there&#8217;s not a 64-bit version of Flex Builder&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2010/01/getting-flex-builder-to-work-on-64-bit-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Securing a WordPress page with https</title>
		<link>http://www.propellingsolutions.com/2009/12/securing-a-wordpress-page-with-https/</link>
		<comments>http://www.propellingsolutions.com/2009/12/securing-a-wordpress-page-with-https/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:48:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=132</guid>
		<description><![CDATA[What I needed
I needed a way to secure a single page.  This could be an order page or a page where I want to protect user information.  The problem is, even if you simply try to go to &#8220;https://mysite.com/page&#8221;, you&#8217;ll be re-directed to the http page by WordPress.  Furthermore, even if you [...]]]></description>
			<content:encoded><![CDATA[<h1><strong>What I needed</strong></h1>
<p>I needed a way to secure a single page.  This could be an order page or a page where I want to protect user information.  The problem is, even if you simply try to go to &#8220;https://mysite.com/page&#8221;, you&#8217;ll be re-directed to the http page by WordPress.  Furthermore, even if you use htaccess to force the content over https, you&#8217;ll still get &#8220;partially encrypted&#8221; errors.</p>
<h1><strong>What is out there</strong></h1>
<p>There was <a href="http://wordpress.org/extend/plugins/admin-ssl-secure-admin/">Admin SSL,</a> which has a 4-star rating&#8230; but did not work for me; I think the developer stopped working on it and newer versions of WP don&#8217;t work with the plugin.  I also tried <a href="http://wordpress.org/extend/plugins/https-for-wordpress/">HTTPS for WordPress</a>, and that didn&#8217;t work either.</p>
<p>Because I couldn&#8217;t find anything&#8230; I put together this hack.  I guess I could make it into a plugin, but I&#8217;m lazy.</p>
<h1><strong>How to do it<br />
</strong></h1>
<p>Required knowledge/tools:</p>
<ul>
<li>Installation of CURL on your server</li>
<li>Basic knowledge of .htaccess, and how to edit the file</li>
<li>Basic php knowledge</li>
<li>A working SSL certificate</li>
</ul>
<h1>1.  Modify your .htaccess file</h1>
<p>Figure out what page you wan to secure.  For example, you might want to secure /contact-us.  Add the following lines to your .htacccess file, before the normal wordpress lines:</p>
<pre>&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^contact-us/ /secure-page.php [QSA,L]
RewriteRule ^contact-us /secure-page.php [QSA,L]
&lt;/IfModule&gt;
# normal WordPress stuff:
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;</pre>
<p>Here we&#8217;re checking to see if the visitor is requesting the &#8220;contact-us&#8221; page, and if so, we&#8217;re rewriting the request to a file called secure-page.php, instead of loading WordPress (step 2).</p>
<h1>2.  Rename /contact-us &amp; modify menu</h1>
<p><img class="alignnone size-full wp-image-148" title="Untitled-1" src="http://www.propellingsolutions.com/wp-content/uploads/2009/12/Untitled-1.jpg" alt="Untitled-1" width="579" height="150" /></p>
<p>Next, you&#8217;ll need to get rid of the old /contact-us page you had, and rename it to contact-page-content &#8211; you can do this using WordPress&#8230; edit the Premalink, and set it to /contact-page-content.</p>
<p>You&#8217;ll need to exclude the page from your navigation, and then put an absolute link to /contact-us in your menu. I suggest the &#8220;Exclude Pages&#8221; plugin, found at <a href="http://wordpress.org/extend/plugins/exclude-pages/">http://wordpress.org/extend/plugins/exclude-pages/</a></p>
<h1>2.  Create secure-page.php</h1>
<p>Create a file called secure-page.php and add it to your base directory (in the same location as your .htaccess file):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$domain</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;www.mydomain.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>  <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTPS'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'on'</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$url</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;https://<span style="color: #006699; font-weight: bold;">$domain</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location:<span style="color: #006699; font-weight: bold;">$url</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$curl_handle</span><span style="color: #339933;">=</span>curl_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl_handle</span><span style="color: #339933;">,</span>CURLOPT_URL<span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;http://<span style="color: #006699; font-weight: bold;">$domain</span>/contact-page-content&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// assuming pretty urls are setup this way...</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl_handle</span><span style="color: #339933;">,</span>CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_setopt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl_handle</span><span style="color: #339933;">,</span>CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> curl_exec<span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl_handle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
curl_close<span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl_handle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #990000;">print</span> <span style="color: #0000ff;">&quot;Timed Out&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;src=<span style="color: #000099; font-weight: bold;">\&quot;</span>http://<span style="color: #006699; font-weight: bold;">$domain</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'src=&quot;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;src='<span style="color: #006699; font-weight: bold;">$domain</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;src='&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;url(<span style="color: #000099; font-weight: bold;">\&quot;</span>http://<span style="color: #006699; font-weight: bold;">$domain</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'url(&quot;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/http:\/\/.*?(\/.*?\.css)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$1</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/http:\/\/.*?(\/.*?\.js)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$1</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/http:\/\/.*?(\/.*?\.xml)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$1</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">print</span> <span style="color: #000088;">$buffer</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>OK, here&#8217;s an explanation:</strong></p>
<p>You renamed /contact-us to /contact-page-content, and then excluded it from your navigation.  Note that the page still exists &#8211; you can enter /contact-page-content into your browser, and it will show the page, right?  But, you hid it from navigation, and you provided the user with a link to /contact-us.  Some people might say this solution is still not &#8220;secure&#8221;, but I could honestly care less if the user can still go to /contact-page-content&#8230; if they do, who cares?</p>
<p><strong>As for what secure-page.php is doing:</strong></p>
<p>The first part checks to make sure the page is served over https.  If not, it forwards to the https version, and exits.</p>
<p>Next, we use CURL to request another page (contact-page-content).  Remember that you can still navigate to /contact-page-content, and CURL is doing just that.  CURL then downloads the entire content of the page into a buffer/string.</p>
<p>Next, we replace all references to http assets to https&#8230; or just &#8220;/&#8221;.   We do this because WordPress uses absolute URLs to assets (&#8221;http://mysite.com/image.jpg&#8221;), and we want it to be relative (&#8221;/image.jpg&#8221;).  We then echo out the buffer, and voila, your page is now secured.</p>
<h1>Conclusion</h1>
<p>I should turn this into a plugin, but I&#8217;m lazy and I just don&#8217;t have the time&#8230;</p>
<p>If you have problems just comment on this post and I&#8217;ll get back to you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2009/12/securing-a-wordpress-page-with-https/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Flex/AS3/Flash 9 Casting Problems</title>
		<link>http://www.propellingsolutions.com/2009/07/flexas3flash-9-casting-problems/</link>
		<comments>http://www.propellingsolutions.com/2009/07/flexas3flash-9-casting-problems/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 21:41:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=71</guid>
		<description><![CDATA[Today I noticed something particularly annoying about ActionScript 3/Flex/Flash: Casting.
I know of two ways to cast something from one type to another:
1.  var myvar:Type1 = mything as Type1; // does not work

OR
2.  var myvar:Type1 = Type1 (mything); // works!

I was using the &#8220;as&#8221; keyword, and I couldn&#8217;t figure out why it wouldn&#8217;t cast my string [...]]]></description>
			<content:encoded><![CDATA[<p>Today I noticed something particularly annoying about ActionScript 3/Flex/Flash: Casting.</p>
<p>I know of two ways to cast something from one type to another:</p>
<p><strong>1.  var myvar:Type1 = mything as Type1; </strong>// does not work<strong><br />
</strong></p>
<p>OR</p>
<p><strong>2.  var myvar:Type1 = Type1 (mything); </strong>// works!<strong><br />
</strong></p>
<p>I was using the &#8220;as&#8221; keyword, and I couldn&#8217;t figure out why it wouldn&#8217;t cast my string to a number.  I finally drilled down, and replaced it with usage #2 above, and it fixed my issue.</p>
<p>So annoying!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2009/07/flexas3flash-9-casting-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Foxmarks/XMarks for Google Chrome</title>
		<link>http://www.propellingsolutions.com/2009/03/foxmarksxmarks-for-google-chrome/</link>
		<comments>http://www.propellingsolutions.com/2009/03/foxmarksxmarks-for-google-chrome/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 05:54:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=59</guid>
		<description><![CDATA[I LOVE Google Chrome!
It&#8217;s sweet.  But until Foxmarks (now XMarks) supports Chrome&#8230; I&#8217;ll never switch.  I use more than one computer&#8230; and I need my bookmarks to sync.  I also like to sync my passwords.
XMarks &#8211; please support Google Chrome!
]]></description>
			<content:encoded><![CDATA[<p>I LOVE Google Chrome!</p>
<p>It&#8217;s sweet.  But until Foxmarks (now XMarks) supports Chrome&#8230; I&#8217;ll never switch.  I use more than one computer&#8230; and I need my bookmarks to sync.  I also like to sync my passwords.</p>
<p>XMarks &#8211; please support Google Chrome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2009/03/foxmarksxmarks-for-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pi Day Challenge</title>
		<link>http://www.propellingsolutions.com/2009/03/the-pi-day-challenge/</link>
		<comments>http://www.propellingsolutions.com/2009/03/the-pi-day-challenge/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 20:05:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[amfphp]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=51</guid>
		<description><![CDATA[This last week I had the opportunity to help a friend create www.pidaychallenge.com.  That friend is Matt Plummer &#8211; he was a teacher of mine in high school who inspired me to learn flash programming.  Up until I started working with Matt, I didn&#8217;t even own a computer, and now I&#8217;m working full-time as a [...]]]></description>
			<content:encoded><![CDATA[<p>This last week I had the opportunity to help a friend create <a href="http://www.pidaychallenge.com">www.pidaychallenge.com</a>.  That friend is Matt Plummer &#8211; he was a teacher of mine in high school who inspired me to learn flash programming.  Up until I started working with Matt, I didn&#8217;t even own a computer, and now I&#8217;m working full-time as a Flex developer and launching all kinds of web startups.  Thanks Plum.</p>
<p>It&#8217;s amazing what motivated people can  do.  We put it up online on March 9, and within 4 days:</p>
<p>We&#8217;re #1 result in Google for Pi Day Challenge<br />
We&#8217;re on 1-2 page for &#8220;Pi Day&#8221;</p>
<p>We have 800 registered users<br />
We have 2200 unique visitors from 28 countries</p>
<p>Check it out &#8211; Take The Challenge!!! <a href="http://www.pidaychallenge.com">www.pidaychallenge.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2009/03/the-pi-day-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash and Flex Communication</title>
		<link>http://www.propellingsolutions.com/2009/02/flash-and-flex-communication/</link>
		<comments>http://www.propellingsolutions.com/2009/02/flash-and-flex-communication/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 05:34:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.propellingsolutions.com/?p=48</guid>
		<description><![CDATA[I assume it&#8217;s because I didn&#8217;t search for the right terms, but I couldn&#8217;t find anything good about communicating between Flash 9/10 and Flex.
I found some posts on LocalConnection, and this post&#8230; but the issue with LocalConnection is that you can only have on instance open at once.  So, if you build something and a [...]]]></description>
			<content:encoded><![CDATA[<p>I assume it&#8217;s because I didn&#8217;t search for the right terms, but I couldn&#8217;t find anything good about communicating between Flash 9/10 and Flex.</p>
<p>I found some posts on LocalConnection, and <a href="http://frankieloscavio.blogspot.com/2008/04/flash-to-flex-bridge-communication-both.html">this post</a>&#8230; but the issue with LocalConnection is that you can only have on instance open at once.  So, if you build something and a user opens two tabs of it, it will fail to connect to the second instance.  Blarg!</p>
<p>The solution is actually simple: good old events. I tried this earlier but failed to add the &#8220;.content.add&#8221; piece.</p>
<p><a href="http://www.propellingsolutions.com/examples/flashandflex">Check out this example, and download the code.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.propellingsolutions.com/2009/02/flash-and-flex-communication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
