<?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>&#964;&#949;&#967;&#957;&#959;&#963;&#959;&#966;&#953;&#945; &#187; PHP</title>
	<atom:link href="http://lackoftalent.org/michael/blog/category/development/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://lackoftalent.org/michael/blog</link>
	<description>The occasional rambling of a digital library artisan</description>
	<lastBuildDate>Sun, 13 May 2012 19:17:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Plugin updates</title>
		<link>http://lackoftalent.org/michael/blog/2008/11/16/plugin-updates/</link>
		<comments>http://lackoftalent.org/michael/blog/2008/11/16/plugin-updates/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 21:40:09 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[OAI-ORE]]></category>
		<category><![CDATA[Persistent Identifiers]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[unAPI]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/?p=190</guid>
		<description><![CDATA[I finally pushed out some embarrassingly outdated WordPress plugin updates a few moments ago. Updated unAPI plugin with a patch contributed by Jay Luker that removes the hard-coded &#034;wp_&#034; table prefix. The updated version of the plugin has been tagged as 1.4.1. Updated LinkPURL plugin with a patch contributed by Mark Matienzo that enables partial [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:190"><!-- &nbsp; --></abbr>
<p>I finally pushed out some embarrassingly outdated WordPress plugin updates a few moments ago.</p>
<ul>
<li>Updated unAPI plugin with a patch contributed by <a href="http://www.linkedin.com/in/jayluker" target="_blank">Jay Luker</a> that removes the hard-coded &#034;wp_&#034; table prefix.  The updated version of the plugin has been tagged as 1.4.1.</li>
<li>Updated LinkPURL plugin with a patch contributed by <a href="http://matienzo.org/" target="_blank">Mark Matienzo</a> that enables <a href="http://purl.oclc.org/docs/inet96.html#partial" target="_blank">partial redirects</a>.  I made some additional tweaks to the plugin to make this feature configurable via the WordPress management UI.  This has been tagged as 1.1.</li>
<li>Created a new unAPI plugin branch for Mark Matienzo&#039;s <a href="http://about.scriblio.net/" target="_blank">Scriblio</a>-oriented tweaks.  The branch is called 1.4.1-anarchivist-scriblio and it contains the scriblio.diff file.  I have yet to integrate the diffs, as the file that was patched has changed since the patch was issued.  If anyone is interested in working on unAPI/Scriblio integration, please get in touch with me.</li>
</ul>
<p>And here is my to-do list which I hope will keep me honest.</p>
<ul>
<li>Update OAI-ORE plugin to support version 1.0 of the ORE specification.</li>
<li>Add per-post (and per-page?) resource maps that wrap all embedded images and links.</li>
<li>Enable &#034;cool URIs&#034; for all resource maps.</li>
</ul>
<p>It is my hope that I&#039;ll get to those sometime before the summer begins.  :)</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2008/11/16/plugin-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenID plug-in for WordPress</title>
		<link>http://lackoftalent.org/michael/blog/2007/02/01/openid-plug-in-for-wordpress/</link>
		<comments>http://lackoftalent.org/michael/blog/2007/02/01/openid-plug-in-for-wordpress/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 05:10:00 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Persistent Identifiers]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2007/02/01/openid-plug-in-for-wordpress/</guid>
		<description><![CDATA[Sam Ruby posted a while back on how to embed LINK tags in your blogs (or other web resources) in order to enable OpenID auto-discovery. Here&#039;s a plug-in for WordPress that lets you accomplish this lickety-split. Oh yeah: my OpenID is http://mjgiarlo.myopenid.com/. Envy my creativity!]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:74"><!-- &nbsp; --></abbr>
<p><a href="http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers" target="_blank">Sam Ruby</a> posted a while back on how to embed LINK tags in your blogs (or other web resources) in order to enable OpenID auto-discovery.  </p>
<p>Here&#039;s a <a href="http://www.lackoftalent.org/michael/blog/openid-for-wordpress/">plug-in for WordPress</a> that lets you accomplish this lickety-split.</p>
<p>Oh yeah: my OpenID is http://mjgiarlo.myopenid.com/.  Envy my creativity!</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2007/02/01/openid-plug-in-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Persistent URL Tools</title>
		<link>http://lackoftalent.org/michael/blog/2007/01/17/persistent-url-tools/</link>
		<comments>http://lackoftalent.org/michael/blog/2007/01/17/persistent-url-tools/#comments</comments>
		<pubDate>Thu, 18 Jan 2007 01:25:36 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Persistent Identifiers]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Preservation]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2007/01/17/persistent-url-tools/</guid>
		<description><![CDATA[I&#039;ve posted a couple new tools during the past couple days. One is an update of Devon Smith&#039;s LinkPURL extension for Firefox 2.0. The other is an ultra-lightweight WordPress plugin that embeds a linkpurl link tag for auto-discovery (so bookmarking agents can detect and grab the persistent URL rather than the impersistent URL up in [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:72"><!-- &nbsp; --></abbr>
<p>I&#039;ve posted a couple <a href="http://www.lackoftalent.org/michael/blog/persistent-url-bookmarker/" target="_blank">new tools</a> during the past couple days.  One is an update of <a href="http://www.oclc.org/research/staff/smith.htm" target="_blank">Devon Smith</a>&#039;s <a href="http://purl.org/net/linkpurl" target="_blank">LinkPURL</a> extension for Firefox 2.0.  </p>
<p>The other is an ultra-lightweight WordPress plugin that embeds a linkpurl link tag for auto-discovery (so bookmarking agents can detect and grab the persistent URL rather than the impersistent URL up in the addressbar).  </p>
<p>Based on a discussion in <a href="irc://irc.freenode.net/code4lib" target="_blank">#code4lib</a> earlier today, I realize that there are a lot of important questions, not to mention serious doubts, about persistent identifiers.  I flip-flop on their utility myself, so I found the discussion very useful.  (Thanks, <a href="http://www.inkdroid.org/journal/" target="_blank">edsu</a>!)  Maybe I&#039;ll write a post or two about persistent identifiers to flesh my thoughts out.</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2007/01/17/persistent-url-tools/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Finally, unAPI Server for WordPress 1.0</title>
		<link>http://lackoftalent.org/michael/blog/2007/01/03/finally-unapi-server-for-wordpress-10/</link>
		<comments>http://lackoftalent.org/michael/blog/2007/01/03/finally-unapi-server-for-wordpress-10/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 03:40:40 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Blogosphere]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[unAPI]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2007/01/03/finally-unapi-server-for-wordpress-10/</guid>
		<description><![CDATA[I&#039;ve finally gotten around to updating the unAPI plugin for WordPress so that it fits into the WordPress plugin architecture, making it simple to install and maintain. I&#039;m calling it version 1.0 since it&#039;s the first substantial release of the plugin since I got involved. Just unzip that sucker (or check the code out) to [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:66"><!-- &nbsp; --></abbr>
<p>I&#039;ve finally gotten around to updating the unAPI plugin for WordPress so that it fits into the WordPress plugin architecture, making it simple to install and maintain. I&#039;m calling it version 1.0 since it&#039;s the first substantial release of the plugin since I got involved.  Just unzip that sucker (or check the code out) to wp-content/plugins/unapi and do the rest via the administration pages, including activation and identifier configuration.</p>
<p>I updated the <a target="_blank" href="http://www.lackoftalent.org/michael/blog/unapi-wordpress-plug-in/">plugin page</a> and imported it into the <a target="_blank" href="http://svn.wp-plugins.org/unapi/trunk/">svn repo</a> hosted at wp-plugins.org.</p>
<p>This was my first WP plugin, so I would appreciate any feedback.  All you folks that are using it should try stripping out the old version (which requires hacking some theme files) and plugging this in.</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2007/01/03/finally-unapi-server-for-wordpress-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RSS Feed for RLG DigiNews</title>
		<link>http://lackoftalent.org/michael/blog/2006/11/01/yasf-yet-another-scraped-feed/</link>
		<comments>http://lackoftalent.org/michael/blog/2006/11/01/yasf-yet-another-scraped-feed/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 15:42:00 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Digital Libraries and Archives]]></category>
		<category><![CDATA[Feeds]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Preservation]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2006/11/01/yasf-yet-another-scraped-feed/</guid>
		<description><![CDATA[http://feeds.feedburner.com/RlgDiginews The latest in my series of scraped-together feeds: RLG DigiNews]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:62"><!-- &nbsp; --></abbr>
<blockquote><p><a target="_blank" href="http://feeds.feedburner.com/RlgDiginews">http://feeds.feedburner.com/RlgDiginews</a></p></blockquote>
<p>The latest in my series of scraped-together feeds: <a target="_blank" href="http://www.rlg.org/en/page.php?Page_ID=12081">RLG DigiNews</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2006/11/01/yasf-yet-another-scraped-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feed for First Monday</title>
		<link>http://lackoftalent.org/michael/blog/2006/09/30/feed-for-first-monday/</link>
		<comments>http://lackoftalent.org/michael/blog/2006/09/30/feed-for-first-monday/#comments</comments>
		<pubDate>Sun, 01 Oct 2006 04:03:26 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2006/09/30/feed-for-first-monday/</guid>
		<description><![CDATA[I couldn&#039;t find a good feed for First Monday, so I scraped one together: http://feeds.feedburner.com/FirstMonday (Subscribe with Bloglines) Let me know if you notice any problems with the feed (other than character encoding issues).]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:58"><!-- &nbsp; --></abbr>
<p>I couldn&#039;t find a good feed for <a target="_blank" href="http://www.firstmonday.org/">First Monday</a>, so I scraped one together:</p>
<blockquote><p><a target="_blank" href="http://feeds.feedburner.com/FirstMonday">http://feeds.feedburner.com/FirstMonday</a> (<a target="_blank" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/FirstMonday">Subscribe with Bloglines</a>)</p></blockquote>
<p>Let me know if you notice any problems with the feed (other than character encoding issues).</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2006/09/30/feed-for-first-monday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenscraped RSS Feeds</title>
		<link>http://lackoftalent.org/michael/blog/2006/07/12/screenscraped-rss-feeds/</link>
		<comments>http://lackoftalent.org/michael/blog/2006/07/12/screenscraped-rss-feeds/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 06:02:23 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2006/07/12/screenscraped-rss-feeds/</guid>
		<description><![CDATA[I confess; I&#039;m a fan of graphic novels, many of which are published by DC imprints Vertigo and WildStorm. Wanting to keep up with the newest titles without having to make weekly stops to the local comic shop &#8212; which is a nifty shop, but why get up off your butt to do something if [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:48"><!-- &nbsp; --></abbr>
<p>I confess; I&#039;m a fan of graphic novels, many of which are published by DC imprints <a target="_blank" href="http://www.dccomics.com/vertigo/">Vertigo</a> and <a target="_blank" href="http://www.dccomics.com/wildstorm/">WildStorm</a>.  Wanting to keep up with the newest titles without having to make weekly stops to the <a target="_blank" href="http://www.zanaducomics.com/z2.html">local comic shop</a> &#8212; which is a nifty shop, but why get up off your butt to do something if you don&#039;t have to? &#8212; I went a-searchin&#039; for some RSS feeds and found naught.  There may be some out there, and I&#039;d be happy to hear of them.</p>
<p>In the meantime, however, I&#039;ve thrown together a quick and dirty screen-scraper (36 lines of PHP, partly inspired by <a target="_blank" href="http://www.codebeach.com/tutorials/screen-scrapping-rss-php.asp">Screen Scraping Your Way Into RSS</a>) that grabs an appropriate &#034;new comics&#034; page on the DC website, and generates an RSS feed from relevant discovered information.  To keep abreast of new Vertigo or WildStorm comics, subscribe to the following feeds (which should be updated on a monthly basis):</p>
<blockquote><p><a target="_blank" href="http://feeds.feedburner.com/WildstormComics">http://feeds.feedburner.com/WildstormComics</a> (<a target="_blank" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/WildstormComics">Sub with Bloglines</a>)<br />
<a target="_blank" href="http://feeds.feedburner.com/VertigoComics">http://feeds.feedburner.com/VertigoComics</a> (<a target="_blank" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/VertigoComics">Sub with Bloglines</a>)</p></blockquote>
<p>Enjoy, and spread the goodness if you wish.</p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2006/07/12/screenscraped-rss-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unAPI revision 3 plug-in for WordPress</title>
		<link>http://lackoftalent.org/michael/blog/2006/05/19/unapi-revision-3-plug-in-for-wordpress/</link>
		<comments>http://lackoftalent.org/michael/blog/2006/05/19/unapi-revision-3-plug-in-for-wordpress/#comments</comments>
		<pubDate>Fri, 19 May 2006 17:23:22 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[code4lib]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[unAPI]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2006/05/19/unapi-revision-3-plug-in-for-wordpress/</guid>
		<description><![CDATA[The unAPI plug-in for WordPress has moved to the following location: http://www.lackoftalent.org/michael/blog/unapi-wordpress-plug-in/]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:38"><!-- &nbsp; --></abbr>
<p>The unAPI plug-in for WordPress has moved to the following location: <a href="http://www.lackoftalent.org/michael/blog/unapi-wordpress-plug-in/">http://www.lackoftalent.org/michael/blog/unapi-wordpress-plug-in/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2006/05/19/unapi-revision-3-plug-in-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>unAPI revision 1-compliant</title>
		<link>http://lackoftalent.org/michael/blog/2006/03/08/unapi-revision-1-compliant/</link>
		<comments>http://lackoftalent.org/michael/blog/2006/03/08/unapi-revision-1-compliant/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 08:04:33 +0000</pubDate>
		<dc:creator>Michael Giarlo</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[code4lib]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[unAPI]]></category>

		<guid isPermaLink="false">http://lackoftalent.org/michael/blog/2006/03/08/unapi-revision-1-compliant/</guid>
		<description><![CDATA[I noticed Dan Chudnov&#039;s earlierÂ note about the launch of the unAPI websiteÂ and noted in particular the the unAPI revision 1 specification.Â  I decided to give Technosophia a run through some error cases and some of the errors came up as 400 where they should have been 404 or 406.Â  I made a few minor tweaks [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="oai:lackoftalent.org:technosophia:29"><!-- &nbsp; --></abbr>
<p>I noticed <a title="dchud's unAPI.info announcement" href="http://onebiglibrary.net/projects/unapi/unapi-info" target="_blank">Dan Chudnov&#039;s earlierÂ note</a> about the launch of the <a title="unAPI.info" href="http://unapi.info/" target="_blank">unAPI website</a>Â and noted in particular the the <a title="unAPI revision 1 spec" href="http://unapi.info/specs/" target="_blank">unAPI revision 1 specification</a>.Â  I decided to give Technosophia a run through some error cases and some of the errors came up as 400 where they should have been 404 or 406.Â  I made a few minor tweaks to <a title="unAPI WP plugin" href="http://www.wallandbinkley.com/quaedam/?p=59" target="_blank">pbinkley&#039;s unAPI WordPress plug-in</a>Â and I believe Technosophia is now fully compliant with unAPI revision 1.Â </p>
<p>Here are the test cases I used:</p>
<ul>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php" target="_blank">/unapi.php</a><br />
<strong>200 Ok</strong></li>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25" target="_blank">/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25</a><br />
<strong>300 Multiple Choices</strong></li>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25&#038;format=mods" target="_blank">/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25&#038;format=mods</a><br />
<strong>200 Ok</strong></li>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25&#038;format=BADFORMAT" target="_blank">/unapi.php?uri=oai%3Alackoftalent.org%3Atechnosophia%3A25&#038;format=BADFORMAT</a><br />
<strong>406 Not Acceptable</strong></li>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php?uri=BADURI&#038;format=mods" target="_blank">/unapi.php?uri=BADURI&#038;format=mods</a><br />
<strong>404 Not Found</strong></li>
<li><a href="http://www.lackoftalent.org/michael/blog/unapi.php?format=mods" target="_blank">/unapi.php?format=mods</a><br />
<strong>400 Bad Request</strong></li>
</ul>
<p>Woohoo?</p>
<p>Â </p>
]]></content:encoded>
			<wfw:commentRss>http://lackoftalent.org/michael/blog/2006/03/08/unapi-revision-1-compliant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

