<?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>Zero_Dogg's blog &#187; Projects</title>
	<atom:link href="http://blog.zerodogg.org/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zerodogg.org</link>
	<description>Geeky comments on geeky things</description>
	<lastBuildDate>Tue, 02 Mar 2010 14:42:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SWEC 0.4</title>
		<link>http://blog.zerodogg.org/2009/10/15/swec-0-4/</link>
		<comments>http://blog.zerodogg.org/2009/10/15/swec-0-4/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 16:21:01 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[SWEC]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=160</guid>
		<description><![CDATA[About two weeks back I released SWEC version 0.4. The largest new thing in this release is an updated file format for writing test definitions.  Thew new format is a lot more flexible, and will also allow me to extend its syntax with more capabilities more easily later on. It can still read the [...]]]></description>
			<content:encoded><![CDATA[<p>About two weeks back I released <a href="http://random.zerodogg.org/swec/">SWEC version 0.4</a>. The largest new thing in this release is an updated file format for writing test definitions.  Thew new format is a lot more flexible, and will also allow me to extend its syntax with more capabilities more easily later on. It can still read the old file format, and I&#8217;ll keep the compat code in there until SWEC 0.6 &#8211; so people have time to update their files (only minor changes are needed to update them to the new file format, should only take a couple of minutes).</p>
<p>Other than that I extended the command-line parser, so you can now say &#8220;<code>swec example.com -s /test.html</code>&#8221; where you would previously have had to do &#8220;<code>swec --baseurl example.com -s /test.html</code>&#8220;. Other than that it&#8217;s mostly a bunch of cleanups, some refactoring and a few minor bugfixes, in addition to a new test suite so the thing can be properly sanity-checked before release.</p>
<p>If you need to sanity check dynamic websites, give <a href="http://random.zerodogg.org/swec/">SWEC</a> a go.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2009/10/15/swec-0-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Music sorting 0.2</title>
		<link>http://blog.zerodogg.org/2009/08/14/music-sorting-0-2/</link>
		<comments>http://blog.zerodogg.org/2009/08/14/music-sorting-0-2/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:00:49 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[mussort]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=131</guid>
		<description><![CDATA[Last week I released mussort version 0.2. This release is a huge update from version 0.1 that I released back in early 2008.
mussort is a simple command-line music sorting program. It recursively processes a directory tree, and then sorts whatever music files it finds there, renaming the files and putting them in a nice directory [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I released <a href="http://random.zerodogg.org/mussort">mussort</a> version 0.2. This release is a huge update from version 0.1 that I released back in early 2008.</p>
<p>mussort is a simple command-line music sorting program. It recursively processes a directory tree, and then sorts whatever music files it finds there, renaming the files and putting them in a nice directory tree.</p>
<p>0.2 added a load of features designed to make mussort faster. It introduced optional caching of file tags, which has a <b>major</b> impact on the performance on subsequent runs on a directory tree. I optimized away an insane amount of readdir() calls that it kept doing over and over, even though nothing had actually changed since the last readdir(). It also only supported <i>id3info</i> and <i>ogginfo</i> as sources for information, which is problematic because ogginfo is very very slow at times. So in 0.2 it can use the <i>Audio::File</i> perl module if it is available. It provides redundancy (should Audio::File fail for an ogg file, it falls back to ogginfo, should id3info fail for an mp3 file it tries Audio::File) and a large speed increase for ogg vorbis files. It can also use <i>id3v2</i> if it is available. Because of the caching however, even without Audio::File, any subsequent runs on ogg vorbis files will be a lot faster.</p>
<p>When it comes to actual features, the largest one is support for detection of compilation albums. It will locate an album that contains a lot of different artists and then put those into a single directory named after the album, rather than put them into separate artist/album dirs. For those that don&#8217;t want that, it is important to note that the feature is optional and must be explicitly requested (like case-insensitive sorting). </p>
<p>Other than that there&#8217;s a bunch of code cleanups, along with minor additions, such as selectable verbosity (&#8211;verbose, &#8211;quiet) and the option to keep all duplicate files around (&#8211;keepdupes). mussort is also now <a href="http://github.com/zerodogg/swec">hosted on github</a>, so if you are interested, fork the repository and let&#8217;s see what cool stuff you can come up with! Remember to prod me with a pull request so that any nice things you do get included upstream.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2009/08/14/music-sorting-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWEC future plans</title>
		<link>http://blog.zerodogg.org/2009/02/09/swec-future-plans/</link>
		<comments>http://blog.zerodogg.org/2009/02/09/swec-future-plans/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:06:33 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[SWEC]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=108</guid>
		<description><![CDATA[I&#8217;ve got some plans for SWEC in the future. One of its primary limitations at the time is that it can&#8217;t really do advanced tests using things like POST or specific pattern matching. So I&#8217;m planning a simple command-based file format where you can define advanced checks for sites, to compliment the already existing fully-automated [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got some plans for <a href="http://random.zerodogg.org/swec">SWEC</a> in the future. One of its primary limitations at the time is that it can&#8217;t really do advanced tests using things like POST or specific pattern matching. So I&#8217;m planning a simple command-based file format where you can define advanced checks for sites, to compliment the already existing fully-automated checks.</p>
<p>The basic syntax will be something like this (any input is welcome):<br />
<code><br />
URL http://...<br />
GET<br />
MATCH /regex/ or STRING<br />
RUN_CHECKS</p>
<p>URL http://<br />
POST 'SOME_POSTDATA'<br />
MATCH /regex/ or STRING<br />
[My regex] MATCH /regex/<br />
[String equality] MATCH STRING<br />
RUN_CHECKS</p>
<p>RUN_MAIN<br />
</code></p>
<p>Here any URL statement defines a new check, where all previous data is dropped. Each section can have a <i>POST</i> or <i>GET</i> statement, and then any number of <i>MATCH</i> statements, as well as a <i>RUN_CHECKS</i> statement. If any <i>MATCH</i> statement fails (ie. the regex doesn&#8217;t match, or the result isn&#8217;t equal to <i>STRING</i>) then it will skip the remaining tests and skip ahead to the next <i>URL</i> or <i>RUN_MAIN</i> statement.</p>
<p><i>MATCH</i> is obvious, it runs a test on the entire content to see if it matches a regex, or equals a string.<br />
<i>RUN_CHECKS</i> would start the standard (SDF-based) SWEC checks on the returned data.<br />
<i>RUN_MAIN</i> would start the main SWEC mode<br />
<i>[SOMETHING] MATCH</i> would create a named match, so the content within [ ] would be the returned error if it doesn&#8217;t match, instead of something generic like &#8220;failed to match /regex/&#8221;.</p>
<p>Other commands I&#8217;ve thought of that I might or might not want to do include one to clean the cookiejar, so that tests can be performed on how a page acts when cookies are missing, and a way to add custom skip filters based upon for instance the URL.</p>
<p>THese are just random ideas and plans that I&#8217;ve got at the moment, I haven&#8217;t begone coding it yet, but it&#8217;s definetely something I&#8217;m going to do at some point. I&#8217;ll welcome any input if you have any.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2009/02/09/swec-future-plans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simply checking my web</title>
		<link>http://blog.zerodogg.org/2009/02/02/simply-checking-my-web/</link>
		<comments>http://blog.zerodogg.org/2009/02/02/simply-checking-my-web/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 10:31:57 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[SWEC]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[automated testing]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=101</guid>
		<description><![CDATA[I&#8217;ve been doing some web development lately, and the old question of testing has of course come up (and some might say, of course I had to roll my own solution).
I wanted a simple way to sanity check a site, to ensure that my article changes didn&#8217;t suddenly break comments on images (lagacy apps are [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing some web development lately, and the old question of testing has of course come up (and some might say, of course I had to roll my own solution).</p>
<p>I wanted a simple way to sanity check a site, to ensure that my article changes didn&#8217;t suddenly break comments on images (lagacy apps are strange beasts). So I ended up writing <a href="http://random.zerodogg.org/swec">SWEC, the simple web error checker</a>. It&#8217;s a basic app that goes through all links in a site (or &#8220;webapp&#8221;) as long as those are present in the HTML (ie. it doesn&#8217;t run any JS, so its use in JS/AJAX/AJAJ-heavy webapps can be somewhat limited). It parses all pages it downloads, looking for known errors and then reports those. For instance, if you run it on a site based on Catalyst (perl) and catalyst crashes with its standard backtrace, SWEC will return which page it happened on, which page referenced it and a quick line about what happened. Ie. if it&#8217;s an exception it&#8217;ll say &#8220;Exception in Catalyst controller&#8221;.</p>
<p>It uses a very simple file format for writing tests (which is well documented in SWEC&#8217;s manpage). It has several different types of tests, but the most common one looks something like this:<br />
<code>[SWEC_CATALYST_CONTROLLER_EXCEPTION]<br />
type = regexs<br />
check = Caught exception in.*Controller.*Request.*Catalyst<br />
error = Exception in Catalyst controller<br />
sortindex = 11</code><br />
What&#8217;s between the brackets [ ] is the name of the test. All tests that are shiped with SWEC are prefixed with SWEC_.<br />
The type defines which &#8220;type&#8221; of test it is. This one is &#8220;regexs&#8221; which is a &#8217;smart&#8217; regex, a standard perl regex that swec modifies during runtime to easier match HTML. The check is in this case a normal perl regex that is applied to the entire html document. As the type is regexs, swec will modify the regex to this during runtime: <code>Caught(\\s+|&amp;nbsp;|&lt;[^&gt;]+&gt;)+exception(\\s+|&amp;nbsp;|&lt;[^&gt;]+&gt;)+in.*Request.*Catalyst</code></p>
<p>The error is the string that will be returned, and the sortindex is used for prioritizing tests, the lower the better (bundled tests will always be positive, so one only needs to give tests a negative index to ensure they will be run before bundled ones).</p>
<p>By default the bundled tests (<code>default.sdf</code>) and the user-specific rc file <code>~/.swecrc</code> will be loaded. The user-specific one can disable bundled ones easily, and you can disable them on the command line on an individual basis.</p>
<p>SWEC supports sessions, where SWEC remembers previously checked URLs, and previous errors and can then either check pages that used to have errors before the others, or only report &#8216;new&#8217; errors that did not exist before. This will also remember all settings that you set so you don&#8217;t have to type it every time (although it&#8217;ll allow you to do that as well). It has cookie support so it will run just fine as a logged-in user, though you probably don&#8217;t want to run it on a live database, but rather a test one, as it&#8217;ll click on any link it sees (with a few exceptions, it tries to avoid &#8216;logout&#8217; and &#8216;delete&#8217; links, additions to the exceptions list is welcome).</p>
<p>It&#8217;s GPLv3, so feel free to hack your own things into it. I&#8217;ll accept patches for the app itself, as well as new tests to be bundled. As long as they are either specific to a language, web server or framework, I&#8217;ll happily add more bundled checks (or fixes to existing ones), however I will try to avoid app-specific checks as that might just get a bit too much.</p>
<p>Happy hacking</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2009/02/02/simply-checking-my-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Planner 0.9, and looking forward</title>
		<link>http://blog.zerodogg.org/2008/05/03/day-planner-09-and-looking-forward/</link>
		<comments>http://blog.zerodogg.org/2008/05/03/day-planner-09-and-looking-forward/#comments</comments>
		<pubDate>Sat, 03 May 2008 14:20:09 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gtk2]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/05/03/day-planner-09-and-looking-forward/</guid>
		<description><![CDATA[Day Planner 0.9 has been released. It is available for download as a Mandriva RPM, Ubuntu deb, Debian deb, generic installer and source tarball.
The release focused primarily on fixes and cleanups. A bunch of minor bugs were fixed, and I rewrote most of the iCalendar back-end. It should be faster now and preserves files better [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.day-planner.org">Day Planner</a> 0.9 has been released. It is available for download as a <a href="http://www.day-planner.org/index.php/download/mandriva">Mandriva RPM</a>, <a href="http://www.day-planner.org/index.php/download/ubuntu">Ubuntu deb</a>, <a href="http://www.day-planner.org/index.php/download/debian">Debian deb</a>, <a href="http://www.day-planner.org/index.php/download/gnulinux">generic installer</a> and <a href="http://www.day-planner.org/index.php/download/source">source tarball</a>.</p>
<p>The release focused primarily on fixes and cleanups. A bunch of minor bugs were fixed, and I rewrote most of the iCalendar back-end. It should be faster now and preserves files better than it used to.</p>
<p>This release includes a dummy maemo interface. It can currently fully display a Day Planner calendar, and has a UI quite similar to the desktop edition. However, it can not edit or add any events, and is as such not as useful as it might have been. The plan is for the maemo port to be ready for 0.11.</p>
<p>0.10 will (among other things) feature a new HTML exporting module (which has been in the works for quite a while), a cleaner, object-oriented version of the add/edit event windows (to simplify their use and maintainance. The current code that handles it is a bit ugly).</p>
<p>The major user-facing change will be the addition of a GUI for calendar subscriptions. 0.9 includes support for them (though it isn&#8217;t really announced because the feature isn&#8217;t ready), but one has to manually edit the config file.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/05/03/day-planner-09-and-looking-forward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Day Planner development snapshots</title>
		<link>http://blog.zerodogg.org/2008/04/25/automated-day-planner-development-snapshots/</link>
		<comments>http://blog.zerodogg.org/2008/04/25/automated-day-planner-development-snapshots/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 11:20:12 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[gtk2]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/04/25/automated-day-planner-development-snapshots/</guid>
		<description><![CDATA[I&#8217;ve added automatic development snapshots of Day Planner to the Day Planner homepage. There are currently three different branches (trunk, next stable, current stable) being built, in two flavours (tarball and installer). The snapshots are updated twice each day and are available at http://www.day-planner.org/index.php/download/snapshot. Feel free to take them for a spin.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added automatic development snapshots of Day Planner to the <a href="http://www.day-planner.org/">Day Planner</a> homepage. There are currently three different branches (trunk, next stable, current stable) being built, in two flavours (tarball and installer). The snapshots are updated twice each day and are available at <a href="http://www.day-planner.org/index.php/download/snapshot">http://www.day-planner.org/index.php/download/snapshot</a>. Feel free to take them for a spin.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/04/25/automated-day-planner-development-snapshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Planner&#8217;s second anniversary (and a development snapshot)</title>
		<link>http://blog.zerodogg.org/2008/04/19/day-planners-second-anniversary-and-a-development-snapshot/</link>
		<comments>http://blog.zerodogg.org/2008/04/19/day-planners-second-anniversary-and-a-development-snapshot/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 16:33:07 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/04/19/day-planners-second-anniversary-and-a-development-snapshot/</guid>
		<description><![CDATA[Today is the second anniversary of the Day Planner project. So hurray for Day Planner, and here&#8217;s to all the great releases to come.
In other related news, I&#8217;ve just released a development snapshot of Day Planner 0.9.
It is available at http://www.day-planner.org/index.php/download/devsnapshot. It contains all of the developed features for 0.9 (including the unfinished maemo port), [...]]]></description>
			<content:encoded><![CDATA[<p>Today is the second anniversary of the <a href="http://www.day-planner.org/">Day Planner</a> project. So hurray for Day Planner, and here&#8217;s to all the great releases to come.</p>
<p>In other related news, I&#8217;ve just released a development snapshot of Day Planner 0.9.<br />
It is available at <a href="http://www.day-planner.org/index.php/download/devsnapshot">http://www.day-planner.org/index.php/download/devsnapshot</a>. It contains all of the developed features for 0.9 (including the unfinished maemo port), but is not yet stable enough to be labelled stable, so If you&#8217;ve got time and feel like it, give it a spin and report any bugs you find. The whole iCalendar back-end has been almost completely re-written for this version, which is why I want some additional testing before I release a stable version.</p>
<p><i>Please do not package this release or submit it to news sites, it&#8217;s just a svn snapshot.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/04/19/day-planners-second-anniversary-and-a-development-snapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A bunch of new stuff</title>
		<link>http://blog.zerodogg.org/2008/03/19/a-bunch-of-new-stuff/</link>
		<comments>http://blog.zerodogg.org/2008/03/19/a-bunch-of-new-stuff/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 01:32:32 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[SkoleLinux]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/03/19/a-bunch-of-new-stuff/</guid>
		<description><![CDATA[I&#8217;ve finally taken the time to prepare a website for all the various programs and scripts I&#8217;ve got in use here that the world might also find some use for. The address, right now, is http://random.zerodogg.org, though once I find some more imaginative name I&#8217;ll probably move it, but for now it&#8217;s random.
Everything mentioned is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally taken the time to prepare a website for all the various programs and scripts I&#8217;ve got in use here that the world might also find some use for. The address, right now, is <a href="http://random.zerodogg.org">http://<b>random</b>.zerodogg.org</a>, though once I find some more imaginative name I&#8217;ll probably move it, but for now it&#8217;s <i>random</i>.<br />
Everything mentioned is either GPLv3 (most of it) or GPLv2 (some of it).</p>
<p>I&#8217;ll write a quick word on the various new projects, and note those that I have moved from older websites to random.</p>
<p><i>New stuff:</i></p>
<p><b><a href="http://random.zerodogg.org/audioutils">Audio Utils</a></b><br />
This is just a collection of scripts I&#8217;ve had in use (and had uploaded for the world to download previoulsy, but never together nor on a proper website) that assists in various audio-related tasks. These are:<br />
aac2ogg &#8211; a quick and dirty aac to ogg converter, using mplayer, faad and oggenc<br />
wma2ogg &#8211; the same for wma, using mplayer and oggenc<br />
reencode &#8211; a quick and dirty bash script that lets you re-encode an mp3 file to another bitrate. Useful for clearing up space on &#8220;mp3 players&#8221;, especially if you&#8217;re into audio-books, which can often have their bitrates drastically reduced and still be in a fairly decent quality.</p>
<p><b><a href="http://random.zerodogg.org/grandomwallpaper">GRandomWallpaper</a></b><br />
This is a wallpaper randomizer for GNOME/Nautilus. It takes a list of wallpapers (a directory) and selects a random one. This can be done on a timer, or just once. It keeps a hitlist for how many times a wallpaper has been shown, and is more likely to pick those that have not been shown as often. It also lets you ban wallpapers, which will cause it to always ignore the wallpaper in question.</p>
<p><b><a href="http://random.zerodogg.org/latexb">LatexB</a></b><br />
This is a quick script that assists in building LaTeX files. It can call latex or pdflatex, automatically spawn xdvi(k) or evince after building, and detect bibtex. It&#8217;s merely a utility script so that I can do &#8220;latexb file.tex&#8221; to build the LaTeX file properly in one go (it calls latex multiple times to ensure that everything is referenced properly).</p>
<p><b><a href="http://random.zerodogg.org/monitorgrowth">MonitorGrowth</a></b><br />
This is a simple perl program that lets you monitor how fast a file is growing, displays information similar to that of download utilities like wget.</p>
<p><b><a href="http://random.zerodogg.org/mussort">mussort</a></b><br />
This program sorts your music collection. It puts them into nice directories (artist/album) and renames the files, so that everything is consistent. It can also let you delete dupes. It works on MP3, and OGG Vorbis-files.</p>
<p><b><a href="http://random.zerodogg.org/spgal">SPGal</a></b><br />
This is my first python project. It builds a static XHTML-gallery from a set of images. It can work as a drop-in replacement of iGal and jGal.</p>
<p><i>Old stuff, new website:</i></p>
<p><b><a href="http://random.zerodogg.org/magicpo">MagicPO</a></b><br />
This is a program that helps you translate PO-files from one similar language to another. Right now it can do automatic translation of for instance Norwegian Bokm&aring;l to Norwegian Nynorsk (you only have to read through them afterwards).</p>
<p><b><a href="http://random.zerodogg.org/pdftopng">PDFtoPNG</a></b><br />
This is a quick program that lets you convert PDFs into a set of PNG files. It can also build HTML-files to go with the PNGs, for easy reading in a browser.</p>
<p><b><a href="http://random.zerodogg.org/slx-dict">SLX-Dict</a></b><br />
This is a simple command-line program that lets you look up words in the Norwegian <a href="http://i18n.skolelinux.no/nb/Fellesordl.eng-no.html">computer translation dictionary</a>. It&#8217;s useful if you don&#8217;t want to open firefox and search for words there all the time.</p>
<p><b><a href="http://random.zerodogg.org/sshman">SSHMan</a></b><br />
SSHMan is a simple ssh agent helper, along the lines of keychain. It does persistant management of ssh agents, will only ever prompt you for adding keys to the agent once, does not slow down logging into X and does not start when you&#8217;re logging in via ssh.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/03/19/a-bunch-of-new-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Planner maemo port under way</title>
		<link>http://blog.zerodogg.org/2008/02/14/day-planner-maemo-port-under-way/</link>
		<comments>http://blog.zerodogg.org/2008/02/14/day-planner-maemo-port-under-way/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 19:30:11 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[gtk2]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[pygtk]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/02/14/day-planner-maemo-port-under-way/</guid>
		<description><![CDATA[Okay, I gave up on the point of getting the perl bindings for gtk2 going.
It was just too much work, and would not only require getting the gtk2 bindings going, but also writing bindings for hildon, the maemo-specific stuff.
So I went to plan B, which was to reimplement a maemo-specific GUI in python that just [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I gave up on the point of getting the perl bindings for gtk2 going.<br />
It was just too much work, and would not only require getting the gtk2 bindings going, but also writing bindings for hildon, the maemo-specific stuff.</p>
<p>So I went to plan B, which was to reimplement a maemo-specific GUI in python that just talks to a perl back-end which takes care of all of the actual data processing. This is now well under way. A working prototype of the GUI in python is now in SVN, it can read and display calendar data, but has no edit capabilities yet. The back-end portion is just about finished, it is a mixture of code from the dayplanner perl client and the dayplanner-daemon, what&#8217;s missing there is more configuration file handling (which can&#8217;t be done yet, because I&#8217;m not quite sure what config options the maemo UI actually needs) and synchronization code.</p>
<p>This has helped make Day Planner even more modular. I split out some code that is useful elsewhere into a DP::CoreModules module. That module now has code that for instance handles the configuration files, parses date strings, creates config dirs, runtime module loading, summary string wrappers and localtime() wrappers. All code that can be shared (and doesn&#8217;t merit having their own module) will be put there.</p>
<p>I expect the maemo port to have initial editing capabilities within 1-2 weeks, depending on my workload.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/02/14/day-planner-maemo-port-under-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>N810!</title>
		<link>http://blog.zerodogg.org/2008/02/05/n810/</link>
		<comments>http://blog.zerodogg.org/2008/02/05/n810/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 18:00:53 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[gtk2]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/02/05/n810/</guid>
		<description><![CDATA[It&#8217;s finally here, and I&#8217;m loving it so far :).
Tried some basic stuff, installed ssh+scp and tried ScummVM on it. All running nicely.
Now I&#8217;m about to move to the hard part, getting Day Planner actually ported to the thing.
The gtk2 perl bindings still don&#8217;t have a maemo port. I&#8217;m going to have a go at [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s finally here, and I&#8217;m loving it so far :).<br />
Tried some basic stuff, installed ssh+scp and tried <a href="http://www.scummvm.org/">ScummVM</a> on it. All running nicely.<br />
Now I&#8217;m about to move to the hard part, getting Day Planner actually ported to the thing.</p>
<p>The gtk2 perl bindings still don&#8217;t have a maemo port. I&#8217;m going to have a go at those first to see if I can get them running half-decently without too much work, if not I&#8217;ll have to look at other more dirty hacks. Though if I can get the bindings themselves running that would be much better and would make the port a lot easier to maintain. Here&#8217;s hoping!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/02/05/n810/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Planner 0.8</title>
		<link>http://blog.zerodogg.org/2008/01/08/day-planner-08/</link>
		<comments>http://blog.zerodogg.org/2008/01/08/day-planner-08/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 13:37:39 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[dayplanner]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[gtk2]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2008/01/08/day-planner-08/</guid>
		<description><![CDATA[Day Planner 0.8 was released on the 1st of January (2008).
The primary focus of this release was getting some new technology in there and cleaning up old stuff.
The daemon (or &#8220;reminder&#8221; as it is called in the user-facing UI) was rewritten from the ground up. The new one is a lot more flexible, and less [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.day-planner.org/">Day Planner</a> 0.8 was released on the 1st of January (2008).</p>
<p>The primary focus of this release was getting some new technology in there and cleaning up old stuff.<br />
The daemon (or &#8220;reminder&#8221; as it is called in the user-facing UI) was rewritten from the ground up. The new one is a lot more flexible, and less error-prone than the old one. The new one can for instance notify users about events backwards in time (say you log in at 08:05 and you had a meeting had 08:00 &#8211; it&#8217;ll let you know). Along with this I&#8217;ve removed the &#8220;Day Planner commander&#8221;, which was a commandline interface that allowed one to talk directly to the daemon and issue commands. I used it mostly for debugging with the old daemon, it&#8217;s not needed at all with the new one. The notifier (the program that pops up friendly GUI dialog boxes with reminders) was also partly rewritten for the daemon change.</p>
<p>The other major change was the addition of DP::iCalendar::Manager. This module allows DP to have multiple DP::iCalendars (and other compatible objects) in one object, whose API is completely identical to DP::iCalendar (with the exception of a few additional methods). In 0.8 it is for instance possible to edit holiday-events. The Date::HolidayParser module now presents a DP::iCalendar-compatible interface when requested (the old API is still in there, and is still the default &#8211; that won&#8217;t change). As Date::HolidayParser (and for instance http calendar subscriptions) are essentially read-only data sources, DP::iCalendar::Manager handles this nicely. When a change request is made upon an event from a read-only source the manager copies the event over to the primary DP::iCalendar object and makes the change there. This preserves the UID and thus the changed event will show up in the UI, instead of the original one.</p>
<p>All DP::iCalendar calls in 0.8 go through the manager, even though the management part isn&#8217;t used much, the only two parts added to it in 0.8 are the primary user calendar and the holidays. This opens doors for what one might expect to see in 0.9. <a href="http://www.day-planner.org/">Day Planner</a> 0.9 will. among other things, have support for subscriptions to http-calendars. The current DP SVN already has a crude implementation of this, and it appears to be working pretty well (though it is missing some essential things, like caching, at the moment).</p>
<p>Day Planner 0.8 is available for download as a <a href="http://www.day-planner.org/index.php/download/mandriva">Mandriva RPM</a>, <a href="http://www.day-planner.org/index.php/download/ubuntu">Ubuntu/Debian deb</a>, <a href="http://www.day-planner.org/index.php/download/gnulinux">generic installer</a> and <a href="http://www.day-planner.org/index.php/download/source">source tarball</a>.<br />
For the adventurous (read: people who like to not have their software in a working state all the time) there are instructions on how to get the svn version <a href="http://www.day-planner.org/index.php/development/subversion">on the website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2008/01/08/day-planner-08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maemo (Nokia N810) device program application accepted</title>
		<link>http://blog.zerodogg.org/2007/11/10/maemo-nokia-n810-device-program-application-accepted/</link>
		<comments>http://blog.zerodogg.org/2007/11/10/maemo-nokia-n810-device-program-application-accepted/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 20:17:32 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/2007/11/10/maemo-nokia-n810-device-program-application-accepted/</guid>
		<description><![CDATA[Yay!
I&#8217;ve been picked as one of the lucky 500 that will recieve a Nokia N810 at a heavily discounted price.
My initial plans will be to investigate ways of porting Day Planner to maemo. Because there are no Gtk2 perl bindings for Maemo at the moment, as far as I know. I&#8217;m going to have a [...]]]></description>
			<content:encoded><![CDATA[<p>Yay!</p>
<p>I&#8217;ve been picked as one of the lucky 500 that will recieve a Nokia N810 at a heavily discounted price.</p>
<p>My initial plans will be to investigate ways of porting Day Planner to maemo. Because there are no Gtk2 perl bindings for Maemo at the moment, as far as I know. I&#8217;m going to have a look at how hard it would be to port the current Gtk2 perl bindings to Maemo, and if it&#8217;s rather simple I&#8217;ll just bundle them along with Day Planner., or create a package for them. They might even run with little effort, who knows (heres hoping). Even if they don&#8217;t work 100%, as long as the methods DP uses work adequately I will be able to use them. If not, well, then I&#8217;ll have to look at other options, which include writing a dumb UI in python that talks to a perl-backend.</p>
<p>In any case I will need to figure out how to best integrate the daemon+notifier functionality. The platform probably needs its own notifier, if it is to have such a thing at all, though I&#8217;m hoping the daemon can work without major changes.</p>
<p>And now I just need to wait for it to be released so I can get it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2007/11/10/maemo-nokia-n810-device-program-application-accepted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day Planner packages available for Debian and Ubuntu</title>
		<link>http://blog.zerodogg.org/2007/11/10/day-planner-packages-available-for-debian-and-ubuntu/</link>
		<comments>http://blog.zerodogg.org/2007/11/10/day-planner-packages-available-for-debian-and-ubuntu/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 11:04:37 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Packaging]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=82</guid>
		<description><![CDATA[Day Planner debs are now available on http://www.day-planner.org/. Both for Debian and Ubuntu (in addition to the already available Mandriva RPM and generic installer).
Creating a deb was interesting, as I had never done that before &#8211; used to rpm packaging, though I got a lot of help by Morten Werner Olsen.
The packaging also uncovered quite [...]]]></description>
			<content:encoded><![CDATA[<p>Day Planner debs are now available on <a href="http://www.day-planner.org/">http://www.day-planner.org/</a>. Both for <a href="http://www.day-planner.org/index.php/download/debian">Debian</a> and <a href="http://www.day-planner.org/index.php/download/ubuntu">Ubuntu</a> (in addition to the already available <a href="http://www.day-planner.org/index.php/download/mandriva">Mandriva RPM</a> and <a href="http://www.day-planner.org/index.php/download/gnulinux">generic installer</a>).</p>
<p>Creating a deb was interesting, as I had never done that before &#8211; used to rpm packaging, though I got a lot of help by Morten Werner Olsen.</p>
<p>The packaging also uncovered quite a few limitations in both the default tarball and the Makefile, which should not only make the deb possible, but also improve the RPM.</p>
<p>I&#8217;m hoping to get Day Planner into Debian too, but I&#8217;ll have to write a proper deb for Date::HolidayParser first. Debian, like Mandriva, wants to have modules available as seperate packages, and as Date::HolidayParser isn&#8217;t *really* Day Planner-specific it makes sense distributing it seperately. The current debs has it bundled, and I might be inclined to continue to have the ones on the website bundle the module (the RPMs on the website does this, even though the package in Mandriva does not), so that there is only one package to install to get Day Planner installed.</p>
<p>In other (somewhat) related news, I&#8217;ve changed the URL structure on the Day Planner website. It previously used ugly looking index.php?page=foo&#038;type=bar URLs. It now uses clean index.php/foo/bar URLs, which incidentally was rather simple to implement once I found which variables to parse and PHP functions to do it with.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2007/11/10/day-planner-packages-available-for-debian-and-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy birthday, Day Planner!</title>
		<link>http://blog.zerodogg.org/2007/04/19/happy-birthday-day-planner/</link>
		<comments>http://blog.zerodogg.org/2007/04/19/happy-birthday-day-planner/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 21:31:43 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://blog.zerodogg.org/?p=73</guid>
		<description><![CDATA[Today, the 19th of April, it is exactly one year since the first release of Day Planner, 0.1, was released. The first release was, as expected, pretty buggy. But it has since grown into a stable and useful program and has seen major improvements since the first release. I just recently released version 0.6 which [...]]]></description>
			<content:encoded><![CDATA[<p>Today, the 19th of April, it is exactly one year since the first release of <a href="http://www.day-planner.org/">Day Planner</a>, 0.1, was released. The first release was, as expected, pretty buggy. But it has since grown into a stable and useful program and has seen major improvements since the first release. I just recently released version 0.6 which introduced the Day Planner services calendar synchronization system and a load of usability fixes, thanks to mpt in #usability on irc.gnome.org. I&#8217;m now hard at work on version 0.7, which will among other things introduce proper recurrance support for normal events. </p>
<p>If it&#8217;s been a while since you tried it, or if you haven&#8217;t tried it at all, go ahead and give it a <a href="http://www.day-planner.org/index.php?type=download">download</a>. It is available as a Mandriva Linux noarch RPM, generic .run installer and a source tarball, it also has only one single dependency except for perl and that is the gtk2 perl bindings, so it should run without having to install 20 dependencies.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2007/04/19/happy-birthday-day-planner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>drakSimpleConf</title>
		<link>http://blog.zerodogg.org/2006/09/16/draksimpleconf/</link>
		<comments>http://blog.zerodogg.org/2006/09/16/draksimpleconf/#comments</comments>
		<pubDate>Sat, 16 Sep 2006 14:50:12 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[drakSimpleConf]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=67</guid>
		<description><![CDATA[I&#8217;ve been thinking of a method of creating simple configuration UIs.
Take the following config file:
RunMode = Inetd
AuthMode = Closed
Restricted = true
To create a simple configuration GUI for this I would write something like this:
filename is /etc/example.conf
setting RUNMODE can be (Inetd, Daemon)
setting AUTHMODE can be (Closed, Open)
option RunMode is RUNMODE with name "Run mode" and tooltip [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking of a method of creating simple configuration UIs.</p>
<p>Take the following config file:<br />
<code>RunMode = Inetd<br />
AuthMode = Closed<br />
Restricted = true</code></p>
<p>To create a simple configuration GUI for this I would write something like this:<br />
<code>filename is /etc/example.conf<br />
setting RUNMODE can be (Inetd, Daemon)<br />
setting AUTHMODE can be (Closed, Open)<br />
option RunMode is RUNMODE with name "Run mode" and tooltip "Which mode to run in"<br />
option AuthMode is AUTHMODE with name "Authentication mode" and tooltip "Which mode to use for authentication"<br />
option Restricted is BOOLEAN with name "Enable restriction" and tooltip "Enable this if you want to enable restriction of user rights"</code></p>
<p>The initial filename option selects which file the config file is.<br />
The first &#8220;setting&#8221; defines a type of entry in the config file that can be either of the value &#8220;Inetd&#8221; or &#8220;Daemon&#8221;. This would create a drop-down widget where you can select &#8220;Inetd&#8221; and &#8220;Daemon&#8221;.<br />
The second setting defines the same for &#8220;Closed&#8221; and &#8220;Open&#8221;.<br />
The first &#8220;option&#8221; defines that the option in the config file &#8220;RunMode&#8221; is of the type &#8220;RUNMODE&#8221; and the name of the option that is displayed in the GUI is &#8220;Run mode&#8221; and it has a tooltip saying &#8220;Which mode to run in&#8221;<br />
The second is the same.<br />
The third one defines that the option &#8220;Restricted&#8221; is of the predefined type &#8220;BOOLEAN&#8221; (which is predefined to be true/false, this creates a checkbox instead of a drop-down box).</p>
<p>Now begin your slaughtering. This is still just an idea. There is no code yet. What do you think of the concept of creating a whole configuration GUI for an app using a single file like this? I&#8217;m thinking it would be okay for daemons and such.<br />
What do you think of the syntax? I just grabbed it out of my head today and thought it <i>might</i> work. I want the syntax to be simple and human-readable. The point is that you should be able to hack together a GUI for any program with a simple configuration file in a few minutes.</p>
<p>Flame me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/09/16/draksimpleconf/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Day planner 0.1.1 released!</title>
		<link>http://blog.zerodogg.org/2006/05/24/day-planner-011-released/</link>
		<comments>http://blog.zerodogg.org/2006/05/24/day-planner-011-released/#comments</comments>
		<pubDate>Wed, 24 May 2006 13:23:01 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=65</guid>
		<description><![CDATA[Packages are available from http://home.gna.org/dayplanner/download.html in addition to being in cooker. It fixes a lot of bugs. 
Here&#8217;s an abriged changelog:
A bug that caused the entire program to go insensitive if you clicked the edit button without having any event selected was fixed. Daemon errors are handled better. A bug where day planner would freeze [...]]]></description>
			<content:encoded><![CDATA[<p>Packages are available from <a href="http://home.gna.org/dayplanner/download.html">http://home.gna.org/dayplanner/download.html</a> in addition to being in cooker. It fixes a lot of bugs. </p>
<p>Here&#8217;s an abriged changelog:<br />
<i>A bug that caused the entire program to go insensitive if you clicked the edit button without having any event selected was fixed. Daemon errors are handled better. A bug where day planner would freeze if the daemon shut down while it was running was fixed. Localization was fixed. A Norwegian bokm&aring;l translation was added. The pop up dialogs is now placed on top of the main window. The notifier now gets the information from the daemon instead of getting it on the command-line, so that other users can&#8217;t see information about other users on the system.</i></p>
<p>I would still very much like any comments you might have, so please feel free to test and give feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/05/24/day-planner-011-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GoldenPod in the Linux journal</title>
		<link>http://blog.zerodogg.org/2006/04/23/goldenpod-in-the-linux-journal/</link>
		<comments>http://blog.zerodogg.org/2006/04/23/goldenpod-in-the-linux-journal/#comments</comments>
		<pubDate>Sun, 23 Apr 2006 21:24:11 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[GoldenPod]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=64</guid>
		<description><![CDATA[Just a little cool note. GoldenPod was featured in this month&#8217;s (April) issue of Linux journal in their podcasting article :).
]]></description>
			<content:encoded><![CDATA[<p>Just a little cool note. GoldenPod was featured in this month&#8217;s (April) issue of Linux journal in their podcasting article :).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/04/23/goldenpod-in-the-linux-journal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Day planner: a request for comments</title>
		<link>http://blog.zerodogg.org/2006/04/23/day-planner-a-request-for-comments/</link>
		<comments>http://blog.zerodogg.org/2006/04/23/day-planner-a-request-for-comments/#comments</comments>
		<pubDate>Sun, 23 Apr 2006 21:23:25 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[Day Planner]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=63</guid>
		<description><![CDATA[I just recently released version 0.1 of my day planning app suitably named, well, day planner. It&#8217;s written in perl and uses the perl-gtk2 library. What I would like you (the readers of planet mandriva and/or my blog) to do is go test it. Poke it with long and small sticks, smash at it, punch [...]]]></description>
			<content:encoded><![CDATA[<p>I just recently released version 0.1 of my day planning app suitably named, well, <a href="http://home.gna.org/dayplanner/">day planner</a>. It&#8217;s written in perl and uses the perl-gtk2 library. What I would like you (the readers of planet mandriva and/or my blog) to do is go test it. Poke it with long and small sticks, smash at it, punch it, hit it, kick it. I want the program to be as stable and usable as possible. Report bugs, report usability problems and report feature requests. I want them all, and all help is welcome.</p>
<p>You can find a day planner RPM in cooker or on the <a href="http://home.gna.org/dayplanner/download.html">day planner download page</a> (along with numerous other options).</p>
<p>Please read the day planner <a href="http://svn.gna.org/svn/dayplanner/trunk/TODO">TODO list</a> before reporting issues. It&#8217;s not that long :).</p>
<p>You may also be interested in reading the day planner <a href="http://home.gna.org/dayplanner/vision.html">vision</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/04/23/day-planner-a-request-for-comments/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Why GNA! is better than Savannah</title>
		<link>http://blog.zerodogg.org/2006/04/23/why-gna-is-better-than-savannah/</link>
		<comments>http://blog.zerodogg.org/2006/04/23/why-gna-is-better-than-savannah/#comments</comments>
		<pubDate>Sun, 23 Apr 2006 21:18:36 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[CCP]]></category>
		<category><![CDATA[GFSGL]]></category>
		<category><![CDATA[GFSI]]></category>
		<category><![CDATA[GoldenBackup]]></category>
		<category><![CDATA[GoldenPod]]></category>
		<category><![CDATA[Goldenfiles]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=62</guid>
		<description><![CDATA[In the beginning there was&#8230;blah, okay I won&#8217;t go that far. Though, the first  host provider I used was SourceForge.net. I used that for three projects:
GFSGL, GFSI and GoldenFiles. Mostly random stuff there, not too large projects.
Then one day I thought about this and well, using a proprietary website to produce and manage a [...]]]></description>
			<content:encoded><![CDATA[<p>In the beginning there was&#8230;blah, okay I won&#8217;t go that far. Though, the first  host provider I used was <a href="http://sourceforge.net">SourceForge.net</a>. I used that for three projects:<br />
<a href="http://gfsgl.sf.net/">GFSGL</a>, <a href="http://gfsi.sf.net/">GFSI</a> and <a href="http://goldenfiles.sf.net/">GoldenFiles</a>. Mostly random stuff there, not too large projects.</p>
<p>Then one day I thought about this and well, using a proprietary website to produce and manage a free software project makes&#8230;well&#8230;no sense. So then I started looking at the alternatives. I landed on <a href="http://savannah.nongnu.org/">Savannah</a>. My first Savannah project was <a href="http://goldenpod.nongnu.org/">GoldenPod</a>. Followed by the (mostly dead) GoldenBackup (no link due to no website nor release, it does have a CVS though). Then followed by the <a href="http://ccp.nongnu.org">common configuration parser</a>. Then I had my <a href="http://blog.iamaturtle.org/?p=49">disagreements with Savannah</a> (as some of you might remember).</p>
<p>Then I started looking at <a href="http://gna.org/">GNA!</a> which I am now using for my most active project, <a href="http://home.gna.org/dayplanner/">Day planner</a>. Now what does GNA! have to offer that Savannah doesn&#8217;t?<br />
Well, it offers easier access to the downloads directory, I can simply rsync/scp stuff from my box to the GNA! download directory. It also has SVN which is imho MUCH better than CVS (I&#8217;ve never used Arch, so I won&#8217;t say anything about that). They also offer download/website statistics, something Savannah doesn&#8217;t. The only plus of Savannah I can find is some of their admins. I&#8217;ve spoken with a few of them and they where very nice, savannah also has an IRC channel (<i>#savannah</i> on freenode) which is rather nice. Though currently, I&#8217;ll take my GNA! without my Savannah if that is possible thank you very much.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/04/23/why-gna-is-better-than-savannah/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CCP 0.3</title>
		<link>http://blog.zerodogg.org/2006/01/23/ccp-03/</link>
		<comments>http://blog.zerodogg.org/2006/01/23/ccp-03/#comments</comments>
		<pubDate>Sun, 22 Jan 2006 23:59:59 +0000</pubDate>
		<dc:creator>Zero_Dogg</dc:creator>
				<category><![CDATA[CCP]]></category>

		<guid isPermaLink="false">http://blog.iamaturtle.org/?p=48</guid>
		<description><![CDATA[CCP 0.3 is out! The major new feature in this release is the addition of automatic uncommenting support.
CCP will now try to detect which options the user has uncommented from &#8211;oldfile and automatically uncomment them in the resulting &#8211;newfile. This should *greatly* decrease the amount of oprhaned options that occurs. Also added is an automatic [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ccp.nongnu.org/">CCP</a> 0.3 is out! The major new feature in this release is the addition of automatic uncommenting support.<br />
<a href="http://ccp.nongnu.org/">CCP</a> will now try to detect which options the user has uncommented from &#8211;oldfile and automatically uncomment them in the resulting &#8211;newfile. This should *greatly* decrease the amount of oprhaned options that occurs. Also added is an automatic testsuite to avoid regressions between versions and a &#8211;bug option that outputs a file containing useful information that can help fix a bug or solve a problem.</p>
<p><a href="http://ccp.nongnu.org/">CCP</a> can be downloaded from <a href="http://ccp.nongnu.org/download.html">http://ccp.nongnu.org/download.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zerodogg.org/2006/01/23/ccp-03/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
