<?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>LordElph's Ramblings &#187; Software Development</title>
	<atom:link href="http://blog.dixo.net/category/software_dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dixo.net</link>
	<description>Stuff and nonsense about software development and whatever else I find fun...</description>
	<lastBuildDate>Thu, 18 Mar 2010 13:04:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pepipopum &#8211; automatically translate PO files with Google Translate</title>
		<link>http://blog.dixo.net/2009/10/24/pepipopum-automatically-translate-po-files-with-google-translate/</link>
		<comments>http://blog.dixo.net/2009/10/24/pepipopum-automatically-translate-po-files-with-google-translate/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:46:33 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=377</guid>
		<description><![CDATA[If you&#8217;ve ever worked on localizing an application or website, you may be familiar with the .po files used with GNU gettext and compatible tools.
I&#8217;ve written a script which can take a .po file and translate any untranslated strings with Google Translate. This may not be a &#8216;release quality&#8217; translation, but does speed up the [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever worked on localizing an application or website, you may be familiar with the .po files used with <a href="http://www.gnu.org/software/gettext/gettext.html" title="GNU gettext documentation">GNU gettext</a> and compatible tools.</p>
<p>I&#8217;ve written a script which can take a .po file and translate any untranslated strings with <a href="http://translate.google.com/">Google Translate</a>. This may not be a &#8216;release quality&#8217; translation, but does speed up the job of a real translator, who can simply proof read and correct the machine-translated entries.</p>
<p>See it in action here: <a href="http://pepipopum.dixo.net">http://pepipopum.dixo.net</a></p>
<p>I&#8217;ve released the <a  title="view the source code" href="http://translate.aspuk/index.php?viewsource">source</a> under the <a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html" title="view the license terms">Affero GPL</a> too, so you can tweak or host it yourself. The version hosted above does have a one second delay between translations, so if you want to go faster you&#8217;re encouraged to do exactly that!</p>
<p>Hope someone else finds it useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/10/24/pepipopum-automatically-translate-po-files-with-google-translate/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>There&#8217;s a bit of me in PHP!</title>
		<link>http://blog.dixo.net/2009/06/03/theres-a-bit-of-me-in-php/</link>
		<comments>http://blog.dixo.net/2009/06/03/theres-a-bit-of-me-in-php/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 18:39:30 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=305</guid>
		<description><![CDATA[Last October I found a bug in PHP&#8217;s SOAP module. It was pretty obscure bug in the way PHP used Digest authentication. As it was a showstopper for me, I submitted a bug report and wrote a patch to fix it.
It took a while, but my patch has finally been merged into the 5.* and [...]]]></description>
			<content:encoded><![CDATA[<p>Last October I found a <a href="http://bugs.php.net/bug.php?id=46386">bug in PHP&#8217;s SOAP module</a>. It was pretty obscure bug in the way PHP used Digest authentication. As it was a showstopper for me, I submitted a bug report and wrote a patch to fix it.</p>
<p>It took a while, but my <a title="CVS revision history" href="http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_http.c?view=log#rev1.77.2.11.2.12.2.11">patch has finally been merged</a> into the 5.* and 6.0 sources! </p>
<p>I&#8217;ve been using PHP for ten years, and so it&#8217;s perhaps a little surprising it&#8217;s taken me this long to give anything back. Truth is, this was the first time I&#8217;ve come across a bug which halted my development work.</p>
<p>It&#8217;s a tiny fix, 6 lines of code, but it makes me happy that after all this time, finally, there&#8217;s a bit of me in PHP! Hurrah for open source software!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/06/03/theres-a-bit-of-me-in-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Doxygen help in QtCreator</title>
		<link>http://blog.dixo.net/2009/05/20/using-doxygen-help-in-qtcreator/</link>
		<comments>http://blog.dixo.net/2009/05/20/using-doxygen-help-in-qtcreator/#comments</comments>
		<pubDate>Wed, 20 May 2009 19:23:35 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=289</guid>
		<description><![CDATA[If you&#8217;re documenting your classes with Doxygen tags you might be wondering if you can use that help inside QtCreator and get those F1 tooltips whenever you hover a documented class or method.
I wondered the same thing, and it turns out Doxygen needed a little tweaking to make it work. Karsten Heimrich at Nokia rather [...]]]></description>
			<content:encoded><![CDATA[<p><img align="right" src="http://blog.dixo.net/wp-content/uploads/2009/05/tooltip.png" alt="" title="tooltip example" width="243" height="157" class="alignright size-full wp-image-292" />If you&#8217;re documenting your classes with Doxygen tags you might be wondering if you can use that help inside QtCreator and get those F1 tooltips whenever you hover a documented class or method.</p>
<p>I wondered the same thing, and it turns out Doxygen needed a little tweaking to make it work. Karsten Heimrich at Nokia rather kindly wrote a <a href="http://blog.dixo.net/doxygen.diff">patch</a> which will eventually make it into Doxygen, but if you have burning desire to try this, here&#8217;s what you do&#8230;.</p>
<h2>Patching Doxygen</h2>
<p>Once I hear that Doxygen includes this patch I&#8217;ll remove this section &#8211; so if you&#8217;re reading this, you probably need to patch. So, lets grab the latest sources and apply the patch.</p>
<p><code>svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk doxygen-svn<br />
cd doxygen-svn/src<br />
wget -O doxygen.diff http://blog.dixo.net/doxygen.diff<br />
patch < doxygen.diff</code><br />
cd ..</p>
<p>Then configure and build doxygen with any options you might need. Most people should be able to simply do this</p>
<p><code>./configure<br />
make<br />
make install</code></p>
<p>You should how have the patched doxygen in /usr/local/bin. </p>
<h2>Generating the help</h2>
<p>There are some <a href="http://labs.trolltech.com/blogs/category/labs/documentation/doxygen2qthelp/">Qt Labs posts</a> on generating Qt Help from Doxygen, but here's a quick run through:</p>
<p>To generate a Qt .qch file you'll need the following entries in your doxygen configuration file</p>
<p><code><br />
GENERATE_QHP           = YES<br />
QCH_FILE               = /path/to/output/helpfile.qch<br />
QHP_NAMESPACE          = com.yourdomain.subdomain<br />
QHP_VIRTUAL_FOLDER     = yourfolder<br />
QHG_LOCATION           = /your/path/to/qt/bin/qhelpgenerator<br />
</code></p>
<p>Run patched doxygen and you should end up with a .qch file in the filename given by the QCH_FILE option. Almost done!</p>
<h2>Installing the help in Qt Creator</h2>
<ul>
<li>Go to Tools -> Options -> Help, click "Add" and browse for the generated .qch file. </li>
<li>Click OK and your namespace should now be listed in the registered documentation box</li>
<li>Click OK to dismiss the options dialog</li>
<li><em>Now for the important bit</em> - restart Qt Creator. If you don't do this, the help doesn't get propertly integrated into the IDE, at least on Qt Creator v1.1.</li>
</ul>
<p>That's it! Now hover the mouse over one of your documented classes and you should get a tooltip suggesting you press F1. </p>
<p>Documentation nirvana! Again, my thanks to Karsten Heimrich for writing the patch, hope someone else finds this useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/05/20/using-doxygen-help-in-qtcreator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ammotin is coming!</title>
		<link>http://blog.dixo.net/2009/04/27/ammotin-is-coming/</link>
		<comments>http://blog.dixo.net/2009/04/27/ammotin-is-coming/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 23:35:04 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Geocaching]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=284</guid>
		<description><![CDATA[I&#8217;ve been spending a lot of spare time recently building a desktop application aimed at geocachers and walkers called Ammotin. As it is approaching a point where is becoming useful, I&#8217;ve set up ammotin.com to track the development and gather feedback.
Stay tuned to  ammotin.com for more updates!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending a lot of spare time recently building a desktop application aimed at geocachers and walkers called Ammotin. As it is approaching a point where is becoming useful, I&#8217;ve set up <a href="http://ammotin.com">ammotin.com</a> to track the development and gather feedback.</p>
<p>Stay tuned to  <a href="http://ammotin.com">ammotin.com</a> for more updates!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/04/27/ammotin-is-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m a Qt Convert!</title>
		<link>http://blog.dixo.net/2009/03/31/im-a-qt-convert/</link>
		<comments>http://blog.dixo.net/2009/03/31/im-a-qt-convert/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 22:11:54 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Geocaching]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=280</guid>
		<description><![CDATA[Once upon a time, I used to do a lot of GUI app development. My professional career started back in 1993 writing Windows 3.1 apps in C, and continued for several years, switching to C++ and using the MFC framework. But from about 1998 I found myself steadily doing  less native GUI application development, [...]]]></description>
			<content:encoded><![CDATA[<p>Once upon a time, I used to do a lot of GUI app development. My professional career started back in 1993 writing Windows 3.1 apps in C, and continued for several years, switching to C++ and using the MFC framework. But from about 1998 I found myself steadily doing  less native GUI application development, and more and more web server based work.</p>
<p>While I enjoy all the work I do, I do miss being closer to the machine. The average PC is ridiculously powerful these days, but your average web application can&#8217;t do much with that power.</p>
<p>I&#8217;ve switched my home desktop to Ubuntu recently, and loving it. But, there&#8217;s a few Windows apps I miss. What&#8217;s a developer to do? What is a developer, skilled in C++ GUI development, to do, eh? Answer me that.</p>
<p>The recent release of <a href="http://www.qtsoftware.com/downloads">Qt4.5</a> and it&#8217;s accompanying <a href="http://www.qtsoftware.com/products/licensing/licensing">licence change</a> couldn&#8217;t have come at a better time. I had an itch to scratch, and it looked <em>gooood</em>. One simple install, and you have a great IDE, a GUI designer, and a stack of great classes and widgets. I was sold on the ease of integrating a <a href="http://www.qtsoftware.com/products/library/modular-class-library#info_webkit">WebKit browser</a> and the fact I could build a <a href="http://www.qtsoftware.com/products/library/modular-class-library#info_scripting">ECMAScript based scripting engine</a> for my app. But there&#8217;s so much more! I was a little skeptical of the smoke and mirrors behind the <a href="http://doc.trolltech.com/4.5/signalsandslots.html">signals and slots</a> paradigm, but having used it for a weekend, I&#8217;m sold. </p>
<p>Bottom line is that I spent more time writing my app than figuring out the framework. There&#8217;s hardly any &#8220;boilerplate&#8221; crap in each class. Once you&#8217;ve written your first signal and slot handler, you&#8217;re away. It&#8217;s all thriller, and no filler <img src='http://blog.dixo.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As if that wasn&#8217;t exciting enough, recompiling for Windows and Mac is easy too. Qt doesn&#8217;t just get you closer to your machine, it gets you closer to *all* machines. Hallelujah, Flying Spaghetti Monster be praised, I&#8217;ve rediscovered a love of programming I didn&#8217;t know I&#8217;d lost.</p>
<p>Anyway&#8230;..</p>
<p>I don&#8217;t want to say too much about the app I&#8217;m writing, aside from the fact that it&#8217;s aimed at geocachers. It&#8217;s called <a href="http://ammotin.com">Ammotin</a>, and will probably get released much later in the year. I think it will be spectacular, because Qt has got me so fired up and focussing on the app, that I don&#8217;t need to worry too much about the framework.</p>
<p>Am I over excited?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/03/31/im-a-qt-convert/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Qt Creator with Ubuntu 8.10</title>
		<link>http://blog.dixo.net/2009/03/14/using-qt-creator-with-ubuntu-810/</link>
		<comments>http://blog.dixo.net/2009/03/14/using-qt-creator-with-ubuntu-810/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 17:26:01 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=274</guid>
		<description><![CDATA[The recent change of licencing model for the Qt toolkit got it a lot of press recently. My GUI-based development experience is all Windows based, using MFC and wxWidgets. As I&#8217;ve found myself using Ubuntu and OSX a lot more recently, the idea of using Qt to write software to run on Windows, Linux or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.qtsoftware.com/downloads">The recent change of <a href="http://www.qtsoftware.com/products/licensing/licensing">licencing model</a> for the <a href="http://en.wikipedia.org/wiki/Qt_(toolkit)">Qt toolkit</a> got it a lot of <a href="http://www.theregister.co.uk/2009/01/14/qt_lgpl_nokia_trolltech/">press</a> <a href="http://www.theregister.co.uk/2009/03/03/nokia_qt_major_update/">recently</a>. My GUI-based development experience is all Windows based, using <a href="http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library">MFC</a> and <a href="http://www.wxwidgets.org/">wxWidgets</a>. As I&#8217;ve found myself using Ubuntu and OSX a lot more recently, the idea of using Qt to write software to run on Windows, Linux or OSX has some appeal. Of particular interest was the ease with which you can integrate <a href="http://webkit.org/">WebKit</a>, allowing you to embed web capabilities into a cross-platform app with ease.</p>
<p>Installation under Ubuntu 8.10 is straightforward, but I&#8217;m writing this post just to note the install steps I took. Hope it helps someone!</p>
<ul>
<li><a href="http://www.qtsoftware.com/downloads">Download and install the SDK</a>, which includes an IDE</li>
<li>Once installed, there&#8217;s a few packages you&#8217;ll need to ensure your first build completes:</li>
<li>sudo apt-get install libfreetype6-dev  libfontconfig-dev  libxrender-dev libsm-dev libglib2.0-dev</li>
</ul>
<p>Now you&#8217;re good to go!</p>
<p><em><strong>Edit</strong>: Edvaldo in the comments noted he needed to install some additional packages as follows:</em></p>
<ul>
<li>
sudo apt-get install libxext-dev libxext6-dbg x11proto-xext-dev
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2009/03/14/using-qt-creator-with-ubuntu-810/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Stack Overflow</title>
		<link>http://blog.dixo.net/2008/09/16/stack-overflow/</link>
		<comments>http://blog.dixo.net/2008/09/16/stack-overflow/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 07:38:56 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=205</guid>
		<description><![CDATA[Stack Overflow opened its doors yesterday after a closed beta test period of 6 weeks or so. At first glance, it&#8217;s a programming support forum, but it has interesting mechanisms to ensure the signal-to-noise ratio is high.
Borrowing from the idea of XBox360 achievement points, Stack Overflow awards its registered users &#8220;badges&#8221; for partipating in the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com">Stack Overflow</a> opened its doors yesterday after a closed beta test period of 6 weeks or so. At first glance, it&#8217;s a programming support forum, but it has interesting mechanisms to ensure the signal-to-noise ratio is high.</p>
<p>Borrowing from the idea of <a title="Not got a 360? Read more about achievements on wikipedia then!" href="http://en.wikipedia.org/wiki/Xbox_Live#Gamerscore">XBox360 achievement points</a>, Stack Overflow awards its registered users <a title="Here's all the badges on Stack Overflow" href="http://stackoverflow.com/badges">&#8220;badges&#8221;</a> for partipating in the site and exploring its features. Some badges are easily won, such as &#8220;Autobiographer&#8221; for completing your profile. Others might take some time, such as &#8220;Necromancer&#8221;, for successfully resurrecting a year old question with a popular answer!</p>
<p>Added to that is a system of karma, or reputation, where your contributions to the site are voted on. If someone likes one of your answers, or thinks you asked a good question, they can vote you up, giving you more reputation points. If your answer is the preferred answer to a question, you get even more. It works both ways, if you post something dumb or irrelevant, it will get voted down, lowering your reputation .</p>
<p>The key thing is that your reputation level influences which site features you have access to. It gradually <a title="FAQ outlining reputation points" href="http://stackoverflow.com/questions/18557/how-does-stackoverflow-work-the-unofficial-faq">exposes more moderation features</a> to you as you contribute more to the site.  For example, earn 2000 reputation points and you get the ability to edit and delete other people&#8217;s posts.</p>
<p>If it works, the site will practically run itself, but it will be interesting to see how much people try to game it and abuse additional privileges. Some of these ideas might even be applicable to how <a href="http://www.geograph.org.uk" title="Geograph British Isles">Geograph&#8217;s </a>moderation system works, so it is doubly interesting to me.</p>
<p>Anyway, if you have a programming question, give it a try. Most questions seem to get answered withing a few minutes, and it certainly beats Googling and getting one of those paywalled Experts Exchanges pages!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2008/09/16/stack-overflow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMWare enable 100% reduction in server electricty costs from August 12th!</title>
		<link>http://blog.dixo.net/2008/08/12/vmware-sucks-today/</link>
		<comments>http://blog.dixo.net/2008/08/12/vmware-sucks-today/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 17:15:05 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/?p=204</guid>
		<description><![CDATA[How? By stopping you running any virtual machines!
I&#8217;m about to evaluate VMWare ESXi server both for work and various side projects. 
Sadly, VMWare tripped up today, by rendering it impossible to start a virtual machine if the date was August 12th 2008 or later. The VMWare forums are awash with disgruntled customers, starting with irate [...]]]></description>
			<content:encoded><![CDATA[<p>How? By stopping you running any virtual machines!</p>
<p>I&#8217;m about to evaluate <a href="http://www.vmware.com/products/esxi/">VMWare ESXi</a> server both for work and various side projects. </p>
<p>Sadly, <a href="http://www.deploylinux.net/matt/2008/08/all-your-vms-belong-to-us.html">VMWare tripped up today</a>, by rendering it impossible to start a virtual machine if the date was August 12th 2008 or later. The <a href="http://communities.vmware.com/thread/162377?tstart=0">VMWare forums are awash with disgruntled customers</a>, starting with irate aussies as their country was one of the first to enjoy the excitement of August 12th. Aside from a <a href="http://kb2.vmware.com/kb/1006716.html">short KB article</a>, VMWare are staying tight lipped, and being a little tardy with it, promising a fix in 36 hours.</p>
<p>While <a href="http://vmware.com/company/news/releases/esxi_pricing.html">ESXi may be free now</a>, I&#8217;ll be taking a closer look at the alternatives. Hopefully VMWare will publish something which restores confidence&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2008/08/12/vmware-sucks-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geohash PHP class</title>
		<link>http://blog.dixo.net/2008/02/28/geohash-php-class/</link>
		<comments>http://blog.dixo.net/2008/02/28/geohash-php-class/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 00:43:15 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[Geodata]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/2008/02/28/geohash-php-class/</guid>
		<description><![CDATA[geohash.org popped up recently with a method of generating short hash codes for geographical locations. The codes have some interesting properties and the algorithm is documented on wikipedia.
I recently started doing a Project Euler problem a day as a fun diversion. I found the geohash algorithm intriguing, so it became my &#8220;Euler problem&#8221; for the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geohash.org/">geohash.org</a> popped up recently with a method of generating short hash codes for geographical locations. The codes have some interesting properties and the algorithm is documented <a href="http://en.wikipedia.org/wiki/Geohash">on wikipedia</a>.</p>
<p>I recently started doing a <a href="http://projecteuler.net/">Project Euler</a> problem a day as a fun diversion. I found the geohash algorithm intriguing, so it became my &#8220;Euler problem&#8221; for the day! </p>
<p>Having done it, I&#8217;m not sure I&#8217;ll find a use for it myself, but if anyone else finds it handy, do let me know!</p>
<p><a href="/downloads/geohash-php-class/">Download it here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2008/02/28/geohash-php-class/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Munin plugin for graphing MySQL slave delay</title>
		<link>http://blog.dixo.net/2008/02/10/munin-plugin-for-graphing-mysql-slave-delay/</link>
		<comments>http://blog.dixo.net/2008/02/10/munin-plugin-for-graphing-mysql-slave-delay/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 11:41:26 +0000</pubDate>
		<dc:creator>lordelph</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.dixo.net/2008/02/10/munin-plugin-for-graphing-mysql-slave-delay/</guid>
		<description><![CDATA[I wanted to track the delay of a mysql slave server in Munin, and found nothing appropriate after a quick google. So, in case anyone else finds it useful, here is a plugin which will allow you to do just that.
Here&#8217;s a typical graph:

Download:  mysql_slave (1 Kb)
EDIT: I wrote this so I could better [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to track the delay of a mysql slave server in <a href="http://munin.sourceforge.net/">Munin</a>, and found nothing appropriate after a quick google. So, in case anyone else finds it useful, here is a plugin which will allow you to do just that.</p>
<p>Here&#8217;s a typical graph:</p>
<p><img src='http://blog.dixo.net/wp-content/uploads/2008/02/slavedelay.png' alt='Slave Delay Graph' /></p>
<p>Download:  <a href="http://blog.dixo.net/mysql_slave">mysql_slave</a> (1 Kb)</p>
<p>EDIT: I wrote this so I could better understand the recovery time of a slave which had 13 hours of updates to catch up on. While it was good for that, it&#8217;s less useful for the day-to-day lag as munin will only be polling it every 5 minutes. A better way would be to use <a href="http://maatkit.sourceforge.net/doc/mk-heartbeat.html">mk-heartbeat</a> to get a more accurate moving average. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dixo.net/2008/02/10/munin-plugin-for-graphing-mysql-slave-delay/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
