<?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>Flailing Wildly &#187; Code</title>
	<atom:link href="http://blog.ryanparman.com/tags/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ryanparman.com</link>
	<description>Too much straw, not enough camel</description>
	<lastBuildDate>Thu, 19 Jan 2012 01:03:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Awesome new features coming in PHP 5.4</title>
		<link>http://blog.ryanparman.com/2011/11/11/awesome-new-features-coming-in-php-5-4/</link>
		<comments>http://blog.ryanparman.com/2011/11/11/awesome-new-features-coming-in-php-5-4/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 09:03:20 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.ryanparman.com/?p=2283</guid>
		<description><![CDATA[The next version of PHP, which saw its first release candidate today, has some really awesome new features. You can see a complete list of changes in the README, but here are the ones that caught my eye. Classes Support for Traits (i.e., mix-ins; addresses the multiple-inheritance problem). Support for chaining from the constructor: (new [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">The next version of PHP, which saw its first release candidate today, has some really awesome new features. You can see a complete list of changes in the <a href="http://www.php.net/releases/NEWS_5_4_0_RC1.txt">README</a>, but here are the ones that caught my eye.</p>
<h3>Classes</h3>
<ul>
<li>Support for Traits (i.e., mix-ins; addresses the multiple-inheritance problem).</li>
<li>Support for chaining from the constructor: <code>(new Class)-&gt;method()</code></li>
<li>Support for <code>Class::{expr}()</code> syntax.</li>
<li>Closures inherit <code>$this</code> from the outer scope.</li>
<li>Added <code>ReflectionClass::newInstanceWithoutConstructor()</code> to create a new instance of a class without invoking its constructor.</li>
<li>Added a new typehint: <code>callable</code></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Array dereferencing and short array syntax: <code>echo [1, 2, 3][0]</code></li>
<li><code>json_encode()</code> now supports these additional flags: <code>JSON_UNESCAPED_UNICODE</code>, <code>JSON_BIGINT_AS_STRING</code>, <code>JSON_NUMERIC_CHECK</code>, <code>JSON_PRETTY_PRINT</code> and <code>JSON_UNESCAPED_SLASHES</code>.</li>
<li>Multibyte support is enabled by default.</li>
<li>Faster <code>unserialize()</code> and ternary operator performance.</li>
<li>IPv6 support.</li>
</ul>
<h3>Fixing the cruft</h3>
<ul>
<li><code>ext/mysql</code>, <code>mysqli</code> and <code>pdo_mysql</code> now use <code>mysqlnd</code> by default.</li>
<li>Removed magic quotes, safe mode, register globals, allow call-time pass-by-reference, and more!</li>
<li>Default character set is now <code>UTF-8</code> instead of <code>ISO-8859-1</code>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2011/11/11/awesome-new-features-coming-in-php-5-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Coding Standards</title>
		<link>http://blog.ryanparman.com/2010/07/30/php-coding-standards/</link>
		<comments>http://blog.ryanparman.com/2010/07/30/php-coding-standards/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 04:11:38 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://blog.ryanparman.com/?p=1892</guid>
		<description><![CDATA[For the past several years, I&#8217;ve been developing a coding style for PHP that all began with SimplePie. Since then, I&#8217;ve been polishing the standards from one project to the next to the point where I believe that I have a solid, rational set of guidelines that others can share and re-use. Any feedback that [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">For the past several years, I&#8217;ve been developing a coding style for PHP that all began with SimplePie.</p>
<p>Since then, I&#8217;ve been polishing the standards from one project to the next to the point where I believe that I have a solid, rational set of guidelines that others can share and re-use.</p>
<p>Any feedback that other PHP developers may have is welcome. I&#8217;m hoping to incorporate the better bits of feedback into improvements to the standards.</p>
<p><a href="http://j.mp/php-standards">http://j.mp/php-standards</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2010/07/30/php-coding-standards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing PHP 5.3 with mysqlnd on Mac OS X with MacPorts</title>
		<link>http://blog.ryanparman.com/2009/07/11/installing-php-5-3-with-mysqlnd-on-mac-os-x-with-macports/</link>
		<comments>http://blog.ryanparman.com/2009/07/11/installing-php-5-3-with-mysqlnd-on-mac-os-x-with-macports/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 20:33:44 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://blog.ryanparman.com/?p=1703</guid>
		<description><![CDATA[Historically, I've always preferred to use Apple's built-in Apache 2.2 and PHP 5.x that comes with Leopard. However, after trying to compile PHP 5.3 from scratch and connect it with Apache, I decided to just use the <a href="http://www.macports.org/install.php">MacPorts</a> installer instead. That did mean giving up control of a finely-tuned Apache installation, but in the end, I think I've ended up with a better localhost system.]]></description>
			<content:encoded><![CDATA[<p class="intro">Historically, I&#8217;ve always preferred to use Apple&#8217;s built-in Apache 2.2 and PHP 5.x that comes with Leopard. However, after trying to compile PHP 5.3 from scratch and connect it with Apache, I decided to just use the <a href="http://www.macports.org/install.php">MacPorts</a> installer instead. That did mean giving up control of a finely-tuned Apache installation, but in the end, I think I&#8217;ve ended up with a better localhost system.</p>
<h3>Prerequisites</h3>
<ul>
<li>Install <a href="http://www.macports.org/install.php">MacPorts</a></li>
</ul>
<p>Also, make sure that your MacPorts install is completely up-to-date with:</p>
<pre>sudo port -d selfupdate</pre>
<h3>Installation</h3>
<p>Now, I&#8217;ve never used MacPorts to install PHP or Apache before, so I&#8217;m starting with a clean slate. If you&#8217;ve already installed PHP or Apache with MacPorts, your steps may be different. As always, your mileage may vary. For me, I develop several open-source projects, so I need things that others may not. Adjust these steps as necessary.</p>
<ol>
<li>Using &#8220;Web Sharing&#8221; in your Sharing Preferences should be turned off. Currently this points to the (old) Apple Apache installation, although we&#8217;ll change that later.</li>
<li>From Terminal, install PHP 5.3 + Apache, and some other stuff. This will likely take quite a while. I&#8217;m installing SQLite, MySQL, and PostgreSQL because of my work on <a href="http://cachecore.googlecode.com">CacheCore</a>, so you may or may not need those. <code>mysqlnd</code> is the new PHP Native Driver for MySQL and is supposed to be better, so we&#8217;ll use that. We also need to enable non-default settings for cURL.
<pre>sudo port install curl +ssl+ipv6+ares+idn+gss+openldap+sftp_scp \
php5 +apache2+fastcgi+pear</pre>
<p>You can see all available options by running <code>port variants php5</code></li>
<li>The new Apache configuration file is stored at <code>/opt/local/apache2/conf/httpd.conf</code> while the old one was at <code>/etc/apache2/conf/httpd.conf</code>. Take a moment to copy over any settings you&#8217;ll want to maintain into the new Apache installation.</li>
<li>You&#8217;ll also want to include your <em>extra</em> settings. Toward the bottom of your <code>httpd.conf</code> file, add the following line:
<pre># All settings
Include conf/extra/*.conf</pre>
</li>
<li>If you <strong>don&#8217;t</strong> have an SSL certificate, rename your SSL configuration:
<pre>cd /opt/local/apache2;
sudo mv conf/extra/httpd-ssl.conf conf/extra/httpd-ssl.conf-disabled</pre>
</li>
<li>You&#8217;ll also want to enable PHP in Apache:
<pre>sudo mv conf/extras-conf/mod_php.conf conf/extra/mod_php.conf</pre>
</li>
<li>The new PHP configuration file is stored at <code>/opt/local/etc/php5/php.ini</code> while the old one was at <code>/etc/php.ini</code>. Take a moment to copy over any settings you&#8217;ll want to maintain into the new PHP installation.</li>
<li>You&#8217;ll need to tell Apache to enable PHP support. Open your new <code>httpd.conf</code> file, find where the extensions are loaded (with <code>LoadModule</code>), and add this to the end of the line:
<pre>LoadModule php5_module modules/libphp5.so</pre>
</li>
<li>Restart Apache. If you were using <code>apachectl</code> before, it still points to the old Apache, so we&#8217;ll want to point specifically to the new one.
<pre>sudo /opt/local/apache2/bin/apachectl restart</pre>
</li>
</ol>
<p>At this point, PHP 5.3 with Apache 2.2 and the new <code>mysqlnd</code> extension are all installed.</p>
<h3>Extra stuff</h3>
<ol>
<li>I generally prefer to have lots more stuff installed locally so that I can worry more about developing and less about installing. Because of this, I also install a few other things.
<pre>sudo port install memcached \
    php5-apc \
    php5-curl \
    php5-gd \
    php5-http \
    php5-iconv \
    php5-imagick \
    php5-mbstring \
    php5-memcache \
    php5-mysql \
    php5-openssl \
    php5-postgresql \
    php5-sockets \
    php5-sqlite \
    php5-tidy \
    php5-xdebug</pre>
</li>
<li>Restart Apache with:
<pre>sudo /opt/local/apache2/bin/apachectl restart</pre>
</li>
</ol>
<h3>Replacing older versions</h3>
<p>Now, we want to continue using our command-line PHP scripts and the &#8220;Web Sharing&#8221; checkbox in the Sharing Preference Pane, so let&#8217;s make sure that those are all pointing to the new locations instead. We&#8217;ll be backing up and redirecting <code>php</code>, <code>apachectl</code>, and <code>httpd</code>.</p>
<ol>
<li>Open up your Sharing Preference Pane, and disable Web Sharing</li>
<li>Run the following command on the Terminal:
<pre>sudo mv /usr/bin/php /usr/bin/php.bak &amp;&amp; sudo ln -s /opt/local/bin/php /usr/bin/php; \
sudo mv /usr/sbin/apachectl /usr/sbin/apachectl.bak &amp;&amp; sudo ln -s /opt/local/apache2/bin/apachectl /usr/sbin/apachectl; \
sudo mv /usr/sbin/httpd /usr/sbin/httpd.bak &amp;&amp; sudo ln -s /opt/local/apache2/bin/httpd /usr/sbin/httpd; \</pre>
</li>
<li>Re-enable Web Sharing in the preference pane.</li>
</ol>
<h3>Shortcuts</h3>
<p>Lastly, I like to set up some shortcuts so that I can access all of my important localhost stuff from one place. I&#8217;ll create a new directory called <code>www-config</code> and then I&#8217;ll place symlinks into it for quick access to Apache and PHP configuration files.</p>
<pre>sudo mkdir /www-config &amp;&amp; \
cd /www-config &amp;&amp; \
sudo ln -s /opt/local/apache2/bin/apachectl /www-config/apachectl &amp;&amp; \
sudo ln -s /opt/local/apache2/conf/ /www-config/httpd-conf &amp;&amp; \
sudo ln -s /opt/local/apache2/logs/ /www-config/logs &amp;&amp; \
sudo ln -s /opt/local/var/db/php5/ /www-config/php-ini &amp;&amp; \
sudo ln -s /opt/local/etc/php5/php.ini /www-config/php.ini</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2009/07/11/installing-php-5-3-with-mysqlnd-on-mac-os-x-with-macports/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Introducing DOMBuilder</title>
		<link>http://blog.ryanparman.com/2009/02/27/introducing-dombuilder/</link>
		<comments>http://blog.ryanparman.com/2009/02/27/introducing-dombuilder/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 17:13:22 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.ryanparman.com/?p=1677</guid>
		<description><![CDATA[I hate the DOM. Actually, I take that back. I love the DOM, but I hate the fact that generating DOM nodes in JavaScript is so verbose and unintuitive. You need to construct a new element, then add properties, then construct a child element, then add properties, then append the child to the parent, and [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">I hate the DOM. Actually, I take that back. I love the DOM, but I hate the fact that generating DOM nodes in JavaScript is so verbose and unintuitive.</p>
<p>You need to construct a new element, then add properties, then construct a child element, then add properties, then append the child to the parent, and the parent to whatever DOM object you want that&#8217;s already in the page.</p>
<p>A few years ago I discovered <code>Builder.node()</code>, a component of <a href="http://script.aculo.us">Scriptaculous</a>. The problem is that Scriptaculous relies on Prototype, and both are HUGE JavaScript libraries. Later I moved to Moo.fx/MooTools, then I didn&#8217;t do much JavaScript for a while, then I started doing a lot with YUI, while sprinkling a little jQuery around here and there. None of these other frameworks had an equivalent to <code>Builder.node()</code>, and again, that sucks.</p>
<p>So last night, I wrote a small JavaScript class to handle this very thing. Introducing <a href="http://github.com/skyzyx/dombuilder/">DOMBuilder</a>. DOMBuilder is small, fast, and doesn&#8217;t depend on any other JavaScript frameworks meaning that it&#8217;s easy to use in any project where you need to construct nested DOM elements. The fully commented debug version clocks in around 3k. The minified version is 739 bytes. With gzip compression, it squeezes down to a mere 393 bytes.</p>
<p>It&#8217;s not quite as terse or elegant as I&#8217;d like (yet), but it&#8217;s a good result for about 2 hours of hacking.</p>
<h3>Examples</h3>
<p>Here&#8217;s the HTML we want to generate:</p>
<pre>&lt;div class="location_select_control"&gt;
	&lt;a href="" class="location_select_label"&gt;
		&lt;label&gt;This is my label&lt;/label&gt;
	&lt;/a&gt;
&lt;/div&gt;</pre>
<p>Here is how we&#8217;d do it with the standard DOM:</p>
<pre>control_div = document.createElement('div');
control_div.className = "location_select_control";
control_link = document.createElement('a');
control_link.href = "";
control_link.className = "location_select_label";
control_label = document.createElement('label');
control_label.innerHTML = "This is my label";
control_link.appendChild(control_label);
control_div.appendChild(control_link);
document.body.appendChild(control_div);</pre>
<p>Lastly, here&#8217;s how we&#8217;d do it with DOMBuilder:</p>
<pre>document.body.appendChild($dom('div', { class:'location_select_control' }).child(
	$dom('a', { href:'', class:'location_select_label' }).child(
		$dom('label').innerHTML('This is my label')
	)
).asDOM());</pre>
<h3>Download</h3>
<p>This code is BSD licensed, so feel free to use it in personal or commercial projects. You can download it from <a href="http://github.com/skyzyx/dombuilder/">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2009/02/27/introducing-dombuilder/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing FFMPEG and FFMPEG-PHP in Fedora 8 running on Amazon EC2</title>
		<link>http://blog.ryanparman.com/2008/06/28/installing-ffmpeg-php-fedora-amazon-aws/</link>
		<comments>http://blog.ryanparman.com/2008/06/28/installing-ffmpeg-php-fedora-amazon-aws/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 23:56:05 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://blog.ryanparman.com/?p=1633</guid>
		<description><![CDATA[I&#8217;ve spent a bit of time working with Amazon EC2 recently. One of the things I&#8217;ve been working on is getting a stable build of FFMPEG and FFMPEG-PHP running on a Fedora 8 image in Amazon EC2. This is essentially going to be a tutorial to get things up and running. Of course, your milage [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">I&#8217;ve spent a bit of time working with Amazon EC2 recently. One of the things I&#8217;ve been working on is getting a stable build of FFMPEG and FFMPEG-PHP running on a Fedora 8 image in Amazon EC2. This is essentially going to be a tutorial to get things up and running. Of course, your milage may vary.</p>
<p>These instructions apply to a 32-bit Fedora 8 installation. The hardware I primarily use happens to be on EC2, but these instructions aren&#8217;t specific to EC2. You may need to tweak things a smidge for an x64 system.</p>
<h3>Preparing the LAMP stack (and a few other things)</h3>
<p>For FFMPEG-PHP to work, you need to have a web server with PHP support up and running. You&#8217;ll definitely need GD for image processing and mbstring is helpful in conjunction with PHP5&#8242;s built-in iconv support for managing multiple character sets in ID3 tags.</p>
<ol>
<li>Install PHP, necessary extensions and supporting software.
<pre>yum -y install php-devel php-gd php-mbstring gcc gcc-c++ libtool svn git yasm gsm-devel libogg-devel libvorbis-devel libtheora-devel;</pre>
</li>
<li>Also, I like to create a directory with symlinks to important files so that I can access everything more efficiently. These will be used throughout this tutorial.
<pre>mkdir /www-config; \
ln -s /etc/init.d/httpd /www-config/httpd; \
ln -s /etc/httpd/conf/httpd.conf /www-config/httpd.conf; \
ln -s /var/log/httpd/ /www-config/logs; \
ln -s /usr/lib/php/modules/ /www-config/php5-extensions; \
ln -s /etc/httpd/conf.d/php.conf /www-config/php.conf; \
ln -s /etc/httpd/conf.d/ /www-config/apache-conf; \
ln -s /etc/php.ini /www-config/php.ini; \
ln -s /etc/php.d/ /www-config/php-ini; \
ln -s /var/www/html/ /www-config/public-html; \
/www-config/httpd restart;</pre>
</li>
</ol>
<p>PHP 5.x should now be installed and you should have a directory prepared that lets you easily access important files for managing your configuration.</p>
<h3>Installing FFMPEG</h3>
<p>FFMPEG can be fairly complicated to get running properly, so here&#8217;s what I&#8217;ve gotten working thus far.</p>
<ol>
<li><strong>Download FFMPEG source.</strong> Export the latest FFMPEG trunk from Subversion, then change to the source directory.
<pre>svn export svn://svn.mplayerhq.hu/ffmpeg/trunk /ffmpeg-trunk-source; \
cd /ffmpeg-trunk-source;</pre>
</li>
<li><strong>Install <a href="http://www.videolan.org/developers/x264.html">x264</a>.</strong> Export the latest x264 trunk from Git. Enter the directory, make, install, and go back to the parent directory.
<pre>git clone git://git.videolan.org/x264.git; \
cd x264; \
./configure --prefix=/usr --enable-shared --enable-pthread; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://liba52.sourceforge.net/">liba52</a>.</strong> Download the latest version of liba52 (Currently 0.7.4). Decompress the package, enter the directory, run configure, make, install, and go back to the parent directory.
<pre>wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz; \
tar -zxvf a52dec-0.7.4.tar.gz; \
cd a52dec-0.7.4; \
./configure --prefix=/usr --enable-double; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://www.audiocoding.com/">FAAC</a>.</strong> Download the latest version of FAAC (Currently 1.26). Decompress the package, enter the directory, create the configure file, run configure, make, install, and go back to the parent directory.
<pre>wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz; \
tar -zxvf faac-1.26.tar.gz; \
cd faac; \
autoreconf -vif; \
./configure --prefix=/usr; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://www.audiocoding.com/">FAAD</a>.</strong> Download the latest version of FAAD (Currently 2.6.1). Decompress the package, enter the directory, create the configure file, run configure, make, install, and go back to the parent directory.
<pre>wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz; \
tar -zxvf faad2-2.6.1.tar.gz; \
cd faad2; \
autoreconf -vif; \
./configure --prefix=/usr; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://lame.sourceforge.net/">LAME</a>.</strong> Download the latest version of LAME (Currently 3.98b8). Decompress the package, enter the directory, run configure, make, install, and go back to the parent directory.
<pre>wget http://downloads.sourceforge.net/lame/lame-3.98b8.tar.gz; \
tar -zxvf lame-3.98b8.tar.gz; \
cd lame-3.98b8; \
./configure --prefix=/usr; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://libmpeg2.sourceforge.net/">libmpeg2</a>.</strong> Download the latest version of libmpeg2 (Currently 0.4.1). Decompress the package, enter the directory, run configure, make, install, and go back to the parent directory.
<pre>wget http://libmpeg2.sourceforge.net/files/mpeg2dec-0.4.1.tar.gz; \
tar -zxvf mpeg2dec-0.4.1.tar.gz; \
cd mpeg2dec-0.4.1; \
./configure --prefix=/usr; \
make; \
make install; \
cd ..;</pre>
</li>
<li><strong>Install <a href="http://xvid.org/">Xvid</a>.</strong> Download the latest version of Xvid (Currently 1.1.3). Decompress the package, enter the directory, run configure, make, install, and go back to the parent directory.
<pre>wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz; \
tar -zxvf xvidcore-1.1.3.tar.gz; \
cd xvidcore-1.1.3/build/generic; \
./configure --prefix=/usr; \
make; \
make install; \
cd ../../../;</pre>
</li>
<li><strong>Install <a href="http://www.penguin.cz/~utx/amr">AMR/3GPP</a>.</strong> Download the latest version of AMR (Currently 7.0.0.1). Decompress the package, enter the directory, run configure, make, install, and go back to the parent directory.
<pre>wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.1.tar.bz2; \
tar -jxvf amrnb-7.0.0.1.tar.bz2; \
cd amrnb-7.0.0.1; \
./configure --prefix=/usr; \
make; \
make install; \
cd ../;</pre>
</li>
<li><strong>Compile FFMPEG.</strong> Configure, make, and install the software, including all options that enable enhanced functionality.
<pre>./configure --prefix=/usr --enable-static --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-liba52 --enable-liba52bin --enable-libamr-nb --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid; \
make; make install;</pre>
</li>
</ol>
<h3>Installing FFMPEG-PHP</h3>
<p>Once you have FFMPEG functioning properly, you can install the FFMPEG-PHP extension.</p>
<ol>
<li>Download and install FFMPEG-PHP source. Enter the directory, download the source, run phpize, configure, make, install, and go back to the parent directory.
<pre>cd /ffmpeg-trunk-source; \
wget http://downloads.sourceforge.net/ffmpeg-php/ffmpeg-php-0.5.3.1.tbz2; \
tar -jxvf ffmpeg-php-0.5.3.1.tbz2; \
cd ffmpeg-php-0.5.3.1; \
phpize; \
./configure --prefix=/usr; \
make; \
make install; \
cd ..;</pre>
</li>
<li>Add FFMPEG-PHP to the PHP configuration.
<pre>echo "extension=ffmpeg.so" > /www-config/php-ini/ffmpeg.ini</pre>
</li>
<li>Restart Apache.
<pre>/www-config/httpd restart</pre>
</li>
</ol>
<h3>All done!</h3>
<p>FFMPEG and FFMPEG-PHP should now be installed and ready to go. Make sure to check your error log if something isn&#8217;t working properly.
<pre>cat /www-config/logs/error_log</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2008/06/28/installing-ffmpeg-php-fedora-amazon-aws/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Yahoo! Messenger redesign is live!</title>
		<link>http://blog.ryanparman.com/2008/05/11/yahoo-messenger-redesign-is-live/</link>
		<comments>http://blog.ryanparman.com/2008/05/11/yahoo-messenger-redesign-is-live/#comments</comments>
		<pubDate>Mon, 12 May 2008 05:48:59 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/?p=1632</guid>
		<description><![CDATA[Internally known as &#8220;Aurora,&#8221; the new Yahoo! Messenger redesign has finally launched! I was going to write something up about it, but Ryan Doherty and Adrien Cahen have all written plenty. Check it out! Also, Digg it! http://digg.com/tech_news/New_Yahoo_Messenger_website_is_LIVE]]></description>
			<content:encoded><![CDATA[<p>Internally known as &#8220;Aurora,&#8221; the new <a href="http://messenger.yahoo.com">Yahoo! Messenger</a> redesign has finally launched! I was going to write something up about it, but <a href="http://www.ryandoherty.net/2008/05/10/yahoo-messenger-website-redesign/">Ryan Doherty</a> and <a href="http://gaarf.info/2008/05/06/aurora-lives/">Adrien Cahen</a> have all written plenty. Check it out! <img src="http://blog.ryanparman.com.s3.amazonaws.com/wp-includes/images/smilies/icon_smile.gif?cda6c1" alt=':)' class='wp-smiley' /> </p>
<p>Also, Digg it! <a href="http://digg.com/tech_news/New_Yahoo_Messenger_website_is_LIVE">http://digg.com/tech_news/New_Yahoo_Messenger_website_is_LIVE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2008/05/11/yahoo-messenger-redesign-is-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SimplePie Beta 2 is now available!</title>
		<link>http://blog.ryanparman.com/2006/06/02/simplepie-beta-2-is-now-available/</link>
		<comments>http://blog.ryanparman.com/2006/06/02/simplepie-beta-2-is-now-available/#comments</comments>
		<pubDate>Sat, 03 Jun 2006 07:56:50 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/06/02/simplepie-beta-2-is-now-available/</guid>
		<description><![CDATA[After several months of toiling over this release, and the past few weekends pouring over the documentation, we are now very proud to release SimplePie Beta 2! Nearly every major feature has been enhanced, as well as the addition of several new ones. Be sure to read the upgrade docs if you&#8217;re upgrading from Beta [...]]]></description>
			<content:encoded><![CDATA[<p>After several months of toiling over this release, and the past few weekends pouring over the documentation, we are now very proud to release <strong>SimplePie Beta 2!</strong></p>
<p>Nearly every major feature has been enhanced, as well as the addition of several new ones.  Be sure to read the <a href="http://simplepie.org/docs/upgrade/">upgrade docs</a> if you&#8217;re upgrading from Beta 1 or the Preview Release.  People who were using trunk builds should be able to just drop this file in as a replacement for any previous <code>simplepie.inc</code> file.</p>
<p>We&#8217;ve also added a <a href="http://simplepie.org/docs/installation/wordpress/">WordPress plugin</a> and a <a href="http://simplepie.org/docs/installation/mediawiki/">MediaWiki extension</a> to the mix.  And as always, if you have any questions, comments, or need clarification on anything, be sure to swing by the <a href="http://simplepie.org/support/">support forums</a>.  We&#8217;re there a lot. <img src="http://blog.ryanparman.com.s3.amazonaws.com/wp-includes/images/smilies/icon_smile.gif?cda6c1" alt=':)' class='wp-smiley' /> </p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/06/02/simplepie-beta-2-is-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS&#8217;s text-shadow property in Firefox 2?</title>
		<link>http://blog.ryanparman.com/2006/04/18/csss-text-shadow-property-in-firefox-2/</link>
		<comments>http://blog.ryanparman.com/2006/04/18/csss-text-shadow-property-in-firefox-2/#comments</comments>
		<pubDate>Tue, 18 Apr 2006 18:26:46 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/04/18/csss-text-shadow-property-in-firefox-2/</guid>
		<description><![CDATA[After nearly 7 years in Bugzilla, it appears that the CSS2 text-shadow property will finally make it into Firefox 2. According to Bugzilla, the patch has already been added to the trunk (although it&#8217;s not quite complete yet), and seeing as how its status has been set to blocking 1.8.1 (which according to this roadmap [...]]]></description>
			<content:encoded><![CDATA[<p>After nearly 7 years in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=10713">Bugzilla</a>, it appears that the CSS2 <code>text-shadow</code> property will finally make it into Firefox 2.</p>
<p>According to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=10713">Bugzilla</a>, the patch has already been added to the trunk (although it&#8217;s not quite complete yet), and seeing as how its status has been set to <em>blocking 1.8.1</em> (which according to <a href="http://cbeard.typepad.com/mozilla/2005/11/mozilla_product.html">this roadmap</a> is Firefox 2 timeframe), I&#8217;m hoping that this will finally get implemented.</p>
<p>Yay!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/04/18/csss-text-shadow-property-in-firefox-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We need your feeds!</title>
		<link>http://blog.ryanparman.com/2006/03/26/we-need-your-feeds/</link>
		<comments>http://blog.ryanparman.com/2006/03/26/we-need-your-feeds/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 23:33:22 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/03/26/we-need-your-feeds/</guid>
		<description><![CDATA[RSS and Atom feeds that aren&#8217;t either UTF-8 or ISO-8859-1 have proven difficult to find, so I&#8217;m calling out to all of you. If you read or publish feeds that are in a character set other than these two, please post them here in the comments. We&#8217;ve just finished adding iconv support to SimplePie, and [...]]]></description>
			<content:encoded><![CDATA[<p>RSS and Atom feeds that aren&#8217;t either UTF-8 or ISO-8859-1 have proven difficult to find, so I&#8217;m calling out to all of you.  If you read or publish feeds that are in a character set other than these two, please post them here in the comments.  We&#8217;ve just finished adding <code>iconv</code> support to SimplePie, and want to test that support (it&#8217;s in the trunk build as of this moment).  Any help along these lines would be appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/03/26/we-need-your-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMCE Issue</title>
		<link>http://blog.ryanparman.com/2006/03/13/tinymce-issue/</link>
		<comments>http://blog.ryanparman.com/2006/03/13/tinymce-issue/#comments</comments>
		<pubDate>Mon, 13 Mar 2006 19:27:04 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/03/13/tinymce-issue/</guid>
		<description><![CDATA[I had a problem with TinyMCE initializing on a new page today. After about 10 seconds of Googling, I had my answer: If you&#8217;re using both libraries, TinyMCE needs to be loaded before Scriptaculous. Thought I&#8217;d pass this little nugget along from one front-end developer to another. In completely unrelated news, I really need to [...]]]></description>
			<content:encoded><![CDATA[<p>I had a problem with <a href="http://tinymce.moxiecode.com">TinyMCE</a> initializing on a new page today.  After about 10 seconds of Googling, I had my answer: If you&#8217;re using both libraries, <a href="http://www.systemmobile.com/wp/?p=184">TinyMCE needs to be loaded before Scriptaculous</a>.</p>
<p>Thought I&#8217;d pass this little nugget along from one front-end developer to another.</p>
<p>In completely unrelated news, I really need to fix up <a href="http://skyzyx.com">skyzyx.com</a> don&#8217;t I?  Yeah, it&#8217;s in bad shape. *Adds it to the list.*  I finally have a strategy for it&#8230; I just need to execute that strategy.  Maybe next weekend&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/03/13/tinymce-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>document.createTextNode and entities</title>
		<link>http://blog.ryanparman.com/2006/02/25/document-createtextnode-and-entities/</link>
		<comments>http://blog.ryanparman.com/2006/02/25/document-createtextnode-and-entities/#comments</comments>
		<pubDate>Sat, 25 Feb 2006 19:32:33 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/02/25/documentcreatetextnode-and-entities/</guid>
		<description><![CDATA[One problem that I&#8217;ve had when working with dynamic DOM nodes is the inability to use entities with document.createTextElement(). I&#8217;ve read suggestions about using utf-16/ucs-2 values, but how do you find them and how do you convert them? This led me on a journey to figure out how to handle this. I ended up digging [...]]]></description>
			<content:encoded><![CDATA[<p>One problem that  I&#8217;ve had when working with dynamic DOM nodes is the inability to use entities with <code>document.createTextElement()</code>.  I&#8217;ve read suggestions about using utf-16/ucs-2 values, but how do you find them and how do you convert them?</p>
<p>This led me on a journey to figure out how to handle this.  I ended up digging through some <a href="http://tinymce.moxiecode.com/">TinyMCE</a> source code, and found a gem of a function that I then added a &#8216;stupefy&#8217; mode to.</p>
<p>Here&#8217;s the code:</p>
<pre>
function entity(str, mode) {
	var str = (str) ? str : '';
	var mode = (mode) ? mode : 'string';

	var e=document.createElement("div");
	e.innerHTML=str;

	if (mode=='numeric') {
		return'&#'+e.innerHTML.charCodeAt(0)+';';
	}
	else if (mode=='utf16') {
		var un=e.innerHTML.charCodeAt(0).toString(16);
		while(un.length&lt;4) un="0"+un;
		return"\\u"+un;
	}
	else return e.innerHTML;
}
</pre>
<p>entity() has two parameters:</p>
<ol>
<li><strong>entity:</strong> is a string which can be either a named entity (&amp;raquo;) or a numeric entity (&amp;#187;)</li>
<li><strong>mode:</strong> is an optional value that accepts &#8216;numeric&#8217;, &#8216;utf16&#8242;, or &#8216;string&#8217;. Defaults to &#8216;string&#8217;.</li>
</ol>
<p>You&#8217;d use it like this:</p>
<pre>
// Normal mode
var div = document.createElement('div');
var text = document.createTextNode('Parent '+[b]entity([/b]'&raquo;'[b])[/b]+' Child');
div.appendChild(text);

// Stupefy mode
var num = "The numeric entity for Â» is "+entity('Â»', 'numeric');
var utf = "The UTF-16 entity for Â» is "+entity('Â»', 'utf16');
</pre>
<p>I hope this can help other people out there who&#8217;ve run into the same problem as many times as I have!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/02/25/document-createtextnode-and-entities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Awesome view-source trick for JavaScript developers</title>
		<link>http://blog.ryanparman.com/2006/02/14/awesome-view-source-trick-for-javascript-developers/</link>
		<comments>http://blog.ryanparman.com/2006/02/14/awesome-view-source-trick-for-javascript-developers/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 01:15:39 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.com/2006/02/14/awesome-view-source-trick-for-javascript-developers/</guid>
		<description><![CDATA[Maybe I&#8217;m a little slow, but I&#8217;ve found an awesome little trick for people who use Firefox, and who need to dynamically add elements to the page via JavaScript. I&#8217;ve been doing a lot of Ajax development lately for an internal webapp where I need to dynamically add nodes to lists. In my source code, [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe I&#8217;m a little slow, but I&#8217;ve found an awesome little trick for people who use Firefox, and who need to dynamically add elements to the page via JavaScript.</p>
<p>I&#8217;ve been doing a lot of Ajax development lately for an internal webapp where I need to dynamically add nodes to lists.  In my source code, I&#8217;ll have an empty <code>&lt;ul&gt;</code> tag with an ID, then I use that ID when I go and add <code>&lt;li&gt;</code>&#8216;s to it.  No big deal, right?</p>
<p>If you use the standard view-source contextual menu item, it will show you the source code that you coded in: the empty <code>&lt;ul&gt;</code> tag.  BUT, if after you&#8217;ve added your <code>&lt;li&gt;</code> nodes dynamically, you click-and-drag to select the rendered area, and choose &#8220;View Selection Source&#8221;, Firefox will show you the fully-rendered HTML for that area.  As in, it will show you the <code>&lt;ul&gt;</code> tag with all of your <code>&lt;li&gt;</code> tags inside of it&#8230; just as though you&#8217;d coded it like that in the first place.  How awesome is that?</p>
<p>So if you need to see what HTML your JavaScript is generating, simply select the area, and choose &#8220;View Selection Source&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2006/02/14/awesome-view-source-trick-for-javascript-developers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Draggable Lists</title>
		<link>http://blog.ryanparman.com/2005/09/12/draggable-lists/</link>
		<comments>http://blog.ryanparman.com/2005/09/12/draggable-lists/#comments</comments>
		<pubDate>Tue, 13 Sep 2005 05:32:54 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=251</guid>
		<description><![CDATA[Ryan shows a video of his own draggable list software that was heavily inspired by Basecamp, Backpack, and Ta-Da Lists.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working a lot with Oracle Portal over the last few months.  My company is in the process of moving everything over to Oracle technology, and I&#8217;m a UI designer on the Portal team.  We&#8217;ve been in the midst of usability testing over the last week or so, and one thing that has been coming up is the suggestion to make the &#8220;Other Tools&#8221; list of links customizable in some way.</p>
<p>Most implementations typically involve clicking a button or link to go to the Edit page.  From there, you typically have to go through some moderately unusable process for reordering links, changing descriptions or current links, or adding new links.  This may or may not include several pages and several page refreshes to get it all done the way you want it to be.  Quite frankly, that sucks.</p>
<p>So, I spent several hours over the weekend digging through the documentation for <a href="http://prototype.conio.net/">Prototype</a> and <http ://script.aculo.us">Scriptaculous in order to build a much more usable, natural, intuitive system for making these kinds of customizations.  It&#8217;s not quite the same as the lists used in <a href="http://www.basecamphq.com">Basecamp</a>,<a href="http://www.backpackit.com"> Backpack</a>, or <a href="http://www.tadalist.com">Ta-Da</a> lists, but these services were definitely an inspiration.  <a href="http://downloads.skyzyx.net/Video Clips/Draggable Links.mov">Here&#8217;s a video</a> of what I&#8217;ve got so far.  The video is a little tall for standard 1024&#215;768 monitors, so you may have to size it down a smidge to see it all.  QuickTime 6 or 7 should be plenty new enough to watch the video.</http></p>
<p>I&#8217;m not quite ready to release the code yet, as it&#8217;s not completely done, but once I add the few more things to it that I plan to, you can download the code and do whatever you want with it.  The backend is done in PHP with text files, and shouldn&#8217;t require anything special except for a relatively modern browser (released in 2001 or later).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/09/12/draggable-lists/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://downloads.skyzyx.net/video/draglinks.mov" length="5374662" type="video/quicktime" />
		</item>
		<item>
		<title>Which Guru Are You?</title>
		<link>http://blog.ryanparman.com/2005/06/08/which-guru-are-you/</link>
		<comments>http://blog.ryanparman.com/2005/06/08/which-guru-are-you/#comments</comments>
		<pubDate>Thu, 09 Jun 2005 04:41:04 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Just for Fun]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/archives/2005/06/08/which-guru-are-you/</guid>
		<description><![CDATA[Ryan finds out which "guru" he most closely relates to.]]></description>
			<content:encoded><![CDATA[<div align="center" class="blogimage"><a href="http://www.thewatchmakerproject.com/which-guru-are-you/" title="Which Guru Are You?"><img src="/img/inman.gif?cda6c1" width="300" height="125" alt="You are Shaun Inman" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/06/08/which-guru-are-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sneak Peek</title>
		<link>http://blog.ryanparman.com/2005/03/31/sneak-peek/</link>
		<comments>http://blog.ryanparman.com/2005/03/31/sneak-peek/#comments</comments>
		<pubDate>Thu, 31 Mar 2005 23:38:25 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/archives/2005/03/31/sneak-peek/</guid>
		<description><![CDATA[It&#8217;s still in the works, but I thought I&#8217;d give you all a sneak peek of the new Tarzan Control Panel. Check it out: I&#8217;ve still got some things to implement, bugs to fix, design tweaks to make, and API to build, but overall the new 1.2 version of Tarzan is shaping up extemely well. [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s still in the works, but I thought I&#8217;d give you all a sneak peek of the new Tarzan Control Panel.  Check it out:</p>
<div align="center" class="blogimage"><a href="/img/tarzan_cp.png?cda6c1"><img src="/img/tarzan_cp_thumb.png?cda6c1" alt="Tarzan Control Panel 1.2 Beta" title="Tarzan Control Panel 1.2 Beta" /></a></div>
<p>I&#8217;ve still got some things to implement, bugs to fix, design tweaks to make, and API to build, but overall the new 1.2 version of Tarzan is shaping up extemely well.  I don&#8217;t like to announce timelines for <em>personal projects</em> (as work/professional projects have been known to take up large chunks of time, and I have to dedicate myself to those in order to pay the bills), but I can say &#8220;soon&#8221;.</p>
<p>I&#8217;m also hoping to put out a v1.1.1 release to address <a href="http://www.dreamhost.com">Dreamhost&#8217;s</a> recent decision to disable the use of PHP&#8217;s <code>fopen()</code> function for accessing data from external sites.  This decision directly affects both <a href="/projects/tarzan/">Tarzan</a> and <a href="/projects/simplepie/">SimplePie</a>.</p>
<p>I know that this is just a visual sneak peek, and there isn&#8217;t much here for Tarzan <em>developers</em>, but what do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/03/31/sneak-peek/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Tarzan 1.1 Now Available!</title>
		<link>http://blog.ryanparman.com/2005/03/12/tarzan-11-now-available/</link>
		<comments>http://blog.ryanparman.com/2005/03/12/tarzan-11-now-available/#comments</comments>
		<pubDate>Sat, 12 Mar 2005 10:58:53 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/archives/2005/03/12/tarzan-11-now-available/</guid>
		<description><![CDATA[Tarzan 1.1 is now available. This release has so many new features, I can&#8217;t list them all. For that, you can read the release notes. There are also some minor changes for people upgrading from 1.0.x, so please look over the release notes anyways. Although there are zero API changes in this release, there are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/projects/tarzan/">Tarzan 1.1</a> is now available.  This release has so many new features, I can&#8217;t list them all.  For that, you can read the <a href="/projects/tarzan/docs/documentation.htm">release notes</a>.  There are also some minor changes for people upgrading from 1.0.x, so please look over the release notes anyways.</p>
<p>Although there are zero API changes in this release, there are lots and lots of web interface improvements for people administering Tarzan installations.  I&#8217;ve also laid the groundwork for keyword searching, which will be the primary feature of the next release.</p>
<p>Beyond that, here&#8217;s a short list of what&#8217;s new:</p>
<ul>
<li>The Tarzan information page has become the Tarzan Control Panel.  You&#8217;ve got access to more information, and have more control over what all is going on with your Tarzan system.  It now requires a login, and has been localized into English, French, German, and Japanese.</li>
<li>Automatic Update Detection for both the Tarzan software and your Tarzan Extensions.  Color-coded notifiers in the Tarzan Control Panel allow you to know if updates are available just by glancing at them.</li>
<li>The lifespan of the cache is now a configurable option.</li>
<li>You can either use Tarzan&#8217;s built-in error messages, or enable error handling to handle your own Amazon errors.</li>
<li>Tarzan can work configuration-free for people who just want to upload and go.  Even better is the new Tarzan Setup Assistant, which will import your old configuration settings (if any), ask you a few questions, then create the new configuration file automatically.</li>
<li>LOTS of other changes, tweaks, and improvements.</li>
</ul>
<p>As always, you can see the <a href="/projects/tarzan/demo.php">demo</a>, view a <a href="/wishlist/">working implementation</a>, read the <a href="/projects/tarzan/docs/documentation.htm">release notes</a>, ask a <a href="http://support.skyzyx.net/viewforum.php?f=10">question</a>, or just get to the point and <a href="/projects/tarzan/">download the software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/03/12/tarzan-11-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tarzan 1.0.1 Now Available!</title>
		<link>http://blog.ryanparman.com/2005/02/03/tarzan-101-now-available/</link>
		<comments>http://blog.ryanparman.com/2005/02/03/tarzan-101-now-available/#comments</comments>
		<pubDate>Fri, 04 Feb 2005 04:10:44 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=218</guid>
		<description><![CDATA[Tarzan 1.0.1 is now available. This is a relatively minor update where only three things were changed: I resolved some localization issues that primarily affected France, Germany, and Japan. If you&#8217;re currently localized as an english-speaking country, you probably won&#8217;t notice anything new. However, setting the character encoding for your Tarzan-enabled pages to UTF-8 is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skyzyx.com/projects/tarzan/">Tarzan 1.0.1</a> is now available.  This is a relatively minor update where only three things were changed:</p>
<p>I resolved some localization issues that primarily affected France, Germany, and Japan.  If you&#8217;re currently localized as an english-speaking country, you probably won&#8217;t notice anything new.  However, setting the character encoding for your Tarzan-enabled pages to UTF-8 is <em>highly recommended</em> for US, UK, and Canadian installations, and <em>required</em> for French, German, and Japanese installations.</p>
<p>I also tweaked the <code>get_rating()</code> function to add <code>/5</code> to the end of the rating (since it&#8217;s out of 5 anyways).  If you&#8217;re currently adding <code>/5</code> or &#8220;out of 5&#8243; manually after using this function, you should remove it when you upgrade.</p>
<p>Lastly, I made some very minor, primarily subtle cosmetic changes to the Tarzan Information Page.  Mostly just tweaking the margins and padding.  I also added the quantity of cached files alongside the cache file size.</p>
<p>As always, you can check out a rough <a href="http://www.skyzyx.com/projects/tarzan/demo.php">demo</a>, ask a <a href="http://support.skyzyx.net/viewforum.php?f=10">question</a>, or see a <a href="http://www.skyzyx.com/wishlist/">real live implementation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/02/03/tarzan-101-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tarzan 1.0 Is Now Available!</title>
		<link>http://blog.ryanparman.com/2005/01/31/tarzan-10-is-now-available/</link>
		<comments>http://blog.ryanparman.com/2005/01/31/tarzan-10-is-now-available/#comments</comments>
		<pubDate>Mon, 31 Jan 2005 21:15:30 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=216</guid>
		<description><![CDATA[Tarzan 1.0 is now available! There were only a couple of minor bug fixes since RC2, so existing installations shouldn&#8217;t be affected at all. I&#8217;ve also written a custom extension for displaying my own wishlist. If you&#8217;re interested in checking it out to build off of for your own wishlists (or whatever else it might [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/projects/tarzan/">Tarzan 1.0</a> is now available!  There were only a couple of minor bug fixes since RC2, so existing installations shouldn&#8217;t be affected at all.</p>
<p>I&#8217;ve also written a custom extension for displaying my own <a href="/wishlist/">wishlist</a>.  If you&#8217;re interested in checking it out to build off of for your own wishlists (or whatever else it might be useful for), you can get <a href="/wishlist/extensions/ryan_wishlist.tzx">ryan_wishlist.tzx</a> here.</p>
<p>And although I had wanted to add search capabilities to Tarzan by 1.0, I&#8217;ve decided to build an extension for that.  I&#8217;m planning to have this extension ready by next week sometime.</p>
<h3>Tips and Tricks</h3>
<p>There are a couple of tips and tricks that can be used with Tarzan.  I&#8217;ll post them over to the <a href="http://support.skyzyx.net/viewforum.php?f=10">Tarzan Support Forum</a> later on today.</p>
<h4>Resizing images based on the size of a single side</h4>
<p>For my wishlist, I&#8217;m more concerned about items being the same height, rather than the same width.  How do I manage that?  Setting either the width or height value to zero will allow image resizing of one sider to rely solely on the other.  For example, if I wanted to set an item to a height of 90 pixels without caring how wide the image is, you could use this:</p>
<pre>echo get_image($asin, 0, 0, 90);</pre>
<p>The first is the ASIN/ISBN number of the item.  The second parameter (set to zero) tells Tarzan that you want to resize the image.  The third parameter (also set to zero) is the width.  Since the width is set to zero, then resizing will depend entirely on the fourth parameter, height, which is set to 90 pixels.</p>
<h4>PHP running out of memory?</h4>
<p>Some webhosts have limits on how much memory a process can use (like the webhost for Skyzyx.com, <a href="http://www.ipowerweb.com">iPowerWeb</a>).  In this case, the new <code>clear_memory()</code> function is helpful.  This allows you to <code>unset()</code> the value of an array node, particularly the product that you just finished processing.  You can read more about this function in the <a href="/projects/tarzan/docs/documentation.htm">Tarzan Documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/31/tarzan-10-is-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tarzan 1.0 RC2 Now Available!</title>
		<link>http://blog.ryanparman.com/2005/01/26/tarzan-10-rc2-now-available/</link>
		<comments>http://blog.ryanparman.com/2005/01/26/tarzan-10-rc2-now-available/#comments</comments>
		<pubDate>Thu, 27 Jan 2005 01:50:31 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=215</guid>
		<description><![CDATA[Tarzan 1.0 RC2 is now available for download. There are several new things in this version, including: Full support for all of Amazon&#8217;s locales (US, Canada, UK, France, Germany, and Japan), improved error handling, redesigned Tarzan info page, and a new demo page which combines the old sample.php and breakdown.php pages. All you UK&#8217;ers should [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/projects/tarzan/">Tarzan 1.0 RC2</a> is now available for download.  There are several new things in this version, including: Full support for all of Amazon&#8217;s locales (US, Canada, UK, France, Germany, and Japan), improved error handling, redesigned Tarzan info page, and a new <a href="/projects/tarzan/demo.php">demo page</a> which combines the old <code>sample.php</code> and <code>breakdown.php</code> pages.</p>
<p>All you UK&#8217;ers should now be set to go!  I&#8217;ll be converting my <a href="/wishlist/">wishlist</a> over the next few days in an effort to flush out any remaining bugs before I declare this a 1.0 final.</p>
<p>Have at it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/26/tarzan-10-rc2-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Localizing Tarzan and AWS 4.0</title>
		<link>http://blog.ryanparman.com/2005/01/25/localizing-tarzan-and-aws-40/</link>
		<comments>http://blog.ryanparman.com/2005/01/25/localizing-tarzan-and-aws-40/#comments</comments>
		<pubDate>Tue, 25 Jan 2005 23:07:03 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=214</guid>
		<description><![CDATA[The inital response to Tarzan has been very good! I got a handful of comments and several messages through my contact form about it. Overwhelmingly, people want to see Tarzan localized for their country&#8217;s version of Amazon. Initially, I started digging around to start implementing support for the UK. After a while of digging, however, [...]]]></description>
			<content:encoded><![CDATA[<p>The inital response to Tarzan has been very good!  I got a handful of comments and several messages through my contact form about it.  Overwhelmingly, people want to see Tarzan localized for their country&#8217;s version of Amazon.</p>
<p>Initially, I started digging around to start implementing support for the UK.  After a while of digging, however, I found out that I&#8217;m using an older version of the Amazon Web Services API.  Fantastic.  The new version (AWS 4.0) supports full localization in all of Amazon&#8217;s countries (U.S., Canada, U.K., France, Germany, and Japan).</p>
<p>If I&#8217;m going to be able to stay on top of this, I&#8217;m going to need to upgrade Tarzan&#8217;s core code to support and use the newer API.  It sucks that I thought I was almost done and I&#8217;m not, but this should only take me a few hours to recode now that I have Tarzan&#8217;s implementation figured out.  Re-writing the necessary parts of the documentation will take a bit, and re-writing the Sample page and Breakdown Tool will take a bit of time too.</p>
<p>The good news is that Tarzan 1.0 final will be compatible with all of Amazon&#8217;s countries, without any code changes on your end.  Tarzan&#8217;s functions will continue to work seamlessly and upgrading to the next release candidate will not affect current installations, despite all of the code upheaval.  The bad news is that parts of the extension model have changed a bit.  If you&#8217;re a go-getter of a developer who has already started writing their own extensions for Tarzan, then I&#8217;m talking to you.  Hold off until RC2.</p>
<p>If you&#8217;re not an extension developer, and you don&#8217;t care about support for countries other than America, then you can ignore this entire post.  If you&#8217;ve been asking me about support for the UK, France or Germany, then RC2 will be something to look forward to.  Overzealous developers, just sit tight.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/25/localizing-tarzan-and-aws-40/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing Tarzan</title>
		<link>http://blog.ryanparman.com/2005/01/23/introducing-tarzan/</link>
		<comments>http://blog.ryanparman.com/2005/01/23/introducing-tarzan/#comments</comments>
		<pubDate>Sun, 23 Jan 2005 16:08:47 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=213</guid>
		<description><![CDATA[My birthday is in November, and Christmas is in December, so the &#8220;holidays&#8221; go for about a month-and-a-half. Every year, I&#8217;d start getting these questions like &#8220;What do you want for your birthday? What do you want for Christmas?&#8221;. Of course, when you&#8217;re asked on the spot like that, you can never remember what it [...]]]></description>
			<content:encoded><![CDATA[<p>My birthday is in November, and Christmas is in December, so the &#8220;holidays&#8221; go for about a month-and-a-half.  Every year, I&#8217;d start getting these questions like &#8220;What do you want for your birthday?  What do you want for Christmas?&#8221;.  Of course, when you&#8217;re asked on the spot like that, you can never remember what it is that you want, and you end up like the kid from <a href="http://www.amazon.com/exec/obidos/tg/detail/-/B0000AYJUW/ref=ase_skyzyxcom-20/002-6250797-4557600?v=glance&#038;s=dvd">A Christmas Story</a> telling people you want a football or something.</p>
<p>So, a few years ago, I came up with the brilliant idea of making my wishlist available on my website somewhere.  That way, when people asked what I wanted for Christmas or my birthday, I could just point them over to some big-ticket items on my list, and wouldn&#8217;t have to waste brain cycles on it.  Great idea, huh?</p>
<p>Well, my website has certainly evolved over the last few years, and so has my wishlist.  This past holiday saw my biggest wishlist ever with over 170 items (mostly old CD&#8217;s that are scratched and need to be re-bought).  Updating and adding items was a real pain, and I figured that after the holidays I&#8217;d try to figure out a way to make it all easier.</p>
<p>Most of the items on my wishlist are pointing back to Amazon, and I&#8217;ve got my referral ID in there so that I also get credited on all of the purchases made from my site.  I also know that Amazon makes their database information available through their Web Services program.  Ideally, all I&#8217;d like to have to do is pass either the ISBN number (of a book), or the ASIN number (of most other items) to a function, and have that function figure it all out for me.  How on earth can I make it all happen?</p>
<p><b><a href="http://www.skyzyx.com/projects/tarzan/">Introducing Tarzan</a></b>, an easy-to-use set of functions for accessing all sorts of data from Amazon&#8217;s product database.  It&#8217;s as simple to use as <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie</a> (if not, simpler), and has a built-in extension model that allows developers to extend the functionality of Tarzan simply and easily.</p>
<p>Tarzan caches everything it can for 30 days (since Amazon&#8217;s data doesn&#8217;t change much, and as to not overload anyone&#8217;s server), supports resizing images using GD functions (all behind the scenes), and most functions will work as expected by just passing the ASIN/ISBN number as a parameter.  For more <a href="http://www.skyzyx.com/projects/tarzan/">information</a>, <a href="http://www.skyzyx.com/projects/tarzan/docs/documentation.htm">documentation</a>, a <a href="http://www.skyzyx.com/projects/tarzan/sample.php">sample demo</a>, <a href="http://www.skyzyx.com/projects/tarzan/breakdown.php">tools</a> for <a href="http://www.skyzyx.com/projects/tarzan/docs/extension_guidelines.htm">building your own extensions</a>, and <a href="http://www.skyzyx.com/projects/tarzan/#get">downloads</a>, check out the <a href="http://www.skyzyx.com/projects/tarzan/">Tarzan Project Page</a>.</p>
<p><span class="update">&laquo; Update &raquo;</span> I make a minor tweak to the code and released Tarzan 1.0 RC1a.  I added cache stats to the <code>tarzaninfo()</code> function (which can be seen in action by viewing your <code>tarzan_info.php</code> page.)  This certainly isn&#8217;t critical, and you can definitely wait for RC2, but if you got Tarzan already and you want to see the new info, simply replace your current <code>tarzan.inc</code> file with the new one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/23/introducing-tarzan/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SimplePie 0.96 Now Available!</title>
		<link>http://blog.ryanparman.com/2005/01/14/simplepie-096-now-available/</link>
		<comments>http://blog.ryanparman.com/2005/01/14/simplepie-096-now-available/#comments</comments>
		<pubDate>Sat, 15 Jan 2005 06:38:52 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=211</guid>
		<description><![CDATA[I quietly posted SimplePie 0.96 a few days ago, after having it in place in SimpleReader for about a week before that. So far, so good. For those of you currently using SimplePie, this new version makes more strides towards improving support for sucky feeds, tested support for PHP 5, and other bits of fine-tuning. [...]]]></description>
			<content:encoded><![CDATA[<p>I quietly posted <a href="/projects/simplepie/">SimplePie 0.96</a> a few days ago, after having it in place in <a href="/rss/">SimpleReader</a> for about a week before that.  So far, so good.</p>
<p>For those of you currently using SimplePie, this new version makes more strides towards improving support for sucky feeds, tested support for PHP 5, and other bits of fine-tuning.</p>
<p>You can <a href="/projects/simplepie/simplepie_0.96.zip?cda6c1">download</a> it, read the <a href="/projects/simplepie/documentation.htm">documentation</a> for changes in this version, and <a href="http://support.skyzyx.net/">report bugs and get support</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/14/simplepie-096-now-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conditional Comments in Standalone Internet Explorer</title>
		<link>http://blog.ryanparman.com/2005/01/09/conditional-comments-in-standalone-internet-explorer/</link>
		<comments>http://blog.ryanparman.com/2005/01/09/conditional-comments-in-standalone-internet-explorer/#comments</comments>
		<pubDate>Sun, 09 Jan 2005 17:07:57 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=209</guid>
		<description><![CDATA[This was written by Manfred Staudinger from Vienna, Austria With a small, one-time change, Conditional Comments will work again and recognize the values 5.0 and 6.0, again; however, it will not recognize 5.5. How is it done? Go to the registry and look in HKLM\Software\Microsoft\Internet Explorer\Version Vector\ for the key IE. Simply get rid of [...]]]></description>
			<content:encoded><![CDATA[<p><b>This was written by Manfred Staudinger from Vienna, Austria</b></p>
<p>With a small, one-time change, Conditional Comments will work again and recognize the values 5.0 and 6.0, again; however, it will not recognize 5.5.</p>
<p>How is it done? Go to the registry and look in <code>HKLM\Software\Microsoft\Internet Explorer\Version Vector\</code> for the key <code>IE</code>. Simply get rid of it by renaming it to <code>zIE</code> &mdash; that&#8217;s it!
		</p>
<p>As I had installed IE 6.0, I looked into the registry for its version number &#8220;6.0.2800.1106&#8243; and found 7 entries in HKLM, 3 of them belonging to the key &#8220;Internet Explorer&#8221;: Wizard Version, Version and Build. I looked also into the module iexplore.exe and found this information 4 times. All these 11 occurrences appear to be character data with minor variations in format, but no one was compatible with the design for the Conditional Comments!</p>
<p>So to meet the specifications, a new structure was created, the &#8220;Version Vector&#8221;. IE reads the information (currently 5.0002, 5.5000, or 6.0000) from there when it is started: if the program cannot find it, it gets the information from the module. This also means that IE has to be closed and restarted to get the change.</p>
<p>Now in case of IE 5.5 we can see the incompatibility which forced the creation of a new structure: CC gives true for &#8220;gte IE 5.999&#8243; and &#8220;lte IE 5.9990&#8243;! As CC cannot be nested there is no way to identify IE 5.5 properly.</p>
<p>For example the following CC&#8217;s will work even with multiple IE&#8217;s installed:</p>
<ol>
<li><i>&#8220;if IE 6&#8243; or &#8220;if IE 6.0&#8243;</i> &mdash; for use with IE 6.0</li>
<li><i>&#8220;if IE 5&#8243; or &#8220;if lte IE 5.5&#8243;</i> &mdash; for use with IE 5.01 and 5.5</li>
<li><i>&#8220;if IE 5.0&#8243;</i> &mdash; for use with IE 5.01</li>
<li><i>&#8220;if gte IE 5.5&#8243;</i> &mdash; for use with IE 5.5 and 6.0</li>
<li><i>&#8220;if IE&#8221; or &#8220;if lte IE 6.0&#8243;</i> &mdash; for use with IE 5.01, 5.5, and 6.0</li>
</ol>
<p>This CC will still not work when multiple IE&#8217;s are installed:</p>
<ol>
<li><i>&#8220;if IE 5.5&#8243;</i> &mdash; for use with IE 5.5</li>
</ol>
<p>To see this run the above mentioned test. For better understanding CC you might want to read <a href="http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp">About Conditional Comments</a>.</p>
<p>I have tested quite a lot on my Win98, but as the whole structure was build exclusively for CC, I would expect no real problems with later versions.</p>
<p><em>You can discuss this further at the <a href="http://support.skyzyx.net/viewtopic.php?p=45">Skyzyx Support Forums</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2005/01/09/conditional-comments-in-standalone-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SimplePie Beta Testing</title>
		<link>http://blog.ryanparman.com/2004/12/03/simplepie-beta-testing/</link>
		<comments>http://blog.ryanparman.com/2004/12/03/simplepie-beta-testing/#comments</comments>
		<pubDate>Sat, 04 Dec 2004 02:26:55 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=203</guid>
		<description><![CDATA[Rather than completely hold off the next version of SimplePie until it&#8217;s totally complete (which appears to be taking some time), I&#8217;ve decided to make the current Beta versions available for testing purposes. Although it appears to be fairly stable, I wouldn&#8217;t recommend this for a production site just yet. If you&#8217;d like to test [...]]]></description>
			<content:encoded><![CDATA[<p>Rather than completely hold off the next version of SimplePie until it&#8217;s totally complete (which appears to be taking some time), I&#8217;ve decided to make the current Beta versions available for testing purposes.  Although it appears to be fairly stable, I wouldn&#8217;t recommend this for a production site just yet.</p>
<p>If you&#8217;d like to test out the current Beta build (2004.12.03), you can do so a couple of ways:</p>
<ul>
<li><a href="/dev/simplepie/">Basic Online Feed Reader utilizing the latest version of SimplePie</a></li>
<li><a href="/dev/simplepie/simplepie.inc">The SimplePie source file</a></li>
<li><a href="/dev/simplepie/documentation.htm">The documentation file for this particular build</a></li>
</ul>
<p>Please take the time to test it with your feeds that you read.  I&#8217;ve also enabled an option that allows you to see how the feed&#8217;s source code is modified by SimplePie.  This is great for debugging and for helping test.</p>
<p>If you have any bug reports, please list them in the <a href="http://www.skyzyx.net/forums/viewforum.php?f=7">Bug Report forum</a>.  The same goes for <a href="http://www.skyzyx.net/forums/viewforum.php?f=8">feature requests</a> and <a href="http://www.skyzyx.net/forums/viewforum.php?f=1">questions and comments</a>.</p>
<p>Thanks for helping to make SimplePie great!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/12/03/simplepie-beta-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screen Grab Confab</title>
		<link>http://blog.ryanparman.com/2004/12/03/screen-grab-confab/</link>
		<comments>http://blog.ryanparman.com/2004/12/03/screen-grab-confab/#comments</comments>
		<pubDate>Fri, 03 Dec 2004 17:30:16 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Just for Fun]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=202</guid>
		<description><![CDATA[I know that I&#8217;m a couple of weeks late for this, but here&#8217;s my hat in the ring&#8230; Heads-up: the linked image is a 1.3 MB PNG file.]]></description>
			<content:encoded><![CDATA[<p>I know that I&#8217;m a couple of weeks late for this, but here&#8217;s my hat in the ring&#8230;</p>
<div class="blogimage"><a href="/img/screen-full.png?cda6c1"><img src="/img/screen-cropped.png?cda6c1" alt="Screen Grab Confab" title="Screen Grab Confab" border="0" /></a></div>
<p>Heads-up: the linked image is a 1.3 MB PNG file.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/12/03/screen-grab-confab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple PHP Gallery 1.1</title>
		<link>http://blog.ryanparman.com/2004/11/19/simple-php-gallery-11/</link>
		<comments>http://blog.ryanparman.com/2004/11/19/simple-php-gallery-11/#comments</comments>
		<pubDate>Fri, 19 Nov 2004 16:42:06 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=200</guid>
		<description><![CDATA[Paul Griffin has just released SPG 1.1! For those who aren&#8217;t familiar with this project, Simple PHP Gallery is exactly that&#8212;an easy-to-use image gallery system, written in PHP. There are several new features listed on Paul&#8217;s SPG Mini-Site, but there are a few that are my favorites (as I was a beta tester for this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.relativelyabsolute.com">Paul Griffin</a> has just released <a href="http://www.relativelyabsolute.com/spg/">SPG 1.1</a>!  For those who aren&#8217;t familiar with this project, Simple PHP Gallery is exactly that&mdash;an easy-to-use image gallery system, written in PHP.</p>
<p>There are several new features listed on Paul&#8217;s <a href="">SPG Mini-Site</a>, but there are a few that are my favorites (as I was a beta tester for this and the last versions):</p>
<h3>Image Precaching</h3>
<p>This was one of the two features that I actually coded the original code for *grin*.  In v1.0 and the early v1.1 betas, I got tired of clicking the Next and Previous buttons and having to wait for the new image to load, after I&#8217;d just spent several seconds looking at a single picture.  It didn&#8217;t seem very efficient to me, so I figured why not allow the image loading to happen in the background while I&#8217;m spending time looking at this picture anyways.</p>
<p>So, what I did was I figured out what images the Next and Previous buttons were pointing to (which is all dynamic, BTW), and added the Next and Previous to the page at a size of 1&#215;1.  I then added inline styles to the image that absolutely positioned them to the top-left corner of the page, and set the visibility to hidden.  Doing so allowed the images to load into the cache, while remaining invisible to CSS-enabled browsers (and as two 1 pixel dots on CSS-<i>dis</i>abled browsers).</p>
<p>Voila!  Image precaching for the previous and next images in sequence.</p>
<h3>Image Resizing</h3>
<p>Do you have a digital camera that takes pictures at a ridiculously gargantuan size?  I used to have one that saved images at 1600&#215;1200.  With this feature, you can upload these images, and they will automatically be resized and cached according to the settings in your <code>sp_config.php</code> file.  Very useful.</p>
<h3>Accesskey Navigation</h3>
<p>This was my first suggestion for features in SPG 1.1 after 1.0 launched.  I took a 3ds Max class in college, and we had to build something cool from the things we&#8217;d learned in the class, and make both a still frame as well as a short rendered video.  Mine was about <a href="http://www.skyzyx.com/portfolio/threemacs/">3 Macs</a>.</p>
<p>Anyways, I went online to grab various images about the computers that I was going to be building.  At first, I&#8217;d have to open one, then another, then another.  Tiring of this quickly, I wrote up a quick HTML page with a JavaScript that would allow me to simply hit Previous or Next to move from one image to the next.  The it dawned on me to use accesskeys, since I knew they at least worked in IE and Mozilla (this was during the pre-Firefox &#8220;Phoenix&#8221; days).</p>
<p>Instantly, I was able to hit Alt+Plus and Alt+Minus to move back and forth through the images.  When I recommended this to Paul, we had some discussion, and this is what ended up getting implemented:</p>
<p>The Previous button is Alt+Minus[-].  The Next button is both Alt+Plus[+] as well as Alt+Equals[=].  This is because most QWERTY-language desktop keyboards have a 10-key number pad on the right where [+] and [-] are right next to each other.  Most laptops, however, don&#8217;t have that, but rather a [-/_] key right next to a [=/+] key (where you have to press shift for the latter).  This means that you&#8217;d have to press Alt+Minus to move back, and Alt+Shift+Plus to move forward, and that sucks.  Allowing Alt+Equals to move forward makes it easy for both Laptop and Desktop QWERTY-keyboards.</p>
<h3>Automatically Generated Sub-Folder Details</h3>
<p>This was yet another idea that I had for the 1.1 release, and that was to add the number of images in a folder, much like how many people will display the number of comments a blog post has.  It just seemed to make sense.</p>
<h3>Conclusion</h3>
<p>Paul has done a terrific job with writing this software, and I have really enjoyed the opportunity to be a part of it.  Heck, I&#8217;m probably just as proud of this release as he is, and I&#8217;m excited that so many of my suggestions made it into the final release.  If you&#8217;ve got an image gallery, or you&#8217;ve been thinking of setting one up, I would highly recommend Paul Griffin&#8217;s <a href="http://www.relativelyabsolute.com/spg/">Simple PHP Gallery</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/11/19/simple-php-gallery-11/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SimplePie 0.95</title>
		<link>http://blog.ryanparman.com/2004/10/10/simplepie-095/</link>
		<comments>http://blog.ryanparman.com/2004/10/10/simplepie-095/#comments</comments>
		<pubDate>Mon, 11 Oct 2004 05:42:40 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=191</guid>
		<description><![CDATA[SimplePie 0.95 is now available. Anyone who is using any other version of SimplePie should update now. Major features/changes in this version include: Much improved support for reading all feeds, resolved display issues with &#60; code &#62; and &#60; pre &#62; tags, and added the ability to alter the display of feed dates using PHP&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/projects/simplepie/">SimplePie 0.95</a> is now available.  Anyone who is using any other version of SimplePie should update now.  Major features/changes in this version include: Much improved support for reading all feeds, resolved display issues with <code>&lt; code &gt;</code> and <code>&lt; pre &gt;</code> tags, and added the ability to alter the display of feed dates using PHP&#8217;s <code>date()</code> variables.</p>
<p>This version is pretty much feature-complete.  The only remaining pre-1.0 work will be testing and catching any remaining bugs.  I might add a couple of minor features, but nothing too major.  I&#8217;m open to feature requests for the 1.0 &#8211; 1.1 releases, so if SimplePie is missing something or if it should have something that other parsers don&#8217;t, let me know.</p>
<p><span class="personal">&laquo;&nbsp;Update&nbsp;&raquo;</span> If you downloaded SimplePie within 60 minutes of this posting, you should re-download it.  I fixed a glitch that affected feeds from East of GMT, and some related documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/10/10/simplepie-095/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>It Took Me Long Enough&#8230;</title>
		<link>http://blog.ryanparman.com/2004/09/24/it-took-me-long-enough/</link>
		<comments>http://blog.ryanparman.com/2004/09/24/it-took-me-long-enough/#comments</comments>
		<pubDate>Fri, 24 Sep 2004 08:09:35 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=186</guid>
		<description><![CDATA[The new and improved SimplePie 0.94 is out. Major features/changes in this version include: Better support for non-English feeds, significantly improved support for poorly written feeds, automatic deletion of outdated cache files, and the stripping-out of potentially harmful tags (as per Mark Pilgrim&#8217;s suggestions). There&#8217;s still a smidge of fine-tuning left to do. Although I [...]]]></description>
			<content:encoded><![CDATA[<p>The new and improved <a href="/projects/simplepie/">SimplePie 0.94</a> is out.  Major features/changes in this version include: Better support for non-English feeds, significantly improved support for poorly written feeds, automatic deletion of outdated cache files, and the stripping-out of potentially harmful tags (as per Mark Pilgrim&#8217;s <a href="http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely">suggestions</a>).</p>
<p>There&#8217;s still a smidge of fine-tuning left to do.  Although I fixed a very high number of feeds in this release, I broke a small handful of others.  The newly broken feeds include Forever Geek&#8217;s RSS (not Atom) feed, Asa&#8217;s notblog*, News.com, and GameSpot feeds.  Out of a list of approximately <a href="/dev/simplepie/parseopml.php">334 test feeds</a> (374 total &#8211; 30 duplicates &#8211; 10 no longer exist), only 9 aren&#8217;t working.  Not too shabby, I&#8217;d say.</p>
<p>I&#8217;ll probably begin working on v0.95 on Saturday.  Here is a list of things I plan to do in time for the 0.95 release:</p>
<ul>
<li>Finish fine-tuning the regular expressions I use for supporting bad feeds.</li>
<li>Add the ability to display images in feeds, even though the server is set to block the display of images on other sites.</li>
<li>Encode all tags used inside <code>&lt;code&gt;&lt;/code&gt;</code> tags.</li>
<li>Get speed back to v0.93 levels.</li>
<li>Improve the ability to display feed dates.</li>
<li>Improve support for relative URL&#8217;s in feeds.</li>
</ul>
<p>Keep watching this space.  Hopefully it won&#8217;t take me another month to get the new version out.  Come to think of it, have you all gone and bugged <a href="http://www.relativelyabsolute.com">Se&#241;or Paul</a> about getting <a href="http://www.relativelyabsolute.com/spg/">SPG 1.1</a> done yet?  If not, you should.  He might forget to work on it otherwise.  *grin*</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/09/24/it-took-me-long-enough/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SimplePie&#8230; Mmmm, Yummy!</title>
		<link>http://blog.ryanparman.com/2004/09/21/simplepie-mmmm-yummy/</link>
		<comments>http://blog.ryanparman.com/2004/09/21/simplepie-mmmm-yummy/#comments</comments>
		<pubDate>Tue, 21 Sep 2004 20:13:08 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=185</guid>
		<description><![CDATA[I finally cracked the nut on the problem I was having with SimplePie. The compatibility fix I&#8217;ve been working on finally works for the two feeds that I was having a problem with. Thanks to Mark IJbema for nudging me in the right direction. The downside is that it slowed SimplePie down a bit. I [...]]]></description>
			<content:encoded><![CDATA[<p>I finally cracked the nut on the problem I was having with <a href="/projects/simplepie/">SimplePie</a>.  The compatibility fix I&#8217;ve been working on finally works for the two feeds that I was having a problem with.  Thanks to Mark IJbema for nudging me in the right direction.</p>
<p>The downside is that it slowed SimplePie down a bit.  I think that it&#8217;s something I&#8217;ll let slide for this version, and try to tackle it for the next.  I still need to go back through the list of 300+ feeds to make sure I haven&#8217;t broken something else, but assuming that all goes well, I&#8217;ll post SimplePie 0.94 sometime tonight or tomorrow.</p>
<p>I hope you all are using it, or are planning to use it.  It&#8217;s good software, really&#8230; and no, I&#8217;m not trying to float my own boat.  If you find any bugs or would like to see something added, <a href="/projects/simplepie/contact.php">let me know</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/09/21/simplepie-mmmm-yummy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Wait, Didn&#8217;t He Just&#8230;?&#8221;</title>
		<link>http://blog.ryanparman.com/2004/09/02/wait-didnt-he-just/</link>
		<comments>http://blog.ryanparman.com/2004/09/02/wait-didnt-he-just/#comments</comments>
		<pubDate>Thu, 02 Sep 2004 09:51:51 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=182</guid>
		<description><![CDATA[SimplePie 0.93 is now available. This release adds support for RSS and Atom auto-discovery, converting relative-to-the-root URL&#8217;s into absolute URL&#8217;s (like web browsers do), an improved caching process, and a variety of fixes to aid compatibility with poorly written feeds. SimplePie takes a very Apple-esque approach to feed parsing. Coming from the use of MagpieRSS, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skyzyx.com/projects/simplepie/">SimplePie 0.93</a> is now available.  This release adds support for RSS and Atom auto-discovery, converting relative-to-the-root URL&#8217;s into absolute URL&#8217;s (like web browsers do), an improved caching process, and a variety of fixes to aid compatibility with poorly written feeds.</p>
<p>SimplePie takes a very Apple-esque approach to feed parsing.  Coming from the use of MagpieRSS, I decided to create a &#8220;feed parser for the rest of us&#8221;.  One that is easy, logical, and doesn&#8217;t require too much of a background in PHP to use it.  My background is in JavaScript, so I believe that if you have a handle on JavaScript and can spend an hour learning about some of the nuances of basic PHP, you should be able to implement SimplePie with little or no fuss.</p>
<p>There are many feed parsers out there that only support one or two flavors of RSS.  Most still don&#8217;t even have Atom support yet.  They all go through and create this whole big array, and then just leave it all sitting there for you to figure out.  Maybe they&#8217;ll even throw in some caching while they&#8217;re at it.  Good for them.</p>
<p>When building SimplePie, I wanted to make it as easy as possible for someone to be able to use it.  I looked at a variety of desktop and web-based feed readers to get a feel for the most used and most useful RSS tags, and then I created a collection of functions for those specific purposes.  Going with a Firefox-like mentality, I made sure to support everything that most people would want/need while maintaining the ability to extend it as need be.</p>
<p>As Mac OS X is built upon a powerful Unix-based core, SimplePie is built upon a very powerful, yet easy-to-use XML parsing library called XMLize.  XMLize takes a fantastic approach to parsing XML documents in a very simple, logical way.  I was parsing XML documents within 10 minutes of having found it.  This easy-to-use software makes it easy for anyone &mdash; even PHP newbies &mdash; to extend the power of SimplePie.</p>
<p>Switching from MagpieRSS to using XMLize at the core allows SimplePie to process RSS and Atom feeds at incredible speeds.  SimplePie is also aware of some common problems in feeds and makes adjustments as necessary.  Does your current feed reader leave you with visible entities or odd question marks?  SimplePie automatically handles some of these common glitches, so that the end user doesn&#8217;t see anything too wierd when trying to view their favorite feeds.</p>
<p>If you&#8217;re looking for new feed parser software, or even if you&#8217;re not, give SimplePie a try.  If you&#8217;re new to PHP, or even if you&#8217;re not, SimplePie can save you time and stress.  If you&#8217;re looking for a feed parser that can be easily extended to do more than it currently does out-of-the-box, SimplePie is your answer.</p>
<p><strong><a href="http://www.skyzyx.com/projects/simplepie/">Download Now!</a></strong>  File servers are standing by.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/09/02/wait-didnt-he-just/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Need Your Help!</title>
		<link>http://blog.ryanparman.com/2004/08/31/i-need-your-help/</link>
		<comments>http://blog.ryanparman.com/2004/08/31/i-need-your-help/#comments</comments>
		<pubDate>Tue, 31 Aug 2004 23:10:18 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=180</guid>
		<description><![CDATA[I&#8217;ve been on a roll with SimplePie development lately (if you couldn&#8217;t already tell). Version 0.93 will probably be released in the next day or so, and at that point should be feature-complete. The remaining Pre-1.0 releases (0.94, 0.95, 0.96, etc.) will be dedicated to compatibility fixes. There are a lot of poorly coded feeds [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on a roll with SimplePie development lately (if you couldn&#8217;t already tell).  Version 0.93 will probably be released in the next day or so, and at that point should be feature-complete.  The remaining Pre-1.0 releases (0.94, 0.95, 0.96, etc.) will be dedicated to compatibility fixes.  There are a lot of poorly coded feeds out there, and I need to know about them to that I can patch them up as best as possible.</p>
<p>What I need from you are your reading lists.  Whatever sites you read or follow via RSS or Atom, I want to know about them.  If you&#8217;ve got Feed Demon, SharpReader, RSS Bandit, NetNewsWire, Shrook, PulpFiction, or another feed reader, do me a favor and export your feed listings in OPML format (which would be the easiest thing for you) and upload them to your website somewhere.  Then, leave a comment that contains the URL to that OPML file.  I&#8217;ll then go through each and every site and find each and every RSS or Atom feed and test them one-by-one to make sure that SimplePie is as solid and production-ready as possible.</p>
<p>The higher the quantity of feeds I&#8217;m able to test, the better SimplePie will be.  I know that most of the (standards-compliant) blogging world is pretty solid, but I&#8217;ve noticed that many development and programming-related sites have horrendous feeds.  I&#8217;m also going through the Feed Demon forums and testing as many of those feeds as I can.</p>
<p>Your help would be tremendously appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/08/31/i-need-your-help/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Newer-er.  Better-er.  Simpler-er.</title>
		<link>http://blog.ryanparman.com/2004/08/29/newer-er-better-er-simpler-er/</link>
		<comments>http://blog.ryanparman.com/2004/08/29/newer-er-better-er-simpler-er/#comments</comments>
		<pubDate>Mon, 30 Aug 2004 03:55:24 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=179</guid>
		<description><![CDATA[In record time, SimplePie 0.92 is now available. This release adds all sorts of things such as better (and faster) caching, a user agent string, smarter handling of problematic characters and entities, and a fix for Mr. Dunstan&#8217;s feed. For those who are skeptical of &#8220;yet another feed parser&#8221;, or are hesitant to switch to [...]]]></description>
			<content:encoded><![CDATA[<p>In record time, <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie 0.92</a> is now available.  This release adds all sorts of things such as better (and faster) caching, a user agent string, smarter handling of problematic characters and entities, and a fix for <a href="http://www.1976design.com/blog/">Mr. Dunstan&#8217;s</a> feed.</p>
<p>For those who are skeptical of &#8220;yet another feed parser&#8221;, or are hesitant to switch to (or begin using) SimplePie, let me explain it this way.  Most RSS parsers go through this process of breaking a feed down into this big array, which may be fine for some, but can be impossible for beginners and newbies.  SimplePie takes an Apple-esque approach by providing thoughtfully-named, easy to use functions that do what one would expect them to do.</p>
<p>At the core, SimplePie relies on <a href="http://www.hansanderson.com/php/xml/">XMLize</a> (as the easy-to-use Mac OS X relies on the more powerful Unix-based core), which is a very powerful, yet elegantly simple class for parsing XML documents with PHP.  This means that if SimplePie doesn&#8217;t do all that you want it to out-of-the-box (which would be suprising, but possible), you can easily extend it to support whatever else you might want.</p>
<p>I&#8217;ve frozen the current function set where it&#8217;s at.  This means that if you&#8217;ve been using SimplePie already, or if you&#8217;re wanting to start using it, you won&#8217;t need to change any of your code as new versions get released.  You&#8217;ll simply need to replace the old SimplePie library with the new one to take advantage of new improvements.  New functions may become available to use, but new versions of SimplePie will not break existing services and applications.</p>
<p>If you&#8217;ve been thinking about building your own web-based RSS/Atom reader, why not give SimplePie a try?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/08/29/newer-er-better-er-simpler-er/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Battle of Dunstan vs. Andrei vs. Mark</title>
		<link>http://blog.ryanparman.com/2004/08/29/the-battle-of-dunstan-vs-andrei-vs-mark/</link>
		<comments>http://blog.ryanparman.com/2004/08/29/the-battle-of-dunstan-vs-andrei-vs-mark/#comments</comments>
		<pubDate>Sun, 29 Aug 2004 19:38:27 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=178</guid>
		<description><![CDATA[&#8230;well, their syndication feeds anyways. Here&#8217;s the problem: While working on SimplePie initially, I used copies of Dunstan&#8217;s Atom and RSS feeds because I felt that they&#8217;d be representative of most people&#8217;s decently well-formed feeds. I know that some people have worse feeds, and that Mark Pilgrim&#8217;s feeds are a bit too &#8220;academically&#8221; correct. Dunstan [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;well, their syndication feeds anyways.  Here&#8217;s the problem:</p>
<p>While working on <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie</a> initially, I used copies of <a href="http://www.1976design.com/blog/">Dunstan&#8217;s</a> Atom and RSS feeds because I felt that they&#8217;d be representative of most people&#8217;s decently well-formed feeds.  I know that some people have worse feeds, and that <a href="http://www.diveintomark.org">Mark Pilgrim&#8217;s</a> feeds are a bit too &#8220;academically&#8221; correct.</p>
<p>Dunstan has a problem with his feed.  He uses the numeric entity for a &#8220;smart-apostrophe&#8221; in his feed&#8217;s <code>&lt;title&gt;</code> tag.  This happens to be a UTF-8 character.  For whatever reason, parsing his feed in every PHP-based feed reader I&#8217;ve ever used displays that smart-apostrophe as a question mark.  In wanting to build a &#8220;feed parser for the rest of us&#8221;, I decided to be smart and wrap a CDATA section around the contents of the <code>&lt;title&gt;</code>, <code>&lt;link&gt;</code>, and <code>&lt;description&gt;</code> on the fly for those that don&#8217;t already have them.  Dunstan&#8217;s question mark becomes the character that it&#8217;s supposed to be.  No problem.</p>
<p>On the other hand, <a href="http://www.designbyfire.com">Andrei</a> also has a problem with his feed.  Well, not really&#8230; it&#8217;s just that the fix I put in place to fix Dunstan&#8217;s feed broke Andrei&#8217;s feed.  Andrei does a fake-out with his CDATA sections.  He closes the CDATA section in <code>&lt;description&gt;</code>, then has one last bit of content before closing the tag.  This is just enough to get past SimplePie&#8217;s logic.  Wonderful.</p>
<p>Since Dunstan&#8217;s issue is only in the feed&#8217;s <code>&lt;title&gt;</code> tag, I went ahead and changed how SimplePie handles the feeds by removing the code for wrapping CDATA sections around <code>&lt;link&gt;</code> and <code>&lt;description&gt;</code>.  Both Dunstan and Andrei have working feeds again.</p>
<p>Then, I go and test it on <a href="http://www.diveintomark.org">Mark&#8217;s</a> Feed Parser project feed.  SimplePie breaks down again.  Well, crap.  Instead of using <code>&lt;title&gt;</code> like normal people, Mark has to be all cool by using <code>&lt;title type="text/plain"&gt;</code>.  Argh.</p>
<p>So, I&#8217;m off to find some code that can resolve this little quarrel.  I&#8217;m thinking about going through and looking for UTF-8 entities (4-digit, typically begins with an 8: &amp;#8217;) and wrapping CDATA sections around those entities alone, which will probably work.  I don&#8217;t want to release this software as 1.0 until it performs satisfactorily with every single feed in my entire <a href="/blogs/">reading list</a>.</p>
<p>Version 0.92 is <strike>on it&#8217;s way</strike> <a href="http://www.skyzyx.com/projects/simplepie/">here</a> folks.  <a href="http://www.leftjustified.net">Andrew</a>, how&#8217;s that WordPress plug-in coming along?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/08/29/the-battle-of-dunstan-vs-andrei-vs-mark/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Newer.  Better.  Simpler.</title>
		<link>http://blog.ryanparman.com/2004/08/28/newer-better-simpler/</link>
		<comments>http://blog.ryanparman.com/2004/08/28/newer-better-simpler/#comments</comments>
		<pubDate>Sat, 28 Aug 2004 22:29:31 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=177</guid>
		<description><![CDATA[SimplePie 0.91 is now available. This release adds support for URL&#8217;s with a relative path, better handling of some improperly written feeds, and fixes a problem where feeds weren&#8217;t getting loaded all the way before trying to parse them, causing SimplePie to choke.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skyzyx.com/projects/simplepie/">SimplePie 0.91</a> is now available.  This release adds support for URL&#8217;s with a relative path, better handling of some improperly written feeds, and fixes a problem where feeds weren&#8217;t getting loaded all the way before trying to parse them, causing SimplePie to choke.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/08/28/newer-better-simpler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Ultrafast SimplePie 0.9 Is Now Available!</title>
		<link>http://blog.ryanparman.com/2004/08/03/the-ultrafast-simplepie-09-is-now-available/</link>
		<comments>http://blog.ryanparman.com/2004/08/03/the-ultrafast-simplepie-09-is-now-available/#comments</comments>
		<pubDate>Wed, 04 Aug 2004 05:50:55 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=173</guid>
		<description><![CDATA[Responses to the release of SimplePie 0.8 have been very positive. SimplePie has accomplished it&#8217;s goal of making it easier to create online feed readers, or anything else that requires RSS parsing. The only complaints that I got were mostly speed-related. Most people who sent me feedback thought that SimplePie was just too darn slow. [...]]]></description>
			<content:encoded><![CDATA[<p>Responses to the release of <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie</a> 0.8 have been very positive.  SimplePie has accomplished it&#8217;s goal of making it easier to create online feed readers, or anything else that requires RSS parsing.</p>
<p>The only complaints that I got were mostly speed-related.  Most people who sent me feedback thought that SimplePie was just too darn slow.  Unfortunately, the speed issues were directly related to my use of <a href="http://magpierss.sourceforge.net">Magpie RSS</a> as the parsing engine.</p>
<p>So, I decided to re-write it completely from scratch.  I did away with Magpie altogether, and built a brand-new feed parser based around Hans Anderson&#8217;s <a href="http://www.hansanderson.com/php/xml/">XMLize</a> library for parsing XML documents with PHP.  The results were astounding!</p>
<p>I removed all external dependencies.  SimplePie is now completely self-contained.  Also, I tweaked with the way that SimplePie parses RSS feeds.  In doing so, I&#8217;ve got v0.9 running anywhere from 20 to <em>162 times faster</em> than v0.8.  Specifically, it&#8217;s a maximum speed increase of over 16215%.  On average, however, it only runs around 100 times faster than the previous version.  As a matter of fact, I&#8217;ve never seen v0.9 take longer than 0.35 seconds to process and render a RSS feed.</p>
<p>If you&#8217;re looking for some RSS parsing software for PHP, I hope that SimplePie will be your choice.  Of course, I&#8217;m always open to feature requests and bug reports, so let me know if you have something to say&#8230;</p>
<p>You can download SimplePie 0.9 from the <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie Project Page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/08/03/the-ultrafast-simplepie-09-is-now-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SimplePie&#8230; Yummy!</title>
		<link>http://blog.ryanparman.com/2004/07/20/simplepie-yummy/</link>
		<comments>http://blog.ryanparman.com/2004/07/20/simplepie-yummy/#comments</comments>
		<pubDate>Tue, 20 Jul 2004 21:08:15 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=166</guid>
		<description><![CDATA[Have you ever wanted to create your own online RSS/Atom feed reader? Did you fiddle around with other solutions that just plain sucked? Did you try to use the awesome Magpie RSS, and just couldn&#8217;t get it to work like you wanted? Personally, I&#8217;m still fairly new to PHP, but I have a solid understanding [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to create your own online RSS/Atom feed reader?  Did you fiddle around with other solutions that just plain sucked?  Did you try to use the awesome <a href="http://magpierss.sourceforge.net">Magpie RSS</a>, and just couldn&#8217;t get it to work like you wanted?</p>
<p>Personally, I&#8217;m still fairly new to PHP, but I have a solid understanding of scripting principles grasp of basic PHP syntax.  Even still, I found Magpie a bit confusing sometimes as I was starting out with it.  Because of this, I figured I&#8217;d try to make it easier for people like me to leverage Magpie&#8217;s power with a simpler command set.</p>
<p>I&#8217;d like you all to welcome <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie</a>.  SimplePie is short for &#8220;Simple API for Magpie&#8221;, and makes it very easy to create your own PHP-based feed readers on your own sites.</p>
<p>I&#8217;m sure it&#8217;s not flawless, so I&#8217;d like you all to download the latest copy of <a href="http://sourceforge.net/project/showfiles.php?group_id=55691&#038;package_id=50728">Magpie RSS</a> and <a href="http://www.skyzyx.com/projects/simplepie/">SimplePie</a>, give it a try, and tell me how you like it and what I can do to make it better.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/07/20/simplepie-yummy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Lots of Little Things</title>
		<link>http://blog.ryanparman.com/2004/07/07/lots-of-little-things/</link>
		<comments>http://blog.ryanparman.com/2004/07/07/lots-of-little-things/#comments</comments>
		<pubDate>Wed, 07 Jul 2004 20:30:55 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=164</guid>
		<description><![CDATA[I&#8217;ve got two posts on my laptop that I simply haven&#8217;t had the time to post. I&#8217;ll try to get to it this evening. Meanwhile, I recently found out that my cookie script has been recommended on IBM&#8217;s forums, my Java detection script has been talked about on Sun&#8217;s Java forums, my Message Center 5.5 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got two posts on my laptop that I simply haven&#8217;t had the time to post.  I&#8217;ll try to get to it this evening.</p>
<p>Meanwhile, I recently found out that my <a href="/scripts/cookies.php">cookie script</a> has been recommended on IBM&#8217;s forums, my <a href="/scripts/java.php">Java detection script</a> has been talked about on Sun&#8217;s Java forums, my <a href="/scripts/messagecenter.php">Message Center 5.5</a> script is gaining popularity at <a href="http://www.codingforums.com">Coding Forums</a>, and I continue to get help with ideas to improve my <a href="/scripts/flash.php">Flash detection script</a> (which uses a format that I will soon switch all of my other detection scripts to because it&#8217;s more flexible).</p>
<p>I&#8217;m aware of two different projects that are using the <a href="/downloads/">standalone IE&#8217;s</a>: <a href="http://kreacom.dk/tools/optool/2.0/">OpTool</a>, which appears to add the ability to load any URL into any browser, and <a href="http://www.zeit.ca/mozie/">MozIE</a> that allows you to have a split-screen view of a webpage with multiple browsers at once.</p>
<p>I&#8217;ve also been contacted about using my <a href="/projects/feedparser/">Feed Parser</a> engine in an upcoming application he&#8217;s writing.  Nothing too nailed down yet though, as I&#8217;m still working out bugs for a v0.7 release.</p>
<p>Lastly, I came across a site today that points to one of my posts about the browser wars.  This is what she had to say:</p>
<blockquote>
<p>This article/story about the Browser Wars is brilliant. How the writer has managed to make a fairy story out of the browser wars makes it amusing to read. It provides the story in such a way that you would find it so easy to understand. I feel that he is more biased towards Netscape than to Internet Explorer. He talks about the domination of King Explorer and the Emperor of AOL. But waiting in the wings patiently is Inigo Mozilla.</p>
<p>I think this is the best article I have read in a long time.</p>
<p style="font-style:italic; text-align:right;"><a href="http://oufcnt2.open.ac.uk/~sue_holland_2/part3.html">Sue Holland</a></p>
</blockquote>
<p>If you missed it when I first wrote it, <a href="/archives/000166.php">here it is again</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/07/07/lots-of-little-things/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Re-learning Macs</title>
		<link>http://blog.ryanparman.com/2004/06/12/re-learning-macs/</link>
		<comments>http://blog.ryanparman.com/2004/06/12/re-learning-macs/#comments</comments>
		<pubDate>Sun, 13 Jun 2004 06:36:56 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=157</guid>
		<description><![CDATA[Well, I&#8217;m getting better at this Mac OS X thing. I&#8217;ve been fiddling with it all for far too long today &#8212; trying to get some essentials installed &#8212; and I&#8217;m getting better. There are some things, however, that are irritating me although it&#8217;s not really Apple&#8217;s fault. The first would definitely be the lack [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m getting better at this Mac OS X thing.  I&#8217;ve been fiddling with it all for far too long today &#8212; trying to get some essentials installed &#8212; and I&#8217;m getting better.  There are some things, however, that are irritating me although it&#8217;s not really Apple&#8217;s fault.</p>
<p>The first would definitely be the lack of <a href="http://www.feeddemon.com">Feed Demon</a> (my absolute favorite RSS reader) for Mac.  I got NetNewsWire Lite installed, but ease of use and features aren&#8217;t even comparable to Feed Demon.  *sigh*.  I need to get my PC up and running again.</p>
<p>The second would be a lack of a really good hand-coding tool that has code coloring.  I&#8217;m using BB Edit to type this right now, and it&#8217;s beginning to drive me nuts.  I used to use BB Edit Lite 4.1 back in the day, but aparently there isn&#8217;t even a Lite version anymore.  Argh.</p>
<p>One thing that I love is the iLife Suite.  I&#8217;m having some minor issues going between my Windows iTunes to my iPod to Mac iTunes.  My genres are all messed up.  I&#8217;ll have to mess around with them.  A good thing, though, is that the music I bought from iTMS on my PC still works on my Mac.</p>
<p>I&#8217;m having trouble getting Apache 1.3.x installed.  I downloaded the Mac OS X binary from the Apache site, installed it, but couldn&#8217;t get it to start.  After Googling around to figure out what might be wrong, I found out that Mac OS X already has Apache installed.  Now I&#8217;m trying to figure out where all the Apache files live between the two versions (the manually-installed version is showing up on my localhost).</p>
<p>I don&#8217;t anticipate any problems getting PHP or MySQL installed, and after that I think I&#8217;ll be ready for some full-blown web development while I ride the train to work everyday.  I&#8217;m wanting to finish up the 0.7 final for <a href="/projects/feedparser/">Feed Parser</a>.  I just need to implement support for the Creative Commons metadata in RSS 1.0 and add support for the RSS 1.0 Content Module.  I&#8217;m trying not to get behind the FP roadmap too much.</p>
<p>It will also allow me to move forward with some of the really, really cool features of <a href="/projects/blocker/">Blocker</a> 2.0.  I&#8217;ve got a whole slew of new features I am (was &#8212; before my computer crashed) working on for the next release.  An early alpha of <a href="/projects/blogroller/">Blogroller</a> will be available as soon as I have some time to get to it.</p>
<p>Anyways, I&#8217;ve rambled enough for this posting.  I&#8217;ve been thinking about a lot of stuff lately, that I&#8217;m wanting to post about here.  We&#8217;ll see what I have time to write.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/06/12/re-learning-macs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whitespace Is Improving</title>
		<link>http://blog.ryanparman.com/2004/05/07/whitespace-is-improving/</link>
		<comments>http://blog.ryanparman.com/2004/05/07/whitespace-is-improving/#comments</comments>
		<pubDate>Sat, 08 May 2004 03:40:10 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=148</guid>
		<description><![CDATA[I&#8217;ve been reading Paul Scriven&#8217;s Whitespace for quite some time now. I&#8217;ve always enjoyed the content, but while the interface as always been usable, it hasn&#8217;t always been terrific. Nowadays, Whitespace is looking much better these days. I think that Paul has gotten much better at displaying lots of information in a usable &#8212; yet [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading Paul Scriven&#8217;s <a href="http://www.9rules.com/whitespace/">Whitespace</a> for quite some time now.  I&#8217;ve always enjoyed the content, but while the interface as always been usable, it hasn&#8217;t always been terrific.  Nowadays, Whitespace is looking much better these days.  I think that Paul has gotten much better at displaying lots of information in a usable &mdash; yet minimalistically beautiful ways at the same time.</p>
<p>There are many features that I&#8217;ve been wanting to add to my website.  Most of these aren&#8217;t big, new fancy features, but they mostly involve the intelligently elegant integration and layout of metadata and information in general.  I&#8217;ve been pondering how to more fully integrate certain types of data into the very core of my website through a combination of XML, PHP, MySQL, and Movable Type.</p>
<p>I think that Paul has simply had more time to play with new data ideas than I have.  But that&#8217;s okay, because his site has really come a long way in the last several months.</p>
<p>Good job, Scrivs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/05/07/whitespace-is-improving/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Safari?  Lucky You.</title>
		<link>http://blog.ryanparman.com/2004/04/30/using-safari-lucky-you/</link>
		<comments>http://blog.ryanparman.com/2004/04/30/using-safari-lucky-you/#comments</comments>
		<pubDate>Sat, 01 May 2004 03:55:11 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=147</guid>
		<description><![CDATA[I&#8217;ve spent the day scouring the web for information on whether or not any build of Mozilla has support for the CSS2 text-shadow property. It doesn&#8217;t, which sucks. Why does it suck? Because I&#8217;m not able to see what Safari 1.1+ users are able to see: drop shadows on text without graphics. Now, I know [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the day scouring the web for information on whether or not any build of Mozilla has support for the CSS2 <code>text-shadow</code> property.  It doesn&#8217;t, which sucks.  Why does it suck?  Because I&#8217;m not able to see what <a href="http://www.apple.com/safari/">Safari 1.1+</a> users are able to see: drop shadows on text without graphics.</p>
<div align="center" class="blogimage"><a href="/img/textshadow.png?cda6c1"><img src="/img/textshadow-cut.gif?cda6c1" alt="Skyzyx.com with text-shadow applied." /></a></div>
<p>Now, I know that there are <a href="http://web-graphics.com/mtarchive/001144.php">other ways to do it</a>, but they require syncing the text on the page with text in your CSS file &mdash; which is fine if it&#8217;s a permanent header or something.  But it doesn&#8217;t work as well with blogs.</p>
<p>So, alas, Safari 1.1+ users now can see the use of the <code>text-shadow</code> property on my site, even though I can&#8217;t.  *sigh*</p>
<p>P.S.  I didn&#8217;t work entirely blind.  I used Dan Vine&#8217;s <a href="http://www.danvine.com/icapture/">iCapture</a> to see what I was doing.</p>
<p><span class="update">&laquo; Update &raquo;</span> Apparently, <code>text-shadow</code> has been in <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=10713">Bugzilla</a> for 5 years!  It appears that no one has bothered to write the code for it, and that&#8217;s the only reason why it hasn&#8217;t been implemented yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/04/30/using-safari-lucky-you/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ryan: Slacker No More</title>
		<link>http://blog.ryanparman.com/2004/04/30/ryan-slacker-no-more/</link>
		<comments>http://blog.ryanparman.com/2004/04/30/ryan-slacker-no-more/#comments</comments>
		<pubDate>Fri, 30 Apr 2004 16:37:07 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=146</guid>
		<description><![CDATA[Two and a half weeks?! Ryan, that&#8217;s just no good. What&#8217;s your deal, man? Why are you being suck a slacker? This is the obligatory &#8220;Sorry, I&#8217;ve been busy&#8221; post as made famous by Dan Rubin, Todd Dominey, and Adam Polselli. Every time that I&#8217;ve come across something cool lately, my boss has handed me [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>Two and a half weeks?!  Ryan, that&#8217;s just no good.  What&#8217;s your deal, man?  Why are you being suck a slacker?</p>
</blockquote>
<p>This is the obligatory &#8220;Sorry, I&#8217;ve been busy&#8221; post as made famous by <a href="http://www.superfluousbanter.org">Dan Rubin</a>, <a href="http://www.whatdoiknow.org">Todd Dominey</a>, and <a href="http://www.adampolselli.com/">Adam Polselli</a>.</p>
<p>Every time that I&#8217;ve come across something cool lately, my boss has handed me another 5 hours of work that is due in three.  Everytime, I&#8217;ve gone to work on <a href="/projects/feedparser/">Feed Parser</a>, or <a href="/projects/blocker/">Blocker</a>, or <a href="/projects/blogroller/">Blogroller</a>, my wife says &#8220;Time for dinner!&#8221;  Everytime I&#8217;ve gone to sit down and experiment with unexplored features of CSS (for my <a href="/archives/000181.php">upcoming redesign</a> with the Longhorn-esque timeline), I realize that if I don&#8217;t leave right away, I&#8217;ll miss my train and be late for work.</p>
<p>Weekends haven&#8217;t been that much better either since I&#8217;ve either been out of town or watching my friend&#8217;s kids for a few hours while they&#8217;re at work, or I&#8217;ve been trying to get through disc 1 of 3 in <a href="http://www.ffonline.com/ff7/">Final Fantasy VII</a>.</p>
<p>I&#8217;ve got to figure out how to re-work my schedule so I&#8217;ve got a little more room.  Spending over 3 hours a day either on or waiting for the train as been a huge loss of time.  Of course my <a href="http://www.apple.com/ipod/">iPod</a> and <a href="http://www.square-enix-usa.com/games/FFT-A/">Final Fantasy Tactics Advance</a> for <a href="http://www.nintendo.com/systemsgba">GBA-SP</a> have helped the boredom issue, but I&#8217;ll be able to do more once I can finally afford to get <a href="http://www.apple.com/powerbook/">my laptop</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/04/30/ryan-slacker-no-more/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jumping Ship</title>
		<link>http://blog.ryanparman.com/2004/02/20/jumping-ship/</link>
		<comments>http://blog.ryanparman.com/2004/02/20/jumping-ship/#comments</comments>
		<pubDate>Sat, 21 Feb 2004 05:11:44 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=124</guid>
		<description><![CDATA[I stumbled across a link for a CMS called WordPress today. With all of the rebuilding problems I&#8217;ve been having with Movable Type lately, I figured I&#8217;d at least take a look. From what I can tell, it&#8217;s a pretty solid system. There are a few blogs who use it, and I like the idea [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled across a link for a CMS called <a href="http://www.wordpress.org">WordPress</a> today.  With all of the rebuilding problems I&#8217;ve been having with Movable Type lately, I figured I&#8217;d at least take a look.</p>
<p>From what I can tell, it&#8217;s a pretty solid system.  There are a few blogs who use it, and I like the idea of not having to rebuild static files.  Other than that, I really don&#8217;t know much about it.</p>
<p>Has anyone had any experience with WordPress?  Should I jump ship from MT to WP?  Any feedback on it would be appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/02/20/jumping-ship/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>All Automated, All The Time</title>
		<link>http://blog.ryanparman.com/2004/02/20/all-automated-all-the-time/</link>
		<comments>http://blog.ryanparman.com/2004/02/20/all-automated-all-the-time/#comments</comments>
		<pubDate>Fri, 20 Feb 2004 18:31:29 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=123</guid>
		<description><![CDATA[I recently posted that I was going to begin redesigning my site. Beyond just a change of colors and images, I wanted to create a more powerful underlying system. Movable Type offers a lot of options and features that are built-in to the CMS, but I get a few too many 500 errors to stay [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="/archives/000181.php">recently posted</a> that I was going to begin redesigning my site.  Beyond just a change of colors and images, I wanted to create a more powerful underlying system.</p>
<p><a href="http://www.movabletype.org">Movable Type</a> offers a lot of options and features that are built-in to the CMS, but I get a few too many 500 errors to stay happy.  In that vein, I&#8217;m wanting to extend the functionality of my website using PHP, MySQL, XML, and other related technologies that I&#8217;m learning as we speak.</p>
<p>One of the first new features for this site has little impact on you, but saves me a bit of work.  That is the <a href="/blogs/">Blogs I Read</a> section.  Using a combination of RSS, OPML, and PHP, I&#8217;ve got a pretty spiffy system in place.  If I come across a site that I like, I&#8217;ll add its RSS feed to <a href="http://www.feeddemon.com">Feed Demon</a>.  From there, I simply export the OPML file to my hard drive, then upload it to my webserver.</p>
<p>From there, PHP does all the handling to dynamically generate the content of each of the pages: Apple, CSS Design, General Web, etc.  If a feed fails to be read, I use the information supplied in my OPML file to create a filler spot.  No problem.</p>
<p>Granted, not everybody prefers to create a section of their site for this, but if anyone does, I&#8217;ll be releasing the PHP source as soon as I get all the bugs and quirks worked out.</p>
<p>How&#8217;s that for automated?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/02/20/all-automated-all-the-time/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tweaking My RSS/Atom Feed Reader</title>
		<link>http://blog.ryanparman.com/2004/02/11/tweaking-my-rssatom-feed-reader/</link>
		<comments>http://blog.ryanparman.com/2004/02/11/tweaking-my-rssatom-feed-reader/#comments</comments>
		<pubDate>Wed, 11 Feb 2004 18:04:44 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=120</guid>
		<description><![CDATA[I spent about five hours last night playing with my RSS Reader. I think I&#8217;m beginning to get the hang of some of this PHP stuff. Anyways, I&#8217;ve made some tweaks here and there to make iot a bit more friendly. The first thing I did was make it more error-friendly. If someone mistypes a [...]]]></description>
			<content:encoded><![CDATA[<p>I spent about five hours last night playing with my <a href="/rss/">RSS Reader</a>.  I think I&#8217;m beginning to get the hang of some of this PHP stuff.  Anyways, I&#8217;ve made some tweaks here and there to make iot a bit more friendly.</p>
<p>The first thing I did was make it more error-friendly.  If someone mistypes a feed URL, instead of seeing nonsense errors that have no value to the user, you get a <a href="/rss/?feed=http://www.skyzyx.com/elvis.xml">simple error page</a> that suggests that there was a problem with the feed, and to try a new feed URL.</p>
<p>The next thing I did was allow the user to skip the <code>http://</code> protocol as long as there was a <code>www.</code> at the beginning of it.  If the URL doesn&#8217;t have a <code>www.</code>, then the <code>http://</code> is required.</p>
<p>I also added support for the <code>feed://</code> protocol.  I did two things with this.  Since the protocol is the same as <code>http://</code> anyways (it&#8217;s designed to help feed readers subscribe a feed), I have the RSS Reader strip out the <code>feed://</code>, and replace it with <code>http://</code> so that Magpie can parse it.  The other thing I did was add an option to subscribe to a particular feed on that feed&#8217;s page (i.e.  <a href="/rss/?feed=http://www.zeldman.com/feed/zeldman.xml">Zeldman</a>).  This should be fairly convenient.</p>
<p>Another thing that I&#8217;ve made an attempt to support is auto-detection of RSS feeds.  Sites that have something along the lines of this:</p>
<pre>&lt;link rel="alternate" type="application/rss+xml" &raquo;
	title="RSS" href="/rss/skyzyx.xml" /&gt;</pre>
<p>It seems to work for some sites, but not for others.  I&#8217;m still working on why the inconsistency exists, but I plan to have it worked out as soon as I get around to it.  Some examples of sites that auto-detect are: <a href="/rss/?feed=www.zeldman.com">The Daily Report</a>, <a href="/rss/?feed=www.stopdesign.com">StopDesign</a>, and <a href="/rss/?feed=http://simon.incutio.com">Simon Willison</a>.  Some examples that don&#8217;t work are <a href="/rss/?feed=www.superfluousbanter.org">Superfluous Banter</a>, <a href="/rss/?feed=www.9rules.com/whitespace/">Whitespace</a>, and my own <a href="/rss/?feed=www.skyzyx.com">Skyzyx.com</a>.</p>
<p>I&#8217;ve modified the user-agent string.  To find out what it will return on your sites, load a valid feed, then check the source.  I&#8217;ve noted it in the comments.  Anyways, I hope that this tool is useful to someone.</p>
<p>Speaking of, what do you think about online RSS/Atom readers?  Are they better or worse than desktop applications?  What are some pros or cons of each?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/02/11/tweaking-my-rssatom-feed-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extensibly Extensible</title>
		<link>http://blog.ryanparman.com/2004/02/05/extensibly-extensible/</link>
		<comments>http://blog.ryanparman.com/2004/02/05/extensibly-extensible/#comments</comments>
		<pubDate>Fri, 06 Feb 2004 02:05:26 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=118</guid>
		<description><![CDATA[Well, I know that I haven&#8217;t been talking much about web stuff lately, so I figured that I might as well make up for it with a doozie&#8230; Yesterday, the W3C released a shiny new recommendation called XML 1.1, and another called Namespaces in XML 1.1. The changes in XML 1.1 are seemingly minimal, and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I know that I haven&#8217;t been talking much about web stuff lately, so I figured that I might as well make up for it with a doozie&#8230;</p>
<p>Yesterday, the <a href="http://www.w3.org" title="World Wide Web Consortium">W3C</a> released a shiny new recommendation called <a href="http://www.w3.org/TR/2004/REC-xml11-20040204/">XML 1.1</a>, and another called <a href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/">Namespaces in XML 1.1</a>.  The changes in XML 1.1 are seemingly minimal, and appear to primarily affect certain character entities defined in newer versions of Unicode.</p>
<blockquote>
<p>The W3C&#8217;s XML 1.0 Recommendation was first issued in 1998, and despite the issuance of many errata culminating in a Third Edition of 2004, has remained (by intention) unchanged with respect to what is well-formed XML and what is not. This stability has been extremely useful for interoperability. However, the Unicode Standard on which XML 1.0 relies for character specifications has not remained static, evolving from version 2.0 to version 4.0 and beyond. Characters not present in Unicode 2.0 may already be used in XML 1.0 character data. However, they are not allowed in XML names such as element type names, attribute names, enumerated attribute values, processing instruction targets, and so on. In addition, some characters that should have been permitted in XML names were not, due to oversights and inconsistencies in Unicode 2.0.</p>
</blockquote>
<p>Namespaces, however, have been completely revamped, from what I can tell.  From what I understand, instead of having namespaces add support for certain tags, it will instead forbid support for certain tags.  The W3C says it best:</p>
<blockquote>
<p>The overall philosophy of names has changed since XML 1.0. Whereas XML 1.0 provided a rigid definition of names, wherein everything that was not permitted was forbidden, XML 1.1 names are designed so that everything that is not forbidden (for a specific reason) is permitted. Since Unicode will continue to grow past version 4.0, further changes to XML can be avoided by allowing almost any character, including those not yet assigned, in names.</p>
</blockquote>
<p>I&#8217;m just curious as to how this will effect news syndication feed formats like RSS 1.0, RSS 2.0, and Atom.  Whereas the first two seem to be pretty much complete, Atom looks like it will continue to develop.  From what it seems, XML 1.0 will continue to be the best bet for syndication formats.  You never know though.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/02/05/extensibly-extensible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Power of Feedback</title>
		<link>http://blog.ryanparman.com/2004/02/02/the-power-of-feedback/</link>
		<comments>http://blog.ryanparman.com/2004/02/02/the-power-of-feedback/#comments</comments>
		<pubDate>Mon, 02 Feb 2004 19:26:17 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=114</guid>
		<description><![CDATA[I&#8217;ve been using the Feed Demon RSS reader since 1.0 rc4, which was around November-ish. I liked it so much, that when 1.0 went final in January, I bought a license. This was the first time I&#8217;d ever actually bought shareware, and it kinda made me feel good. Wierd. Anyways, the only real problem I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using the <a href="http://www.bradsoft.com/feeddemon/">Feed Demon</a> RSS reader since 1.0 rc4, which was around November-ish.  I liked it so much, that when 1.0 went final in January, I bought a license.  This was the first time I&#8217;d ever actually <em>bought</em> shareware, and it kinda made me feel good.  Wierd.</p>
<p>Anyways, the only real problem I had with Feed Demon was that it didn&#8217;t properly parse the feed for <a href="http://www.1976design.com/blog/">Dunstan&#8217;s blog</a>.  I went back and looked at his XML, and he wasn&#8217;t using a <code>&lt;link&gt;</code> tag for his permalinks.  He was using the <code>&lt;guid&gt;</code> tag instead.  Hmmm&#8230;</p>
<p>I went and dug up the <a href="http://blogs.law.harvard.edu/tech/rss">RSS 2.0 specification</a> so that I could read up on the <code>&lt;guid&gt;</code> tag.  The <a href="http://blogs.law.harvard.edu/tech/rss#ltguidgtSubelementOfLtitemgt">tags details</a> say this:</p>
<blockquote>
<p>If the guid element has an attribute named <code>isPermaLink</code> with a value of true, the reader may assume that it is a permalink to the item, that is, a url that can be opened in a Web browser, that points to the full item described by the <code>&lt;item&gt;</code> element.</p>
</blockquote>
<p>That&#8217;s all fine and dandy, but Dunstan&#8217;s <code>&lt;guid&gt;</code> tag didn&#8217;t have that.  Oh no!  Was Dunstan&#8217;s XML feed not well-formed?  *Gasp!*  I read on, and came across this:</p>
<blockquote>
<p><code>isPermaLink</code> is optional, its default value is <code>true</code>. If its value is <code>false</code>, the guid may not be assumed to be a url, or a url to anything in particular.</p>
</blockquote>
<p>Okay, okay.  So Dunstan knows what he&#8217;s doing.  Fair enough.  But will my favorite feed reader never be able to properly read Dunstan&#8217;s Permalinks?</p>
<p>I submitted this as a bug report on the Feed Demon newsgroup last week.  Today, <a href="http://nick.typepad.com/blog/">Nick Bradbury</a> released <a href="http://nick.typepad.com/blog/2004/01/feeddemon_110_b.html">Feed Demon 1.1 Beta 1</a> (it kinda rolls off the tongue, doesn&#8217;t it?).  This issue is fixed in this release.  Woo-hoo!  There&#8217;s also basic support for <a href="http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html">Atom 0.3</a>, which is kinda cool too.</p>
<p>I love the power of feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/02/02/the-power-of-feedback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kindly Reload</title>
		<link>http://blog.ryanparman.com/2004/01/09/kindly-reload/</link>
		<comments>http://blog.ryanparman.com/2004/01/09/kindly-reload/#comments</comments>
		<pubDate>Fri, 09 Jan 2004 17:25:22 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=107</guid>
		<description><![CDATA[I rewrote parts of Paul Sowden&#8217;s Stylesheet Switcher about a year ago to support media types, and to utilize my own cookie functions instead. At one point, this site had multiple styles. Now, it does again. You can switch between the Winter style (the one that&#8217;s been here since the beginning of December), or you [...]]]></description>
			<content:encoded><![CDATA[<p>I rewrote parts of Paul Sowden&#8217;s Stylesheet Switcher about a year ago to support media types, and to utilize my own cookie functions instead.  At one point, this site had multiple styles.  Now, it does again.</p>
<p>You can switch between the Winter style (the one that&#8217;s been here since the beginning of December), or you can use the Default one (the one in place before that).  I&#8217;m working on another style or two, even still.</p>
<p>There are still a couple of quirks, though.  They&#8217;re more to do with stupid inline styles than anything.  I&#8217;ll fix them.  Unfortunately, I&#8217;m going out of town for the weekend, so whatever I don&#8217;t fix today will have to wait until Sunday night or Monday.  Which reminds me, does anyone know if a <em>new</em> Alias will be back on Sunday, or will we have to wait another week?</p>
<p>Anyways, I hope you all have a great weekend, and if something doesn&#8217;t work quite right today, kindly reload.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2004/01/09/kindly-reload/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wierd IE Rendering Bug Fixed</title>
		<link>http://blog.ryanparman.com/2003/12/10/wierd-ie-rendering-bug-fixed/</link>
		<comments>http://blog.ryanparman.com/2003/12/10/wierd-ie-rendering-bug-fixed/#comments</comments>
		<pubDate>Thu, 11 Dec 2003 00:45:58 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=99</guid>
		<description><![CDATA[Last summer, I posted about a strange problem I was having in Internet Explorer. The browser wasn&#8217;t properly drawing certain elements to the screen, namely &#60;hn&#62; tags with background images, colors, or borders. It was all very frusterating. In the end, I just chalked it up to Internet Explorer sucking, and left it alone. Recently, [...]]]></description>
			<content:encoded><![CDATA[<p>Last summer, I <a href="/archives/000053.php">posted</a> about a strange problem I was having in Internet Explorer.  The browser wasn&#8217;t properly drawing certain elements to the screen, namely <code>&lt;h<em>n</em>&gt;</code> tags with background images, colors, or borders.  It was all very frusterating.</p>
<p>In the end, I just chalked it up to Internet Explorer sucking, and left it alone.  Recently, however, <a href="http://www.codingforums.com/showthread.php?s=&#038;threadid=29139" target="_blank">my question was answered</a>.</p>
<p>For elements that act as though they were relatively positioned, then go ahead and use <code>position:relative;</code> on it.  It seems to fix it without a hitch.</p>
<p>Just thought I&#8217;d pass this along.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2003/12/10/wierd-ie-rendering-bug-fixed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lots Of RSS-Related Changes</title>
		<link>http://blog.ryanparman.com/2003/12/09/lots-of-rss-related-changes/</link>
		<comments>http://blog.ryanparman.com/2003/12/09/lots-of-rss-related-changes/#comments</comments>
		<pubDate>Tue, 09 Dec 2003 19:25:41 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=97</guid>
		<description><![CDATA[A couple of people have asked me how I&#8217;m able to list the recent posts for nearly all of the blogs I read. The answer is simple. PHP, RSS, and the Magpie RSS Parser. At one point, I made available the PHP code that I use to do it, once Magpie is already installed. If [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of people have asked me how I&#8217;m able to list the recent posts for nearly all of the <a href="/blogs/">blogs I read</a>.  The answer is simple.  PHP, RSS, and the <a href="http://magpierss.sourceforge.net">Magpie RSS Parser</a>.</p>
<p>At one point, I made available the PHP code that I use to do it, once Magpie is already installed.  If you do a search on this site, you can probably find it.  I&#8217;ve been very happy with Magpie since I first began using it last summer.  It was way better than the parser I&#8217;d written in JavaScript, and a lot faster too.</p>
<p>If you look at the left-hand menu, you&#8217;ll see that I&#8217;ve added an <a href="/rss/">RSS News Reader</a> section.  This is much like the RSS section that I had a few months ago that ended up getting merged with the <a href="/blogs/">Blogs I Read</a> section.  The reader is also powered by Magpie, and I hope it does some people some good.</p>
<p>In an effort to better track who is reading this site (and who isn&#8217;t), I&#8217;ve moved the location of my RSS feed.  You can get the current URL from the <a href="/rss/">RSS section</a>.  I might even add more of a variety of feeds, depending on the response I get from people.  I&#8217;ll play that one by ear.</p>
<p>Lastly, I&#8217;ve made some ever-so-slight adjustments to the order of the menu.  If you don&#8217;t see a menu option where it normally is, look lower.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2003/12/09/lots-of-rss-related-changes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New CSS Resources</title>
		<link>http://blog.ryanparman.com/2003/11/07/new-css-resources/</link>
		<comments>http://blog.ryanparman.com/2003/11/07/new-css-resources/#comments</comments>
		<pubDate>Fri, 07 Nov 2003 18:42:12 +0000</pubDate>
		<dc:creator>Ryan Parman</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://blog.skyzyx.net/?p=85</guid>
		<description><![CDATA[I&#8217;ve introduced a new section of my website called &#8220;Resources&#8221;, where I will keep track of excellent articles on XHTML, CSS, web standards, accessibility, and other articles that are important for web designers/developers to keep handy. This section began as part of the &#8220;Articles&#8221; section, then branched off into it&#8217;s own &#8220;Propaganda&#8221; section, before becoming [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve introduced a new section of my website called <a href="/resources/">&#8220;Resources&#8221;</a>, where I will keep track of excellent articles on XHTML, CSS, web standards, accessibility, and other articles that are important for web designers/developers to keep handy.</p>
<p>This section began as part of the <a href="/articles/">&#8220;Articles&#8221;</a> section, then branched off into it&#8217;s own &#8220;Propaganda&#8221; section, before becoming &#8220;Resources&#8221;.  The most usable part of this section (in my opinion) is the CSS Methods, Techniques, and Hacks area.</p>
<p>Many of these are very popularly used Hacks/Methods/etc., and might be of great use to many web people out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryanparman.com/2003/11/07/new-css-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/207 queries in 2.240 seconds using disk: basic
Object Caching 2589/3038 objects using disk: basic
Content Delivery Network via Amazon Web Services: S3: blog.ryanparman.com.s3.amazonaws.com

Served from: blog.ryanparman.com @ 2012-02-04 17:30:16 -->
