<?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>SteveLove.org &#187; Code</title>
	<atom:link href="http://stevelove.org/tag/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://stevelove.org</link>
	<description>Code, Literature and Other Worthless Pursuits</description>
	<lastBuildDate>Mon, 28 Jun 2010 21:53:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Saying good bye to OpenID</title>
		<link>http://stevelove.org/2010/01/06/saying-good-bye-to-openid/</link>
		<comments>http://stevelove.org/2010/01/06/saying-good-bye-to-openid/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 17:49:05 +0000</pubDate>
		<dc:creator>Steve Love</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://stevelove.org/?p=141</guid>
		<description><![CDATA[For the last several months I've been intending to announce that I'm no longer going to be doing any development on Dope OpenID. Today's announcement of the PHPClasses Zeitgeist was the kick in the pants I needed.]]></description>
			<content:encoded><![CDATA[<p>When I started digging in to OpenID a couple years ago, it was only because someone in the company&#8217;s marketing department thought it sounded cool and therefore we needed it on our Web site.<span id="more-141"></span></p>
<p>At that time, I&#8217;d only ever set up a personal OpenID endpoint so I started looking around on what it would take to become an OpenID consumer in order to authenticate our users. After trying various things, I settled on the <a href="http://www.phpclasses.org/browse/package/3290.html">Simple OpenID class</a> that I found on <a href="http://www.phpclasses.org">PHPClasses.org</a>. The only problem was that it wasn&#8217;t OpenID 2.0 compliant, and therefore wouldn&#8217;t work with Yahoo. So I worked my way through the OpenID specifications and got it functioning the way I wanted, even releasing the new code as <a href="/projects/dope-openid">Dope OpenID</a>. Still, we never saw more than a few hundred people taking advantage of OpenID on our site (out of a million or so active users).</p>
<p>Since then, all I can say is that OpenID has become significantly less exciting. I haven&#8217;t updated the code in a long while, though someone will occasionally post a modification in the comments. I actually <a href="http://github.com/stevelove/Dope-OpenID">put the source up on GitHub</a> hoping the modifications would get merged in that way.</p>
<p>Anyway, all that to say for the last several months I&#8217;ve been intending to announce that I&#8217;m no longer going to be doing any development on Dope OpenID. Today&#8217;s announcement of the <a href="http://www.phpclasses.org/zeitgeist">PHPClasses Zeitgeist</a> was the kick in the pants I needed. While OpenID was the <a href="http://www.phpclasses.org/zeitgeist/year/2007/">top search on PHPClasses in 2007</a>, it didn&#8217;t even make the list in 2008 or 2009. In my opinion, the average user still has no idea what OpenID is and they&#8217;re just more trusting of things that sound familiar to them, like Facebook Connect.</p>
<p>So, to sum up, I&#8217;m no longer doing any development on Dope OpenID. I will leave the project page up for a while and continue to allow comments, but I&#8217;d much rather let someone else take over the project if they have an interest in it. Or else just fork it on GitHub.</p>
]]></content:encoded>
			<wfw:commentRss>http://stevelove.org/2010/01/06/saying-good-bye-to-openid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to install PHP memcached on an Ubuntu server</title>
		<link>http://stevelove.org/2009/09/30/how-to-install-php-memcached-on-an-ubuntu-server/</link>
		<comments>http://stevelove.org/2009/09/30/how-to-install-php-memcached-on-an-ubuntu-server/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 22:04:00 +0000</pubDate>
		<dc:creator>Steve Love</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Memcached]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://stevelove.org/?p=124</guid>
		<description><![CDATA[I needed to install memcached on my local development server the other day and hit several snags during the process when I couldn't find a clear guide. It doesn't help that there's another package floating around called "memcache" which is not the same as "memcached".

Fortunately I found <a href="http://www.easy-coding.de/wiki/php/php-memcached-installieren.html">this post in German</a> which <a href="http://translate.google.com/translate?hl=en&#038;sl=de&#038;u=http://www.easy-coding.de/wiki/php/php-memcached-installieren.html&#038;ei=5aa6SvTrL9CLtgeLypm4BA&#038;sa=X&#038;oi=translate&#038;resnum=3&#038;ct=result&#038;prev=/search%3Fq%3D/tmp/pear/temp/memcached/configure%2527%2Bfailed%26hl%3Den%26client%3Dfirefox-a%26rls%3Dcom.ubuntu:en-US:unofficial%26hs%3DWUG%26sa%3DN%26start%3D10">Google kindly translated</a> for me, and it solved my problems.

Since the translation screws up some of the code, I thought I would post the steps here in English in case anyone finds it useful.]]></description>
			<content:encoded><![CDATA[<p>I needed to install memcached on my local development server the other day and hit several snags during the process when I couldn&#8217;t find a clear guide. It doesn&#8217;t help that there&#8217;s another package floating around called &#8220;memcache&#8221; which is not the same as &#8220;memcached&#8221;.</p>
<p>Fortunately I found <a href="http://www.easy-coding.de/wiki/php/php-memcached-installieren.html">this post in German</a> which <a href="http://translate.google.com/translate?hl=en&#038;sl=de&#038;u=http://www.easy-coding.de/wiki/php/php-memcached-installieren.html&#038;ei=5aa6SvTrL9CLtgeLypm4BA&#038;sa=X&#038;oi=translate&#038;resnum=3&#038;ct=result&#038;prev=/search%3Fq%3D/tmp/pear/temp/memcached/configure%2527%2Bfailed%26hl%3Den%26client%3Dfirefox-a%26rls%3Dcom.ubuntu:en-US:unofficial%26hs%3DWUG%26sa%3DN%26start%3D10">Google kindly translated</a> for me, and it solved my problems.</p>
<p>Since the translation screws up some of the code, I thought I would post the steps here in English in case anyone finds it useful.<span id="more-124"></span></p>
<h3>Step 1: LAMP</h3>
<p>If you don&#8217;t already have PHP 5 and Apache2 set up, this will get you started. Open up a terminal and type:<br />
[bash]sudo tasksel install lamp-server[/bash]</p>
<p>Guiding you through setting up PHP and Apache is beyond the scope of this guide, so if you get stuck, check the multitude of guides available on Google.</p>
<h3>Step 2: Upgrade LAMP</h3>
<p>With PHP 5 and Apache installed, the next step is to install the developer versions.</p>
<ul>
<li>php5-dev (otherwise you&#8217;ll get an error about &#8220;phpize&#8221;)</li>
<li>apache2-threaded-dev (or else you&#8217;ll get an &#8220;apxs&#8221; error)</li>
</ul>
<p>[bash] sudo apt-get install php5-dev apache2-threaded-dev [/bash]</p>
<h3>Step 3: Getting build tools</h3>
<p>We&#8217;re going to be building from source. If you&#8217;ve never done that before it&#8217;s pretty easy, but first you&#8217;ll need some extra tools.<br />
[bash] sudo apt-get install build-essential [/bash]</p>
<h3>Step 4: PEAR and memcached</h3>
<p>You&#8217;re also going to need PEAR and the memcached binary.<br />
[bash] sudo apt-get install php-pear memcached [/bash]</p>
<h3>Step 5: Building libmemcached</h3>
<p>You&#8217;ll need to <a href="http://download.tangent.org/">get the latest source package from here</a>. You may have to try different versions until you get it working. In 9.04, <span class="code">libmemcached-0.33</span> worked. For 9.10, it was <span class="code">libmemcached-0.37</span>. As of Ubuntu 10.04&#8242;s launch, the latest version was <span class="code">libmemcached-0.40</span>, which appears to install correctly but under actual usage conditions the Memcached::add() method failed to write every time, returning error code 5. I recommend sticking with <span class="code">libmemcached-0.37</span> for now if you&#8217;re running Ubuntu 10.04. </p>
<p>Download the appropriate version with your preferred method, or type:<br />
[bash] wget http://download.tangent.org/libmemcached-0.37.tar.gz [/bash]</p>
<p>Extract the files with your preferred method, or type:<br />
[bash] tar -xzf libmemcached-0.37.tar.gz [/bash]</p>
<p>Move into the extracted directory:<br />
[bash] cd libmemcached-0.37/ [/bash]</p>
<p>Configure the package.<br />
[bash] ./configure [/bash]</p>
<p>Make.<br />
[bash] make [/bash]</p>
<p>Make install. Note this probably will require sudo rights.<br />
[bash] sudo make install [/bash]</p>
<h3>Step 6: PECL</h3>
<p>Finally, you can install the memcached extension through PECL. [Thanks to Andy Lav for pointing out this very important missing step in the comments.]<br />
[bash] sudo pecl install memcached [/bash]</p>
<p>When this process completed, you should see something like this:<br />
[bash]<br />
Build process completed successfully<br />
Installing &#8216;/usr/lib/php5/20060613+lfs/memcached.so&#8217;<br />
install ok: channel://pecl.php.net/memcached-1.0.0<br />
Extension memcached enabled in php.ini<br />
[/bash]</p>
<p>If you see this, you should be ready to go.</p>
<p>You might instead get a message that says: <span class="code">You should add &#8220;extension = memcached.so&#8221; to php.ini</span>. If that&#8217;s the case, open the file with the following and paste <span class="code">extension = memcached.so</span> at the top:<br />
[bash] gksudo gedit /etc/php5/apache2/php.ini [/bash]</p>
<p>After you save and close the file, restart Apache.<br />
[bash] sudo /etc/init.d/apache2 restart [/bash]</p>
]]></content:encoded>
			<wfw:commentRss>http://stevelove.org/2009/09/30/how-to-install-php-memcached-on-an-ubuntu-server/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

