<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>design is philosophy</title>
	
	<link>http://www.designisphilosophy.com</link>
	<description>WordPress, Expression Web, CSS, other stuff</description>
	<lastBuildDate>Tue, 31 Jan 2012 03:10:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PinkYellowMediaBlog" /><feedburner:info uri="pinkyellowmediablog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://www.designisphilosophy.com/?pushpress=hub" /><item>
		<title>Using the time tag in WordPress and when parsing RSS feeds</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/L_u3SYgp_fY/</link>
		<comments>http://www.designisphilosophy.com/wordpress/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:10:02 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1767</guid>
		<description><![CDATA[The &#60;time&#62; tag is a little used but very effective little HTML element that allows you to embed additional information to dates and times in your content. The idea is that in addition to the actual text that shows the &#8230; <a href="http://www.designisphilosophy.com/wordpress/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The &lt;time&gt; tag is a little used but very effective little HTML element that allows you to embed additional information to dates and times in your content. The idea is that in addition to the actual text that shows the visitor the time, you can provide the browser, search engines and other computers with actual time information they can understand. Very cool.</p>
<p>For a recent project I had to parse time tags both from WordPress and from an RSS feed. After some mucking about I found what I think is the optimal solution, so to save you some time I&#8217;ve put it all together for you.</p>
<h2>Date stamp for WordPress using the &lt;time&gt; tag</h2>
<p>WordPress can output the publishing date and time in pretty much any configuration you want. For the time tag to work you need the datetime variable to show the time in a specific format that looks like this:</p>
<p>2012-01-30T18:55:21+08:00</p>
<p>That&#8217;s year, month, date, time (international) and an optional time zone reference. I&#8217;m in Vancouver, Canada so that&#8217;s GMT+8 hours.</p>
<p>Using the <a href="http://codex.wordpress.org/Function_Reference/get_the_date" title="get_the_date at the WordPress Codex" target="_blank">get_the_date()</a> function in WordPress you can get this time format and any other. In this case I wanted the format &#8220;Jan. 30, 2012&#8243;.</p>
<p>The end result:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;time class=&quot;entry-date&quot; datetime=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> get_the_date<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'c'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; pubdate&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> get_the_date<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'M. j, Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/time&gt;</pre></div></div>

<h2>Date stamp when parsing RSS feeds using the &lt;time&gt; tag</h2>
<p>For the project I also needed to parse an RSS feed and show the details of each item in an index page. RSS feeds output the date in a standardized format, but it is rather unsightly:</p>
<p>2012-01-30T23:00:00+00:00</p>
<p>I needed to get this parsed to match the example above. To do so I used a <a href="http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Functions/reformat_date.html" title="Reformat Date with PHP" target="_blank">handy PHP function provided by Handy PHP called Reformat Date</a>. This function uses the <a href="http://php.net/manual/en/function.strtotime.php" title="strtotime PHP function" target="_blank">strtotime()</a> PHP function to reformat dates into anything you want simply and easily.</p>
<p>First I added the function itself to the functions.php file in my theme like this (notice I append the name of the theme at the front of the function name to avoid any future clashes should WordPress decide to bake this feature in):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Reformat date for RSS feed</span>
<span style="color: #000000; font-weight: bold;">function</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span> <span style="color: #000088;">$format</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">// Function written by Marcus L. Griswold (vujsa)</span>
<span style="color: #666666; font-style: italic;">// Can be found at http://www.handyphp.com</span>
<span style="color: #666666; font-style: italic;">// Do not remove this header!</span>
&nbsp;
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$format</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Second I grabbed the RSS feed using WordPress&#8217; native RSS import function (I&#8217;ll write about that in a separate post but it&#8217;s pretty straight forward) and then I parsed the data. </p>
<p>Note: In an RSS feed the time is contained in each item under the handle pubdate so to get the raw time I use $item['pubdate'].</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;time class=&quot;entry-date&quot; datetime=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'c'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; pubdate&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> theme_reformat_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'M. j, Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/time&gt;</pre></div></div>

<p>Note that the date has to be reformatted twice, once for machine readable output (&#8216;c&#8217;) and once for the human readable output (&#8216;M. j, Y&#8217;).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/wordpress/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/wordpress/using-the-time-tag-in-wordpress-and-when-parsing-rss-feeds/</feedburner:origLink></item>
		<item>
		<title>Can WordPress really do that? Slides from my WordCamp Victoria 2012 presentation</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/0XEdFn5JTkA/</link>
		<comments>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 21:00:47 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Speaking Engagements]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[wordcamp victoria]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1757</guid>
		<description><![CDATA[Can WordPress really do that? A case study of vierderduer.no]]></description>
			<content:encoded><![CDATA[<div style="width:553px" id="__ss_11044025"><object id="__sse11044025" width="553" height="460"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampvictoria2012-vierderduer-120114132658-phpapp02&#038;stripped_title=can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025&#038;userName=mor10" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"/><embed name="__sse11044025" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampvictoria2012-vierderduer-120114132658-phpapp02&#038;stripped_title=can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025&#038;userName=mor10" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="553" height="460"></embed></object></div>
<p><a href="http://www.slideshare.net/mor10/can-wordpress-really-do-that-a-case-study-of-vierderduerno-11044025" title="Can WordPress really do that? A case study of vierderduer.no">Can WordPress really do that? A case study of vierderduer.no</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that-slides-from-my-wordcamp-victoria-2012-presentation/</feedburner:origLink></item>
		<item>
		<title>Can WordPress really do that? A preview of my 2012 WordCamp Victoria talk</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/FNXfXramqTQ/</link>
		<comments>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 23:07:23 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Speaking Engagements]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[like]]></category>
		<category><![CDATA[wordcamp]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1745</guid>
		<description><![CDATA[It all started with a simple yet befuddling question: &#8220;Can you create a WordPress site that sends SMS messages to users when things change?&#8221; My initial thought was that this could easily become the most annoying website in the world, &#8230; <a href="http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1751" title="Vi er der du er - application" src="http://www.designisphilosophy.com/wp-content/uploads/2011/12/vierderduerapplication.png" alt="Vi er der du er - application" width="199" height="380" />It all started with a simple yet befuddling question: &#8220;<em>Can you create a WordPress site that sends SMS messages to users when things change?</em>&#8221; My initial thought was that this could easily become the most annoying website in the world, but upon closer inspection it was a stroke of pure genius.</p>
<p>To ring in 2012 I&#8217;m bringing something completely different to <a title="WordCamp Victoria" href="http://2012.victoria.wordcamp.org/" target="_blank">WordCamp Victoria</a>. If you&#8217;ve seen my live talks previously you know they are usually either neck deep in live code or conceptual presentations on theoretical ideas. This time will be different:</p>
<p>My talk, entitled &#8220;<a title="WordCamp Victoria 2012 speakers" href="http://2012.victoria.wordcamp.org/speaker-biographies/" target="_blank">Can WordPress really do that? A case study of vierderduer.no</a>&#8221; will be focussed around one of the most interesting and challenging WordPress projects I&#8217;ve ever been involved in, the building of a site called &#8220;<a title="Vi er der du er - A WordPress site like no other" href="http://www.vierderduer.no" target="_blank">Vi er der du er</a>&#8221; (&#8220;We are where you are&#8221;) for Norwegian bank SpareBank1. I was brought on as an outside contractor by <a title="Netlife Research" href="http://netliferesearch.com/" target="_blank">Netlife Research</a>, one of the largest and most well renowned web dev houses in Norway, to make their crazy ideas and designs into a real-life site. I say crazy because this is a site that does things so far out of the ordinary even I have a hard time figuring out how we got where we are today.</p>
<p>What makes the site so interesting is that it uses Facebook Likes as a voting system to help raise money for organizations. The more likes an organization gets, the more money the bank gives them. And along the way the organization gets SMS messages telling them about the status of their application and how much money they have raised.</p>
<p>But that&#8217;s just the tip of the iceberg. This site has so many hidden features and backend customizations I&#8217;m not sure I&#8217;ll be able to cover them all in a measly one hour. But I&#8217;ll try.</p>
<p>The talk (which I have yet to prepare) will be a nice break from my regular stuffing-code-down-your-throat approach. I&#8217;ll talk about how the site came about, the many challenges and solutions implemented and how you can take my hard learned lessons and use them to make your custom WordPress themes more effective and easier to manage. More importantly though I&#8217;ll spend the hour helping you break free of the well established preconceptions about what WordPress can and cannot do. If you ask me there is no limit. And in this talk I&#8217;ll prove it.</p>
<p>So, if you haven&#8217;t already bought a ticket, head on over to the <a title="2012 WordCamp Victoria" href="http://2012.victoria.wordcamp.org/" target="_blank">WordCamp Victoria</a> site and grab yours. See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/events/speaking-engagements-events/can-wordpress-really-do-that/</feedburner:origLink></item>
		<item>
		<title>Improving SEO Using Accessibility Techniques – New Lynda.com course</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/IlySf9gSnlo/</link>
		<comments>http://www.designisphilosophy.com/lynda-com/improving-seo-using-accessibility-techniques-new-lynda-com-course/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 00:19:37 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Lynda.com]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1740</guid>
		<description><![CDATA[Want to bring more people to your website, play nice with social media and&#160;allow everyone to access your fabulous content, regardless of how they choose to do so? If so you should check out my newest course on lynda.com, Improving &#8230; <a href="http://www.designisphilosophy.com/lynda-com/improving-seo-using-accessibility-techniques-new-lynda-com-course/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="546" height="307" src="http://www.youtube.com/embed/t8X_cUjGAQo?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Want to bring more people to your website, play nice with social media <em>and</em>&nbsp;allow everyone to access your fabulous content, regardless of how they choose to do so? If so you should check out my newest course on lynda.com, <a title="Improving SEO Using Accessibility Techniques tutorial with Morten Rand-Hendriksen on lynda.com" href="http://www.lynda.com/home/DisplayCourse.aspx?lpk2=89051&#038;utm_medium=affiliate&#038;utm_source=ldc_affiliate&#038;utm_content=524&#038;utm_campaign=CD2270&#038;bid=524&#038;aid=CD2270&#038;opt=" target="_blank">Improving SEO Using Accessibility Techniques</a>. This course grew out of a realization that though SEO and Accessibility seem to be at the opposite ends of the &#8220;stuff I code for and care about&#8221; spectrum, they are actually two peas in a pod. And they are also sharing that pod with a third pea called &#8220;Web Standards&#8221;. Or, to put it slightly less cryptically, accessibility, SEO and web standards go hand in hand &#8230; in hand. And by applying all three in your web development process you end up with sites that are not only easier to access for people who use keyboard navigation and text-to-speech browsers, but also other non-standard visitors like Google, Bing, Facebook, G+ and so on.</p>
<p>Check out the video above for a primer and go watch the&nbsp;<a title="Improving SEO Using Accessibility Techniques tutorial with Morten Rand-Hendriksen on lynda.com" href="http://www.lynda.com/home/DisplayCourse.aspx?lpk2=89051&#038;utm_medium=affiliate&#038;utm_source=ldc_affiliate&#038;utm_content=524&#038;utm_campaign=CD2270&#038;bid=524&#038;aid=CD2270&#038;opt=" target="_blank">Improving SEO Using Accessibility Techniques</a>&nbsp;course on lynda.com to get your sites up to snuff and get more visitors in the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/lynda-com/improving-seo-using-accessibility-techniques-new-lynda-com-course/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/lynda-com/improving-seo-using-accessibility-techniques-new-lynda-com-course/</feedburner:origLink></item>
		<item>
		<title>The value of women in tech</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/8QX3FuqQOzI/</link>
		<comments>http://www.designisphilosophy.com/my-opinion/the-value-of-women-in-tech/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 04:09:34 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[My Opinion]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1729</guid>
		<description><![CDATA[The video above shines a light on an important topic. It may seem like a purely lexical trick &#8211; referring to women as &#8216;women&#8217; rather than &#8216;girls&#8217; &#8211; but it is so much more. Considering females constitute more than half &#8230; <a href="http://www.designisphilosophy.com/my-opinion/the-value-of-women-in-tech/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="546" height="307" src="http://www.youtube.com/embed/TUvRPmL61SI?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>The video above shines a light on an important topic. It may seem like a purely lexical trick &#8211; referring to women as &#8216;women&#8217; rather than &#8216;girls&#8217; &#8211; but it is so much more. Considering females constitute more than half of the world population and that in the western world at least, the female work force is both better educated and more skilled than the male counterpart, referring to them in a manner that properly indicates their age and maturity is vital.</p>
<p>But the issue goes much deeper than that: Even though many consider womens&#8217; lib to be a thing of the past and feminism to be dead, women are still not treated as equal to men. This manifests itself in lower wages, lower positions and lower overall value in the work force. And this is especially true in the tech sector.</p>
<p>Why it is so is a mystery to me, but it is likely rooted in two main predispositions:</p>
<ol>
<li>Men don&#8217;t see women as equal</li>
<li>Women don&#8217;t see themselves as valuable</li>
</ol>
<p>Both of these ideas are fatally flawed and rooted in biasses that belong in the 17th century, not 2011. And to rid ourselves of them we all need to start thinking differently about gender in the workplace.</p>
<p>Consider James Chartrand &#8211; famed writer for Copyblogger and other online publications. When he published the article &#8220;<a title="Why James Chartrand wears womens' underpants - a must read" href="http://www.copyblogger.com/james-chartrand-underpants/" target="_blank">Why James Chartrand wears women&#8217;s underpants</a>&#8221; in 2009 it created a&nbsp;furore. James announced he was actually a she and was writing under a male pseudonym to gain respect. Her (yes, it&#8217;s confusing) claim was that as a man she had an easier time finding work and was paid more than as a woman.</p>
<p>Panzer Feminists and women&#8217;s lib (and anti-lib) opinionators world wide went ballistic on James for a variety of reasons. That itself was not a surprise. However, there were a group of arguments coming usually from women that really stuck out to me. I like to call them the head-burried-in-the-sand arguments. They came in two varieties:</p>
<ol>
<li>James is doing the women of the world a disservice by pretending to be a man. In fact, she is furthering the gender bias and worsening the situation. James should have her woMan card revoked.</li>
<li>James is delusional. There is no gender bias in tech. Her woes were caused by her inferior writing and obvious self-loathing.</li>
</ol>
<p>Both of these claims are, in my opinion, ludicrous. James did not do women a disservice or damage womens&#8217; lib or feminism by doing what she did. In fact, by pretending to be a man she proved beyond any doubt there <em>is</em>&nbsp;a severe gender bias in the tech world. And by going public she made it impossible to ignore. And to the claim that there is no gender bias in tech? Get real. Of course there is. And it&#8217;s worse than most other industries. Don&#8217;t believe me? Check out <a title="I regularly hire woman for 65% to 75% of what males make" href="http://deedls.visibli.com/share/1KGKCT" target="_blank">this piece from Redit</a>&nbsp;posted some 5 months ago entitled&nbsp;&#8221;<a title="I regularly hire woman for 65% to 75% of what males make" href="http://deedls.visibli.com/share/1KGKCT" target="_blank">I regularly hire woman for 65% to 75% of what males make</a>&#8220;. A sobering piece of hard reality right there.</p>
<p>This last piece also highlights that often overlooked women devaluing themselves issue I mentioned earlier: Women, through cultural bias and lack of inbred arrogance will often sell themselves short either because they think they&#8217;re not worth more or because they think they&#8217;re not skilled enough. Men on the other hand will almost invariably oversell both their value and their skills. As a result there is an artificial gap created by honesty vs bravado. The only way to get past that dear&nbsp;oestrogen&nbsp;enriched human entities, is to start demanding what you deserve. Otherwise you&#8217;re just playing weak cards in an attempt to be well liked. And just like in poker, that won&#8217;t work if you have any plans of winning.</p>
<h2>So what do we do now?</h2>
<p>Inequality for women or between the sexes is nothing new. The sad thing is it continues today. So we have to do something about it. And bizarre as it may sound, it starts with the language we use. Just like you would never refer to me as a &#8216;boy&#8217;, you should never refer to a female over the age of 18 as a &#8216;girl&#8217;. She is a &#8216;woman&#8217;. And that goes for all you other women out there. I know &nbsp;you think it&#8217;s cute to call yourselves &#8216;girls&#8217;, but you&#8217;re not girls, and by doing so you are selling yourselves short. Girls are females between the ages of 0 and about what&#8230; 14? 16?. Anything older than that and they are either &#8216;young women&#8217; or &#8216;women&#8217; proper.</p>
<p>Try applying this simple rule: When referring to a female, if she were a male, would you call her a &#8220;boy&#8221; or a &#8220;man&#8221;? If &#8216;boy&#8217;, go with &#8216;girl&#8217;. If &#8216;man&#8217;, go with &#8216;woman&#8217;. That&#8217;s what this linguistic differential is for: to distinguish based on age as well as gender.</p>
<p>Once that&#8217;s settled, let&#8217;s start talking about not referring to people based on their gender but rather their skill set. But that&#8217;s a whole different argument.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/my-opinion/the-value-of-women-in-tech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/my-opinion/the-value-of-women-in-tech/</feedburner:origLink></item>
		<item>
		<title>Wise words to live by</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/H3GwMjJQx-M/</link>
		<comments>http://www.designisphilosophy.com/quotes/wise-words-to-live-by/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 17:00:29 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Quotes]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1722</guid>
		<description><![CDATA[&#8220;If you&#8217;re only focusing on the next thing you&#8217;re going to learn, you&#8217;ll always feel like a student, never a dancer.&#8221; When she said it it was part of a conversation, little more than a fleeting thought put into words. &#8230; <a href="http://www.designisphilosophy.com/quotes/wise-words-to-live-by/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;If you&#8217;re only focusing on the next thing you&#8217;re going to learn, you&#8217;ll always feel like a student, never a dancer.&#8221;</p></blockquote>
<p>When she said it it was part of a conversation, little more than a fleeting thought put into words. But it struck me that not only was there profound meaning and wisdom in that sentence, but there was universality. Swap out &#8220;dancer&#8221; with any other word and you see what I mean.</p>
<p>&#8220;She&#8221; in this case is the teacher of the Argentine Tango weekend intensive Angela and I attended this weekend. You find the wisest words to live by in the strangest places.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/quotes/wise-words-to-live-by/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/quotes/wise-words-to-live-by/</feedburner:origLink></item>
		<item>
		<title>WordPress on Windows Azure – a bit of history</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/38YNnNwi-Yk/</link>
		<comments>http://www.designisphilosophy.com/wordpress/wordpress-on-windows-azure-a-bit-of-history/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 00:58:38 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress on Azure]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1507</guid>
		<description><![CDATA[In February 2011 I had the fortune of getting a meeting with Alessandro Catrioni, head of the Azure Interop team at Microsoft. We had a long chat about the possibility of creating a persistent, scaleable WordPress Networks solution that could run natively &#8230; <a href="http://www.designisphilosophy.com/wordpress/wordpress-on-windows-azure-a-bit-of-history/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In February 2011 I had the fortune of getting a meeting with Alessandro Catrioni, head of the Azure Interop team at Microsoft. We had a long chat about the possibility of creating a persistent, scaleable WordPress Networks solution that could run natively on Windows Azure. A bit like trying to boil the ocean, but we knew it was technically possible. Last Friday, the first fully functioning version of this crazy idea went live and we were able to run multiple WordPress sites from one core installation as a native Windows Azure application utilizing an Azure instance, a SQL Azure database, Azure Blob Storage and the Azure DNS.</p>
<p>It may not sound like much, but this is big. As in you can make your own WordPress.com. In the cloud. With infinite scaleability and redundancy. Without managing your own server.</p>
<h2>The Idea</h2>
<p>As with many other WordPress developers one of my big challenges has always been hosting. You basically have two options: Host your clients independently on their respective shared hosting plans all over the web or host them on your own server. If you choose to host them on your own server you again have two options: Host them as separate WordPress installs or host them all under a WordPress Network (previously WordPress MU). By far the best option from a content management and administration point of view is the WordPress Networks option. But it came with some pretty brutal downsides: When hosting multiple sites under a WordPress Network you are basically calling one set of core files and one database from many sites at the same time. And though this is unproblematic if each of the sites get a couple of hundred visits a day it becomes a huge problem if you have say ten sites that each pull 10,000 visits an hour. Why? Because that amounts to 100,000 calls to the same core files and the same database. That kind of traffic requires a robust server and a big pipe.</p>
<p>The solution to this problem has been to host such networks on unreasonably large and powerful servers. You basically scale for the worst case scenario and pay for a lot of down time in between. An inefficient solution, and also a cumbersome one as these setups in most cases require constant server maintenance and upkeep. Not to mention the enormous headache of adding additional drives and servers should upscaling be necessary.</p>
<p>This is what the cloud was built for: Dynamic scaleability both in terms of bandwith, capacity and processing power. So the best solution for WordPress Networks must surely lie in the cloud somewhere.</p>
<p>There&#8217;s just one problem: The cloud is complicated. And that&#8217;s where Windows Azure comes in &#8211; at least it did for me.</p>
<h2>I&#8217;m not a gardener</h2>
<p>Though I consider myself proficient at web development and people have referred to me as a &#8220;WordPress Adept&#8221; I am by no means a server expert. Quite the contrary. I have only a superficial understanding of servers and server maintenance, and I have little interest in expanding my knowledge in this field. So though a cloud server would provide me with a garden in the cloud I have little interest in becoming a gardener. I just want it to work. And that&#8217;s what Windows Azure offers: A maintained garden where I could deploy my applications.</p>
<p>The problem of course was that Windows Azure runs a .NET framework and a SQL server, not the PHP framework and MySQL server required by WordPress runs on. What was needed was some sort of symbiosis. Which is what we&#8217;ve been working on for the last 6 months.</p>
<h2>Make it Native</h2>
<p>Previous attempts had been made to make WordPress run on Azure, and they did work, at least for short periods of time. The problem was that they created pseudo states within the Azure framework where the PHP application could run, but these pseudo states were not stable. What was needed was a way of making WordPress into a native Azure application. That way it would be persistent, properly scaleable, and could be managed like any other Azure application. But this had to be done without touching the core files within WordPress, otherwise future updates would become a nightmare and that would defeat the purpose of doing this in the first place.</p>
<p>The solution was to create a set of adjoining files that served as bridges or translators between WordPress and the foreign Azure environment. That way the administrator could swap out and upgrade core files within WordPress without breaking anything and also change the configurations of the application through the normal Azure interface. And after a lot of experimentation and tweaking it worked.</p>
<h2>Domains for everyone</h2>
<p>So now we had a persistent, upgradable installation of WordPress running in Network mode on Azure. The last hurdle, the one that would prove to me most challenging, was to achieve seamless domain remapping for the different network sites. Let me explain:</p>
<p>A WordPress Network can be set up in two ways: Sub-sites or Sub-directories. The former produces site URIs such as newsite.pinkandyellow.com while the latter produces URIs like pinkandyellow.com/newsite. The obvious problem with both is that they use the pinkandyellow.com domain as the root. Which won&#8217;t work if you intend to host other sites or client sites under your network.</p>
<p>Domain remapping allows you to point these sub-sites or sub-directories to a different domain, so instead of newsite.pinkandyellow.com you&#8217;d get newsite.com. This requires a WordPress plugin (of which there are several) because the remapping has to be done based on the core URL. I could go on ad nauseum about how this works but suffice it to say it only works with one of these plugins. Problem is none of these plugins worked with SQL servers. Instead they produced bizarre errors and messed everything up quite badly. For a long time. Until the lead developer Satish found a solution.</p>
<h2>Your own personal garden in the blue cloud</h2>
<p>The end result of all this is a simple solution that allows you to deploy WordPress Networks on Windows Azure as a native application. By doing this you can take advantage of every aspect of the cloud including scaleability, persistency, CDNs and redundancy. But most importantly you will no longer be paying for processing power and bandwidth you are not using. Because Azure is a scaleable environment your solution will breathe with traffic, expanding and contracting as visitor numbers go up and down. As a result your costs will be a true representation of actual use, not a worst case scenario approach.</p>
<p>There are other great benefits to this solution including the ability to remote desktop into the application itself for beta testing and quick resets should something go wrong. In fact there are more possibilities here than I am able to wrap my mind around and as we move forward with the project countless more will undoubtedly take shape.</p>
<p>For now the only thing that matters is that you can set up and deploy your own installation right now and give this new solution a spin for yourself.</p>
<p>In the coming months I&#8217;ll be posting a series of tutorials and articles on my own experiences running WordPress on Azure. The first one on <a href="http://www.designisphilosophy.com/tutorials/wordpress-on-azure-single-site-deployment/" title="WordPress on Windows Azure: Single-Site Deployment">how to create a single site installation</a> went live a couple of weeks ago and will be updated as the deployment solution matures. To see a live example of WordPress running on Windows Azure you can head on over to <a href="http://photopivot.com" title="PhotoPivot.com - a digital lightboard for professional photographers" target="_blank">PhotoPivot.com</a> which currently runs on four extra small instances.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/wordpress/wordpress-on-windows-azure-a-bit-of-history/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/wordpress/wordpress-on-windows-azure-a-bit-of-history/</feedburner:origLink></item>
		<item>
		<title>How to remove WP Geo plugin from specific pages</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/tWCzlqKkMhc/</link>
		<comments>http://www.designisphilosophy.com/tutorials/how-to-remove-wp-geo-plugin-from-specific-pages/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 19:17:45 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp geo]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1692</guid>
		<description><![CDATA[I ran a cross a rather interesting situation this week while working on the Vi Er Der Du Er site. The site uses the WP Geo plugin extensively on both pages, and posts, and custom post types but I needed &#8230; <a href="http://www.designisphilosophy.com/tutorials/how-to-remove-wp-geo-plugin-from-specific-pages/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I ran a cross a rather interesting situation this week while working on the <a href="http://www.vierderduer.no" title="Vi Er Der Du Er" target="_blank">Vi Er Der Du Er</a> site. The site uses the <a href=" http://wordpress.org/extend/plugins/wp-geo/" title="WP Geo" target="_blank">WP Geo plugin</a> extensively on both pages, and posts, and custom post types but I needed to deactivate it for one particular page because I was embedding a different custom Google Map. Not surprisingly the scripts calling my custom map were conflicting with the scripts calling WP Geo and as a result the map on the page in question didn&#8217;t work.</p>
<p>At first I thought it was a matter of removing the actions that called the plugin itself. I&#8217;ve done this in the past and it works for some plugins. I also found a <a href="http://snipplr.com/view/50417/" title="Snippet" target="_blank">code snippet here</a> that seemed to show it working. That unfortunately was not the case. So I had to keep digging. Then I found this excellent article <a href="http://justintadlock.com/archives/2009/08/06/how-to-disable-scripts-and-styles" title="How to disable scripts and styles in WordPress" target="_blank">How to disable scripts and styles by Justin Tadlock</a> that explained it all: I needed to de-register the scripts, not simply remove the function. </p>
<p>After digging through the plugin code I found the script calls and ended up with this code snippet in my functions.php file:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
&nbsp;
<span style="color: #666666; font-style: italic;">// remove WP Geo JS/CSS from the nybank page</span>
add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wp_print_scripts'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'vierderduer_deregister_javascript'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> vierderduer_deregister_javascript<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>is_page_template<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'page-nybank.php'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'googe_jsapi'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'jquery'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'googlemaps'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wpgeo'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wpgeotooltip'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'wpgeo-admin-post'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>As you can see I made the function conditional so it only kicks in when a specific page template is used. You can swap out that condition for any other condition for the same result. Bottom line is it works and now WP Geo works on every page, post and post type except pages that use the page-nybank.php template file. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/tutorials/how-to-remove-wp-geo-plugin-from-specific-pages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/tutorials/how-to-remove-wp-geo-plugin-from-specific-pages/</feedburner:origLink></item>
		<item>
		<title>Open Source in the Cloud – WordPress on Azure: My Make Web Not War presentation</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/BA1zfOK1qwk/</link>
		<comments>http://www.designisphilosophy.com/events/speaking-engagements-events/open-source-in-the-cloud-wordpress-on-azure-my-make-web-not-war-presentation/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 18:15:36 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Speaking Engagements]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[WordPress on Azure]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1679</guid>
		<description><![CDATA[Curious about the concept behind WordPress on Windows Azure or why I&#8217;m so excited about hosting WordPress Networks on a Microsoft platform? Look no further than the presentation above from Make Web Not War 2011.  In it I explain the premise &#8230; <a href="http://www.designisphilosophy.com/events/speaking-engagements-events/open-source-in-the-cloud-wordpress-on-azure-my-make-web-not-war-presentation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/26166439?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="550" height="413"></iframe></p>
<p>Curious about the concept behind WordPress on Windows Azure or why I&#8217;m so excited about hosting WordPress Networks on a Microsoft platform? Look no further than the presentation above from <a title="Morten Rand-Hendriksen at Make Web Not War 2011" href="http://www.webnotwar.ca/speaker-spotlight-mwnw-welcomes-back-morten-rand-hendriksen/" target="_blank">Make Web Not War 2011.</a>  In it I explain the premise and reasoning behind hosting WordPress Networks on Windows Azure along with some general principles around hosting large WordPress Networks. Your own private garden in the cloud? You bet.</p>
<p>Sadly the video doesn&#8217;t feature the slideshow presentation I created, but you can <a title="Open Source in the Cloud Prezi by Morten Rand-Hendriksen" href="http://prezi.com/ymwfarw4sk6j/open-source-in-the-cloud-php-on-azure/" target="_blank">follow along in a separate window</a> by navigating the slides on Prezi.com.</p>
<p>For a rundown on how to host WordPress on Azure with the new scaffolder solution which was introduced this fall, check out the <a href="http://www.designisphilosophy.com/tutorials/wordpress-on-azure-single-site-deployment/" title="WordPress on Windows Azure: Single-Site Deployment">full WordPress on Windows Azure: Single-Site Deployment tutorial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/events/speaking-engagements-events/open-source-in-the-cloud-wordpress-on-azure-my-make-web-not-war-presentation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/events/speaking-engagements-events/open-source-in-the-cloud-wordpress-on-azure-my-make-web-not-war-presentation/</feedburner:origLink></item>
		<item>
		<title>Tutorial: Your files in the Cloud with the Windows Azure Storage for WordPress plugin</title>
		<link>http://feedproxy.google.com/~r/PinkYellowMediaBlog/~3/j2ZNcAPFqCk/</link>
		<comments>http://www.designisphilosophy.com/tutorials/windows-azure-storage-for-wordpress-plugin/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 16:00:09 +0000</pubDate>
		<dc:creator>Morten Rand-Hendriksen</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[WordPress on Azure]]></category>
		<category><![CDATA[azure]]></category>

		<guid isPermaLink="false">http://www.designisphilosophy.com/?p=1617</guid>
		<description><![CDATA[So you have a WordPress site with a decent amount of traffic. That&#8217;s probably causing some serious pain for your server. With a lot of traffic comes a heavy server load. And most of that load is probably due to image files &#8230; <a href="http://www.designisphilosophy.com/tutorials/windows-azure-storage-for-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So you have a WordPress site with a decent amount of traffic. That&#8217;s probably causing some serious pain for your server. With a lot of traffic comes a heavy server load. And most of that load is probably due to image files uploaded to your site.</p>
<p>The solution to this is to put your images and other media files elsewhere &#8211; most notably in some sort of CDN (Content Delivery Network) or on a cloud service.</p>
<p>In this tutorial I&#8217;ll show you how to use Windows Azure Blob storage to host all your media files from any WordPress site, whether it&#8217;s hosted on WordPress or somewhere else on the web. It&#8217;s all done with a great little plugin called the <a title="Windows Azure Storage Plugin" href="http://wordpress.org/extend/plugins/windows-azure-storage/" target="_blank">Windows Azure Storage Plugin</a> available from the WordPress Plugin Directory.</p>
<p>To follow this tutorial you need four things:</p>
<ol>
<li>A Windows Azure account (<a title="Windows Azure free trial" href="http://www.microsoft.com/windowsazure/free-trial/" target="_blank">get a free trial here</a>)</li>
<li>An Azure companion like <a title="CloudXplorer" href="http://clumsyleaf.com/products/cloudxplorer" target="_blank">CloudXplorer</a></li>
<li>A WordPress powered site hosted somewhere on the web</li>
<li>The <a title="Windows Azure Storage Plugin" href="http://wordpress.org/extend/plugins/windows-azure-storage/" target="_blank">Windows Azure Storage Plugin</a></li>
</ol>
<h2>Step 1: Set up a storage account on Windows Azure</h2>
<p>Setting up a storage account on Windows Azure is pretty straight forward. Basically you just log in to the Windows Azure Portal, click New Storage Account and follow the instructions. If you need a more detailed rundown check out my article on <a title="WordPress on Windows Azure: Single-Site Deployment" href="http://www.designisphilosophy.com/tutorials/wordpress-on-azure-single-site-deployment/" target="_blank">how to host WordPress on Windows Azure</a>, in particular step 1b.</p>
<h2>Step 2: Prepare a folder in your storage account with CloudXplorer</h2>
<p>What we&#8217;re going to do is redirect all the files uploaded from WordPress to be stored in the Windows Azure Blob instead of in the regular location (which is under wp-content/uploads). To do this we first have to create a folder under the Windows Azure Storage Account that we can direct the files to. Because Windows Azure is a cloud service, the folder system cannot be accessed like you would if it were an FTP server. Instead we have to use a cloud companion to get access to the space and create the folder. <a title="CloudXplorer" href="http://clumsyleaf.com/products/cloudxplorer" target="_blank">CloudXplorer</a> is a free companion for Windows that will help  you do exactly that.</p>
<p>After setting up your Windows Azure Storage Account and installing CloudXplorer, go to the Windows Azure portal and find and copy the Primary Access Key for your storage account by clicking the button in the right hand column:</p>
<p><img class="aligncenter size-full wp-image-1609" title="Primary Access Key" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/accesskey.jpg" alt="Primary Access Key" width="214" height="117" /></p>
<p>Now open CloudXplorer and click File -&gt; Manage Accounts. This brings up a new dialog. From here click New and pick Windows Azure account:</p>
<p><img class="aligncenter size-full wp-image-1619" title="Create new Azure account" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/newaccount.jpg" alt="Create new Azure account" width="558" height="336" /></p>
<p>In the next dialog insert the storage account name (the one you defined when setting up the storage account) and the primary access key for the storage account:</p>
<p><img class="aligncenter size-full wp-image-1618" title="Windows Azure Account Info" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/insertkey.jpg" alt="Windows Azure Account Info" width="348" height="419" />When you are inside the new storage account, create a new directory (in Windows Azure directories are called &#8220;containers&#8221;):</p>
<p><img class="aligncenter size-full wp-image-1620" title="Create new container" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/newcontainer.jpg" alt="Create new container" width="408" height="205" />Finally, right click the new container and select Properties. From here go to Policies and set Access Control to Full public read access. Otherwise only you will be able to see the files uploaded:</p>
<p><img class="aligncenter size-full wp-image-1621" title="Change access" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/fullaccess.jpg" alt="Change access" width="361" height="458" />Now you have a folder WordPress can send files to.</p>
<h2>Step 3: Set up the Windows Azure Storage for WordPress plugin</h2>
<p>If you haven&#8217;t already done so, log in to WordPress and install and activate the <a title="Windows Azure Storage Plugin" href="http://wordpress.org/extend/plugins/windows-azure-storage/" target="_blank">Windows Azure Storage Plugin</a>. Once that&#8217;s done, go to Settings -&gt; Azure Storage to open the administration window.</p>
<p>From here you can insert the storage account name (same as before) and the Primary Access Key (also same as before). Just like with CloudXplorer this allows WordPress to talk to the Windows Azure Storage Account.</p>
<p><img class="aligncenter size-full wp-image-1622" title="settings" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/settings.jpg" alt="" width="564" height="205" />After entering the name and key, click Save. This will allow the plugin to talk to Windows Azure and when the page refreshes the Default Storage Container box will be populated with the containers (folders) in your storage account. Select the container you created using CloudXplorer and click Save again.</p>
<p><img class="aligncenter size-full wp-image-1623" title="container" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/container.jpg" alt="" width="564" height="205" />If you want to you can get fancy here and set a CNAME to mask the location of the files. If you don&#8217;t do that the URL to your files will be something like storage.windows.azure.com which isn&#8217;t all that nice or meaningful.</p>
<p>Finally, check the box at the bottom that says Use Windows Azure Storage when uploading via WordPress&#8217; upload tab. This will cause the plugin to take over the upload functions in WordPress completely and all files will now be pushed to Windows Azure. Click Save to finish the job.</p>
<p><img class="aligncenter size-full wp-image-1624" title="useasstorage" src="http://www.designisphilosophy.com/wp-content/uploads/2011/10/useasstorage.jpg" alt="" width="443" height="67" />With the settings complete, upload an image file either from Media -&gt; New or by creating a new blog post and adding an image. When the image is uploaded, check the URL and see that it&#8217;s now stored in the Windows Azure container. You can also use CloudXplorer to navigate to the container and see the files.</p>
<p>The great thing about the way this plugin is set up is that it co-opts the native media uploader function in WordPress. As a result all the regular media behaviour you find in WordPress continues as before. The only difference is you are now hosting your media files in the Windows Azure cloud with all the performance benefits that entails.</p>
<p>That is all! Try it out and report back in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designisphilosophy.com/tutorials/windows-azure-storage-for-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.designisphilosophy.com/tutorials/windows-azure-storage-for-wordpress-plugin/</feedburner:origLink></item>
	</channel>
</rss>

