<?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>Wave2.org &#187; MySQL</title>
	<atom:link href="http://www.wave2.org/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wave2.org</link>
	<description>Where the source code lives</description>
	<lastBuildDate>Fri, 25 Dec 2009 11:22:26 +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>PostgreSQL &#8211; Rock Solid in the face of forking MySQL</title>
		<link>http://www.wave2.org/2009/06/03/postgresql-rock-solid-in-the-face-of-forking-mysql/</link>
		<comments>http://www.wave2.org/2009/06/03/postgresql-rock-solid-in-the-face-of-forking-mysql/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:41:58 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Wave2]]></category>
		<category><![CDATA[dbRecorder]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=351</guid>
		<description><![CDATA[Ever since Sun Microsystems agreed to acquire MySQL back in 2008, there has been a fair bit of uncertainty and chaos surrounding the world’s most popular Open Source database.  With many big names in the MySQL community pulling in different directions and the recent Oracle / Sun acquisition, the choice of which Open Source [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.postgresql.org'><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2009/06/postgresql.png" alt="PostgreSQL" title="PostgreSQL" width="176" height="141" class="alignnone size-full wp-image-371" /></a>Ever since Sun Microsystems agreed to acquire MySQL <a href='http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html'>back in 2008</a>, there has been a fair bit of <a href='http://www.mysqlperformanceblog.com/2008/03/21/how-many-people-will-leave-mysql-now/'>uncertainty</a> and <a href='http://www.infoworld.com/d/developer-world/mysql-forked-beyond-repair-262'>chaos</a> surrounding the world’s most popular Open Source database.  With many big names in the MySQL community pulling in different <a href='http://monty-says.blogspot.com/2009/02/time-to-move-on.html'>directions</a> and the recent <a href='http://www.oracle.com/sun/index.html'>Oracle / Sun</a> acquisition, the choice of which Open Source database to use is now easier than ever &#8211; <a href='http://www.postgresql.org'>PostgreSQL</a>. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> </p>
<p>One of MySQL&#8217;s key strengths has always been its simplicity to both install, manage and code against, resulting in <a href='http://news.cnet.com/8301-13505_3-9921159-16.html'>mass adoption</a> over time, which in turn forced the once web bound database to <a href='http://webarya.wordpress.com/2008/07/23/the-history-of-mysql/'>evolve</a> into a <a href='http://blog.smaldone.com.ar/2008/12/29/is-mysql-a-toy-rdbms/'>near</a> fully fledged enterprise RDBMS.</p>
<p>PostgreSQL on the other hand was born an <a href='http://www.postgresql.org/about/history'>RDBMS</a> and instead worked silently in the background improving the performance, reliability and <a href='http://www.postgresql.org/about/featurematrix'>feature list</a> of the world&#8217;s most advanced Open Source database, and all under the lesser restrictive <a href='http://www.opensource.org/licenses/bsd-license.php'>BSD license</a> &#8211; nice work!.</p>
<p>Getting up to speed with PostgreSQL can take a little longer for MySQL veterans, mostly due to the many subtle differences, but more importantly the extensive feature set (one of the reasons it is taking longer to add PostgreSQL support to <a href='http://www.dbrecorder.org'>dbRecorder</a> <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) but the rewards are worth it, as companies such as Skype can <a href='https://developer.skype.com/SkypeGarage/DbProjects/SkypePostgresqlWhitepaper'>attest</a> to. </p>
<p>It was installing <a href='http://www.opennms.org/index.php/Why_PostgreSQL'>OpenNMS</a> several years ago that convinced me to get to grips with PostgreSQL, and although there is a distinct lack of new reading material out there the <a href='http://www.postgresql.org/docs/'>manual</a> covers everything you need to start building your next web app.</p>
<p>The GUI tool <a href='http://www.pgadmin.org'>pgAdmin</a> has also come a long way and provides a great interface to PostgreSQL, with excellent instructional prompts and support for all major platforms, there really is no better tool to help you work with PostgreSQL while getting to grips with the vast feature set.  Check out the <a href='http://www.pgadmin.org/visualtour.php'>latest beta</a> over at the pgAdmin site.</p>
<p>If you’re not yet excited about PostgreSQL, maybe you should check out the <a href='http://www.postgresql.org/about/featurematrix'>feature list</a> planned for release 8.4 (currently at beta2), with cool features such as <a href='http://www.depesz.com/index.php/2009/01/31/waiting-for-84-column-level-privileges/'>Column Level Permissions</a> and <a href='http://www.postgresql.org/docs/8.4/static/libpq-ssl.html'>SSL Connections</a> you can feel less stressed about the security of your data, oh and the <a href='http://blogs.sun.com/jkshah/entry/pgcon_2009_performance_comparison_of'>performance improvements</a> won&#8217;t hurt either!.</p>
<p>While keeping with the BSD license, another notable release last month was <a href='http://www.freebsd.org/releases/7.2R/announce.html'>FreeBSD 7.2</a>, a great platform to <a href='http://joseph.randomnetworks.com/archives/2006/05/12/flightaware-freebsd-and-postgresql/'>complement</a> the reliability of PostgreSQL and another way to gain some performance improvements.<br />
Speaking of performance I was pleased to read that <a href='http://www.cyberciti.biz/tips/freebsd-72-review-improved-virtualization.html'>Jails</a> are much improved in the latest release, and that it seems I am not the only one that <a href='http://www.playingwithwire.com/2009/06/virtual-failure-yippiemove-switches-from-vmware-to-freebsd-jails/'>prefers Jails</a> / <a href='http://www.sun.com/bigadmin/features/articles/zones_partition.jsp'>Zones</a> over VM solutions!.</p>
<p>I&#8217;m off to make some progress with <a href='http://www.wave2.org/svnweb/Wave2%20Repository/view%2Fbinarystor%2Ftrunk%2Fsrc%2Fjava%2Forg%2Fbinarystor%2Fpostgresql/PostgreSQLDump.java'>PostgreSQLDump.java</a>, the worker class that will allow me to add PostgreSQL support to <a href='http://www.dbrecorder.org'>dbRecorder</a>.<br />
Watch this space&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2009/06/03/postgresql-rock-solid-in-the-face-of-forking-mysql/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Merry Christmas!</title>
		<link>http://www.wave2.org/2008/12/23/merry-christmas-2/</link>
		<comments>http://www.wave2.org/2008/12/23/merry-christmas-2/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 23:15:30 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Wave2]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=208</guid>
		<description><![CDATA[I spent the last month taking a break from Open Source, partly due to FreeBSD 7.1 failing to hit the FTP servers as scheduled (any excuse), but mostly due to Santa&#8217;s early delivery of Ableton Live.  Not really Open Source I may add but extremely cool nonetheless and a much needed break from coding!.
I [...]]]></description>
			<content:encoded><![CDATA[<p><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/12/christmas2008.png" alt="Christmas2008" title="Christmas2008" width="180" height="167" class="alignnone size-full wp-image-226" />I spent the last month taking a break from Open Source, partly due to <a href='http://www.freebsd.org/releases/7.1R/schedule.html'>FreeBSD 7.1</a> failing to hit the FTP servers as scheduled (any excuse), but mostly due to Santa&#8217;s early delivery of <a href='http://www.ableton.com'>Ableton Live</a>.  Not really Open Source I may add but extremely cool nonetheless and a much needed break from coding!.</p>
<p>I find that staring too much at code can hamper the creative process (hehe), and as you know Creativity and Innovation go hand in hand with <a href='http://www.opensource.org/'>Open Source Software</a>!.</p>
<p>Speaking of which, while I have been busy playing with waveforms and elastic audio, the Open Source world has been all guns blazing with cool releases like <a href='http://www.mysql.com/news-and-events/generate-article.php?id=2008_14'>MySQL 5.1 GA</a>, <a href='http://www.opensolaris.com/launch.html'>Open Solaris 2008.11</a>, <a href='http://www.virtualbox.org/'>VirtualBox 2.1</a> and <a href='http://www.wordpress.org'>Wordpress 2.7</a> to name a few.<br />
You really cannot take a break these days without something big in the world of Open Source happening in your absence. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So the year is nearly at an end which got me thinking, what was the highlight of 2008 in the world of Open Source?.<br />
I have to confess to spending more time than I would have liked this year working with proprietary software, always in combination with Open Source tools of course!.  So if I had to highlight anything from 2008 it would be that Open Source is now more pervasive than ever. From your OSX laptop at home to the Linux servers at work, right the way up to the Internet&#8217;s <a href='http://toolbar.netcraft.com/site_report?url=https://login.yahoo.com'>biggest sites</a> and services (running FreeBSD <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), you&#8217;ll find Open Source Software behind every successful venture.  In fact it is now so popular even  <a href='http://www.microsoft.com/opensource/default.aspx'>Microsoft</a> could not resist the urge  to get in on the game!.</p>
<p>In fact there are so many Companies using Open Source now that proprietary software may actually be the minority!  We all know everyone loves an underdog, so maybe propreitary software will be the hit in 2009? Then again with the state of the economy maybe not! <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The biggest influence for me this year (both good and bad) had to be <a href='http://www.sun.com'>Sun Microsystems</a> who played a large part in Open Source adoption in the enterprise and continue to lead the way with their <a href='http://www.sun.com/software/opensource/benefits.jsp'>open business model</a> (<a href='https://glassfish.dev.java.net/'>GlassFish</a>, <a href='http://www.mysql.com/'>MySQL</a>, <a href='http://www.netbeans.org/'>Netbeans</a>, <a href='http://openjdk.java.net/'>OpenJDK</a>, <a href='http://www.opensolaris.com'>OpenSolaris</a> and <a href='http://www.virtualbox.org/'>VirtualBox</a>  to name just a few of their many contributions).</p>
<p>Although most of the time it seems like they <a href='http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html'>cannot do anything right</a>, one thing is for sure, without the corporate weight of Sun behind the Open Source ethos we may not have made it here so quickly.  So while your saving big bucks with your ZFS storage and processing millions of transactions with MySQL, don&#8217;t forget to say thank you to Sun next time you are complaining about JavaFX or MySQL 5.1.<br />
You may even want to swap those complaints for contributions (I know complaining is often easier). <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' />  Thanks Sun!</p>
<p>So if you are one of the few companies yet to Open your code to the world, what are you waiting for?  This Christmas give the gift of knowledge and share your achievements instead of fearing the competition and wrapping your code in a black box (don&#8217;t worry we won&#8217;t laugh at it).  You&#8217;ll feel much better knowing you helped make the world a better place!</p>
<p>Until next year I wish you all a Very Open Source Christmas!! and as always Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/12/23/merry-christmas-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If only Guy Fawkes had a G1&#8230;</title>
		<link>http://www.wave2.org/2008/11/04/if-only-guy-fawkes-had-a-g1/</link>
		<comments>http://www.wave2.org/2008/11/04/if-only-guy-fawkes-had-a-g1/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 22:43:48 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=187</guid>
		<description><![CDATA[Happy Halloween! &#8211; well by the time you read this it will be more &#8211; Remember, remember the 5th of November!.  So what&#8217;s been happening?
Well I spent the last month getting to grips with DB2 &#8211; why I hear you ask?.
You shouldn&#8217;t keep all your eggs in one basket, and there were rumors that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.android.com"><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/11/android.png" alt="Google Android" title="Google Android" width="180" height="160" class="alignnone size-full wp-image-196" /></a>Happy Halloween! &#8211; well by the time you read this it will be more &#8211; <a href='http://en.wikipedia.org/wiki/Guy_Fawkes_Night'>Remember, remember the 5th of November!</a>.  So what&#8217;s been happening?</p>
<p>Well I spent the last month getting to grips with DB2 &#8211; why I hear you ask?.<br />
You shouldn&#8217;t keep all your eggs in one basket, and there were rumors that DB2 might become Open Source at some point (<a href='http://news.cnet.com/2100-7344_3-6241694.html'>or not</a>).  Anyway even if that never happens there is a lot to learn from the original <a href='http://en.wikipedia.org/wiki/IBM_DB2'>DBMS</a> and with <a href='http://db2express.com/'>DB2 Express-C</a> available for free there&#8217;s nothing to stop your Open Source app taking advantage of that fact.  Besides competition is a good thing.</p>
<p>Anyway not forgetting my favorite DBMS, I managed to find time to spend a morning at the 4th <a href='http://www.mysql.com/news-and-events/european-conferences/2008/presentations/'>MySQL Conference</a> in London where the keynote opened to &#8211; <a href='http://en.wikipedia.org/wiki/Here_Comes_the_Sun'>here comes the sun</a> &#8211; cute.  There was a lot of emphasis on the fact that MySQL was not being written to run faster on Solaris (even though I got the impression that it does, with features like <a href='http://dev.mysql.com/tech-resources/articles/mysql-zfs.html'>ZFS</a> and snappy <a href='http://developers.sun.com/solaris/articles/mysql_perf_tune.html'>64bit libraries</a> outlined during the second session).</p>
<p>It was a relief to hear that MySQL 5.1 will finally go GA during the first week in December along with the new <a href='http://theopenproductmanager.blogspot.com/2008/08/mysql-query-analyzer-dba-task-1-finding.html'>query analyzer</a> (aka proxy).  I couldn&#8217;t help get the feeling of déjà vu out of my head, after all it was only last October that I remember seeing some very similar slides &#8211; anyway fingers crossed for a December release!.</p>
<p>My only disappointment at the conference was hearing that the auditing / security features would not make an appearance until after 2010? (TBD), frustrating especially with items like PCI compliance high on everyones agenda.  Still with a little ingenuity and help from the <a href='http://forge.mysql.com/wiki/MySQL_Proxy'>MySQL Proxy Server</a> you can roll your own auditing solution and customise it to your own needs (is there anything proxy can&#8217;t do <img src='http://www.wave2.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Speaking of which it looks like the Proxy Server will finally hit GA early next year in the form of the <a href='http://dev.mysql.com/doc/refman/5.1/en/load-balancer.html'>MySQL Load Balancer</a>.  In fact it is planned to make an appearance in December in the form of the Query Analyzer &#8211; yes that&#8217;s based on the Proxy too!.  Time to brush up on your Lua and check out the samples over at the <a href='http://forge.mysql.com/wiki/MySQL_Proxy_Cookbook'>Forge</a>.</p>
<p>The big news this October/November goes to the <a href='http://en.wikipedia.org/wiki/T-Mobile_G1'>G1</a>, the first phone to take advantage of <a href='http://code.google.com/android/'>Android</a>: a complete, open, and free mobile platform.</p>
<p>My own G1 adventure started last Thursday with a call to T-Mobile who were keen to dispatch my phone next day, but not so keen to deliver it to my workplace.  Not a problem, I could wait till the weekend even if it meant paying £6 for delivery.</p>
<p>Saturday morning came and went with no sign of a Royal Mail van and after a 20 minute call to T-Mobile it seemed I would not be getting my G1 anytime soon.  I listened to several explanations ranging from the order not going through to high demand exhausting stock.  No offer of apology or even a discount of any kind!.</p>
<p>Not one to accept lame excuses I asked for the order to be cancelled and fought for another 15 minutes with a customer service rep who claimed the order could not be cancelled over the phone.  His manager however had no problem canceling the order &#8211; funny that eh.  A quick Google search <a href='http://www.google.com/search?q=T-Mobile+terrible'>confirmed</a> my thoughts!.</p>
<p>My local T-Mobile shop was not much help either claiming that the plan I had accepted on Thursday no longer existed on Saturday due to it now being November.  They did however have the G1 in stock, well they did until I decided to purchase it, then it seemed Monday was the earliest I could get one.  I picked mine up on Sunday from <a href='http://www.bluewater.co.uk/'>Bluewater</a> and even got the plan that no longer existed this month&#8230; <img src='http://www.wave2.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The fun didn&#8217;t end there though as it was about 5 minutes after opening the phone that I managed to lock the SIM while trying to set-up the password protection &#8211; <b><i>PUK locked please contact customer services</i></b> &#8211; do I have to I thought!.  30 minutes later the customer services rep had no idea how we could unlock the phone and instead decided to give me my PUK code along with the phone number for <a href='http://www.htc.com/'>HTC</a>&#8217;s customer services (it&#8217;s their problem not T-Mobile&#8217;s) &#8211; which as you may have guessed already happened to be closed at the weekend.  Maybe Google could help!.</p>
<p>Another quick search and it seemed I was not the only one with this problem and the only answer so far was to place the sim in another phone to enter the PUK code and unlock the SIM.  Simple when you know how! (and you have a spare mobile to hand).  Anyway my phone is now unlocked and I&#8217;m ready to start exploring Android.  I did try logging into the My T-Mobile site to register my phone etc however the link failed &#8211; no surprises there.</p>
<p>As with most Open Source projects it is the community that provides the support and with the G1 / Android this is no exception.  If you want to learn more about Android on the G1 don&#8217;t waste your time contacting T-Mobile, instead head on over to the <a href='http://www.android.com'>website</a> or <a href='http://androidcommunity.com/'>forum</a> and marvel at what is no doubt going to be THE mobile platform of 2009.  All I need to do now is think up an idea for an app&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/11/04/if-only-guy-fawkes-had-a-g1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Code Me In!</title>
		<link>http://www.wave2.org/2008/09/08/code-me-in/</link>
		<comments>http://www.wave2.org/2008/09/08/code-me-in/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 06:37:05 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=154</guid>
		<description><![CDATA[
If you are security conscious and nowadays who isn&#8217;t?, you may have pondered over ways to make your external SSH connection safer.
Of course there&#8217;s always One-time Passwords and Public Keys, but if like me you watch the daily barrage of brute force attacks you may be thinking it&#8217;s only a matter of time&#8230;
That&#8217;s what I [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.codemein.org/'><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/09/codemeinlogo.png" alt="Code Me In" title="Code Me In" width="210" height="61" class="size-full wp-image-167" /></a><br />
If you are security conscious and nowadays who isn&#8217;t?, you may have pondered over ways to make your external SSH connection safer.<br />
Of course there&#8217;s always <a href='http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/one-time-passwords.html'>One-time Passwords</a> and <a href='http://www.cyberciti.biz/tips/ssh-public-key-based-authentication-how-to.html'>Public Keys</a>, but if like me you watch the daily barrage of brute force attacks you may be thinking it&#8217;s only a matter of time&#8230;</p>
<p>That&#8217;s what I was thinking at about the same time an SMS arrived on my mobile&#8230;.then it hit me&#8230;.I take my mobile everywhere, if only my server could call me and ask if it is really me trying to log in.</p>
<p>My first instinct was to try and insert a Perl or Python script into the login process.  After all <a href="http://affiliates.clickatell.com/central/campaigns/redir.php?cid=9214">Clickatell</a> have several libraries that you can use to send SMS messages.  How hard could it be? <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Well for starters it didn&#8217;t feel right relying on a script that runs within an interpreter that is running within a shell, but how else could it be done?  <a href='http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules'>Pluggable Authentication</a> sprang to mind but that&#8217;s hard right? Wrong!.</p>
<p>Hitting the FreeBSD handbook I was able to gain a decent understanding of <a href='http://www.freebsd.org/doc/en/articles/pam/index.html'>PAM</a> functionality and even managed to find some sample code.  Shame the <a href='http://www.freebsd.org/doc/en/articles/pam/pam-appl-prog.html'>programming</a> section had not yet been written.  <a href='http://www.linuxdevcenter.com/pub/a/linux/2002/05/02/pam_modules.html'>O&#8217;Reilly</a> to the rescue. After reading a few articles on PAM it wasn&#8217;t long before I had a working prototype, in fact most of my time was spent deciding upon the right library/s to use.<br />
The end result is a pam module that can be dropped into the authentication chain for any PAM aware application/service &#8211; think SSH, FTP, POP3 etc.</p>
<p>Upon successfully entering your Username/Password the <a href='www.codemein.org/'>pam_codemein</a> module uses <a href='http://curl.haxx.se/'>libcurl</a> to send an HTTPS request via Clickatell, my preferred SMS gateway, which then forwards the random Code to your mobile before prompting you to enter the same Code at the prompt to gain access. Of course there are issues with using SMS, such as mobile reception and timeouts, but in testing I didn&#8217;t notice any.</p>
<p>If you are concerned over the cost of SMS messages, Clickatell are a bulk SMS provider so <a href='http://www.clickatell.com/pricing/message_cost.php'>rates</a> are good, and if you prefer to be contacted via some other method the code can be adapted to any other service e.g. <a href='http://www.xmpp.org/rfcs/rfc3920.html#tls'>XMPP via TLS</a>, you could even <a href='http://www.gnupg.org/'>GPG</a> encrypt the Code in an email if you prefer.</p>
<p>It was only after I had the fun of writing this module that I stumbled across this <a href='http://www.norlin.se/blog/pam-module-for-sending-one-time-passwords-otp-via-sms/'>blog post</a>.  Shame as it may have saved me a lot of time, but hey where&#8217;s the fun in that?  I&#8217;ll just have to get cracking on the XMPP method &#8211; either that or search deeper within Google. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Have you seen RT 3.8!</h2>
<p>It&#8217;s been a long time coming but after 2 years in the making the enterprise-grade ticketing system that is RT has had a well earned <a href='http://blog.bestpractical.com/2008/07/today-were-rele.html'>facelift</a>, and what a difference!!.</p>
<p>Upgrading from 3.6.3 would have been straightforward if it was not for the fact that I also decided to upgrade to MySQL 5.1 at the same time. The final product made the pitfalls worthwhile however and RT is now slicker than ever.  Plus I got know RT better along the way &#8211; bonus!.</p>
<p>If your thinking of upgrading to RT 3.8 / MySQL 5.1 just remember to use the <a href='http://dev.mysql.com/doc/refman/5.1/en/myisam-storage-engine.html'>MyISAM</a> engine for the Attachments table (It&#8217;s worked so far for me with around 84k tickets).  Failing to do so will result in slow response from the UI on certain actions due to MySQL failing to select the correct index on certain queries:</p>
<p><code>ALTER TABLE Attachments ENGINE=MyISAM;</code></p>
<p>It looks like the optimiser is broken for the InnoDB plugin, however if you check out this <a href='http://bugs.mysql.com/bug.php?id=37680'>bug</a> it may have been fixed by now (I was using FreeBSD port: mysql-server-5.1.26).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/09/08/code-me-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Did you spot that [Error]?</title>
		<link>http://www.wave2.org/2008/07/22/did-you-spot-that-error/</link>
		<comments>http://www.wave2.org/2008/07/22/did-you-spot-that-error/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 20:21:58 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[BinaryStor]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=133</guid>
		<description><![CDATA[
If only your database would just tell you that replication had failed or that the disk was full&#8230;
Ok some database servers do   but MySQL doesn&#8217;t (yet).  Another excuse to write a script  
In my pursuit for total database visibility I have been searching for a tool that would tell me when [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.wave2.org/w2wiki/dbAlerter'><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/07/dbalerterlogo.png" alt="" title="dbAlerter" width="130" height="120" class="alignnone size-full wp-image-134" /></a></p>
<p>If only your database would just tell you that replication had failed or that the disk was full&#8230;<br />
Ok some database servers do <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' />  but MySQL doesn&#8217;t (yet).  Another excuse to write a script <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In my pursuit for total database visibility I have been searching for a tool that would tell me when something went wrong, that would simulate regular usage, and let me know if anything failed.  After all SNMP can only probe so far and if your database is secure the last thing you want to do is open up another port on your server.</p>
<p>Don&#8217;t get me wrong there are tools out there that do a decent job of monitoring MySQL.  <a href='http://www.mysql.com/products/enterprise/monitor.html'>MySQL Entperprise Monitor</a> is one such tool.  But if you want to look under the hood or add some functionality specific to your environment things start to get tricky.</p>
<p>So what&#8217;s this dbAlerter?</p>
<p><a href='http://www.wave2.org/w2wiki/dbAlerter'>dbAlerter</a> is the name of a project (Script) that I started developing to provide notification of key server events.  It&#8217;s written in Python; Why?, I wanted something lightweight.  Java would have been my first choice but the JVM eats too much ram and felt too heavy for such simple functionality.<br />
Python on the other hand feels lighter and when running a script as a daemon it seems to take up less resources allowing the DB to use more memory and continue doing it&#8217;s job.  Plus it&#8217;s been a while since I wrote anything with Python, variety is the spice of life!</p>
<p>Speaking of Java, if you have ever used tools like JConsole and jmap (and if not why not!) you may not have realised that since JDK 6 Update 7 there&#8217;s now one tool to rule them all &#8211; <a href='https://visualvm.dev.java.net/'>VisualVM</a>.</p>
<table style='width:400px; margin-left: auto; margin-right: auto;'>
<tr>
<td><a rel="lightbox" href='http://www.wave2.org/wp-content/uploads/2008/07/visualvm.png' title='VisualVM'><img src='http://www.wave2.org/wp-content/uploads/2008/07/visualvmthumb.png' alt='VisualVM' /></a></td>
<td><a rel="lightbox" href='http://www.wave2.org/wp-content/uploads/2008/07/visualvm2.png' title='VisualVM Memory Consumption'><img style='display: block;margin-left: auto;margin-right: auto' src='http://www.wave2.org/wp-content/uploads/2008/07/visualvm2thumb.png' alt='VisualVM Memory Consumption' /></a></td>
</tr>
</table>
<p>VisualVM pulls together several commandline tools like JConsole, jstat, jinfo, jstack, and jmap to make monitoring and profiling a more visual experience.</p>
<p>Now that the changes from BSD Java have been <a href='http://notes.bikemonkey.org/post/41640903/sun-approved-merge-from-bsd-java-to-openjdk'>merged</a> into the <a href='http://openjdk.java.net/'>OpenJDK</a> and the FreeBSD Foundation have updated the JDK to <a href='http://www.freebsdfoundation.org/downloads/java.shtml'>1.6.0-7</a> I&#8217;m pretty sure the original concept of write once run anywhere is closer than ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/07/22/did-you-spot-that-error/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Database Change Management</title>
		<link>http://www.wave2.org/2008/06/08/database-change-management/</link>
		<comments>http://www.wave2.org/2008/06/08/database-change-management/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 21:30:59 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[BinaryStor]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[dbRecorder]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=129</guid>
		<description><![CDATA[Databases are used by many different disciplines, from your DBA to your Developer, right down to the End User. They can also be viewed from many different perspectives&#8230;
DBA&#8217;s are usually interested in the server configuration, index usage etc.  Developers however are often concerned with retrieval methods, datatypes and occasionally stored procedures.  One thing [...]]]></description>
			<content:encoded><![CDATA[<p><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/06/dbrecorderlogo.png" alt="" title="dbRecorder Logo" width="157" height="100" class="alignnone size-full wp-image-130" />Databases are used by many different disciplines, from your <a href='http://en.wikipedia.org/wiki/Database_administrator'>DBA</a> to your <a href='http://en.wikipedia.org/wiki/Software_developer'>Developer</a>, right down to the End User. They can also be viewed from many different perspectives&#8230;</p>
<p>DBA&#8217;s are usually interested in the server configuration, index usage etc.  Developers however are often concerned with retrieval methods, datatypes and occasionally stored procedures.  One thing is for sure, your database if used effectively will be changing frequently, and with so many people accessing your database do you know what the last change was?  Would you know if someone added an index to a table? (would you care&#8230; <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' />  )</p>
<p><a href='http://en.wikipedia.org/wiki/Revision_control'>Revision Control</a> is often used to track changes to source code and other documents, so why not your database?.</p>
<p>When I first started to think about change control for my database servers one tool sprung to mind, <a href='http://www.shrubbery.net/rancid/'>Rancid</a>.  If you manage more than one network device you may already be familiar with the <b>Really Awesome New Cisco confIg Differ</b>.</p>
<p>Using a combination of scripts Rancid will connect to your network devices, check for changes by comparing the config with a VCS managed copy and notify you with details of the changes.  Why not do the same for your database? Enter <a href='http://www.wave2.org/w2wiki/dbRecorder'>dbRecorder</a>.</p>
<table style='margin-left: auto; margin-right: auto;'>
<tr>
<td><img src="http://www.wave2.org/wp-content/uploads/2008/06/dbrecorderoverview.png" alt="" title="dbRecorder Overview" width="402" height="122" /></td>
</tr>
</table>
<p>Rather than extend Rancid I decided to prove the concept by writing a quick Java application that utilised Open Source libraries like <a href='http://svnkit.com/'>SVNKit</a> and <a href='http://jyaml.sourceforge.net/'>jYAML</a>.  The features continued to creep and before I knew it I was recording more than just table definitions.  Server configuration and grant tables all found their way into my <a href='http://subversion.tigris.org/'>Subversion</a> repository coupled with e-mail notification whenever anything changed &#8211; nice huh!.</p>
<p>The aptly named <a href='http://www.dbrecorder.org'>dbRecorder</a> is currently targeted at my database of choice, <a href='http://www.mysql.com'>MySQL</a>.  It&#8217;s far from a finished product (then again so are most of my ideas) but it&#8217;s working to a degree and can only improve over time&#8230;.</p>
<p>One thing I never got around to was making this site work well with IE6 (or even just splash the screen with some silly message when someone using IE6 tries to connect) and with <a href='http://www.mozilla.com/en-US/firefox/'>Firefox 3</a> soon to be released I am hoping I won&#8217;t have to. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   If you have not tried Firefox 3 already you can visit the site today and pledge your download to help break a world record as soon as it is released!.</p>
<p><a href="http://www.spreadfirefox.com/node&amp;id=0&amp;t=272"><img src="http://www.wave2.org/wp-content/uploads/2008/06/firefoxdownloadday.png" alt="" title="Spread Firefox - Download Day 2008" width="246" height="32" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/06/08/database-change-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centralised Notification (Aka Informeer)</title>
		<link>http://www.wave2.org/2008/05/05/centralised-notification-aka-informeer/</link>
		<comments>http://www.wave2.org/2008/05/05/centralised-notification-aka-informeer/#comments</comments>
		<pubDate>Mon, 05 May 2008 22:10:26 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Informeer]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Wave2]]></category>

		<guid isPermaLink="false">http://www.wave2.org/?p=127</guid>
		<description><![CDATA[It&#8217;s been a while since I had chance to work on Informeer as my itch was one of multi-user web based password management (AuthStor).  Oh and moving house.  
Now that things are settling down again (Servers back up and running) I decided to take a break from AuthStor and focus on something new [...]]]></description>
			<content:encoded><![CDATA[<p><img style='float:left; border:none; padding-right:10px;' src="http://www.wave2.org/wp-content/uploads/2008/05/rpcxmltutorial.png" alt="" title="XmlRpcTutorial" width="220" height="180" class="alignnone size-full wp-image-128" />It&#8217;s been a while since I had chance to work on <a href='http://www.wave2.org/w2wiki/w2inform'>Informeer</a> as my itch was one of multi-user web based password management (<a href='http://www.wave2.org/w2wiki/AuthStor'>AuthStor</a>).  Oh and moving house. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now that things are settling down again (Servers back up and running) I decided to take a break from AuthStor and focus on something new &#8211; Informeer.</p>
<p>The concept is simple, Centralised Notification.</p>
<p>I am forever configuring notifications from several sources, be it backup alerts, host monitoring notification and even simple applications that send mail via SMTP.  When living in a world of change, both software and business, having to visit every application to change an e-mail address or add a new user to a notification schedule can be quite time consuming.  Add to that the effort of having to modify firewalls, SMTP servers and XMPP settings etc etc. The idea of a single web interface where all your notifications can be configured is quite appealing.  Informeer aims to make that a reality (one day).</p>
<p>While I take my time with the implementation I thought I would post a basic intro to <a href='http://www.xmlrpc.com/'>RPC-XML</a> using Perl.  The RPC-XML Perl module makes writing your own client/server application a piece of cake, and while not quite point and click, it will give you enough flexibility to centralise your own notifications (or anything else for that matter).  It&#8217;s not rocket science, but it works!</p>
<p>If you have been looking for a flexible quick and easy fix to the centralised notification problem, or even if you are just looking to push some data from a firewalled site to one of your servers <a href='http://www.wave2.org/w2wiki/XmlRpcTutorial'>This Tutorial</a> should help get you started.</p>
<p>In between moving house and playing with notifications I found time to upgrade to <a href='http://www.wordpress.org'>Wordpress 2.5</a> and <a href='http://moinmo.in/'>MoinMoin 1.6</a>, and wow what an improvement in both camps.<br />
The Wordpress dashboard is the most visible improvement &#8211; it&#8217;s amazingly clean!  If you have been waiting for 2.5 to settle down or just cautious about upgrading, I would say take the plunge, you won&#8217;t regret it.  As for MoinMoin 1.6, there really is no better Wiki engine out there (my opinion) and it just keeps getting better with every release!.</p>
<p>That just leaves me to post a quick MySQL tip that may well be obvious, but happens to catch me out from time to time. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> </p>
<h3>MySQL Tip of the month</h3>
<p>If you ever get the urge to convert a 1Gig MyISAM table (with 34 million rows) to InnoDB within MySQL, try to avoid the simple <code>ALTER TABLE tablename ENGINE=INNODB;</code> method.<br />
I made the mistake of running that command on a fairly decent server with bags of space and memory only to find the command running over 5 hours later with an InnoDB tablespace at around 4Gig (ok a bit of tuning might have helped) <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Your best bet is to dump the table using <a href='http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html'>mysqldump</a>, drop the existing table and re-import the table after modifying the definition to be InnoDB.  That worked for me in less than 10 minutes.  Alternatively you can create a new InnoDB table and insert directly from the existing table as per <a href='http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html'>MySQL documentation</a> e.g <code>INSERT INTO newtable SELECT * FROM oldtable</code>.</p>
<p>I&#8217;m sure I am not the first to make this mistake, and may not be the last&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/05/05/centralised-notification-aka-informeer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Great News for MySQL and Sun!</title>
		<link>http://www.wave2.org/2008/01/16/great-news-for-mysql-and-sun/</link>
		<comments>http://www.wave2.org/2008/01/16/great-news-for-mysql-and-sun/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 21:33:23 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.wave2.org/2008/01/16/great-news-for-mysql-and-sun/</guid>
		<description><![CDATA[I&#8217;m sure by now you would have read the great news that is Sun Microsystems acquisition of MySQL!
Sun have been forging ahead in the Open Source world with OpenSolaris, an Operating System that scales to Enterprise proportions and is an ideal host for the number one Open Source Database Server that is MySQL.
Whether this will [...]]]></description>
			<content:encoded><![CDATA[<p><img width='140px' height='140px' style='float:left; border:none; padding-right:5px;' src='http://www.wave2.org/wp-content/uploads/2008/01/mysqlsun.png' alt='Sun to Acquire MySQL' />I&#8217;m sure by now you would have read the great news that is <a href='http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml'>Sun Microsystems acquisition of MySQL</a>!</p>
<p>Sun have been forging ahead in the Open Source world with <a href='http://www.opensolaris.org'>OpenSolaris</a>, an Operating System that scales to Enterprise proportions and is an ideal host for the number one Open Source Database Server that is <a href='http://www.mysql.com/'>MySQL</a>.</p>
<p>Whether this will have any impact on the MySQL Linux / <a href='http://www.FreeBSD.org'>FreeBSD</a> / Windows offerings is something I am sure the community will be watching closely, but in my experience <a href='http://java.sun.com'>Java</a> runs much faster on Solaris as it can take advantage of the <a href='http://www.sun.com/software/solaris/performance.jsp'>MultiThreading</a> libraries that help Solaris set those performance records.<br />
Don&#8217;t forget, it was not that long ago that combined with Sun hardware MySQL was able to set it&#8217;s own <a href='http://www.mysql.com/news-and-events/press-release/release_2004_27.html'>world records</a>!.</p>
<p>With that in mind it should only be a matter of time before we will begin to see the fruits of Sun / MySQL&#8217;s labour and I don&#8217;t know about you but I can&#8217;t wait!.</p>
<p>How this move will affect the future of other database servers such as <a href='http://www.postgresql.org'>PostgreSQL</a> and <a href='http://www.oracle.com'>Oracle</a> I cannot begin to imagine.<br />
Personally I never understood how Oracle devoted so much attention to Linux when the Oracle server (and App servers) have such a dependency on Java (which as I say always works better running under Solaris <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )?<br />
As for PostgreSQL, Sun have always endorsed <a href='http://www.sun.com/software/products/postgresql/index.jsp'>PostgreSQL on Solaris</a>, will we see this focus switch to MySQL in the near future?.</p>
<p>One thing is for certain, MySQL combined with Solaris makes for one world class package that is going to be hard to beat!!.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/01/16/great-news-for-mysql-and-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year!</title>
		<link>http://www.wave2.org/2008/01/09/happy-new-year/</link>
		<comments>http://www.wave2.org/2008/01/09/happy-new-year/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 20:54:08 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[Certification]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://www.wave2.org/2008/01/09/happy-new-year/</guid>
		<description><![CDATA[I know it&#8217;s a little late, but as this is my first post of 2008 I wanted to start on a high!  
After receiving my copy of the MySQL 5.1 Cluster DBA book at Christmas, I spent an hour or so each day with my head engrossed in MySQL Cluster technology, so much so [...]]]></description>
			<content:encoded><![CDATA[<p><img width='176px' height='176px' style='float:left; border:none; padding-right:5px;' src='http://www.wave2.org/wp-content/uploads/2008/01/mysqlclustercert.png' alt='MySQL 5.1 Cluster DBA Certification' />I know it&#8217;s a little late, but as this is my first post of 2008 I wanted to start on a high! <img src='http://www.wave2.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After receiving my copy of the <a href='http://www.lulu.com/content/1297960'>MySQL 5.1 Cluster DBA</a> book at Christmas, I spent an hour or so each day with my head engrossed in <a href='http://www.mysql.com/products/database/cluster/'>MySQL Cluster</a> technology, so much so that my goal of reading <a href='http://astore.amazon.co.uk/wave2?%5Fencoding=UTF8&amp;node=3'>every Perl book I own</a> (cover to cover) has been somewhat put on hold&#8230;</p>
<p>The book was much smaller than I expected, in both physical size and pages (266) which was not a bad thing as I could carry it around if needed, and each chapter could be read within 15-20 minutes, just about right for my attention span <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I booked the exam a couple of weeks ago thinking I might need some incentive to fully digest MySQL Cluster details.  I need not have worried, the book provides a great introduction to MySQL Cluster in easy-to-read chapters bringing you up to speed in no time, much more entertaining than the <a href='http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html'>reference manual!</a></p>
<p>The exam itself consisted of 70 questions and on this occasion ended with a prompt asking to print to a file&#8230;&#8230;argghhh&#8230;&#8230;I suddenly got worried that the exam had crashed and that all my answers were lost?!, after all you normally get an instant result on screen and a printed record. I knew I should have used my regular testing centre <img src='http://www.wave2.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Print -> File -> USB Stick -> another PC -> Adobe Distiller -> Print and I finally got the result &#8211; Passed &#8211; Phew!.</p>
<p>So the holidays are over and I have more time to focus on the fun stuff, like upgrading this site to the latest version of <a href='http://www.wordpress.org'>WordPress</a> or adding <a href='http://www.gnupg.org'>GnuPG</a> based encryption to <a href='http://www.wave2.org/w2wiki/AuthStor'>AuthStor</a>.  If history is anything to go by the next few months are bound to see a spate of version bumps.  I am personally looking forward to <a href='http://www.freebsd.org/releases/7.0R/schedule.html'>FreeBSD 7.0</a>!</p>
<p>You never know, I might even find time to finish reading those Perl books before Perl 6 is complete <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2008/01/09/happy-new-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Merry Christmas!!</title>
		<link>http://www.wave2.org/2007/12/23/merry-christmas/</link>
		<comments>http://www.wave2.org/2007/12/23/merry-christmas/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 18:20:36 +0000</pubDate>
		<dc:creator>Alan Snelson</dc:creator>
				<category><![CDATA[AuthStor]]></category>
		<category><![CDATA[BinaryStor]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[UnixArchitect]]></category>
		<category><![CDATA[Wave2]]></category>

		<guid isPermaLink="false">http://www.wave2.org/2007/12/23/merry-christmas/</guid>
		<description><![CDATA[2007 is almost over and what a year this has been for Wave2!
My programming preferences have gone full circle, from beginning the year playing snakes and ladders (Python), I spent the summer drinking coffee (Java) and finally settled down surrounded by Camel&#8217;s, Lama&#8217;s and Parrots (Perl). Bizarre but never dull!
Steady progress has been made all [...]]]></description>
			<content:encoded><![CDATA[<p><img height='160px' width='200px' style='float:left; border:none; padding-right:10px;' src='http://www.wave2.org/wp-content/uploads/2007/12/merrychristmas07.png' alt='Merry Christmas From Wave2' />2007 is almost over and what a year this has been for Wave2!</p>
<p>My programming preferences have gone full circle, from beginning the year playing snakes and ladders (Python), I spent the summer drinking coffee (Java) and finally settled down surrounded by Camel&#8217;s, Lama&#8217;s and Parrots (Perl). Bizarre but never dull!</p>
<p>Steady progress has been made all round and as always the Open Source community has proven a valuable resource.  Not a day went by where I did not discover something new or think of a new idea that could be built using Open Source Software.  I only wish I had more time in the day!.</p>
<p>My Christmas present came early this year in the form of a <a href='http://www.lulu.com/content/1297960'>MySQL 5.1 Cluster DBA Certification Study Guide</a>. I have been putting off the final MySQL certification while waiting for the book to arrive, and now it is in my hands the only thing preventing me from taking the exam is the lack of free space over the Christmas period. Hehe <img src='http://www.wave2.org/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> </p>
<p>I also ordered a <a href='http://europe.nokia.com/A4568578'>Nokia N810</a> (My Techie Present).  My laptop is not small enough to carry around with me and I am hoping to capture more development time on this device.  Either that or feed my mind. <img src='http://www.wave2.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway I&#8217;m off to hit the <a href='http://www.us.playstation.com/Warhawk/'>WarHawk</a> servers before getting ready to see the New Year in Amsterdam &#8211; home of the <a href='http://peach.blender.org/'>Blender Institute</a>.  With projects like <a href='http://www.wave2.org/about-authstor/'>AuthStor</a> making great progress and ideas such as <a href='http://www.unixarchitect.org'>Unix Architect</a> and <a href='http://www.wave2.org/about-binarystor/'>BinaryStor</a> slowly maturing, I cannot wait to see what 2008 holds for Wave2!</p>
<p>Before I head off I have to mention the <a href='http://catalyst.perl.org/calendar/'>Catalyst Advent Calendar</a>. Every year they pack 24 days of tutorials and tips into the month of December.  If you are looking to get the most of the <a href='http://catalyst.perl.org/'>Catalyst Framework</a> you really must take a look at this resource.  I was able to prototype AuthStor in under 2 weeks and enjoyed every minute!</p>
<p>Wave2 Wishes You a Very Merry Christmas and an Open Source New Year!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wave2.org/2007/12/23/merry-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
