<?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>Emmense Technologies, LLC - WordPress Consulting &#187; wordpress — Emmense Technologies, LLC - WordPress Consulting</title>
	<atom:link href="http://emmense.com/blog/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://emmense.com</link>
	<description>Just another Emmense.com weblog</description>
	<lastBuildDate>Sat, 05 Jun 2010 14:13:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>Turn, Turn, Turn: No Longer the Season for Client Services</title>
		<link>http://emmense.com/blog/2010/06/05/turn-turn-turn-no-longer-the-season-for-client-services/</link>
		<comments>http://emmense.com/blog/2010/06/05/turn-turn-turn-no-longer-the-season-for-client-services/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 14:13:33 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[client services]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=8015</guid>
		<description><![CDATA[The news is out there. I have accepted a position with a WordPress-oriented startup here in Austin. This means that, effectively immediately, Emmense Technologies will no longer be accepting new clients. We will, of course, live up to our contractual agreements with existing clients.
For WordPress consulting, I recommend Mark Jaquith of Covered Web Services or [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F06%2F05%2Fturn-turn-turn-no-longer-the-season-for-client-services%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F06%2F05%2Fturn-turn-turn-no-longer-the-season-for-client-services%2F" height="61" width="51" /></a></div><p>The news is out there. I have accepted a position with a WordPress-oriented startup here in Austin. This means that, effectively immediately, Emmense Technologies will no longer be accepting new clients. We will, of course, live up to our contractual agreements with existing clients.</p>
<p>For WordPress consulting, I recommend Mark Jaquith of <a href="http://coveredwebservices.com/">Covered Web Services</a> or <a href="http://andrewnacin.com">Andrew Nacin</a>, both of whom are intimately familiar with WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2010/06/05/turn-turn-turn-no-longer-the-season-for-client-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy President&#8217;s Day (or Snow Day) Sale</title>
		<link>http://emmense.com/blog/2010/02/15/happy-presidents-day-or-snow-day-sale/</link>
		<comments>http://emmense.com/blog/2010/02/15/happy-presidents-day-or-snow-day-sale/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 07:44:43 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[Product News]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[offer]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=7972</guid>
		<description><![CDATA[That's why I'd like to offer you a special deal in honor of President's Day and this weather. For $150, I will spend 30 minutes on the phone with you discussing strategy and recommendations pertaining to your WordPress-powered site. This is the same amount of time that I usually spend speaking to a room of people at conferences. Except, in this case, it's one on one.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F02%2F15%2Fhappy-presidents-day-or-snow-day-sale%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F02%2F15%2Fhappy-presidents-day-or-snow-day-sale%2F" height="61" width="51" /></a></div><p>We&#8217;ve all been a little miserable lately with all the snow. I mean, here in the DC area, we&#8217;ve been struck by three blizzards in two months, something that I don&#8217;t recall happening ever in my 20+ years living around here. In Dallas, they got a freak 8 inches.</p>
<p>Then there&#8217;s Vancouver where the winter games are occurring. They have hardly any snow. IT&#8217;s a miserable winter.</p>
<p>That&#8217;s why I&#8217;d like to offer you a special deal in honor of President&#8217;s Day and this weather. For $150, I will spend 30 minutes on the phone with you discussing strategy and recommendations pertaining to your WordPress-powered site. This is the same amount of time that I usually spend speaking to a room of people at conferences. Except, in this case, it&#8217;s one on one.</p>
<p>Now of course, there is some fine print. Not a lot, but important. You must email me at <a href="mailto:aaron@technosailor.com">aaron@technosailor.com</a> and schedule the call. Secondly, the consultation must happen on Monday, February 15 or Tuesday, February 16. I&#8217;m on the east coast of the United States, so I&#8217;ll be arranging appointments between 10am and 6pm ET.</p>
<p>The other piece of fine print is bonus for you: You get a free copy of the <a href="http://bit.ly/wpbible">WordPress Bible</a>, the book I wrote, shipped straight to your door! It&#8217;s one of the hottest selling WordPress books right now.</p>
<p>So drop me an email. Let me know when you <em>cannot</em> meet. I&#8217;ll see what I can do to help you out.</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2010/02/15/happy-presidents-day-or-snow-day-sale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook HipHop and WordPress</title>
		<link>http://emmense.com/blog/2010/02/02/facebook-hiphop-and-wordpress/</link>
		<comments>http://emmense.com/blog/2010/02/02/facebook-hiphop-and-wordpress/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 18:38:24 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hiphop]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=260</guid>
		<description><![CDATA[By now, the news has hit the street about Facebook&#8217;s new PHP pseudo-compiler technology that is looking set to change the PHP world once again. It is called HipHop for PHP.
Here at Emmense, we build on PHP and more specifically, we build on WordPress. The PHP community as a whole continues to innovate the language [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F02%2F02%2Ffacebook-hiphop-and-wordpress%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F02%2F02%2Ffacebook-hiphop-and-wordpress%2F" height="61" width="51" /></a></div><p>By now, the news has hit the street about Facebook&#8217;s new PHP pseudo-compiler technology that is looking set to change the PHP world once again. It is called <a href="http://developers.facebook.com/news.php?blog=1&amp;story=358">HipHop for PHP</a>.</p>
<p>Here at Emmense, we build on PHP and more specifically, we build on <a href="http://wordpress.org">WordPress</a>. The PHP community as a whole continues to innovate the language and Facebook has been a longstanding member of that community. WordPress stands on the shoulders who have gone before, and there are certainly instances of large-scale installs of WordPress that could stand to use some acceration.</p>
<p>It is our intention, here at Emmense, to support the Facebook HipHop methodology where appropriate. We will be exploring the use and implementation of this technology in the days and weeks to come and will be working to build solutions that leverage it in the WordPress world for our clients. Where possible, our work will be conributed back to the WordPress core where appropriate.</p>
<p>While we expect that many more service providers will likely leverage this technology, we want to continue to lead in the WordPress community in an ever-open exchange of ideas between the <a href="http://technosailor.com/2009/12/03/php-doesnt-do-wordpress-and-wordpress-doesnt-do-php/">PHP and WordPress communities</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2010/02/02/facebook-hiphop-and-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Changing WordPress Upload Directory File Permissions</title>
		<link>http://emmense.com/blog/2010/01/31/changing-wordpress-upload-directory-file-permissions/</link>
		<comments>http://emmense.com/blog/2010/01/31/changing-wordpress-upload-directory-file-permissions/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 20:04:30 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[file permissions]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress bible]]></category>
		<category><![CDATA[wpbible]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=239</guid>
		<description><![CDATA[Quick How-to here on folder permissions to allow for WordPress image uploading. Some have reported seeing an error similar to below.

This error is confusing for non-technical users. How to fix it? 
Well, it turns out it&#8217;s pretty easy. First, you need to make sure you have an FTP client. This will allow you to manage [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F01%2F31%2Fchanging-wordpress-upload-directory-file-permissions%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2010%2F01%2F31%2Fchanging-wordpress-upload-directory-file-permissions%2F" height="61" width="51" /></a></div><p>Quick How-to here on folder permissions to allow for WordPress image uploading. Some have reported seeing an error similar to below.</p>
<p><a href="http://emmense.com/files/Screen-shot-2010-01-31-at-2.55.20-PM.png"><img src="http://emmense.com/files/Screen-shot-2010-01-31-at-2.55.20-PM-300x104.png" alt="Folder permission error in WordPress" title="Folder permission error in WordPress" width="300" height="104" class="aligncenter size-medium wp-image-240" /></a></p>
<p>This error is confusing for non-technical users. How to fix it? </p>
<p>Well, it turns out it&#8217;s pretty easy. First, you need to make sure you have an FTP client. This will allow you to manage files and folders <em>directly</em> on your server. Be aware of the <a href="http://technosailor.com/2005/02/07/lessons-in-web-security-the-bane-of-ftp/">dangers of FTP</a>, however, and if you have the option, use Secure FTP (SFTP) or SSH instead.</p>
<p>For Mac users, I highly recommend <a href="http://www.panic.com/TRANSMIT/">Transmit</a> from Panic software. <a href="http://fetchsoftworks.com/">Fetch</a> is a solid second. Windows users can look at <a href="http://filezilla.org">Filezilla</a>.</p>
<p>Having done that, log into your server with your FTP credentials (ask your host if you don&#8217;t know this). Browse to your <strong>wp-content/</strong> folder. Highlight the <strong>uploads/</strong> folder. If it doesn&#8217;t exist, create it.</p>
<p>Right click or context click and look for an option to change permission or view information about the folder. In that dialog, there will likely be a setting for changing file permissions. Every FTP client is slightly different, so poke around a bit if it&#8217;s not readily obvious.</p>
<p>Once you find the permission settings, set the permission number to 777 (or Read, Write, Execute for User, Group and All). This is a very liberal permission setting and not to be used everywhere. <strong>Only on this directory!</strong>. You can apply the permission to all files and folders underneath this folder if you&#8217;d like.</p>
<p>If you want to login via SSH and apply the same permission setting, you can issue this command:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">chmod -R 777 /path/to/wordpress/wp-content/uploads</div></td></tr></tbody></table></div>
<p>.</p>
<p>For more information about using WordPress, setting permissions or FTP security, make sure you buy my book, the <a href="http://bit.ly/wpbible">WordPress Bible</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2010/01/31/changing-wordpress-upload-directory-file-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Doesn&#8217;t Do WordPress and WordPress Doesn&#8217;t Do PHP</title>
		<link>http://emmense.com/blog/2009/12/03/php-doesnt-do-wordpress-and-wordpress-doesnt-do-php-2/</link>
		<comments>http://emmense.com/blog/2009/12/03/php-doesnt-do-wordpress-and-wordpress-doesnt-do-php-2/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:20:23 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[ben ramsey]]></category>
		<category><![CDATA[cal evans]]></category>
		<category><![CDATA[keith casey]]></category>
		<category><![CDATA[marco tabini]]></category>

		<guid isPermaLink="false">http://technosailor.com/?p=7963</guid>
		<description><![CDATA[If there's one thing I have been consistent on in the past (almost) 6 years of blogging and engaging on the web, it's that I believe in the mantra "no sacred cows". In politics, I confound and confuse members of both parties who look at life through sterilized lenses that reflect their party platform. I will often stir up controversy by dragging people into a process of debate that, while respectful, causes them to think and re-think their positions. At least that's the goal. I am a fiercely independent thinker and though some of my closest friends are on the left, I've ruthlessly challenged the parts of the left that I don't like while supporting the ones I do. I've done the same thing with folks on the right. More after the jump.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F12%2F03%2Fphp-doesnt-do-wordpress-and-wordpress-doesnt-do-php-2%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F12%2F03%2Fphp-doesnt-do-wordpress-and-wordpress-doesnt-do-php-2%2F" height="61" width="51" /></a></div><p>If there&#8217;s one thing I have been consistent on in the past (almost) 6 years of blogging and engaging on the web, it&#8217;s that I believe in the mantra &#8220;no sacred cows&#8221;. In politics, I confound and confuse members of both parties who look at life through sterilized lenses that reflect their party platform. I will often stir up controversy by dragging people into a process of debate that, while respectful, causes them to think and re-think their positions. At least that&#8217;s the goal. I am a fiercely independent thinker and though some of my closest friends are on the left, I&#8217;ve ruthlessly challenged the parts of the left that I don&#8217;t like while supporting the ones I do. I&#8217;ve done the same thing with folks on the right.</p>
<p>So as I prepare to write this article with an admittedly slightly inflammatory title, I expect it will cause some controversies &#8211; maybe, and perhaps intentionally, it will cause some rancor in the leadership of the WordPress community itself &#8211; the ones who set the tone and cadence for the rest of the community. This is not all bad and nobody can ever accuse me of not being consistent in how I approach issues I feel strongly about.</p>
<p>For nearly 10 years, I have been coding in PHP. For the past 4, I have spent my time focusing my energies on WordPress specifically. It seems to me that for software that is built on PHP, then, there should be some consistent crossover between the WordPress community and the PHP community. That natural convergence does not seem to exist however.<br />
<img src="http://technosailor.com/wp-content/uploads/2009/12/php_logo-250x131.jpg" alt="" title="php_logo" width="250" height="131" class="alignright size-medium wp-image-7964" /></p>
<p>Early on, when getting started on the web, I hung out a lot over at <a href="http://sitepoint.com/forums">the SitePoint Forums</a>. It was there that, through a community of PHP developers of varying skill levels, that I cut my teeth. I knew nothing at the time and there were folks who were much more skilled than me. It was in the PHP 4 era (that era had just begun and has since ended) so there was no such thing as <em>real</em> classes and object orientation. XML parsing became a hot topic during those days as PHP devs wrestled with the best way (they were all ugly!) to parse XML. I was just trying hard to figure out how to connect to a database.</p>
<p>I spent months learning and picking up what I could and contributing back my learnt wisdom to other newbies along the way. The cycle of karma was great as people learned and taught each other.</p>
<p>Shortly after I left SitePoint in 2003, I started blogging (May of 2004). I started on <a href="http://textpattern.com/">Textpattern</a> but within a week, as my curiosity about this new WordPress platform started hitting my ears, I switched over to WordPress. I joined the <a href="http://lists.automattic.com/mailman/listinfo/wp-hackers">wp-hackers</a> mailing list and began immersing myself in the WordPress community. Generally speaking, people were very helpful and I learned a lot.</p>
<p>Eventually, as part of that community, I would lead the technology efforts at <a href="http://b5media.com">b5media</a> where my team was responsible for a very large WordPress farm. Having some of the best and the brightest working alongside me meant that my good understanding of the PHP involved in WordPress, and the event driven nature of its core, would increase to maybe very good.</p>
<p>Today, my business is WordPress. I just wrote the <a><em>WordPress Bible</em></a>. I do WordPress consulting. I run all my blogs on WordPress. I speak at WordCamps all over. Heck, I&#8217;m organizing <a href="http://wordcampmidatlantic.com">WordCamp Mid-Atlantic</a> again this year. I love the WordPress community.</p>
<p>During the writing of the Bible, <a href="http://caseysoftware.com">Keith Casey</a>, my friend and also a top developer in the PHP community (He works with Marco Tabini of <a href="http://phparch.com">PHP Architect</a> &#8211; if that doesn&#8217;t give him street cred, I don&#8217;t know what will), offered to review anything I wrote along the way. I took him up on it even though I already had editors including a very WordPress-specific technical editor. My thinking? Having someone from the greater PHP community look at my code for the WordPress world can only make it better.</p>
<p>My question is, why doesn&#8217;t the rest of the WordPress world do this as well? We, as a community, can only be better by embracing the greater PHP community. We can learn things from them. They can learn things from us. Of course, the greater PHP community is going to scorn WordPress for <a href="http://technosailor.com/2009/11/18/wordpress-and-php-5-be-the-change-you-want-to-see/">remaining PHP 4 compatible</a> when PHP 4 is end of life and I think that point has validity but that&#8217;s not the point. I think both sides can agree that WordPress has its way and it is not likely to change its philosophy on this soon.</p>
<p>However, what about the rest of the converging community? Why do WordPress people not participate in the major PHP conferences like <a href="http://tek.phparch.com/">Tek-X</a> or <a href="http://zendcon.com/">ZendCon</a>? Why was <a href="http://dentedreality.com.au/">Beau Lebens</a> the only WordPress guy that I&#8217;m aware of that attended any of the 7-conferences-in-14-days-roaming-conference <a href="http://cw.mtacon.com/">CodeWorks</a>?</p>
<p>Why is it that when WordPress developers are asked to speak at these events, they look down their nose in scorn (I can think of two specific incidents that have been related to me)?</p>
<p>Hey, if we&#8217;re going to have a war on PHP coding ability, I&#8217;ve got to side with the PHP coders of the world, not the WordPress coders. If we&#8217;re going to have a war on extensible platforms, well, I&#8217;ll probably go with WordPress.</p>
<p>My point is really simple: The WordPress community needs to abandon this concept of elitism and isolationism. Yes, isolationism only makes you isolated. Over the past six months, I have come to appreciate the greater PHP community more. I&#8217;ve rekindled my love for that community and the karma and learning that comes from it. I&#8217;ve discovered new things about PHP because I&#8217;ve opened my horizons again and got outside the WordPress box. Fortunately, by doing so, I can apply that knowledge and karma inside the WordPress world as well. It&#8217;s sort of like finally getting that water after being parched and thirsty for so long. It&#8217;s refreshing and gives new energy and drive.</p>
<p>So in 2010, I will continue to work inside the WordPress world to try to influence change. My code will reflect that change. I&#8217;ve abandoned PHP 4 (but again, that&#8217;s beside the point) and won&#8217;t work with it in my own work, plugins, etc. I hope to make a major announcement regarding some crossover and convergence in the next few weeks as well.</p>
<p>To the PHP World: Understand that the WordPress world is different. You already know this. We are a PHP 4 world for a reason, like it or not. We need some understanding. We also have our feelings on GPL and open source which don&#8217;t always jive. Work with us. <a href="http://technosailor.com/2009/11/18/wordpress-and-php-5-be-the-change-you-want-to-see/">Help us be better</a>.</p>
<p>To the WordPress world: Get outside your comfort zone and embrace the leaders in the PHP world. I already mentioned Keith. Add <a href="http://blog.tabini.ca/">Marco Tabini</a>, <a href="http://benramsey.com/">Ben Ramsey</a> and <a href="http://blog.calevans.com/">Cal Evans</a> to the list of people to pay attention to.</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2009/12/03/php-doesnt-do-wordpress-and-wordpress-doesnt-do-php-2/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>PHP Twitter version 2 Coming Soon!</title>
		<link>http://emmense.com/blog/2009/11/07/php-twitter-version-2-coming-soon/</link>
		<comments>http://emmense.com/blog/2009/11/07/php-twitter-version-2-coming-soon/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 15:39:30 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Product News]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[backpress]]></category>
		<category><![CDATA[identi.ca]]></category>
		<category><![CDATA[laconica]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-twitter]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=226</guid>
		<description><![CDATA[Lot&#8217;s of people have been using the php-twitter class that we released last year. We&#8217;re grateful that so many people have chosen to use the library. However, we also acknowledge that the class has significant shortcoming, not the least has been bugs and, well, things just not working as prescribed.
With that in mind, version 2 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F11%2F07%2Fphp-twitter-version-2-coming-soon%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F11%2F07%2Fphp-twitter-version-2-coming-soon%2F" height="61" width="51" /></a></div><p>Lot&#8217;s of people have been using the <a href="http://emmense.com/php-twitter/">php-twitter</a> class that we released last year. We&#8217;re grateful that so many people have chosen to use the library. However, we also acknowledge that the class has significant shortcoming, not the least has been bugs and, well, things just not working as prescribed.</p>
<p>With that in mind, version 2 of the library is a complete rewrite. It will support all of the current <a href="http://apiwiki.twitter.com/Twitter-API-Documentation">Twitter API</a> and I hope we&#8217;ll be able to release upgrades as Twitter releases more API. Even more notable, since Emmense Technologies is a <a href="http://wordpress.org">WordPress</a>-shop, the Twitter class is built on <a href="http://svn.automattic.com/backpress/trunk/">BackPress</a>. Specifically, it is built on the HTTP class that supports more than just cURL since not every server supports cURL and those that do carry problems surrounding uploading of images.</p>
<p>The <a href="http://code.google.com/p/php-twitter/">library is only available on SVN</a> and it is not ready for primetime yet. <strong>There are dragons in those hills!</strong></p>
<p>Roadmap for Version 2:</p>
<ul>
<li>Support for all basic Twitter API supported in the v1.x branch</li>
<li>Support for Twitter List API</li>
<li>Support for oAuth</li>
<li>Support for Retweet API (Coming soon)</li>
<li>Built on BackPress</li>
<li>Fully PHP 5 compatible (Visibility, Objects, Child Classes, JSON)</li>
<li>Error Catching</li>
<li>Use All APIs together or use parts as needed</li>
<li>Full <a href="http://ostatic.com/laconica">Laconica/Identi.ca</a> Support</li>
</ul>
<p>Thank you for your patience as we roll this product together.</p>
<p>Aaron</p>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2009/11/07/php-twitter-version-2-coming-soon/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress Preset Options Plugin</title>
		<link>http://emmense.com/blog/2009/07/11/wordpress-preset-options-plugin/</link>
		<comments>http://emmense.com/blog/2009/07/11/wordpress-preset-options-plugin/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 16:29:17 +0000</pubDate>
		<dc:creator>Aaron Brazell</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[b5media]]></category>
		<category><![CDATA[mu plugins]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress mu]]></category>
		<category><![CDATA[wpmu]]></category>

		<guid isPermaLink="false">http://emmense.com/?p=221</guid>
		<description><![CDATA[Late yesterday evening, my friend @immunity pointed me to Dan Gilmore&#8217;s post about hacking the database for WordPress MU to manually set options across a variety of blogs. @immunity figured there must be a better way and, indeed, there is.
In fact, I had written some code while at b5media which just did this. Because I [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F07%2F11%2Fwordpress-preset-options-plugin%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Femmense.com%2Fblog%2F2009%2F07%2F11%2Fwordpress-preset-options-plugin%2F" height="61" width="51" /></a></div><p>Late yesterday evening, my friend <a href="http://twitter.com/immunity">@immunity</a> pointed me to <a href="http://www.dangilmore.com/?p=84">Dan Gilmore&#8217;s post about hacking the database for WordPress MU</a> to manually set options across a variety of blogs. @immunity figured there must be a better way and, indeed, there is.</p>
<p>In fact, I had written some code while at <a href="http://b5media.com">b5media</a> which just did this. Because I am a persistent packrat, I still had that plugin and got the permission from b5media to release the very simple plugin publicly.</p>
<p>This plugin is perfect for WordPress MU administrators who want to exercise some control, whether for QA or otherwise, over the WordPress blogs on the system. Drop this plugin into the mu-plugins folder and it will be universally applied.</p>
<p>Couple things to think about&#8230; as for now, with this cleaned up but made-for-b5media plugin, there is no admin interface. You do have to edit the file manually to preset the options you want and you might have to comb your database options table to find the names of certain options, etc. This is not a braindead stupid plugin, but for those who are savvy enough to be administrators, it shouldn&#8217;t be too difficult to figure out via the example usage in the plugin.</p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php<br />
<span style="color: #666666; font-style: italic;">/*<br />
Plugin Name: Preset Options<br />
Plugin URI: #<br />
Description: A plugin created when I was working for &lt;a href=&quot;http://b5media.com&quot;&gt;b5media&lt;/a&gt; and released, with permission, under GPLv2. The plugin provides two functions that will set any blog option as defined and unchangeable. Perfect for WPMU.<br />
Author: Aaron Brazell<br />
Version: 1.0<br />
Author URI: http://technosailor.com<br />
*/</span><br />
<br />
<span style="color: #666666; font-style: italic;">/*<br />
Example Usage:<br />
<br />
Turn off Smilies across the board:<br />
po_hardcode_option('use_smilies', '0');<br />
<br />
Remove the lifestream plugin from the list of active plugins.<br />
po_hardcore_option_serialized('active_plugins', array('lifestream/lifestream.php'), false, true );<br />
*/</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Function takes two arguments and is meant for setting a setting for a single string/boolean option. It is not meant for serialized data.<br />
&nbsp;**/</span><br />
<span style="color: #000000; font-weight: bold;">function</span> po_hardcode_option<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pre_option_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$name</span><span style="color: #339933;">,</span> <a href="http://www.php.net/create_function"><span style="color: #990000;">create_function</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$a'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return &quot;'</span> <span style="color: #339933;">.</span> <a href="http://www.php.net/addslashes"><span style="color: #990000;">addslashes</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot;;'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Function takes two required arguments, the name of an option and an array of key/value array data. Two optional arguments are boolean<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">function</span> po_hardcode_option_serialized<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$removekey</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #000088;">$removevalue</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$exist_options</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$options</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$v</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$removevalue</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$key</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array_search"><span style="color: #990000;">array_search</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$v</span><span style="color: #339933;">,</span> <span style="color: #000088;">$exist_options</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">!=</span> <span style="color: #009900; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/unset"><span style="color: #990000;">unset</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$exist_options</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/array_key_exists"><span style="color: #990000;">array_key_exists</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$k</span><span style="color: #339933;">,</span> <span style="color: #000088;">$exist_options</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><a href="http://www.php.net/is_int"><span style="color: #990000;">is_int</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$k</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$removekey</span> <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/unset"><span style="color: #990000;">unset</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$exist_options</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$k</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$exist_options</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$k</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$v</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'pre_option_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> change_option_array<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #000088;">$exist_options</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> change_option_array<span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; update_option<span style="color: #009900;">&#40;</span><span style="color: #000088;">$setting</span><span style="color: #339933;">,</span> <span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p><a href="http://emmense.com/downloads/preset-options.php.zip">Download the plugin here</a>.</p>
<p>So Dan, you would have just added the following line to the bottom of the plugin and would have been set. <img src='http://emmense.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="codecolorer-container php mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">po_hardcode_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_registration'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://emmense.com/blog/2009/07/11/wordpress-preset-options-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
