<?xml version="1.0" encoding="UTF-8"?><feed version="0.3"
  xmlns="http://purl.org/atom/ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="en"
    >
	<title>Yabfog</title>
	<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp" />
	<tagline>Yet another blog full of gas</tagline>
	<modified>2006-12-14T18:59:19Z</modified>
	<copyright>Copyright 2006</copyright>
	<generator url="http://wordpress.org/" version="2.0.5">WordPress</generator>
			<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Alex King WordPress Plugin Roundup]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/12/14/alex-king-wordpress-plugin-roundup/" />
		<id>http://www.yabfog.com/wp/2006/12/14/alex-king-wordpress-plugin-roundup/</id>
		<modified>2006-12-14T14:51:13Z</modified>
		<issued>2006-12-14T14:51:13Z</issued>
		
		<dc:subject>Programming</dc:subject>

		<dc:subject>PHP</dc:subject>

		<dc:subject>WordPress</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[Alex King, a WordPress &#252;ber-hacker (and formerly a b2/b2evolution hacker), is writing a series of posts about his recent redesign of alexking.org. His latest post describes the numerous WordPress plugins he's using, many of which he wrote.
I'm not using any of these right now, but I steal Alex's ideas and code all the time for [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/12/14/alex-king-wordpress-plugin-roundup/"><![CDATA[<p>Alex King, a WordPress &uuml;ber-hacker (and formerly a b2/b2evolution hacker), is writing a series of posts about his recent redesign of <a href="http://alexking.org/">alexking.org</a>. His <a href="http://alexking.org/blog/2006/12/13/lots-of-plugins">latest post describes the numerous WordPress plugins he's using</a>, many of which he wrote.</p>
<p>I'm not using any of these right now, but I steal Alex's ideas and code all the time for my own hacking. <img src='http://www.yabfog.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>P.S. Oh yeah, I'm using WP Grins. Thanks, Jeff.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[BlackBerry Browser User Agent]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/12/11/blackberry-browser-user-agent/" />
		<id>http://www.yabfog.com/wp/2006/12/11/blackberry-browser-user-agent/</id>
		<modified>2006-12-11T14:58:25Z</modified>
		<issued>2006-12-11T14:58:25Z</issued>
		
		<dc:subject>PHP</dc:subject>

		<dc:subject>Miscellany</dc:subject>

		<dc:subject>PDA</dc:subject>

		<dc:subject>BlackBerry</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[FYI: My BlackBerry's Web browser identifies itself (i.e., "User Agent") as: BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
So in PHP, an inexpensive check would be something like:

if ( 0 === stripos($useragent, 'blackberry') ) {
    echo "True";
}

]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/12/11/blackberry-browser-user-agent/"><![CDATA[<p>FYI: My BlackBerry's Web browser identifies itself (i.e., "User Agent") as: <code>BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1</code></p>
<p>So in PHP, an inexpensive check would be something like:</p>
<pre>
if ( 0 === stripos($useragent, 'blackberry') ) {
    echo "True";
}
</pre>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[UPDATE: Washington Post Fixes Website for Mobile Users]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/12/10/update-washington-post-fixes-website-for-mobile-users/" />
		<id>http://www.yabfog.com/wp/2006/12/10/update-washington-post-fixes-website-for-mobile-users/</id>
		<modified>2006-12-10T16:49:19Z</modified>
		<issued>2006-12-10T16:49:19Z</issued>
		
		<dc:subject>Miscellany</dc:subject>

		<dc:subject>PDA</dc:subject>

		<dc:subject>BlackBerry</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[After about two weeks of unresponsiveness, I finally found yet another way to contact the Washington Post to complain about their broken website (see my previous post for more info). This time, they promptly responded to my complaint, and within three or four days, the website was fixed.
My contact person, Sarah Lumbard, was courteous and [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/12/10/update-washington-post-fixes-website-for-mobile-users/"><![CDATA[<p>After about two weeks of unresponsiveness, I finally found <a href="http://washingtonpost.custhelp.com/cgi-bin/washingtonpost.cfg/php/enduser/ask.php?p_sid=7Rk5WNoi&#038;p_sp=cF9zcmNoPSZwX3NvcnRfYnk9JnBfZ3JpZHNvcnQ9JnBfcm93X2NudD0xOTgmcF9wcm9kcz0mcF9jYXRzPSZwX3B2PSZwX2N2PSZwX3BhZ2U9MQ**">yet another way to contact the Washington Post</a> to complain about their broken website (see <a href="http://www.yabfog.com/wp/2006/11/21/shame-on-you-washington-post/">my previous post</a> for more info). This time, they promptly responded to my complaint, and within three or four days, the website was fixed.</p>
<p>My contact person, Sarah Lumbard, was courteous and helpful. Thank you, Sarah.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Shame on you, Washington Post]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/11/21/shame-on-you-washington-post/" />
		<id>http://www.yabfog.com/wp/2006/11/16/shame-on-you-washington-post/</id>
		<modified>2006-11-21T17:50:10Z</modified>
		<issued>2006-11-21T17:50:10Z</issued>
		
		<dc:subject>Miscellany</dc:subject>

		<dc:subject>PDA</dc:subject>

		<dc:subject>BlackBerry</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[At some point today, the Washington Post broke its website for Blackberry users (and perhaps other mobile device users).
Now, any time I try to access an article by clicking on a link in my RSS aggregator on my Blackberry, I get redirected to some lame "mobile site," and I can't see the story I'm trying [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/11/21/shame-on-you-washington-post/"><![CDATA[<p>At some point today, the Washington Post broke its website for Blackberry users (and perhaps other mobile device users).</p>
<p>Now, any time I try to access an article by clicking on a link in my RSS aggregator on my Blackberry, I get redirected to some lame "<a href="http://mobile.washingtonpost.com/">mobile site</a>," and I can't see the story I'm trying to read.</p>
<p><a href="http://www.washingtonpost.com/">Shame on you, Washington Post!</a></p>
<p>UPDATE: Emails went unanswered, so I called them at 703.469.2500. Me: "Your website is broken to Blackberry users." WaPo (with a level of disinterest I thought only possible when talking to an accountant at a cocktail party): "It is?" We'll see what happens...
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Resolution of trouble with CentOS 4 + PHP 5.1 + Zend Optimizer]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/11/16/resolution-of-trouble-with-centos-4-php-51-zend-optimizer/" />
		<id>http://www.yabfog.com/wp/2006/11/16/resolution-of-trouble-with-centos-4-php-51-zend-optimizer/</id>
		<modified>2006-11-16T14:54:18Z</modified>
		<issued>2006-11-16T14:54:18Z</issued>
		
		<dc:subject>Linux</dc:subject>

		<dc:subject>PHP</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[I have a server running CentOS 4.4 updated with the PHP 5.1.6 from the testing repository. When I tried to install Zend Optimizer 3.0.2, I ran into this problem:
Failed loading [path]/ZendOptimizer. so: [path]/ZendOptimizer. so: undefined symbol: match
Then, when I tried to downgrade and install Zend Optimizer 3.0.1, I ran into this problem:
Failed loading [path]/ZendExtensionManager.so:  [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/11/16/resolution-of-trouble-with-centos-4-php-51-zend-optimizer/"><![CDATA[<p>I have a server running CentOS 4.4 updated with the PHP 5.1.6 from the testing repository. When I tried to install <a href="http://www.zend.com/products/zend_optimizer">Zend Optimizer</a> 3.0.2, I ran into this <a href="http://www.zend.com/forums/index.php?t=msg&#038;th=2197&#038;start=0&#038;S=66f1af8b1d888d91ab38f92d8059ed81">problem</a>:</p>
<blockquote><p>Failed loading [path]/ZendOptimizer. so: [path]/ZendOptimizer. so: undefined symbol: match</p></blockquote>
<p>Then, when I tried to downgrade and install Zend Optimizer 3.0.1, I ran into this problem:</p>
<blockquote><p>Failed loading [path]/ZendExtensionManager.so:  [path]/ZendExtensionManager.so: failed to map segment from shared object: Permission denied</p></blockquote>
<p>I noticed some talk about SELinux being a possible culprit, but rather than disable SELinux, I decided to try and solve the problem.</p>
<p>This article about <a href="http://www.talkingtree.com/blog/index.cfm/2005/10/25/RHEL4SELinuxCFMX701">SELinux and ColdFusion MX in Red Hat Linux 4</a> had the information I needed to quickly solve the problem. Basically, I needed to change the security context of the Zend extension manager and optimizer files so that Zend runs in the same security domain as the web server (in my case, Apache).</p>
<p>Here's what I did (note, I installed Zend Optimizer in a non-standard location -- /usr/include/php/Zend rather than /usr/local/Zend):</p>
<p><code><br />
chdir /usr/include/php/Zend/lib<br />
chcon -R --reference=/usr/sbin/httpd *.so<br />
service httpd restart<br />
</code></p>
<p>Et voila!<br />
<img id="image89" src="http://www.yabfog.com/wp/wp-content/uploads/2006/11/screencapZend.png" alt="Zend Working Screen Cap" />
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Answer the door]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/11/01/answer-the-door/" />
		<id>http://www.yabfog.com/wp/2006/11/01/answer-the-door/</id>
		<modified>2006-11-02T00:28:08Z</modified>
		<issued>2006-11-02T00:28:08Z</issued>
		
		<dc:subject>Programming</dc:subject>

		<dc:subject>OPML</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[Dave Winer is looking for a developer to work on Share Your OPML.
If you're interested, I strongly urge you to pick up the baton. I can vouch for what Dave says in his post: he's demanding, but he really invests in the people with whom he works. As long as you're not a prima donna [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/11/01/answer-the-door/"><![CDATA[<p>Dave Winer is <a href="http://www.scripting.com/2006/11/01.html#opportunityKnocks">looking for a developer</a> to work on <a href="http://share.opml.org">Share Your OPML</a>.</p>
<p>If you're interested, I strongly urge you to pick up the baton. I can vouch for what Dave says in his post: he's demanding, but he really invests in the people with whom he works. As long as you're not a prima donna who cannot handle tough questions about your work, Dave has a lot to offer as a teacher and a boss. Actually, boss is a terrible word for the working relationship you can expect to have with Dave. He's an articulate collaborator with an insight into users' wants and needs that I find amazing.</p>
<p>Opportunity knocks. Answer the door.</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[A River for NewsGator]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/10/17/a-river-for-newsgator/" />
		<id>http://www.yabfog.com/wp/2006/10/17/a-river-for-newsgator/</id>
		<modified>2006-10-17T16:37:20Z</modified>
		<issued>2006-10-17T16:37:20Z</issued>
		
		<dc:subject>Programming</dc:subject>

		<dc:subject>PHP</dc:subject>

		<dc:subject>PDA</dc:subject>

		<dc:subject>BlackBerry</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[Truly re-inspired by Dave's injection of interest into mobile news reading, I've been tinkering with my own custom solution. Since I subscribe to NewsGator, I'm using the NewsGator API for some backend, but I've done quite a bit of plumbing myself.
The most important things I wanted to be able to do were (1) to be [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/10/17/a-river-for-newsgator/"><![CDATA[<p>Truly re-inspired by Dave's injection of interest into <a href="http://www.scripting.com/2006/09/14.html#mobilefriendlyNews">mobile news reading</a>, I've been tinkering with my own custom solution. Since I subscribe to NewsGator, I'm using the <a href="http://www.newsgator.com/ngs/api/default.aspx">NewsGator API</a> for some backend, but I've done quite a bit of plumbing myself.</p>
<p>The most important things I wanted to be able to do were (1) to be able to mark posts read (and since I'm using NewsGator, that "read" status synchronizes across all my aggregator clients on different computers) and (2) to fix the annoying nonsense characters introduced by idiotic feed generators -- that includes the New York Times and Washington Post.</p>
<p>The results are starting to shape up nicely.</p>
<p>Here's the main page I see after I sign in.</p>
<p><a class="imagelink" href="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-nga.gif" title="NewsGator River screencap 01"><img id="image85" src="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-nga.thumbnail.gif" alt="NewsGator River screencap 01" /></a></p>
<p>And notice that in FeedDemon, "Ch&aacute;vez" is screwy, but I've got it right.</p>
<p><a class="imagelink" href="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-fd.gif" title="FeedDemon screen cap"><img id="image84" src="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-fd.thumbnail.gif" alt="FeedDemon screen cap" /></a><a class="imagelink" href="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-ngr.gif" title="NewsGator River screencap 02"><img id="image86" src="http://www.yabfog.com/wp/wp-content/uploads/2006/10/20061016-ngr.thumbnail.gif" alt="NewsGator River screencap 02" /></a>
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Yomoblog is the first killer web app for mobile devices]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/08/25/yomoblog-is-the-first-killer-web-app-for-mobile-devices/" />
		<id>http://www.yabfog.com/wp/2006/08/25/yomoblog-is-the-first-killer-web-app-for-mobile-devices/</id>
		<modified>2006-08-26T03:00:42Z</modified>
		<issued>2006-08-26T03:00:42Z</issued>
		
		<dc:subject>News</dc:subject>

		<dc:subject>Palm</dc:subject>

		<dc:subject>WordPress</dc:subject>

		<dc:subject>PDA</dc:subject>

		<dc:subject>BlackBerry</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[I'm testing Dave Winer's new web application: Yomoblog. It is a dead simple tool for creating, editing and categorizing blog posts from your web-enabled PDA.

]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/08/25/yomoblog-is-the-first-killer-web-app-for-mobile-devices/"><![CDATA[<p>I'm testing <a href="http://www.scripting.com/">Dave Winer</a>'s new web application: <a href="http://www.scripting.com/2006/08/25.html#When:4:22:44PM">Yomoblog</a>. It is a dead simple tool for creating, editing and categorizing blog posts from your web-enabled PDA.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Optimal Bugfix]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/06/15/optimal-bugfix/" />
		<id>http://www.yabfog.com/wp/2006/06/15/optimal-bugfix/</id>
		<modified>2006-06-15T23:14:43Z</modified>
		<issued>2006-06-15T23:14:43Z</issued>
		
		<dc:subject>Announcements</dc:subject>

		<dc:subject>Programming</dc:subject>

		<dc:subject>PHP</dc:subject>

		<dc:subject>OPML</dc:subject>

		<dc:subject>XML</dc:subject>

		<dc:subject>XSL/XSLT</dc:subject>

		<dc:subject>WordPress</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[I released a bugfix for Optimal today. The latest version is 0.4c. If you haven't experienced any weird problems with the 0.4 release, don't bother updating.
Thanks to Chris Pirillo for bringing the problem to my attention and working through it with me.

]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/06/15/optimal-bugfix/"><![CDATA[<p>I released a bugfix for Optimal today. The <a href="http://www.yabfog.com/wp/optimal/#download">latest version is 0.4c</a>. If you haven't experienced any <a href="http://www.yabfog.com/wp/optimal/#gotcha">weird problems</a> with the 0.4 release, don't bother updating.</p>
<p>Thanks to <a href="http://chris.pirillo.com">Chris Pirillo</a> for bringing the problem to my attention and working through it with me.
</p>
]]></content>
	</entry>
		<entry>
	  	<author>
			<name>Dan</name>
		</author>
		<title type="text/html" mode="escaped"><![CDATA[Optimal OPML Browser Update v. 0.4]]></title>
		<link rel="alternate" type="text/html" href="http://www.yabfog.com/wp/2006/06/12/optimal-opml-browser-update-v-04/" />
		<id>http://www.yabfog.com/wp/2006/06/12/optimal-opml-browser-update-v-04/</id>
		<modified>2006-06-12T23:39:01Z</modified>
		<issued>2006-06-12T23:39:01Z</issued>
		
		<dc:subject>Announcements</dc:subject>

		<dc:subject>Programming</dc:subject>

		<dc:subject>PHP</dc:subject>

		<dc:subject>OPML</dc:subject>

		<dc:subject>XML</dc:subject>

		<dc:subject>XSL/XSLT</dc:subject>

		<dc:subject>WordPress</dc:subject>
 
		<summary type="text/plain" mode="escaped"><![CDATA[I've completed a major rewrite of my OPML browser, Optimal.
I didn't manage to document all of the changes, they were so numerous. Highlights are:

Object-oriented reimplementation, making it more portable to other applications
Same code may be used as a WordPress plugin -- replaces the OPML Renderer plugin for WordPress
RSS items now include descriptions, so you can [...]]]></summary>
		<content type="text/html" mode="escaped" xml:base="http://www.yabfog.com/wp/2006/06/12/optimal-opml-browser-update-v-04/"><![CDATA[<p>I've completed a major rewrite of my OPML browser, <strong><a href="http://www.optimalbrowser.com/">Optimal</a></strong>.</p>
<p>I didn't manage to document all of the <a href="http://www.yabfog.com/wp/optimal/#changes">changes</a>, they were so numerous. Highlights are:</p>
<ul>
<li>Object-oriented reimplementation, making it more portable to other applications</li>
<li>Same code may be used as a WordPress plugin -- replaces the OPML Renderer plugin for WordPress</li>
<li>RSS items now include descriptions, so you can browse the feeds without subscribing or visiting the home page</li>
<li>New <a href="http://www.optimalbrowser.com/widgetwiz.php">widget generator</a> to generate HTML to include Optimal on your web site</li>
</ul>
<p><a href="http://www.yabfog.com/wp/optimal/">More...</a> | <a href="http://www.yabfog.com/wp/optimal/#download">Download</a>
</p>
]]></content>
	</entry>
	</feed>
