<?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>Kristian Lunde &#187; Misc</title>
	<atom:link href="http://www.klunde.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.klunde.net</link>
	<description>www.klunde.net</description>
	<lastBuildDate>Wed, 01 Feb 2012 23:57:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Automated backups with Amazon S3</title>
		<link>http://www.klunde.net/2011/05/21/automated-backups-to-amazon-s3/</link>
		<comments>http://www.klunde.net/2011/05/21/automated-backups-to-amazon-s3/#comments</comments>
		<pubDate>Sat, 21 May 2011 21:04:20 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[amazonS3]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[jetS3t]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=557</guid>
		<description><![CDATA[I recently decided that I my half hearted backups to an external drive wasn&#8217;t really good enough, so I started to look at alternatives. Note, this howto is for Mac and *nix system, if you need a windows version please try to google it. I tried Crash plan, considered a extended dropbox plan but none [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2011%2F05%2F21%2Fautomated-backups-to-amazon-s3%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2011_2F05_2F21_2Fautomated-backups-to-amazon-s3_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2011%2F05%2F21%2Fautomated-backups-to-amazon-s3%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently decided that I my half hearted backups to an external drive wasn&#8217;t really good enough, so I started to look at alternatives. </p>
<p>Note, this howto is for Mac and *nix system, if you need a windows version please try to <a href="http://www.google.no/search?q=automated+backup+to+amazon+s3+windows" onclick="urchinTracker('/outgoing/www.google.no/search?q=automated+backup+to+amazon+s3+windows&amp;referer=');">google it</a>. </p>
<p>I tried <a href="http://www.crashplan.com/" onclick="urchinTracker('/outgoing/www.crashplan.com/?referer=');">Crash plan</a>, considered a extended <a href="http://www.dropbox.com/" onclick="urchinTracker('/outgoing/www.dropbox.com/?referer=');">dropbox</a> plan but none of them seemed like the correct solution (still I love dropbox, its a great app). I ended up registering an Amazon S3 account. </p>
<p>After a quick google search I found this brilliant little blog post <a href="http://smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups" onclick="urchinTracker('/outgoing/smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups?referer=');">&#8220;Using Amazon S3 for personal backups&#8221;</a> which describe how to use <a href="http://jets3t.s3.amazonaws.com/downloads.html" onclick="urchinTracker('/outgoing/jets3t.s3.amazonaws.com/downloads.html?referer=');">jetS3t</a> to semi automate the synchronization of the iPhoto library on a Mac OSX. </p>
<p>I am not going to repeat the instructions found on the <a href="http://smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups" onclick="urchinTracker('/outgoing/smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups?referer=');">&#8220;Using Amazon S3 for personal backups&#8221;</a> blog post, I did however have to do a few minor tweaks to get it to work, I also extended the functionality slightly, to enable a fully automated backup solution. </p>
<p>JetS3t has had a few releases since the <a href="http://smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups" onclick="urchinTracker('/outgoing/smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups?referer=');">&#8220;Using Amazon S3 for personal backups&#8221;</a> article was written, I downloaded <a href="http://jets3t.s3.amazonaws.com/downloads.html" onclick="urchinTracker('/outgoing/jets3t.s3.amazonaws.com/downloads.html?referer=');">jets3t-0.8.1.zip</a>.  Adding the link of the jetS3t directory to the path in .profile didn&#8217;t work for me (I&#8217;m on Mac osX 10.6), so I added it to my .bash_profile file. You can find .bash_profile in /Users/<em>YOUR-USERNAME</em>/, you&#8217;ll have to replace <em>YOUR-USERNAME</em> with your proper username of course. Other than that I followed the examples in <a href="http://smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups" onclick="urchinTracker('/outgoing/smv.unige.ch/members/risoldi/otherdocs/using-amazon-s3-for-personal-backups?referer=');">&#8220;Using Amazon S3 for personal backups&#8221;</a>.</p>
<p>Once that was in place and worked properly I started to add some custom scripts.</p>
<p>1. Create a scripts directory in your home directory<br />
2. Create a logs directory in the scripts directory</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">cd</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">mkdir</span> scripts</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">mkdir</span> scripts<span class="sy0">/</span>logs</div>
</li>
</ol>
</div>
<p>2. Navigate to your scripts directory and create a amazon-s3-backup.sh file. </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> scripts</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">touch</span> amazon-s3-backup.<span class="kw2">sh</span></div>
</li>
</ol>
</div>
<p>3. Use your favourite text editor  to add the following code to the script</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="co0">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#Backup iPhoto</span></div>
</li>
<li class="li1">
<div class="de1">synchronize.<span class="kw2">sh</span> UP YOUR-IPHOTO-BUCKET <span class="sy0">/</span>Users<span class="sy0">/</span>YOUR-USERNAME<span class="sy0">/</span>Pictures<span class="sy0">/</span>iPhoto\ Library <span class="sy0">&gt;&gt;</span> logs<span class="sy0">/</span>amazon-s3-iphoto-backup.log</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#Backup Documents</span></div>
</li>
<li class="li1">
<div class="de1">synchronize.<span class="kw2">sh</span> UP YOUR-DOCUMENTS-BUCKET <span class="sy0">/</span>Users<span class="sy0">/</span>YOUR-USERNAME<span class="sy0">/</span>Documents <span class="sy0">&gt;&gt;</span> logs<span class="sy0">/</span>amazon-s3-document-backup.log</div>
</li>
</ol>
</div>
<p>Replace <em>YOUR-IPHOTO-BUCKET</em> with the amazon S3 bucket you want to use, and replace <em>YOUR-USERNAME</em> with your username on your mac or *nix system. We pipe the output from the sync process to files in the logs directory, one log file for the iphoto and one log file for the documents process.</p>
<p>4. Edit your crontab. The crontab is a file where you can add files that you want to automatically execute on a regular basis. </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">crontab -e</div>
</li>
</ol>
</div>
<p>5. Add the script to your crontab, I&#8217;ve chosen to run it once a week at 20:00 every Sunday, which is expressed by (0 20 * * 0). </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">&nbsp;<span class="nu0">0</span> <span class="nu0">20</span> <span class="sy0">*</span> &nbsp;<span class="sy0">*</span> <span class="nu0">0</span> <span class="sy0">/</span>Users<span class="sy0">/&lt;</span>em<span class="sy0">&gt;</span>YOUR-USERNAME<span class="sy0">&lt;/</span>em<span class="sy0">&gt;/</span>scripts<span class="sy0">/</span>amazon-s3-backup.<span class="kw2">sh</span></div>
</li>
</ol>
</div>
<p>6. Save your cronjob</p>
<p>There you go, now you&#8217;ll backup your iPhoto library and Documents every Sunday at 20:00 as long as your computer is turned on and online. You can of course tweak when and how often you want to sync to Amazon S3, you can read more about scheduling cron jobs at <a href="http://en.wikipedia.org/wiki/Cron" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Cron?referer=');">wikipedia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2011/05/21/automated-backups-to-amazon-s3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Review: PHP5 Social Networking</title>
		<link>http://www.klunde.net/2011/05/06/review-php5-social-networking/</link>
		<comments>http://www.klunde.net/2011/05/06/review-php5-social-networking/#comments</comments>
		<pubDate>Fri, 06 May 2011 20:34:51 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=551</guid>
		<description><![CDATA[Packt publishing contacted me couple of months back, asking me if I was interested in reviewing &#8220;PHP5 Social Networking&#8221; by Michael Peacock. The title intrigued me as I&#8217;ve built several social networking applications and I was interested in seeing Michaels approach to this. The first chapter starts by defining social networking, it looks at the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2011%2F05%2F06%2Freview-php5-social-networking%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2011_2F05_2F06_2Freview-php5-social-networking_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2011%2F05%2F06%2Freview-php5-social-networking%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.packtpub.com/" onclick="urchinTracker('/outgoing/www.packtpub.com/?referer=');">Packt publishing</a> contacted me  couple of months back, asking me if I was interested in reviewing <a href="http://www.amazon.co.uk/PHP-Social-Networking-Michael-Peacock/dp/1849512388/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1304713910&#038;sr=8-1" onclick="urchinTracker('/outgoing/www.amazon.co.uk/PHP-Social-Networking-Michael-Peacock/dp/1849512388/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1304713910_038_sr=8-1&amp;referer=');">&#8220;PHP5 Social Networking&#8221;</a> by <a href="http://www.michaelpeacock.co.uk/" onclick="urchinTracker('/outgoing/www.michaelpeacock.co.uk/?referer=');">Michael Peacock</a>. The title intrigued me as I&#8217;ve built several social networking applications and I was interested in seeing Michaels approach to this. </p>
<p>The first chapter starts by defining social networking, it looks at the most known social networks out there. It also reviews available social network software out there such as <a href="http://www.elgg.org/" onclick="urchinTracker('/outgoing/www.elgg.org/?referer=');">Elgg</a>, <a href="http://drupal.org/" onclick="urchinTracker('/outgoing/drupal.org/?referer=');">drupal</a> and <a href="http://www.joomla.org/" onclick="urchinTracker('/outgoing/www.joomla.org/?referer=');">joomla</a>. The approach taken in this book is to roll out an own application from scratch with no base framework. The basics of this framework is described in chapter 2 and 3. </p>
<p>Chapter 4 to 10 deals with the core elements of social networks, such as friends, friend requests, statuses, streams, messaging and events. Each chapter describe how to the functionality should work, a detailed implementation plan is shown and ideas for further development is discussed.</p>
<p>Chapter 11 show the reader how the application easily can support an API, I really like that Michael chose to add this chapter as I think it is a crucial element to any social network that is going to go somewhere. </p>
<p>Maintenance, security and deployment is discussed  in chapter 12. I find this chapter a bit odd as it describe very basic steps to get the application up and running on the production server. I would have liked to see more about automated deployment in this chapter.</p>
<p>All social network sites need to get users and hopefully generate some revenue, this is the topic of chapter 13 which describe solutions and approaches to marketing, SEO techniques and monetization. </p>
<p>The last chapter is &#8220;Planning for growth&#8221; a very important chapter in my mind. It describes approaches for profiling of web applications, server scaling, redundancy and more. </p>
<p>It is a well written book with good examples and it describes the build of the application in detail so the user easily can follow and copy the examples. I would definitely recommend this book to novice developers as it is a good introduction to a lot of good programming practices. It can also be a decent book to read if you are an experienced developer that want to learn more about the core concepts of building a social network. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2011/05/06/review-php5-social-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lunde Development &#8211; In Business</title>
		<link>http://www.klunde.net/2010/10/05/lunde-development-in-business/</link>
		<comments>http://www.klunde.net/2010/10/05/lunde-development-in-business/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 08:54:04 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=530</guid>
		<description><![CDATA[Say hi to Lunde Development. The 3rd of August 2010 was the first official day of my own company, Lunde Development. I had at that point already been working with the company ideas and proposals for a while and was able to hit the ground running with my first project already secured. Since then I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2010%2F10%2F05%2Flunde-development-in-business%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2010_2F10_2F05_2Flunde-development-in-business_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2010%2F10%2F05%2Flunde-development-in-business%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Say hi to Lunde Development.</p>
<p>The 3rd of August 2010 was the first official day of my own company, Lunde Development. I had at that point already been working with the company ideas and proposals for a while and was able to hit the ground running with my first project already secured. Since then I&#8217;ve had several cool clients such as <a href="http://www.hoverstate.com" onclick="urchinTracker('/outgoing/www.hoverstate.com?referer=');">hoverState</a> a high-end US based digital agency, the Newcastle based software company <a href="http://www.band-x.org" onclick="urchinTracker('/outgoing/www.band-x.org?referer=');">Band-X</a> and <a href="http://www.sharperecruitment.co.uk/" onclick="urchinTracker('/outgoing/www.sharperecruitment.co.uk/?referer=');">Sharpe Recruitment</a> a recruitment agency in Newcastle. You can read more about these projects on my <a href="http://www.kristianlunde.com/en/portfolio" onclick="urchinTracker('/outgoing/www.kristianlunde.com/en/portfolio?referer=');">portfolio page</a>.</p>
<p>The future looks bright for Lunde Development and I enjoy every second of running my own business, it is challenging, I learn so much and most important of all, it is fun. </p>
<p>Please check out <a href="http://www.kristianlunde.com" onclick="urchinTracker('/outgoing/www.kristianlunde.com?referer=');">http://www.kristianlunde.com</a>. </p>
<p>You know where to go if you need a new web site, a piece of software or consultancy <img src='http://www.klunde.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2010/10/05/lunde-development-in-business/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend_Input_Filter and the Alnum Validator</title>
		<link>http://www.klunde.net/2010/07/18/zend_input_filter-and-the-alnum-validator/</link>
		<comments>http://www.klunde.net/2010/07/18/zend_input_filter-and-the-alnum-validator/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 21:00:28 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend_Input_Filter]]></category>
		<category><![CDATA[Zend_Validate_Alnum]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=518</guid>
		<description><![CDATA[The Zend_Input_Filter is a very useful tool when you need to validate and filter the input to your application. It allows you to both filter and validate the input without a lot of hassle. One of the cool features it has is that it allows you to add the validators you need and meta commands [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2010%2F07%2F18%2Fzend_input_filter-and-the-alnum-validator%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2010_2F07_2F18_2Fzend_input_filter-and-the-alnum-validator_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2010%2F07%2F18%2Fzend_input_filter-and-the-alnum-validator%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The <a href="http://framework.zend.com/manual/en/zend.filter.input.html" onclick="urchinTracker('/outgoing/framework.zend.com/manual/en/zend.filter.input.html?referer=');">Zend_Input_Filter</a> is a very useful tool when you need to validate and filter the input to your application. It allows you to both filter and validate the input without a lot of hassle. One of the cool features it has is that it allows you to add the validators you need and meta commands to each validator. For instance you can set an <a href="http://framework.zend.com/manual/en/zend.validate.set.html" onclick="urchinTracker('/outgoing/framework.zend.com/manual/en/zend.validate.set.html?referer=');">Alnum</a> validator to allow empty fields, set a default text and so on. </p>
<p>I came over this annoying issue the other day when I tried to setup the Alnum validator to allow white spaces and have a few meta commands attached to the validator chain. The <a href="http://framework.zend.com/manual/en/zend.filter.input.html" onclick="urchinTracker('/outgoing/framework.zend.com/manual/en/zend.filter.input.html?referer=');">manual</a> says that you can do this:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$validators</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&#39;month&#39;</span> &nbsp; <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#39;Digits&#39;</span><span class="sy0">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">// string</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">new</span> Zend_Validate_Int<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="co1">// object instance</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;Between&#39;</span><span class="sy0">,</span> <span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">12</span><span class="br0">&#41;</span> &nbsp;<span class="co1">// string with constructor arguments</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Which I assumed would also work like this:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$validators</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&#39;name&#39;</span> &nbsp; <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#39;Alnum&#39;</span><span class="sy0">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">new</span> Zend_Validate_Alnum<span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="co1">//allow whitespaces</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;default&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;&#39;</span><span class="sy0">,</span> &nbsp;<span class="co1">//meta command 1</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;presence&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;required&#39;</span><span class="sy0">,</span> <span class="co1">//meta command 2</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>This does not work though. You need to remove the validator type string and replace it with an instance of the Zend_Validate_Alnum validator to get it to accept whitespaces and meta commands. This is the right way to do it:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$validators</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&#39;name&#39;</span> &nbsp; <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">new</span> Zend_Validate_Alnum<span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="co1">//allow whitespaces</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;default&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;&#39;</span><span class="sy0">,</span> <span class="co1">//meta command 1</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;presence&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;required&#39;</span><span class="sy0">,</span> <span class="co1">//meta command 2</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>The entire script ends up looking like this:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$filters</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&#39;name&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;StringTrim&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$validators</span> <span class="sy0">=</span> &nbsp;<span class="kw3">array</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&#39;name&#39;</span> &nbsp; <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">new</span> Zend_Validate_Alnum<span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="co1">//allow whitespaces</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;default&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#39;presence&#39;</span> <span class="sy0">=&gt;</span> <span class="st0">&#39;required&#39;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$input</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Input_Filter<span class="br0">&#40;</span><span class="re1">$filter</span><span class="sy0">,</span> <span class="re1">$input</span><span class="sy0">,</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">getRequest</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">getParams</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2010/07/18/zend_input_filter-and-the-alnum-validator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Klunde.net moved server</title>
		<link>http://www.klunde.net/2009/11/06/klunde-net-moved-server/</link>
		<comments>http://www.klunde.net/2009/11/06/klunde-net-moved-server/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 23:39:41 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=407</guid>
		<description><![CDATA[Tonight (Friday 06.11.2009) klunde.net was moved from the servetheworld.net server to my new server provider Webfaction.co.uk. The move seemed to go painlessly, even the email accounts seem to work properly. Klunde.net has been with servetheworld for approx. 5 years now. Webfaction had a much better solution to offer than Servetheworld and it was therefore an [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F11%2F06%2Fklunde-net-moved-server%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F11_2F06_2Fklunde-net-moved-server_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F11%2F06%2Fklunde-net-moved-server%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Tonight (Friday 06.11.2009) klunde.net was moved from the servetheworld.net server to my new server provider Webfaction.co.uk. The move seemed to go painlessly, even the email accounts seem to work properly.</p>
<p>Klunde.net has been with servetheworld for approx. 5 years now. Webfaction had a much better solution to offer than Servetheworld and it was therefore an easy choice.</p>
<p>Farewell Servetheworld.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/11/06/klunde-net-moved-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recurring payments with Paypal and PHP</title>
		<link>http://www.klunde.net/2009/10/02/recurring-payments-with-paypal-and-php/</link>
		<comments>http://www.klunde.net/2009/10/02/recurring-payments-with-paypal-and-php/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 09:59:03 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=397</guid>
		<description><![CDATA[I have spent the past few days working with online payment solutions for mysapient. Yesterday I came across a bit of a troublesome issue when setting up recurring payments with paypal. There is no secret that the quality of the paypal documentation varies, so I had some troubles finding any proper information about this issue. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F10%2F02%2Frecurring-payments-with-paypal-and-php%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F10_2F02_2Frecurring-payments-with-paypal-and-php_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F10%2F02%2Frecurring-payments-with-paypal-and-php%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I have spent the past few days working with online payment solutions for mysapient. Yesterday I came across a bit of a troublesome issue when setting up recurring payments with paypal. There is no secret that the quality of the paypal documentation varies, so I had some troubles finding any proper information about this issue. Luckily there was a lot of other developers struggling with this same issue. </p>
<p>A quick google search gives you a lot of results about this topic and it can take you a while to get through them all, but at least here is the forum post that helped me getting this solved:</p>
<p>http://www.pdncommunity.com/pdn/board/message?board.id=nvp&#038;view=by_date_ascending&#038;message.id=5463</p>
<p>It seems like the setExpressCheckout needs the following parameters to work properly:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>L_BILLINGTYPE0<span class="br0">&#93;</span> <span class="sy0">=&gt;</span> RecurringPayments</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>L_BILLINGAGREEMENTDESCRIPTION0<span class="br0">&#93;</span> <span class="sy0">=&gt;</span> Basic Plan</div>
</li>
</ol>
</div>
<p>It is also important to add the &#8220;desc&#8221; field to the createRecurringPaymentsProfile call.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>DESC<span class="br0">&#93;</span> <span class="sy0">=&gt;</span> Basic Plan</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/10/02/recurring-payments-with-paypal-and-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Frenzy</title>
		<link>http://www.klunde.net/2009/09/24/amazon-frenzy/</link>
		<comments>http://www.klunde.net/2009/09/24/amazon-frenzy/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 20:29:36 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=383</guid>
		<description><![CDATA[The other day I had a frenzy at amazon and ordered quite a few books I have had on my shopping list. The books are of course all computer and web related. The books I ordered was: Building Scalable Web Sites by Cal Henderson High Performance MySQL JavaScript: The Good Parts by Douglas Crockford Don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F09%2F24%2Famazon-frenzy%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F09_2F24_2Famazon-frenzy_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F09%2F24%2Famazon-frenzy%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The other day I had a frenzy at amazon and ordered quite a few books I have had on my shopping list. The books are of course all computer and web related. The books I ordered was:</p>
<ul>
<li>
<a href="http://www.amazon.co.uk/exec/obidos/ASIN/0596102356/ref=ox_ya_oh_product" onclick="urchinTracker('/outgoing/www.amazon.co.uk/exec/obidos/ASIN/0596102356/ref=ox_ya_oh_product?referer=');">Building Scalable Web Sites</a> by <a href="http://www.iamcal.com/" onclick="urchinTracker('/outgoing/www.iamcal.com/?referer=');">Cal Henderson</a>
</li>
<li>
<a href="http://www.amazon.co.uk/exec/obidos/ASIN/0596101716/ref=ox_ya_oh_product" onclick="urchinTracker('/outgoing/www.amazon.co.uk/exec/obidos/ASIN/0596101716/ref=ox_ya_oh_product?referer=');">High Performance MySQL</a>
</li>
<li>
<a href="http://www.amazon.co.uk/exec/obidos/ASIN/0596517742/ref=ox_ya_oh_product" onclick="urchinTracker('/outgoing/www.amazon.co.uk/exec/obidos/ASIN/0596517742/ref=ox_ya_oh_product?referer=');">JavaScript: The Good Parts</a> by <a href="http://www.crockford.com/" onclick="urchinTracker('/outgoing/www.crockford.com/?referer=');">Douglas Crockford</a></li>
<li><a href="http://www.amazon.co.uk/exec/obidos/ASIN/0321344758/ref=ox_ya_oh_product" onclick="urchinTracker('/outgoing/www.amazon.co.uk/exec/obidos/ASIN/0321344758/ref=ox_ya_oh_product?referer=');">Don&#8217;t Make Me Think!: A Common Sense Approach to Web Usability</a> by <a href="http://www.sensible.com/about.html" onclick="urchinTracker('/outgoing/www.sensible.com/about.html?referer=');">Steve Krug</a>
</li>
<li><a href="http://www.amazon.co.uk/exec/obidos/ASIN/0321503619/ref=ox_ya_oh_product" onclick="urchinTracker('/outgoing/www.amazon.co.uk/exec/obidos/ASIN/0321503619/ref=ox_ya_oh_product?referer=');">Cocoa Programming for Mac OS X</a> by <a href="http://en.wikipedia.org/wiki/Aaron_Hillegass" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Aaron_Hillegass?referer=');">Aaron Hillegass</a>
</li>
</ul>
<p>
I am halfway through the building scalable web sites and it is really good, even if you are a seasoned web developer I think you can learn quite a bit from it. I have also started to read the MySQL book and can&#8217;t wait to learn more about database replication, that is something I really want to find out more about. The &#8220;Don&#8217;t make me think&#8221; book will hopefully assist me on building more user friendly web sites, and hopefully the javascript book(still in the mail) will help me to brush up my js skills.
</p>
<p>
The Cocoa book was on sale, and you never know when you have to do a bit of programming for a mac <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/09/24/amazon-frenzy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the move</title>
		<link>http://www.klunde.net/2009/06/03/on-the-move/</link>
		<comments>http://www.klunde.net/2009/06/03/on-the-move/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 20:00:07 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=297</guid>
		<description><![CDATA[I am currently switching both domain host and web host, and in that case this site might be down for a little while. I am about to replicate the site to my new web host so hopefully it will be a minimum of down time. I have chosen to leave servetheworld.net which has been my [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F06%2F03%2Fon-the-move%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F06_2F03_2Fon-the-move_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F06%2F03%2Fon-the-move%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I am currently switching both domain host and web host, and in that case this site might be down for a little while. I am about to replicate the site to my new web host so hopefully it will be a minimum of down time.</p>
<p>I have chosen to leave <a href="http://www.servetheworld.net" onclick="urchinTracker('/outgoing/www.servetheworld.net?referer=');">servetheworld.net</a> which has been my web host since 2003, they have done a great job, but the time has now come to move to a web host which can provide me with some more advanced features.</p>
<p>I have chosen<a href="http://www.webfaction.com/?affiliate=klunde" onclick="urchinTracker('/outgoing/www.webfaction.com/?affiliate=klunde&amp;referer=');"> webfaction.com</a> as my new web host. I chose them because they offer a multitude of different applications, for instance svn, python, ruby on rails and of course PHP. They also offer ssh access.  </p>
<p>I chose <a href="http://www.123-reg.co.uk" onclick="urchinTracker('/outgoing/www.123-reg.co.uk?referer=');">123-reg.com</a> to host my domain names, that was done out of convenience, they are well known, large and hopefully know what they are doing  <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/06/03/on-the-move/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My 7 things</title>
		<link>http://www.klunde.net/2009/01/22/my-7-things/</link>
		<comments>http://www.klunde.net/2009/01/22/my-7-things/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 23:34:32 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=253</guid>
		<description><![CDATA[The 7 things have been all around the PHP community for a while now, and I got tagged by Christer a while ago. So I guess I should go around and publish my seven things: I am an assisting nurse graduate I have a 3 year old daughter Expired dairy products are some of the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F01%2F22%2Fmy-7-things%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F01_2F22_2Fmy-7-things_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F01%2F22%2Fmy-7-things%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The 7 things have been all around the PHP community for a while now, and I got tagged by <a href="http://cogo.wordpress.com/2009/01/04/seven-things-tagged-by-shahar-evron" onclick="urchinTracker('/outgoing/cogo.wordpress.com/2009/01/04/seven-things-tagged-by-shahar-evron?referer=');">Christer</a> a while ago. So I guess I should go around and publish my seven things:</p>
<ol>
<li>I am an assisting nurse graduate</li>
<li>I have a 3 year old daughter</li>
<li>Expired dairy products are some of the most disgusting things I know</li>
<li>I dream of some day having a small cabin by the lake, without any internet or television?!?</li>
<li>I often think about how it would be like to be the only person alive on the earth. (Something similar to the &#8220;I am legend&#8221; movie, without the zombies).</li>
<li>I took dance lessons when I was a kid, however I really suck at dancing.</li>
<li>I drink way to much Pepsi</li>
</ol>
<p>Those seven things were not really interesting at all, but it was all I could get together for now. Who knows someday I just might publish: &#8220;the top 1000 things you did not know about me&#8221; <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>My lucky seven bloggers which I tag are:</p>
<ul>
<li>Ms. Ramona Zachariassen</li>
<li><a href="http://yeknaa.wordpress.com/" onclick="urchinTracker('/outgoing/yeknaa.wordpress.com/?referer=');">Mr. Mike Parker</a></li>
<li><a href="http://www.fuselagetown.com/" onclick="urchinTracker('/outgoing/www.fuselagetown.com/?referer=');">Ms. Torunn Seim Skrogstad</a></li>
<li><a href="http://tomdancer.com/" onclick="urchinTracker('/outgoing/tomdancer.com/?referer=');">Mr. T. Dancer</a></li>
<li><a href="http://dispo.se/" onclick="urchinTracker('/outgoing/dispo.se/?referer=');">Mr. Jan-Petter Jensen</a></li>
<li><a href="http://blog.michaelodden.com/" onclick="urchinTracker('/outgoing/blog.michaelodden.com/?referer=');">Mr. Michael Odden</a></li>
<li><a href="http://thyrhaug.net" onclick="urchinTracker('/outgoing/thyrhaug.net?referer=');">Mr. Magne Thyrhaug</a></li>
</ul>
<p>Here are some rules that must be followed by anyone who decide to follow up:</p>
<p>    * Link your original tagger(s), and list these rules on your blog.<br />
    * Share seven facts about yourself in the post &#8211; some random, some wierd.<br />
    * Tag seven people at the end of your post by leaving their names and the links to their blogs.<br />
    * Let them know they’ve been tagged by leaving a comment on their blogs and/or Twitter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/01/22/my-7-things/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Merry Christmas</title>
		<link>http://www.klunde.net/2008/12/24/merry-christmas/</link>
		<comments>http://www.klunde.net/2008/12/24/merry-christmas/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 09:54:56 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=237</guid>
		<description><![CDATA[I wish you all a very merry christmas]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F12%2F24%2Fmerry-christmas%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F12_2F24_2Fmerry-christmas_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F12%2F24%2Fmerry-christmas%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I wish you all a very merry christmas <img src='http://www.klunde.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/12/24/merry-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

