<?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>odyniec.net blog</title>
	<atom:link href="http://odyniec.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://odyniec.net/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 26 Jul 2010 20:37:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WebService::EditDNS &#8211; Perl interface to EditDNS API</title>
		<link>http://odyniec.net/blog/2010/07/webservice-editdns-perl-interface-to-editdns-api/</link>
		<comments>http://odyniec.net/blog/2010/07/webservice-editdns-perl-interface-to-editdns-api/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 20:37:05 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[editdns.pl]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=491</guid>
		<description><![CDATA[I have created a simple Perl module that talks to EditDNS API, allowing for easy manipulation of domains/records hosted at EditDNS from within Perl programs. A while ago, I developed a command-line utility that serves a similar purpose, named editdns.pl. The module is sort of an extension of that idea, although it works in a [...]]]></description>
			<content:encoded><![CDATA[<p>I have created a simple Perl module that talks to <a href="http://forums.editdns.net/showthread.php?t=1711">EditDNS API</a>, allowing for easy manipulation of domains/records hosted at <a href="https://www.editdns.net/?site=home">EditDNS</a> from within Perl programs. A while ago, I developed a command-line utility that serves a similar purpose, named <a href="http://odyniec.net/projects/editdns.pl/">editdns.pl</a>. The module is sort of an extension of that idea, although it works in a different manner &#8212; while editdns.pl impersonates a web browser to access the EditDNS control center website and uses hacky HTML scraping techniques, the module plays it nice and only uses elegant API calls.</p>
<p>The module is called WebService::EditDNS, and is <a href="http://search.cpan.org/~odyniec/WebService-EditDNS-0.10/">available for download at CPAN</a>. Eventually, it will probably also get a project homepage here on my website (some day in the not-too-distant future).</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/07/webservice-editdns-perl-interface-to-editdns-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SelectList Documentation Updates</title>
		<link>http://odyniec.net/blog/2010/07/selectlist-documentation-updates/</link>
		<comments>http://odyniec.net/blog/2010/07/selectlist-documentation-updates/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 16:21:02 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[selectList]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=487</guid>
		<description><![CDATA[Just a quick notice for selectList users &#8212; I have updated the documentation page for the plugin, adding the missing API methods reference. I also added some explanatory text on the examples page. Take a look if you&#8217;re interested.
]]></description>
			<content:encoded><![CDATA[<p>Just a quick notice for <a href="http://odyniec.net/projects/selectlist/">selectList</a> users &#8212; I have updated the <a href="http://odyniec.net/projects/selectlist/usage.html">documentation page</a> for the plugin, adding the missing <a href="http://odyniec.net/projects/selectlist/usage.html#api-methods">API methods reference</a>. I also added some explanatory text on the <a href="http://odyniec.net/projects/selectlist/examples.html">examples page</a>. Take a look if you&#8217;re interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/07/selectlist-documentation-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SelectList 0.3</title>
		<link>http://odyniec.net/blog/2010/07/selectlist-0-3/</link>
		<comments>http://odyniec.net/blog/2010/07/selectlist-0-3/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 21:30:10 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[selectList]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=485</guid>
		<description><![CDATA[I&#8217;m releasing a new version (0.3) of selectList. This release brings support for the core jQuery method .val(), allowing you to retrieve the list of currently selected options at any time (which might be useful when you want to, for instance, send the selection with an AJAX request).
Thanks to John Watson and Dan Young for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m releasing a new version (0.3) of <a href="http://odyniec.net/projects/selectlist/">selectList</a>. This release brings support for the core jQuery method <code>.val()</code>, allowing you to retrieve the list of currently selected options at any time (which might be useful when you want to, for instance, send the selection with an AJAX request).</p>
<p>Thanks to John Watson and Dan Young for notifying me of this.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/07/selectlist-0-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Space Invaders Strike Again</title>
		<link>http://odyniec.net/blog/2010/04/space-invaders-strike-again/</link>
		<comments>http://odyniec.net/blog/2010/04/space-invaders-strike-again/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 00:07:31 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=473</guid>
		<description><![CDATA[I&#8217;m doing some spring cleaning of my files, and while browsing a forgotten partition on an old hard drive, I came across an ancient archive directory containing a few megabytes of miscellaneous source code. It&#8217;s dating back to my late teens, when I got a kick out of programming simple DOS games in Turbo Pascal. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m doing some spring cleaning of my files, and while browsing a forgotten partition on an old hard drive, I came across an ancient archive directory containing a few megabytes of miscellaneous source code. It&#8217;s dating back to my late teens, when I got a kick out of programming simple <a title="MS-DOS" href="http://en.wikipedia.org/wiki/MS-DOS">DOS</a> games in Turbo Pascal. Of course, I couldn&#8217;t resist trying to run some of the old programs in <a title="DOSBox, an x86 emulator with DOS" href="http://dosbox.com/">DOSBox</a>. Here&#8217;s a screenshot of my unfinished <a title="Space Invaders" href="http://en.wikipedia.org/wiki/Space_invaders">Space Invaders</a> game:</p>
<p style="text-align: center;"><img class="size-full wp-image-472  aligncenter" title="Space Invaders" src="http://odyniec.net/blog/wp-content/uploads/2010/04/invaders.png" alt="" width="648" height="428" /></p>
<p>This brings so many memories. I remember my ambition back then was to code the game completely from scratch, not using any libraries &#8212; I wrote the graphics code, keyboard handling, sprites and such all by myself in Turbo Pascal and some X86 assembly. This taught me a lot about programming, the X86 architecture, and DOS &#8212; most of this stuff is now obsolete and pretty much useless (especially when you make a living as a web developer), but it was really fun back then.</p>
<p>Hmm&#8230; I wonder if it would take long to port the game to Linux&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/04/space-invaders-strike-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SelectList 0.2</title>
		<link>http://odyniec.net/blog/2010/04/selectlist-0-2/</link>
		<comments>http://odyniec.net/blog/2010/04/selectlist-0-2/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 23:36:54 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[selectList]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=467</guid>
		<description><![CDATA[A new release of selectList (my multiple selection jQuery plugin) is now out. Version 0.2 brings proper handling of optgroup elements (as requested by a few users), and fixes one minor bug.
Thanks to Łukasz Ledóchowski for his feedback.
]]></description>
			<content:encoded><![CDATA[<p>A new release of <a href="http://odyniec.net/projects/selectlist/">selectList</a> (my multiple selection jQuery plugin) is now out. Version 0.2 brings proper handling of <code>optgroup</code> elements (as requested by a few users), and fixes one minor bug.</p>
<p>Thanks to <a href="http://www.ledochowski.pl/">Łukasz Ledóchowski</a> for his feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/04/selectlist-0-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When Cats Go Fishing</title>
		<link>http://odyniec.net/blog/2010/04/when-cats-go-fishing/</link>
		<comments>http://odyniec.net/blog/2010/04/when-cats-go-fishing/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 21:39:59 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[Cats]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=455</guid>
		<description><![CDATA[One of the advantages of having a cat: free delivery of fresh fish.

Yep, that&#8217;s what one of my cats brought home yesterday. A fish. And it was alive &#8212; didn&#8217;t even seem injured.
I put the little guy in a food container filled with water (pictured above), then set it free in a nearby water ditch [...]]]></description>
			<content:encoded><![CDATA[<p>One of the advantages of having a cat: free delivery of fresh fish.</p>
<p style="text-align: center;"><img class="size-full wp-image-456  aligncenter" title="Nothing fishy here" src="http://odyniec.net/blog/wp-content/uploads/2010/04/fish.jpg" alt="" width="400" height="300" /></p>
<p>Yep, that&#8217;s what one of my cats brought home yesterday. A fish. And it was alive &#8212; didn&#8217;t even seem injured.</p>
<p>I put the little guy in a food container filled with water (pictured above), then set it free in a nearby water ditch where it probably came from. Must have been one hell of a ride for him.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/04/when-cats-go-fishing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Look</title>
		<link>http://odyniec.net/blog/2010/03/new-look/</link>
		<comments>http://odyniec.net/blog/2010/03/new-look/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 13:47:27 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=450</guid>
		<description><![CDATA[My website just got a new look. I got bored with the old one, so I played a few hours with GIMP, and this is the result. It&#8217;s still simple like the previous one, and it&#8217;s probably pretty obvious that my design skills are rather limited, but I like it better, and I hope it [...]]]></description>
			<content:encoded><![CDATA[<p>My website just got a new look. I got bored with the old one, so I played a few hours with <a href="http://www.gimp.org/">GIMP</a>, and this is the result. It&#8217;s still simple like the previous one, and it&#8217;s probably pretty obvious that my design skills are rather limited, but I like it better, and I hope it won&#8217;t burn anyone&#8217;s eyes.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/03/new-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Version of ImgZoom in Development</title>
		<link>http://odyniec.net/blog/2010/03/new-version-of-imgzoom-in-development/</link>
		<comments>http://odyniec.net/blog/2010/03/new-version-of-imgzoom-in-development/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 11:42:13 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[imgZoom]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=445</guid>
		<description><![CDATA[Last weekend I started working on the next version of imgZoom, the jQuery plugin that uses vector graphics to implement a smooth zoom effect on thumbnailed images. With the initial release (a couple months back), I boldly announced that I intend to one day turn it into a decent substitution for Lightbox, and I think [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I started working on the next version of <a href="http://odyniec.net/projects/imgzoom/">imgZoom</a>, the <a href="http://jquery.com/">jQuery</a> plugin that uses vector graphics to implement a smooth zoom effect on thumbnailed images. With the <a href="http://odyniec.net/blog/2009/08/imgzoom-0-1/">initial release</a> (a couple months back), I boldly announced that I intend to one day turn it into a decent substitution for <a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox</a>, and I think I&#8217;m actually getting closer to that. The current version has the lightbox-esque features of displaying images in a window, and allowing to navigate between previous and next images.</p>
<p>I transformed one of my testing pages into a <a href="http://odyniec.net/projects/imgzoom/imgzoom-0.2-demo/">nicely-looking gallery</a>, so if you want to take a look at the development version in action, be my guest. The gallery should work correctly in most browsers, only Internet Explorer might still have some issues &#8212; I&#8217;m working on that. As always, I&#8217;m open to feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/03/new-version-of-imgzoom-in-development/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Blog and Multiple Server Names</title>
		<link>http://odyniec.net/blog/2010/02/wordpress-blog-and-multiple-server-names/</link>
		<comments>http://odyniec.net/blog/2010/02/wordpress-blog-and-multiple-server-names/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:24:11 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=430</guid>
		<description><![CDATA[I was recently updating my WordPress installation to a freshly released version. My traditional procedure of updating the website is to first make changes to a test version (which is set up on a subdomain of odyniec.net), make sure everything works and looks right, then copy the test files to the public location.
Unfortunately, WordPress didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently updating my <a href="http://wordpress.org/">WordPress</a> installation to a freshly released version. My traditional procedure of updating the website is to first make changes to a test version (which is set up on a subdomain of odyniec.net), make sure everything works and looks right, then copy the test files to the public location.</p>
<p>Unfortunately, WordPress didn&#8217;t get along with this solution especially well. The WordPress engine didn&#8217;t like being accessed through the test subdomain, as it expected a single host name to be designated as its home location. Even though I could open the blog at the test address, all the dynamically generated links to scripts, style sheets, archives and such still pointed to the live version. I also couldn&#8217;t log in to the administrative interface at the test version, as it kept redirecting me to the live login page.</p>
<p>I knew PHP stored the actual host name that was used to access the page in the <a href="http://www.php.net/manual/en/reserved.variables.server.php">$_SERVER['SERVER_NAME']</a> variable, and I thought a simple solution would be to make WordPress use that instead of the basic URL set in the configuration. I had very little experience with WordPress internals, so it took me some time to figure out how to implement this, but I eventually succeeded. I wrapped the code into a plugin so that the functionality can be easily enabled or disabled and doesn&#8217;t affect the base WordPress code.</p>
<p>So, behold! My first WordPress plugin ever:</p>
<p><p class="code">&lt;?php

/*
Plugin Name:    Server Name Support
Description:    Allows the blog to be accessed with multiple server names
Author:         Michal Wojciechowski
Version:        0.0.1
Author URI:     http://odyniec.net/
*/

$sns_home = preg_replace('!://[a-z0-9.-]*!', '://' . $_SERVER['SERVER_NAME'],
    get_option('home'));

function sns_home()
{
    global $sns_home;

    return $sns_home;
}

function sns_replace_host($url, $path = '')
{
    return preg_replace('!://[a-z0-9.-]*!', '://' . $_SERVER['SERVER_NAME'],
        $url);
}

add_filter('pre_option_home', 'sns_home');
add_filter('pre_option_siteurl', 'sns_home');
add_filter('pre_option_url', 'sns_home');
add_filter('stylesheet_uri', 'sns_replace_host');

add_filter('admin_url', 'sns_replace_host');

?&gt;</p></p>
<p>In case you&#8217;d like to use it (not very likely, as I don&#8217;t think my use case is that common), all you need to do is save the above code in a <code>.php</code> file, place it in the <code>wp-content/plugins</code> directory, and activate it in the WordPress admin interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/02/wordpress-blog-and-multiple-server-names/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ImgAreaSelect 0.9.2</title>
		<link>http://odyniec.net/blog/2010/02/imgareaselect-0-9-2/</link>
		<comments>http://odyniec.net/blog/2010/02/imgareaselect-0-9-2/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 18:37:27 +0000</pubDate>
		<dc:creator>Michal Wojciechowski</dc:creator>
				<category><![CDATA[imgAreaSelect]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://odyniec.net/blog/?p=424</guid>
		<description><![CDATA[ImgAreaSelect version 0.9.2 is out. This version fixes a few minor bugs, and introduces a new option that allows you to completely remove the plugin from the image that it was attached to. Thanks to all the people who helped me by reporting bugs and sending feedback.
I have also added a new example to the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://odyniec.net/projects/imgareaselect/">ImgAreaSelect</a> version 0.9.2 is out. This version fixes a few minor bugs, and introduces a new option that allows you to completely remove the plugin from the image that it was attached to. Thanks to all the people who helped me by reporting bugs and sending feedback.</p>
<p>I have also added a new example to the <a href="http://odyniec.net/projects/imgareaselect/examples-advanced.html">Advanced Usage</a> page &#8212; it demonstrates an extension of the plugin API that allows you to <a href="http://odyniec.net/projects/imgareaselect/examples-advanced.html#animation">animate the selection area</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://odyniec.net/blog/2010/02/imgareaselect-0-9-2/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>
