<?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>Christoffer Kjølbæk</title>
	<atom:link href="http://ostehamster.dk/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://ostehamster.dk/blog</link>
	<description>I have a blog, therefore I am…</description>
	<lastBuildDate>Sat, 14 Aug 2010 12:47:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using UUID for USB harddrives in fstab</title>
		<link>http://ostehamster.dk/blog/index.php/2010/08/14/using-uuid-for-usb-harddrives-in-fstab/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/08/14/using-uuid-for-usb-harddrives-in-fstab/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 12:47:24 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=965</guid>
		<description><![CDATA[If you use a number of USB hard drives attached to a server (or desktop), you will notice that they (can) come up with different device names after each reboot. Because of the different names, it is difficult to use the names in /etc/fstab. To avoid this problem, it is possible to use UUID instead, [...]]]></description>
			<content:encoded><![CDATA[<p>If you use a number of USB hard drives attached to a server (or desktop), you will notice that they (can) come up with different device names after each reboot. Because of the different names, it is difficult to use the names in /etc/fstab. To avoid this problem, it is possible to use UUID instead, which is an unique id number for each partition.</p>
<p>If you fstab line for the USB disk looks like</p>
<blockquote><p>/dev/sdc2	/nas/data	ext3    errors=remount-ro 0       1</p></blockquote>
<p>You should get the UUID of /dev/sdc2 by running</p>
<blockquote><p>blkid /dev/sdb2</p></blockquote>
<p>Which gives something like</p>
<blockquote><p>/dev/sdb2: LABEL="maxtor_b_data" UUID="b7a042b2-60c6-4116-8324-065a3d23520d" TYPE="ext3"</p></blockquote>
<p>Change the fstab line to</p>
<blockquote><p>UUID=b7a042b2-60c6-4116-8324-065a3d23520d	/nas/data	ext3    errors=remount-ro 0       1</p></blockquote>
<p>And you are ready to go :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/08/14/using-uuid-for-usb-harddrives-in-fstab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP function to get current SVN ID</title>
		<link>http://ostehamster.dk/blog/index.php/2010/07/18/php-function-to-get-current-svn-id/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/07/18/php-function-to-get-current-svn-id/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 12:16:40 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=960</guid>
		<description><![CDATA[Make a function like the below in you PHP file

function get_rev&#40;&#41; &#123;
	return &#40;int&#41;substr&#40;substr&#40;'$Rev: 168 $', 6&#41;, 0, -2&#41;;
&#125;

And add the Revision keyword to the properties of the file

svn propset svn:keywords Revision your_file.php

"$Rev: 168 $" will then automatically be updated on every commit.
]]></description>
			<content:encoded><![CDATA[<p>Make a function like the below in you PHP file</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> get_rev<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'$Rev: 168 $'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>And add the Revision keyword to the properties of the file</p>

<div class="wp_syntax"><div class="code"><pre class="pre" style="font-family:monospace;">svn propset svn:keywords Revision your_file.php</pre></div></div>

<p>"$Rev: 168 $" will then automatically be updated on every commit.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/07/18/php-function-to-get-current-svn-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NemID &#8211; det er op af bakke fra dag 1 :)</title>
		<link>http://ostehamster.dk/blog/index.php/2010/07/01/nemid-det-er-op-af-bakke-fra-dag-1/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/07/01/nemid-det-er-op-af-bakke-fra-dag-1/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 21:59:19 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Sikkerhed]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=954</guid>
		<description><![CDATA[Nej hvor er jeg dog allerede glad for NemID. Prøver at bestille vha. kørekort på https://borger.pr.certifikat.dk/borger/bestil_nemid/ hvilket giver
Der er opstået en fejl under bestillingen. Kontakt support for yderligere hjælp.
Så må man jo skrive til kundesupport via https://borger.pr.certifikat.dk/support/kontakt/skriv_til_support/index.html
Hej, jeg kan ikke bestille NemID vba. kørekort, da jeg hver gang jeg prøver får denne meget sigende fejl: [...]]]></description>
			<content:encoded><![CDATA[<p>Nej hvor er jeg dog allerede glad for NemID. Prøver at bestille vha. kørekort på https://borger.pr.certifikat.dk/borger/bestil_nemid/ hvilket giver</p>
<blockquote><p>Der er opstået en fejl under bestillingen. Kontakt support for yderligere hjælp.</p></blockquote>
<p>Så må man jo skrive til kundesupport via https://borger.pr.certifikat.dk/support/kontakt/skriv_til_support/index.html</p>
<blockquote><p>Hej, jeg kan ikke bestille NemID vba. kørekort, da jeg hver gang jeg prøver får denne meget sigende fejl: "Der er opstået en fejl under bestillingen. Kontakt support for yderligere hjælp."</p></blockquote>
<p>Men så nemt skal det ikke være, og jeg bliver derfor mødt af denne besked når jeg prøver at sende formularen:</p>
<blockquote><p>Sikkerhed kompromitteret</p>
<p>Vi har konstateret tegn på at der foregår et sikkerhedsangreb.</p></blockquote>
<p>Det skal åbenbart ikke være nemt at komme i gang med NemID. Og hvorfor kan man iøvrigt ikke bestille NemID via sin digitale signatur, så kunne man da få lov at bruge den en sidste gang!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/07/01/nemid-det-er-op-af-bakke-fra-dag-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolution 2.30.1 for Ubuntu 10.04 64 bit</title>
		<link>http://ostehamster.dk/blog/index.php/2010/06/06/evolution-2-30-1-for-ubuntu-10-04-64-bit/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/06/06/evolution-2-30-1-for-ubuntu-10-04-64-bit/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 11:42:25 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=947</guid>
		<description><![CDATA[For some reason Ubuntu 10.04 is shipped with Evolution 2.28.3, which for me is quite unstable. Crashes with Segmentation Fault very often. However, Jacob Zimmermann has a PPA with Evolution 2.30.1:
sudo add-apt-repository ppa:jacob/evo230
sudo apt-get update
sudo apt-get dist-upgrade
I hope this is more stable!
]]></description>
			<content:encoded><![CDATA[<p>For some reason Ubuntu 10.04 is shipped with Evolution 2.28.3, which for me is quite unstable. Crashes with Segmentation Fault very often. However, <a href="https://launchpad.net/~jacob/+archive/evo230">Jacob Zimmermann has a PPA</a> with Evolution 2.30.1:</p>
<blockquote><p>sudo add-apt-repository ppa:jacob/evo230<br />
sudo apt-get update<br />
sudo apt-get dist-upgrade</p></blockquote>
<p>I hope this is more stable!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/06/06/evolution-2-30-1-for-ubuntu-10-04-64-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 10.04 @ Lenovo ThinkPad T410s</title>
		<link>http://ostehamster.dk/blog/index.php/2010/06/05/ubuntu-10-04-lenovo-thinkpad-t410s/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/06/05/ubuntu-10-04-lenovo-thinkpad-t410s/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 12:59:20 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[Lenovo]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=938</guid>
		<description><![CDATA[Works out of the box

Graphics (Intel GMA HD Graphics)
Wlan
Lan
Webcam, tested in Skype
Touchpad and trackpoint

Works with some tweaking

USB was not working out of the box, but after an kernel update (to 2.6.32-22 64 bit) it started working
There was not sound out of the box, but a work-around is found at launchpad.net

Not tested

Fingerprint reader
Card reader
CD/DVD writer
e-SATA	

Updated 13 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Works out of the box</strong></p>
<ul>
<li>Graphics (Intel GMA HD Graphics)</li>
<li>Wlan</li>
<li>Lan</li>
<li>Webcam, tested in Skype</li>
<li>Touchpad and trackpoint</li>
</ul>
<p><strong>Works with some tweaking</strong></p>
<ul>
<li><del datetime="2010-06-13T10:52:14+00:00">USB was not working out of the box, but after an kernel update (to 2.6.32-22 64 bit) it started working</del></li>
<li>There was not sound out of the box, but a work-around is found at <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/538383/comments/6">launchpad.net</a></li>
</ul>
<p><strong>Not tested</strong></p>
<ul>
<li>Fingerprint reader</li>
<li>Card reader</li>
<li>CD/DVD writer</li>
<li>e-SATA	</li>
</ul>
<p><strong>Updated 13 June</strong><br />
USB do not work, unless some device is attached when the computer i booting :(</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/06/05/ubuntu-10-04-lenovo-thinkpad-t410s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing VirtualBox (non-free) in Ubuntu 10.04, Lucid Lynx</title>
		<link>http://ostehamster.dk/blog/index.php/2010/06/05/installing-virtualbox-non-free-in-ubuntu-10-04-lucid-lynx/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/06/05/installing-virtualbox-non-free-in-ubuntu-10-04-lucid-lynx/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 11:37:41 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 10.04]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=932</guid>
		<description><![CDATA[sudo -s "echo 'deb http://download.virtualbox.org/virtualbox/debian\
 lucid non-free' >> /etc/apt/sources.list"
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- &#124; sudo apt-key add -
sudo apt-get update
sudo apt-get install virtualbox-3.2

]]></description>
			<content:encoded><![CDATA[<pre>sudo -s "echo 'deb http://download.virtualbox.org/virtualbox/debian\
 lucid non-free' >> /etc/apt/sources.list"
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install virtualbox-3.2
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/06/05/installing-virtualbox-non-free-in-ubuntu-10-04-lucid-lynx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash in Ubuntu 10.04 64 bit</title>
		<link>http://ostehamster.dk/blog/index.php/2010/06/03/flash-in-ubuntu-10-04-64-bit/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/06/03/flash-in-ubuntu-10-04-64-bit/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 20:35:11 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=926</guid>
		<description><![CDATA[Installing Adobe Flash from the repository in Ubuntu 10.04 64 bit gives you the 32 bit version and runs it with nspluginwrapper. I have experienced several problems with this solution in Firefox, and is therefore using Adobes 64 bit Linux version.
Uninstall the repository version of flash
sudo apt-get remove flashplugin-installer nspluginwrapper
Get the Adobes Linux version from [...]]]></description>
			<content:encoded><![CDATA[<p>Installing Adobe Flash from the repository in Ubuntu 10.04 64 bit gives you the 32 bit version and runs it with <a href="http://freshmeat.net/projects/nspluginwrapper/">nspluginwrapper</a>. I have experienced several problems with this solution in Firefox, and is therefore using Adobes 64 bit Linux version.</p>
<p>Uninstall the repository version of flash</p>
<blockquote><p>sudo apt-get remove flashplugin-installer nspluginwrapper</p></blockquote>
<p>Get the Adobes Linux version from <a href="http://labs.adobe.com/downloads/flashplayer10_64bit.html">http://labs.adobe.com/downloads/flashplayer10_64bit.html</a> and install it:</p>
<blockquote><p>wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz<br />
tar -zxvf libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz<br />
sudo mv libflashplayer.so /usr/lib/mozilla/plugins/<br />
rm libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz</p></blockquote>
<p>Restart Firefox</p>
<p><strong>Update: June 6th</strong><br />
I have switched back to the "Ubuntu" Flash, because I was unable to use pages from ipapercms.dk:</p>
<blockquote><p>sudo rm /usr/lib/mozilla/plugins/libflashplayer.so<br />
sudo apt-get install flashplugin-nonfree</p></blockquote>
<p>The flickering seems to disappear when all the fancy visual effects are disabled.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/06/03/flash-in-ubuntu-10-04-64-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sjov med Google AdSense</title>
		<link>http://ostehamster.dk/blog/index.php/2010/05/05/sjov-med-google-adsense/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/05/05/sjov-med-google-adsense/#comments</comments>
		<pubDate>Wed, 05 May 2010 16:01:37 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[food4u.dk]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Spas]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=917</guid>
		<description><![CDATA[Google AdSense laver nu nogle ret sjove sammenhænge en gang imellem. F.eks. var der på opskriften Ostehaps - for de voksne disse reklamer:

Den første er slankekur, det er måske meget godt når man sidder og kigger på opskrifter under kategorien "Dessert". Den næste er for Shulstads leverbrødkur, hvilket passer meget fint da denne opskrift indeholde [...]]]></description>
			<content:encoded><![CDATA[<p>Google AdSense laver nu nogle ret sjove sammenhænge en gang imellem. F.eks. var der på opskriften <a href="http://food4u.dk/opskrifter/6896/Ostehaps+-+for+de+voksne/">Ostehaps - for de voksne</a> disse reklamer:<br />
<a href="http://ostehamster.dk/blog/wp-content/uploads/2010/05/Sk%C3%A6rmbillede-2.png"><img src="http://ostehamster.dk/blog/wp-content/uploads/2010/05/Skærmbillede-2.png" alt="Skærmbillede-2" title="Skærmbillede-2" width="100%" class="aligncenter size-medium wp-image-918" /></a></p>
<p>Den første er slankekur, det er måske meget godt når man sidder og kigger på opskrifter under kategorien "Dessert". Den næste er for Shulstads leverbrødkur, hvilket passer meget fint da denne opskrift indeholde rugbrød. Nummer fra er for Tena, "Bleer til voksne" :) Er det mon bare pga. et match på "voksne" i titlen?</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/05/05/sjov-med-google-adsense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is an optimal object-oriented program with an underlying database?</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/26/what-is-an-optimal-object-oriented-program-with-an-underlying-database/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/26/what-is-an-optimal-object-oriented-program-with-an-underlying-database/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 14:18:30 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Object-oriented programming]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Optimizing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[System Architecture]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=875</guid>
		<description><![CDATA[Consider a very simple message board system consisting of a user and amessages table in the database. The user table would look like the following:

+----+-------------+
&#124; id &#124; username    &#124;
+----+-------------+
&#124;  1 &#124; John Doe    &#124; 
&#124;  2 &#124; Jane Doe    &#124; 
&#124;  3 &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>Consider a very simple message board system consisting of a user and amessages table in the database. The user table would look like the following:</p>

<div class="wp_syntax"><div class="code"><pre class="pre" style="font-family:monospace;">+----+-------------+
| id | username    |
+----+-------------+
|  1 | John Doe    | 
|  2 | Jane Doe    | 
|  3 | Richard Roe | 
+----+-------------+</pre></div></div>

<p>and the messages would look like the following:</p>

<div class="wp_syntax"><div class="code"><pre class="pre" style="font-family:monospace;">+----+-------------+---------+--------------------------------------------------------------------------+
| id | in_reply_to | user_id | message                                                                  |
+----+-------------+---------+--------------------------------------------------------------------------+
|  1 |           0 |       2 | What is an optimal object-oriented program with an underlaying database? | 
|  2 |           0 |       1 | What does cohesion mean?                                                 | 
|  3 |           1 |       3 | Donno, check ostehamster.dk                                              | 
|  4 |           2 |       1 | Try http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29         | 
+----+-------------+---------+--------------------------------------------------------------------------+</pre></div></div>

<p>Now, if we want to show the message with id 1 and all answers, together with the name of the user posting it, it is very simple</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> u<span style="color: #66cc66;">.</span>username<span style="color: #66cc66;">,</span> m<span style="color: #66cc66;">.</span>message
<span style="color: #993333; font-weight: bold;">FROM</span> messages m
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> user u <span style="color: #993333; font-weight: bold;">ON</span> u<span style="color: #66cc66;">.</span>id <span style="color: #66cc66;">=</span> m<span style="color: #66cc66;">.</span>user_id
<span style="color: #993333; font-weight: bold;">WHERE</span> m<span style="color: #66cc66;">.</span>id <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">OR</span> m<span style="color: #66cc66;">.</span>in_reply_to <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span> 
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> m<span style="color: #66cc66;">.</span>id <span style="color: #993333; font-weight: bold;">ASC</span>;</pre></div></div>

<p>This results in :</p>

<div class="wp_syntax"><div class="code"><pre class="pre" style="font-family:monospace;">+-------------+--------------------------------------------------------------------------+
| username    | message                                                                  |
+-------------+--------------------------------------------------------------------------+
| Jane Doe    | What is an optimal object-oriented program with an underlaying database? | 
| Richard Roe | Donno, check ostehamster.dk                                              | 
+-------------+--------------------------------------------------------------------------+</pre></div></div>

<p>Very simple!</p>
<p><strong>Object-oriented</strong><br />
Now, if we want to make this object-oriented with high cohesion, a possibility for inheritance and all the other buzzwords, we need a User and a MessageBoard class.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">class</span> User <span style="color: #008000;">&#123;</span>
   <span style="color: #0000ff;">int</span> user_id<span style="color: #008080;">;</span>
   std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> username<span style="color: #008080;">;</span>
&nbsp;
   <span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
      User<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> user_id<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> get_username<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000ff;">int</span> get_user_id<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
   <span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
      <span style="color: #0000ff;">void</span> load_user<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> user_id<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">class</span> MessageBoard <span style="color: #008000;">&#123;</span>
   <span style="color: #0000ff;">int</span> msg_id<span style="color: #008080;">;</span>
   std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> messages<span style="color: #008080;">;</span>
&nbsp;
   <span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
      MessageBoard<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> msg_id<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      std_string print<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
   <span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
      <span style="color: #0000ff;">void</span> load_messageboard<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> msg_id<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Actually, it might be more correct to have a Message class too. The Message class would handle each unique message, and the MessageBoard would then link a number of Message objects together. However, to make it more simple, we only use the MessageBoard class.</p>
<p>If the User and MessageBoard should have high cohesion, the classes should be wrappers for the underlying tables, and the above SQL query with the LEFT JOIN cannot be used. It should be possible for the <em>User</em> developers to change the database design and the internal functionality of the User class, without the <em>MessageBoard</em> developers needing to make any changes, as long as the User API does not change.</p>
<p>The User class could have a function returning the "LEFT JOIN" statement, which could then be put into the query made by the MessageBoard class. But in my opinion this will result in lower cohesion, because users and messages could be stored in different databases, hosts and even different formats.</p>
<p>If the tables can not be joined in any way, the <em>print</em> function could be implemented like:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> print<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
   conn <span style="color: #000080;">=</span> mysql_init<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
   <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>mysql_real_connect<span style="color: #008000;">&#40;</span>conn, server, user, password, database, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
      mysql_query<span style="color: #008000;">&#40;</span>conn, <span style="color: #FF0000;">&quot;SELECT user_id, message FROM messages m WHERE m.id = 1 OR m.in_reply_to = 1  ORDER BY m.id ASC;&quot;</span><span style="color: #008000;">&#41;</span>
&nbsp;
      res <span style="color: #000080;">=</span> mysql_use_result<span style="color: #008000;">&#40;</span>conn<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>row <span style="color: #000080;">=</span> mysql_fetch_row<span style="color: #008000;">&#40;</span>res<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
         User user <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> User<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">atoi</span><span style="color: #008000;">&#40;</span>row<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
         <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;User: %s, Message: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, user.<span style="color: #007788;">get_username</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, row<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #008000;">&#125;</span>
&nbsp;
      mysql_free_result<span style="color: #008000;">&#40;</span>res<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
   <span style="color: #008000;">&#125;</span>
&nbsp;
   mysql_close<span style="color: #008000;">&#40;</span>conn<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>However, for each line in the message board this will make a new instance of the User class, which again will make a connection and a query to the database. For a message board it will not be a lot of calls, but in bigger and more complex systems it can be a serious bottleneck.</p>
<p><strong>Caching objects</strong><br />
This could be solved by having a User cache, like this static function:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">static</span> User<span style="color: #000040;">*</span> get_cached_user<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> user_id<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
   <span style="color: #0000ff;">static</span> std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span> User<span style="color: #000040;">*</span> <span style="color: #000080;">&gt;</span> cache<span style="color: #008080;">;</span>
&nbsp;
   vector<span style="color: #000080;">&lt;</span> User<span style="color: #000040;">*</span> <span style="color: #000080;">&gt;</span> <span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it<span style="color: #008080;">;</span>
   <span style="color: #ff0000; font-style: italic;">/* Is the user chached? */</span>
   <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> it<span style="color: #000080;">=</span>cache.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008080;">;</span> it <span style="color: #000080;">&lt;</span> cache.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
      <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>it<span style="color: #008000;">&#41;</span>.<span style="color: #007788;">get_user_id</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> user_id<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
         <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>it<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #008000;">&#125;</span>
   <span style="color: #008000;">&#125;</span>
&nbsp;
   <span style="color: #ff0000; font-style: italic;">/* Generate and cache user */</span>
   cache.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">new</span> User<span style="color: #008000;">&#40;</span>user_id<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
   <span style="color: #0000ff;">return</span> cache.<span style="color: #007788;">back</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>This will decrease the number of queries to the database. However it might still result in a lot of calls to the database compared to the "LEFT JOIN" query.</p>
<p>The last option I can think of is to make a static function in the User class called </pre>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">User<span style="color: #000040;">*</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> get_multiple_user<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> ids<span style="color: #008000;">&#41;</span></pre></div></div>

<p> The function takes an array of user ids, fetches all user data from the database in one query, and then generates an array of User objects pointers. This caching method will work like the one above, but all users are found using one database call, and thereby it decreases the total number of database queries to two.</p>
<p><strong>But what is the right solution?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/26/what-is-an-optimal-object-oriented-program-with-an-underlying-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pølsebrød</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/20/p%c3%b8lsebr%c3%b8d/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/20/p%c3%b8lsebr%c3%b8d/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 20:41:28 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Hotdogs]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>
		<category><![CDATA[Øko]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=832</guid>
		<description><![CDATA[Hotdogs skal der til, og det skal naturligvis være med hjemmelavede pølsebrød.
Da der en dag var økopøller på bud i Irma, blev jeg nødt til at lave et par økohotdog, og den eneste måde at få økopølsebrød på, er ved at bage dem selv. Jeg har i hvert fald ikke kunnet finde nogen.
Til 16 pølsebrød [...]]]></description>
			<content:encoded><![CDATA[<p>Hotdogs skal der til, og det skal naturligvis være med hjemmelavede pølsebrød.<center><a href="http://food4u.dk/billed/607/"><img src="http://food4u.dk/billed/607/20" alt="Økohotdogs" /></a></center></p>
<p>Da der en dag var økopøller på bud i Irma, blev jeg nødt til at lave et par økohotdog, og den eneste måde at få økopølsebrød på, er ved at bage dem selv. Jeg har i hvert fald ikke kunnet finde nogen.</p>
<p>Til 16 pølsebrød bruges</p>
<blockquote><p>2 dl mælk<br />
25g gær<br />
1 tsk salt<br />
Et nip sukker<br />
1 æg<br />
2 spsk olie<br />
1 dl rugmel<br />
4-5 dl hvedemel</p></blockquote>
<p>Mælk, olie, salt, sukker, æg og gær blandes godt sammen.</p>
<p>Tilsæt rugmelen, og begynd at ælte dejen sammen mens hvedemelen tilsættes lidt efter lidt. Dejen skal være lind.</p>
<p>Lad dejen hæve i en skål i ca. 30 minutter.</p>
<p>Slå dejem med og del den i fire. Hvert af de fire stykker rulles til en pølse der deles i fire pølsebrød.</p>
<p>Brødene ligges i en bradepande, med en afstand der er lidt mindre en bredden af brødene.</p>
<p>Lad dem igen hæve 30 minutter, til de er "hævet sammen".</p>
<p>Bag dem ved 200 grader i ca. 15 minutter.</p>
<p><img src="http://food4u.dk/billed/608/7" alt="Før hævning" /> <img src="http://food4u.dk/billed/609/7" alt="Efter hævning" /> <img src="http://food4u.dk/billed/610/7" alt="Efter bagning" /></p>
<p>Giv gerne karakter og kommentar på opskriften på food4u.dk under <a href="http://food4u.dk/opskrifter/6902/P%C3%B8lsebr%C3%B8d/">Pølsebrød</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/20/p%c3%b8lsebr%c3%b8d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lammeculotte med jordskoksalat</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/12/lammeculotte-med-jordskoksalat/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/12/lammeculotte-med-jordskoksalat/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 09:39:15 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Lam]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=815</guid>
		<description><![CDATA[På et tidspunkt bliver man træt af flødebagte og ovnbagte jordskokker, og så skal der prøves noget nyt. Denne jordskoksalat er simpel og mætter godt, uden at man bliver stopmæt :)

Lammeculotte
En lammeculotte
Salt, peber
2 tsk rosmarin
2 spsk citronsaft
2 spsk oliven olie
1 fed hvidløg, fint hakket

Tænd ovnen på 180° (varmluft).
 
Rids fedtet i culotte og læg den [...]]]></description>
			<content:encoded><![CDATA[<p>På et tidspunkt bliver man træt af flødebagte og ovnbagte jordskokker, og så skal der prøves noget nyt. Denne jordskoksalat er simpel og mætter godt, uden at man bliver stopmæt :)<br />
<center><img src="http://food4u.dk/billed/599/20" alt="" /></center></p>
<p><strong>Lammeculotte</strong></p>
<blockquote><p>En lammeculotte<br />
Salt, peber<br />
2 tsk rosmarin<br />
2 spsk citronsaft<br />
2 spsk oliven olie<br />
1 fed hvidløg, fint hakket
</p></blockquote>
<p>Tænd ovnen på 180° (varmluft).<br />
<center><img src="http://food4u.dk/billed/600/10" alt="" /> <img src="http://food4u.dk/billed/601/10" alt="" /></center></p>
<p>Rids fedtet i culotte og læg den i en lille bradepande eller ildfast fad. Hæld en dl eller to i bunden, og gnid culotten med olie og citronsaft, efterfulgt af krydderierne.</p>
<p>Stil culotten i den varmeovn, og steg den i ca. 30 minutter. Der kan med fordel bruges et stegetermometer, og steges til en kernetemperatur på 65 grader, hvilket gerne skulle være rosa.</p>
<p>Når stegen er færdig, hvile den 10-15 minutter under sølvpapir.</p>
<p><strong>Jordskoksalaten</strong></p>
<blockquote><p>En bakke, 100g, rucola<br />
4-6 jordskokker, afhængigt af størrelse<br />
En lille håndfuld hasselnødder<br />
2 spsk oliven olie<br />
Salt og peber<br />
Citronsaft</p></blockquote>
<p>Mens culotten er i ovnen, og der massere af tid til at lave salaten.<br />
<center><img src="http://food4u.dk/billed/602/10" alt="" /> <img src="http://food4u.dk/billed/603/10" alt="" /></center></p>
<p>Rucolaen skyldes, jordskokkerne renses grundigt. Det er ikke nødvendigt at skrælle dem, men man kan hvis man ikke synes om skrællen, eller hvis de ikke er så pæne.</p>
<p>Hasselnødder ristes hurtigt af på en varm pande.</p>
<p>Jordskokkerne skæres i skiver på ca. en halv centimeter. Skru ned for blusset, tilsæt olivenolie til hasselnødderne og rist jordskokkerne heri. Hvor længe de skal have bestemmer man selv. Jeg synes de skal være varme, men stadig sprøde, andre synes de skal være bløde.</p>
<p>Når de har nået den rette konsistens, helst lige før, tilsættes lidt citronsaft der skal koge ind. Smag til med salt og peber.</p>
<p>Jordskokker og rucola blandes, og fordeles på tallerkner sammen med kødet. Dette skal ske i sidst øjeblik, da rucolaen ellers nemt falder helt sammen.</p>
<p>Find flere billeder på opskriften på food4u.dk, under <a href="http://food4u.dk/opskrifter/6897/Lammeculotte+med+jordskoksalat/">Lammeculotte med jordskoksalat</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/12/lammeculotte-med-jordskoksalat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ostehaps &#8211; for de voksne</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/11/ostehaps-for-de-voksne/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/11/ostehaps-for-de-voksne/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 21:24:58 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Gourmet]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>
		<category><![CDATA[Ost]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=806</guid>
		<description><![CDATA[Vi fik i indflytningsgave en kurv med diverse lækkeri af et par venner, deriblandt en super øko blåskimmelost. Jeg er ikke 100% sikker, men jeg mener det var en Viking Blue fra Thise. Osten var virkelig kraftig, og kaldte derfor på lidt sødt tilbehør, hvilket blev til denne ostehaps for voksne.

Ud over den kraftige blåskimmelost [...]]]></description>
			<content:encoded><![CDATA[<p>Vi fik i indflytningsgave en kurv med diverse lækkeri af et par venner, deriblandt en super øko blåskimmelost. Jeg er ikke 100% sikker, men jeg mener det var en <a href="http://thise.eu/Opskrifter/Kogebog/ost2.html">Viking Blue</a> fra Thise. Osten var virkelig kraftig, og kaldte derfor på lidt sødt tilbehør, hvilket blev til denne ostehaps for voksne.<br />
<center><a href="http://food4u.dk/opskrifter/6896/Ostehaps+-+for+de+voksne/"><img src="http://food4u.dk/billed/596/20" alt="anretning" /></a></center></p>
<p>Ud over den kraftige blåskimmelost skal bruges</p>
<blockquote><p>Tørrede figner<br />
Akaciehonning<br />
Tynde skiver ristet rugbrød</p></blockquote>
<p>Ideen er at honningen giver lidt sødme til osten og fignerne giver en lille frisk bid inden næste stykke ost. Brødet er til at give lidt sprødhed. Dertil kan man passende drikke lidt god rødvin :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/11/ostehaps-for-de-voksne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making &#8220;backtrace&#8221; in MySQL with &#8220;recursive&#8221; call</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/11/making-backtrace-in-mysql-with-recursive-call/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/11/making-backtrace-in-mysql-with-recursive-call/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 13:00:47 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=777</guid>
		<description><![CDATA[Having items mapped in a tree structure is often used in database design, using "child" and "parent" ids or "nodes" and "leaf nodes". Often when presenting data, it is nice to make a "backtrace" by showing all nodes from the leaf to the root of the tree.
In this case I have a system with a [...]]]></description>
			<content:encoded><![CDATA[<p>Having items mapped in a tree structure is often used in database design, using "child" and "parent" ids or "nodes" and "leaf nodes". Often when presenting data, it is nice to make a "backtrace" by showing all nodes from the leaf to the root of the tree.</p>
<p>In this case I have a system with a lot of users, each of which is mapped to a group. The groups are defined as a tree structure, but because of the roles of the system, the leaf node can never be more than three nodes away from the root. I need to show a list of, say all users not logged in the last 2 months, and the list should show in which groups the users is located.</p>
<p>I could find all users, get the group id from each users and with a recursive function in the application, find the parent group id of the group, get this group from the database, find the parent group id of the group, get this group from the database..... This would require a lot of database activity. It is also possible to make <a href="http://www.developersdex.com/gurus/articles/112.asp">nested sets</a> or <a href="http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html">stored procedures</a>, but if the depth of the three is relative low (and known), I believe the below is simpler.</p>
<p>The table of groups is defined as:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`groups`</span> <span style="color: #66cc66;">&#40;</span>
	<span style="color: #ff0000;">`gid`</span> INT <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">,</span>
	<span style="color: #ff0000;">`pgid`</span> INT <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span>
	<span style="color: #ff0000;">`title`</span> VARCHAR<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> 
<span style="color: #66cc66;">&#41;</span> ENGINE <span style="color: #66cc66;">=</span> MYISAM ;</pre></div></div>

<p>With these groups:</p>
<pre>mysql> select * from groups;
+-----+------+---------+
| gid | pgid | title   |
+-----+------+---------+
|   1 |    0 | Level 1 |
|   2 |    1 | Level 2 |
|   3 |    2 | Level 3 |
|   4 |    3 | Level 4 |
|   5 |    4 | Level 5 |
+-----+------+---------+
5 rows in set (0.00 sec)
</pre>
<p>With the below query, it is possible to make the backtrace using joins. Line 6 will find the record holding the parent group of the selected group as the temporary record bt1. Line 7 will then use the parent group id from bt1 to find this group as bt2, and so on.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> groups<span style="color: #66cc66;">.</span>gid<span style="color: #66cc66;">,</span> groups<span style="color: #66cc66;">.</span>title<span style="color: #66cc66;">,</span> 
	bt1<span style="color: #66cc66;">.</span>gid <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'gid-1'</span><span style="color: #66cc66;">,</span> bt1<span style="color: #66cc66;">.</span>title <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'title-1'</span><span style="color: #66cc66;">,</span> 
	bt2<span style="color: #66cc66;">.</span>gid <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'gid-2'</span><span style="color: #66cc66;">,</span> bt2<span style="color: #66cc66;">.</span>title <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'title-2'</span><span style="color: #66cc66;">,</span> 
	bt3<span style="color: #66cc66;">.</span>gid <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'gid-3'</span><span style="color: #66cc66;">,</span> bt3<span style="color: #66cc66;">.</span>title <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">'title-3'</span>
<span style="color: #993333; font-weight: bold;">FROM</span> groups
	<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> groups <span style="color: #993333; font-weight: bold;">AS</span> bt1 <span style="color: #993333; font-weight: bold;">ON</span> bt1<span style="color: #66cc66;">.</span>gid <span style="color: #66cc66;">=</span> groups<span style="color: #66cc66;">.</span>pgid
	<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> groups <span style="color: #993333; font-weight: bold;">AS</span> bt2 <span style="color: #993333; font-weight: bold;">ON</span> bt2<span style="color: #66cc66;">.</span>gid <span style="color: #66cc66;">=</span> bt1<span style="color: #66cc66;">.</span>pgid
	<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> groups <span style="color: #993333; font-weight: bold;">AS</span> bt3 <span style="color: #993333; font-weight: bold;">ON</span> bt3<span style="color: #66cc66;">.</span>gid <span style="color: #66cc66;">=</span> bt2<span style="color: #66cc66;">.</span>pgid
<span style="color: #993333; font-weight: bold;">WHERE</span> groups<span style="color: #66cc66;">.</span>gid <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>The result is</p>
<pre>+-----+---------+-------+---------+-------+---------+-------+---------+
| gid | title   | gid-1 | title-1 | gid-2 | title-2 | gid-3 | title-3 |
+-----+---------+-------+---------+-------+---------+-------+---------+
|   1 | Level 1 |  NULL | NULL    |  NULL | NULL    |  NULL | NULL    |
|   2 | Level 2 |     1 | Level 1 |  NULL | NULL    |  NULL | NULL    |
|   3 | Level 3 |     2 | Level 2 |     1 | Level 1 |  NULL | NULL    |
|   4 | Level 4 |     3 | Level 3 |     2 | Level 2 |     1 | Level 1 |
|   5 | Level 5 |     4 | Level 4 |     3 | Level 3 |     2 | Level 2 |
+-----+---------+-------+---------+-------+---------+-------+---------+
5 rows in set (0.00 sec)</pre>
<p>This is not really a recursive call as the title says, but the result is the same, though much faster :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/11/making-backtrace-in-mysql-with-recursive-call/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sauce bearnaise, uden essens</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/06/sauce-bearnaise-uden-essens/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/06/sauce-bearnaise-uden-essens/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 19:42:32 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>
		<category><![CDATA[Sauce]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=769</guid>
		<description><![CDATA[Denne sauce bearnaise er lavet uden "købe essens". Man burde nok bruge frisk estragon, men tørret er nu en gang lettere at få fat i. Ydermere har jeg brugt koldt uklaret smør, hvor man nok normalt ville bruge klaret. Fordelen ved at bruge kold smør, er at saucen ikke bliver for varm. Samtidig vil smørret [...]]]></description>
			<content:encoded><![CDATA[<p>Denne sauce bearnaise er lavet uden "købe essens". Man burde nok bruge frisk estragon, men tørret er nu en gang lettere at få fat i. Ydermere har jeg brugt koldt uklaret smør, hvor man nok normalt ville bruge klaret. Fordelen ved at bruge kold smør, er at saucen ikke bliver for varm. Samtidig vil smørret langsomt smelte når det tilsættes, hvilket betyder at man ikke får overmættet saucen.<center><a href="http://food4u.dk/opskrifter/6895/Sauce+bearnaise%2C+uden+essens/"><img src="http://food4u.dk/billed/594/11" alt="Sauce bearnaise" /> <img src="http://food4u.dk/billed/595/11" alt="Ingredienser" /></a><br />
</center></p>
<p>Til fire personer bruges ca.</p>
<blockquote><p>1 lille skalotteløg<br />
1 spsk tørret estragon<br />
4 spsk hvidvinseddike<br />
4 æggeblommer<br />
250 gram kold smør</p></blockquote>
<p>Skalotteløget hakkes fint. Løg, estragon og hvidvinseddike reduceres til ca. 2 spsk i en kasserolle. Filtrer den reducerede eddike gennem en si, fjern løg rester fra kasserollen og kom eddiken tilbage.</p>
<p>Pisk æggeblommerne i eddiken og varm det op, men maks til 70 grader.</p>
<p>Tilsæt en tsk smør til saucen, og pisk godt. Først når smøren er helt optaget i saucen tilsættes den næste tsk smør. Fortsæt sådan indtil alt smørret er brugt, eller til den ønskede konsistens er opnået.</p>
<p>Når saucen er færdig tages den af varmen, mens der fortsat piskes indtil kasserollens bund er kølet tilstrækkeligt ned, så saucen ikke skiller.</p>
<p>Tilsæt evt. lidt estragon inden servering.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/06/sauce-bearnaise-uden-essens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Æble- og kanelmuffins</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/05/%c3%a6ble-og-kanelmuffins/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/05/%c3%a6ble-og-kanelmuffins/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 13:00:00 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Kage]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Muffins]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=760</guid>
		<description><![CDATA[Æbler og kanel er altid godt sammen, så da jeg havde et par gamle æbler, var det bare med at få nogle muffins. Grund opskriften er den samme som for alle de muffins jeg har lavet, her bare tilsat æbler og kanel.

4 dl mel
1 spsk bagepulver
2 spsk kanel
75 g smør
2 dl mælk
2 æg
125 gram sukker [...]]]></description>
			<content:encoded><![CDATA[<p>Æbler og kanel er altid godt sammen, så da jeg havde et par gamle æbler, var det bare med at få nogle muffins. Grund opskriften er den samme som for alle de <a href="http://ostehamster.dk/blog/index.php/tag/muffins/">muffins</a> jeg har lavet, her bare tilsat æbler og kanel.</p>
<p><center><img src="http://food4u.dk/billed/592/20" alt="Æble- og kanelmuffins" /></center></p>
<blockquote><p>4 dl mel<br />
1 spsk bagepulver<br />
2 spsk kanel<br />
75 g smør<br />
2 dl mælk<br />
2 æg<br />
125 gram sukker (gerne med lidt hjemmelavet vanilliesukker i)<br />
250 gram æbler, i tern ½ x ½ cm</p></blockquote>
<p>Bland de tørre ingredienser i en skål.</p>
<p>Smelt smørret i en gryde, tag den af blusset, tilsæt æg og mælk og bland godt.</p>
<p>Rør mælkeblandingen i de tørre ingredienser og bland det godt sammen. Vend æbleternen i dejen og hæld den i smurte forme.</p>
<p>Bag ved 200 grader i 25-30 minutter og tjek med en kødnål at de er bagt ordentligt i midten.</p>
<p>Opskriften er naturligvis også på food4u.dk under <a href="http://food4u.dk/opskrifter/6894/%C3%86ble-+og+kanelmuffins/">æble- og kanelmuffins</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/05/%c3%a6ble-og-kanelmuffins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farmor&#8217;s røde sild</title>
		<link>http://ostehamster.dk/blog/index.php/2010/04/04/farmors-r%c3%b8de-sild/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/04/04/farmors-r%c3%b8de-sild/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 11:18:43 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Frokost]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=750</guid>
		<description><![CDATA[Opskriften på disse røde sild er fra min farmor, de er lette at lave men smager super godt. Jeg ved ikke om hun selv har fundet på dem, eller om hun også har arvet opskriften. I hvert fald fik vi dem tit til jul og påske, og da min far havde lavet dem her i [...]]]></description>
			<content:encoded><![CDATA[<p>Opskriften på disse <a href="http://food4u.dk/opskrifter/6441/Farmor%27s+sild/">røde sild</a> er fra min farmor, de er lette at lave men smager super godt. Jeg ved ikke om hun selv har fundet på dem, eller om hun også har arvet opskriften. I hvert fald fik vi dem tit til jul og påske, og da min far havde lavet dem her i påsken, kom jeg i tanke om at det nok var en ide at dele opskriften :)</p>
<p><center><a href="http://food4u.dk/opskrifter/6441/Farmor%27s+sild/"><img src="http://food4u.dk/billed/591/20" alt="Farmor's rødesild" /></a></center></p>
<p><strong>Ingredienser:</strong></p>
<blockquote><p>3 udvandede sild<br />
½ dl. eddike<br />
½ dl. estragoneddike<br />
100g sukker<br />
5-10 peberkorn<br />
Evt. nelliker<br />
1 dl. tomatketchup<br />
2 hakkede agurker<br />
2 hakkede løg<br />
2 hakkede kogte gulerødder<br />
Evt. 2 spks olie</p></blockquote>
<p>Eddike og sukker blandes, tomatketchup og krydderierne tilsættes.</p>
<p>De hakkede agurker, løg og gulerødder blandes i, sammen med olie.</p>
<p>Silden skæres i stykker og blandes i.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/04/04/farmors-r%c3%b8de-sild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rugbrød lavet på surdej</title>
		<link>http://ostehamster.dk/blog/index.php/2010/03/07/rugbr%c3%b8d-lavet-pa-surdej/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/03/07/rugbr%c3%b8d-lavet-pa-surdej/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 18:39:33 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Brød]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>
		<category><![CDATA[Surdej]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=728</guid>
		<description><![CDATA[Det tager et par dage at lave et rugbrød med surdej, og for mange lyder det voldsomt. Det meste af tiden står det bare og hygger sig selv, og det er meget lidt arbejde i det.

Den første surdej
Den første surdej laves ved hjælp af mælkesyrebakterier, og der bliver derfor ikke tilsat gær til dette rugbrød.
100g [...]]]></description>
			<content:encoded><![CDATA[<p>Det tager et par dage at lave et rugbrød med surdej, og for mange lyder det voldsomt. Det meste af tiden står det bare og hygger sig selv, og det er meget lidt arbejde i det.</p>
<p><center><img src="http://food4u.dk/billed/583/20" alt="Rugbrød" /></center></p>
<p><strong>Den første surdej</strong><br />
Den første surdej laves ved hjælp af mælkesyrebakterier, og der bliver derfor ikke tilsat gær til dette rugbrød.</p>
<blockquote><p>100g rugmel<br />
½ dl lunkent vand<br />
½ dl økologisk kærnemælk, A38 eller lignende surmælksprodukt.</p></blockquote>
<p>Dette blandes i en skål, dækkes til med film og stilles på køkkenbordet 2-3 dage. Man kan godt røre lidt i det et par gange om dagen. Hvis du synes det bliver meget tyk, kan der tilsættes lidt ekstra vand og mel, og bakterierne har noget at leve af :)</p>
<p>Når surdejen har stået et par dage, er det tid at komme i gang med brødet. Der skal bruges to skåle, en til surdejen og en til kernene. Denne opskrift er til et rugbrød, 2-3 liters form, men det er muligt at doble op på det hele.</p>
<p><strong>Surdej</strong></p>
<blockquote><p>300 gram rugmel<br />
2 - 2½ dl lunkent vand<br />
1 tsk øko honning<br />
75 g surdej</p></blockquote>
<p>Det hele æltes godt sammen og stilles til hævning i skålen, dækket til med film, i 24 timer på køkkenbordet. Start med 2 dl vand, da der kan være forskel på hvor meget melet kan optage. Dejen skal være fast.</p>
<p><strong>Kerner</strong><br />
Imens surdejen hæver, skal kernene sættes i blød.</p>
<blockquote><p>500 gram knækket rug<br />
15 gram salt<br />
½ liter koldt vand<br />
Op til 150 gram frø og kerne (hirse, solsikke, græskar osv.)</p></blockquote>
<p>Det hele blandes i en skål der dækkes med film og stilles til hævning i 24 timer sammen med surdejen.</p>
<p>Mængden af frø og kerne er naturligvis en smagssag, men man når et punkt hvor der bliver så mange, er rugbrødet får svært ved at hænge sammen. Jeg synes de 150 gram er passende, og jeg bruger primært hirsefrø, solsikke- og græskarkerner.</p>
<p><center><img src="http://food4u.dk/billed/585/10" alt="Kerner" /> <img src="http://food4u.dk/billed/587/10" alt="Dejen" /></center></p>
<p><strong>Rugbrødet</strong><br />
Når kernerne er udblødte og surdejen hævet, er det på tide at lave selve brødet. </p>
<blockquote><p>Surdej<br />
De udblødte kerner<br />
200 gram rugmel<br />
1 spsk øko honning<br />
1-2 dl varmt vand</p></blockquote>
<p>Start med at tage 75 gram surdej, kom det i et syltetøjsglas og gem det i køleskabet til næste gang du skal lave rugbrød. Så slipper du får at lave en ny "surdejsstarter" hver gang.</p>
<p>Surdejen, kerner, rugmel og honning blandes, og vandet tilsættes lidt af gang. Igen kan mængden af vand variere meget, og det kan derfor være du skal bruge mere end 2 dl. Dejen skal være lind og slippe skålen uden problemer.</p>
<p>Dejen hældes i en passende rugbrødsform der dækkes med bagepapir eller et viskestykke. Jeg har haft brugt staniol, men har oplevet af dejen simpelthen kunne "spise" hold på det, hvorfor jeg holdt op med det :)</p>
<p>Lad brødet hævet på bordet i endnu 24 timer.</p>
<p>Efter 24 timer sættes brødet i en 275 grader varm ovn, hvorefter der med det samme skrues ned på 180 grader. Brødet bages ca. en timer og 20 minutter. Der kan være forskel på forskellige ovnen, så det er lidt at prøve sig frem, og se hvad der giver det bedste resultat. Dog skal det under ingen omstændigheder bages med varmluft!</p>
<p>På food4u.dk under "<a href="http://food4u.dk/opskrifter/6889/Rugbr%C3%B8d+lavet+p%C3%A5+surdej/">Rugbrød lavet på surdej</a>" er der flere billeder, samt mulighed for at give karakter og kommentar.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/03/07/rugbr%c3%b8d-lavet-pa-surdej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jordbær/rabarber marmelade</title>
		<link>http://ostehamster.dk/blog/index.php/2010/03/07/jordbaer-rabarber-marmelade/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/03/07/jordbaer-rabarber-marmelade/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 15:16:01 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Marmelade]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=718</guid>
		<description><![CDATA[Jeg fik altid Wasa Frukost knækbrød med smør og min farmors jordbær/rabarber marmelade når jeg var på besøg hos min farmor og farfar, og det har været min favorit marmelade lige siden. Denne opskrift er min egen version og ikke helt som den jeg fik som barn, men den bringer i hvert fald minder frem [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg fik altid <a href="http://www.wasa.com/da/fuldkornsgalleri/#/da/produkt/knackebrod/wasa-frukost/">Wasa Frukost</a> knækbrød med smør og min farmors jordbær/rabarber marmelade når jeg var på besøg hos min farmor og farfar, og det har været min favorit marmelade lige siden. Denne opskrift er min egen version og ikke helt som den jeg fik som barn, men den bringer i hvert fald minder frem :)</p>
<blockquote><p>½-1 dl vand<br />
600 gram frosne rabarber<br />
400 gram frosne jordbær<br />
1 vaniliestang<br />
400 g sukker<br />
2 spsk Melatin (konserveringsmiddel)</p></blockquote>
<p>Bær og vand kommes i en gryde. Vaniliestangen flækkes og kornene skrabes ud, det hele tilsættes gryden.</p>
<p>Bringes i kog ved meget svag varme, og koger ca. 25 minutter under låg. Hvis der bruges friske bær er det ikke nødvendigt med vand. Jeg synes bare det er nemmere at undgå at de frosne bær brænder på, hvis der tilsættes vand.</p>
<p>Tilsæt sukkeret og kog videre ca. 15 minutter, her må temperaturen gerne være lidt højere. Marmeladen skal koges indtil rabarberne midster deres struktur og bliver til tråde.</p>
<p>Bland 2 spsk Melatin med 2 spsk sukker, og rør det ud i marmeladen, kog et par minutter.</p>
<p>Marmeladen hældes på <a href="http://da.wikipedia.org/wiki/Atamon">Atamon</a> skyllede glas, og lukkes med det samme.</p>
<p>Diverse husmor råd siger at der skal bruges 500g sukker til 1 kg frugt, men jeg synes nu 400 er alt rigeligt.</p>
<p><center><img src="http://food4u.dk/billed/581/11" alt="Jordbær/rabarber marmelade på glas" />  <img src="http://food4u.dk/billed/582/11" alt="Jordbær/rabarber marmelade i gryden" /></center></p>
<p>Opskriften er naturligvis også at finde på food4u.dk under "<a href="http://food4u.dk/opskrifter/6888/Jordb%C3%A6rrabarber+marmelade/">Jordbær/rabarber marmelade</a>", hvor der kan kommenteres og gives karakter :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/03/07/jordbaer-rabarber-marmelade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hindbærmuffins</title>
		<link>http://ostehamster.dk/blog/index.php/2010/03/03/hindb%c3%a6rmuffins/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/03/03/hindb%c3%a6rmuffins/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:32:56 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Kage]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Muffins]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=714</guid>
		<description><![CDATA[Så blev det tid til muffins igen, denne gang med hindbær. Opskriften er som til brombærmuffins, bare med andre bær :)

Ingredienser
4 dl mel
1 spsk bagepulver
75 g smør
2 dl mælk
2 æg
125 gram sukker (gerne med lidt hjemmelavet vanilliesukker i)
275 gram hindbær
Bland de tørre ingredienser i en skål.
Smelt smørret i en gryde, tag den af blusset, tilsæt [...]]]></description>
			<content:encoded><![CDATA[<p>Så blev det tid til muffins igen, denne gang med hindbær. Opskriften er som til <a href="http://ostehamster.dk/blog/index.php/2010/01/30/brombærmuffins/">brombærmuffins</a>, bare med andre bær :)</p>
<p><img src="http://food4u.dk/billed/577/20" alt="hindbærmuffins" /></p>
<p><strong>Ingredienser</strong></p>
<blockquote><p>4 dl mel<br />
1 spsk bagepulver<br />
75 g smør<br />
2 dl mælk<br />
2 æg<br />
125 gram sukker (gerne med lidt hjemmelavet vanilliesukker i)<br />
275 gram hindbær</p></blockquote>
<p>Bland de tørre ingredienser i en skål.</p>
<p>Smelt smørret i en gryde, tag den af blusset, tilsæt æg og mælk og bland godt.</p>
<p>Rør mælkeblandingen i de tørre ingredienser og bland det godt sammen. Vend hindbærene i dejen og hæld den i smurte forme.</p>
<p>Bag ved 200 grader i 25-30 minutter og tjek med en kødnål at de er bagt ordentligt i midten.</p>
<p>Opskriften er naturligvis også på food4u.dk under <a href="http://food4u.dk/opskrifter/6887/Hindb%C3%A6rmuffins/">hindbærmuffins</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/03/03/hindb%c3%a6rmuffins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Xilinx ISE/EDK 11.5 under Ubuntu 9.10</title>
		<link>http://ostehamster.dk/blog/index.php/2010/02/21/installing-xilinx-edk-11-4-under-ubuntu-9-10/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/02/21/installing-xilinx-edk-11-4-under-ubuntu-9-10/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:20:35 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[VHDL / FPGA]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[VHDL]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=695</guid>
		<description><![CDATA[This guide tell how-to install Xilinx ISE and EDK under Ubuntu 9.10, using a 30-days evaluation license acquired at http://www.xilinx.com/ise_eval/index.htm.
Required tools
The EDK needs make, which must be called gmake. The easiest way is to install build essential and make a symlink from make to gmake. Futhermore fxload is needed for firmware upload and motif for [...]]]></description>
			<content:encoded><![CDATA[<p>This guide tell how-to install Xilinx ISE and EDK under Ubuntu 9.10, using a 30-days evaluation license acquired at <a href="http://www.xilinx.com/ise_eval/index.htm">http://www.xilinx.com/ise_eval/index.htm</a>.</p>
<p><strong>Required tools</strong><br />
The EDK needs make, which must be called gmake. The easiest way is to install build essential and make a symlink from make to gmake. Futhermore fxload is needed for firmware upload and motif for the GUI.</p>
<pre>sudo apt-get install fxload build-essential motif-clients
sudo ln -s /usr/bin/make /usr/bin/gmake</pre>
<p>If you have purchased a development board from Xilinx, use the included DVD:</p>
<blockquote><p>cd /media/cdrom<br />
sudo ./xsetup</p></blockquote>
<p>If not, follow the download link at the above URL, and download the ISE Design Suite: Full DVD, which is roughly 5.6 GB and untar it:</p>
<blockquote><p>mkdir ise<br />
cd ise<br />
tar -cvf Xilinx_11.1_ISE_DS_SFD.tar<br />
cd Xilinx_11.1_ISE_DS_SFD<br />
sudo ./xsetup</p></blockquote>
<p>You do not need to use <code>sudo</code>, but if all users on the system should use EDK, it will be installed in /opt/Xilinx/ using sudo. If <code>sudo</code> is not used, it will be installed in /home/<em>username</em>/.</p>
<p>The installation process is straight forward, and will guide you to setting up a license in the last step. If you choose to use the 30-day trial, a browser will open the Xilinx license system, which will generate the license, download it and install it.</p>
<p><strong>Start up scripts</strong></p>
<p>In order to start <code>xps</code> the environment variable $XILINX must hold the path to ISE. To start <code>xps</code> type</p>
<pre>export XILINX=/opt/Xilinx/11.1/ISE/ &#038;& /opt/Xilinx/11.1/EDK/bin/lin/xps</pre>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/02/21/installing-xilinx-edk-11-4-under-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cleaning up /boot by removing unused kernels (Ubuntu)</title>
		<link>http://ostehamster.dk/blog/index.php/2010/02/21/cleaning-up-boot-by-removing-unused-kernels/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/02/21/cleaning-up-boot-by-removing-unused-kernels/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:12:59 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=697</guid>
		<description><![CDATA[At some point /boot will be full of old kernels (if /boot is a separate partition), which makes it impossible to make a dist-upgrade and it is therefore necessary to remove some old kernels.
Start by finding you current kernel
uname -r
which will give something like
2.6.24-25-server
Now, find all installed kernels
aptitude search linux&#124;grep linux-image &#124; grep "i  [...]]]></description>
			<content:encoded><![CDATA[<p>At some point /boot will be full of old kernels (if /boot is a separate partition), which makes it impossible to make a dist-upgrade and it is therefore necessary to remove some old kernels.</p>
<p>Start by finding you current kernel</p>
<pre>uname -r</pre>
<p>which will give something like</p>
<blockquote><p>2.6.24-25-server</p></blockquote>
<p>Now, find all installed kernels</p>
<pre>aptitude search linux|grep linux-image | grep "i   "</pre>
<p>which will give something like</p>
<blockquote><p>i   linux-image-2.6.24-12-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-14-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-15-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-16-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-17-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-18-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-19-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-21-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-22-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-23-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-24-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-2.6.24-25-server    - Linux kernel image for version 2.6.24 on x<br />
i   linux-image-server              - Linux kernel image on Server Equipment.</p></blockquote>
<p>Purge all of these, except the one found with <code>uname -r</code> and linux-image-server, which is a meta package</p>
<pre>sudo apt-get purge linux-image-2.6.24-14-server linux-image-2.6.24-15-server linux-image-2.6.24-16-server linux-image-2.6.24-17-server linux-image-2.6.24-18-server linux-image-2.6.24-19-server linux-image-2.6.24-21-server linux-image-2.6.24-22-server linux-image-2.6.24-23-server linux-image-2.6.24-24-server</pre>
<p>The above freed 250 MB from /boot and 550 MB from / at my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/02/21/cleaning-up-boot-by-removing-unused-kernels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Krypter med DanIDs &#8220;Digital Signatur&#8221; i Evolution</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/31/krypter-med-danids-digital-signatur-i-evolution/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/31/krypter-med-danids-digital-signatur-i-evolution/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 20:17:49 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DanID]]></category>
		<category><![CDATA[Digital Signatur]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=664</guid>
		<description><![CDATA[Er du bruger af Evolution og har behov for at sende en krypteret mail med DanIDs "Digital Signatur", skal du først have fat i kontaktpersonens certifikat. Dette finder du på DanIDs Certificeringscenter, såfremt personen har valgt at være listet her. Når du har fundet det rette certifikat klikke du på , hvorefter du kan gemme [...]]]></description>
			<content:encoded><![CDATA[<p>Er du bruger af Evolution og har behov for at sende en krypteret mail med DanIDs "Digital Signatur", skal du først have fat i kontaktpersonens certifikat. Dette finder du på <a href="https://www.certifikat.dk/export/sites/dk.certifikat.oc/da/soegning/">DanIDs Certificeringscenter</a>, såfremt personen har valgt at være listet her. Når du har fundet det rette certifikat klikke du på <img src="http://ostehamster.dk/blog/wp-content/uploads/2010/01/download.gif" alt="download" title="download" width="16" height="16" class="alignnone size-full wp-image-665" />, hvorefter du kan gemme en .cer fil.</p>
<p>I Evolution vælger du Rediger -> Indstillinger (eller Shift-Ctrl-S) -> Certifikater -> Kontaktpersoners certifikater -> Importer hvorefter du får mulighed for at importere den hentede .cer fil.</p>
<p>Du skal naturligvis have din egen private signaturfil i Evolution.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/31/krypter-med-danids-digital-signatur-i-evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brombærmuffins</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/30/bromb%c3%a6rmuffins/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/30/bromb%c3%a6rmuffins/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 21:21:15 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Kage]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Muffins]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=659</guid>
		<description><![CDATA[Når jeg nu alligevel havde gang i ovn og muffinform, kunne jeg lige så godt lave lidt dessertmuffins også. Valget faldt på brombær, bland mange andre bær i fryseren :)

Dejen er i store træk som dejen for mine spinat- og cheddarmuffins, dog er portionen lidt større, uden salt/peber og med en god sjat sukker.
Ingredienser
4 dl [...]]]></description>
			<content:encoded><![CDATA[<p>Når jeg nu <a href="http://ostehamster.dk/blog/index.php/2010/01/30/spinat-og-cheddarmuffins/">alligevel havde gang i ovn og muffinform</a>, kunne jeg lige så godt lave lidt dessertmuffins også. Valget faldt på brombær, bland mange andre bær i fryseren :)</p>
<p><img src="http://food4u.dk/billed/569/20" alt="brombærmuffins" /></p>
<p>Dejen er i store træk som dejen for mine <a href="http://ostehamster.dk/blog/index.php/2010/01/30/spinat-og-cheddarmuffins/">spinat- og cheddarmuffins</a>, dog er portionen lidt større, uden salt/peber og med en god sjat sukker.</p>
<p><strong>Ingredienser</strong></p>
<blockquote><p>4 dl mel<br />
1 spsk bagepulver<br />
75 g smør<br />
2 dl mælk<br />
2 æg<br />
125 gram sukker (gerne med lidt hjemmelavet vanilliesukker i)<br />
Skal fra en halv citron<br />
300 gram brombær</p></blockquote>
<p>Bland de tørre ingredienser i en skål.</p>
<p>Smelt smørret i en gryde, tag den af blusset, tilsæt æg og mælk og bland godt.</p>
<p>Rør mælkeblandingen i de tørre ingredienser sammen med citronskallen og bland det godt sammen. Vend brombærene i dejen, og hæld den i smurte forme.</p>
<p>Bag ved 200 grader i 20-25 minutter.</p>
<p>Opskriften er naturligvis også på food4u.dk under <a href="http://food4u.dk/opskrifter/6879/Bromb%C3%A6rmuffins/">brombærmuffins</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/30/bromb%c3%a6rmuffins/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Spinat- og cheddarmuffins</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/30/spinat-og-cheddarmuffins/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/30/spinat-og-cheddarmuffins/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 21:10:18 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Muffins]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=650</guid>
		<description><![CDATA[Da aftensmaden stod på tomatsuppe ville jeg bage lidt brød som tilbehør. Jeg havde fundet en opskrift på spinatmuffins, men da jeg syntes de lød lidt kedelig, kreerede jeg disse spinat- og cheddarmuffins istedet.

Dej
3 dl mel
1 spsk bagepulver
2 æg
1½ dl mælk
50 g smeltet smør
Salt og peber
Fyld
60 g (2 håndfulde) frisk spinat, grofthakket
2 dl revet cheddar
Bland [...]]]></description>
			<content:encoded><![CDATA[<p>Da aftensmaden stod på tomatsuppe ville jeg bage lidt brød som tilbehør. Jeg havde fundet en opskrift på spinatmuffins, men da jeg syntes de lød lidt kedelig, kreerede jeg disse <a href="http://food4u.dk/opskrifter/6878/Spinat-+og+cheddarmuffins/">spinat- og cheddarmuffins</a> istedet.</p>
<p><img src="http://food4u.dk/billed/566/20" alt="Spinat- og cheddarmuffins" /></p>
<p><strong>Dej</strong></p>
<blockquote><p>3 dl mel<br />
1 spsk bagepulver<br />
2 æg<br />
1½ dl mælk<br />
50 g smeltet smør<br />
Salt og peber</p></blockquote>
<p><strong>Fyld</strong></p>
<blockquote><p>60 g (2 håndfulde) frisk spinat, grofthakket<br />
2 dl revet cheddar</p></blockquote>
<p>Bland mel, bagepulver, salt og peber.</p>
<p>Smelt smørret ved svag varme i en gryder. Tilsæt mælk og æg, og pisk det sammen.</p>
<p>Tilsæt spinat og cheddar til mælkeblanding, bland det hurtigt sammen og tilsæt det til melet. Rør det godt sammen, men uden at rører alt for meget i det.</p>
<p>Fordel dejen i 6-8 forme og bag ved 200 grader 20-25 minutter.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/30/spinat-og-cheddarmuffins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hjemmelavet vanillesukker</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/24/hjemmelavet-vanillesukker/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/24/hjemmelavet-vanillesukker/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 20:46:52 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dessert]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=646</guid>
		<description><![CDATA[Der findes mange retter hvor kun kornene fra vanillen bruges og resten bare kasseres. Dette er spild, da man kan lave en super vanillesukker ud af resterne.
Ha' altid en tætsluttende krukke/bøtte med rørsukker, og kom alle dine "tomme" vanillestænger heri.

]]></description>
			<content:encoded><![CDATA[<p>Der findes mange retter hvor kun kornene fra vanillen bruges og resten bare kasseres. Dette er spild, da man kan lave en super vanillesukker ud af resterne.</p>
<p>Ha' altid en tætsluttende krukke/bøtte med rørsukker, og kom alle dine "tomme" vanillestænger heri.</p>
<p><a href="http://food4u.dk/opskrifter/6877/Hjemmelavet+vanillesukker/"><img src="http://food4u.dk/billed/563/20" alt="Hjemmelavet vanillesukker" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/24/hjemmelavet-vanillesukker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fastelavnsboller med creme / svesker</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/24/fastelavnsboller-med-creme-svesker/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/24/fastelavnsboller-med-creme-svesker/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 20:40:32 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bagværk]]></category>
		<category><![CDATA[Kage]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=638</guid>
		<description><![CDATA[Så blev det tid til at lave fastelavnsboller, og det de vidste sig at blive ret gode, er her opskriften :)
Dejen til bollerne er sammensat efter et par gamle opskrifter. Dog er fy ting som margarine og "kunstig" vanillesukker udskiftet med smør og rigtig hjemmelavet vanillesukker - skal det være skal det være!
Dej
2 dl lunken [...]]]></description>
			<content:encoded><![CDATA[<p>Så blev det tid til at lave fastelavnsboller, og det de vidste sig at blive ret gode, er her opskriften :)</p>
<p>Dejen til bollerne er sammensat efter et par gamle opskrifter. Dog er fy ting som margarine og "kunstig" vanillesukker udskiftet med smør og rigtig <a href="http://ostehamster.dk/blog/index.php/2010/01/24/hjemmelavet-vanillesukker/">hjemmelavet vanillesukker</a> - skal det være skal det være!</p>
<p><strong>Dej</strong></p>
<blockquote><p>2 dl lunken mælk<br />
50 gram gær<br />
175 gram smør<br />
500 gram mel<br />
1 tsk salt<br />
1 spsk hjemmelavet vanillesukker<br />
1 æg (eller tre past. æggeblommer)</p></blockquote>
<p>Gæren udrøres i mælken og smørret smuldres i melet. Mælken med gær samt de øvrige ingredienser blandes i dejen, der æltes godt. Stilles til hævning i 40 minutter.</p>
<p>Imens laves sveskemosen og/eller cremen som beskrevet længere nede.</p>
<p>Dejen slås ned, rulles ud og skæres i stykker på ca. 10 x 10 centimer.</p>
<p>På hver firkant lægges en klat sveskemos eller creme, og de fire hjørner foldes sammen. Sørg for at de lukker godt sammen, og stil bollerne på en plade med lukningen ned af.</p>
<p>Lad dem hæve i 10 minutter, og bag dem ved 200 grader i 15-20 minutter. (185 grader ved varmluft)</p>
<p>Når de er kølet ned kan de pyntes med glasur. Jeg har ikke selv gjort det, da jeg synes det fjerner fokus fra indholdet :)</p>
<p><strong>Sveskemos</strong></p>
<blockquote><p>4 dl svesker<br />
2 spsk hjemmelavet vanillesukker<br />
2 dl vand</p></blockquote>
<p>Svesker, vand og sukker koges sammen til mos, og stilles til afkøling.</p>
<p><strong>Creme</strong></p>
<blockquote><p>4 æggeblommer<br />
4 spsk hjemmelavet vanillesukker (eller 4 spsk sukker og 2 tsk vanillesukker)<br />
4 dl mælk<br />
1-2 spsk maizena</p></blockquote>
<p>Æggeblommer og sukker røres godt sammen i en gryder. Tilsæt mælk og maizena, og kog det op under konstant omrøring.</p>
<p>Cremen skal være ret tyk, nærmest som mayonnaise. Stilles til afkøling.</p>
<p><a href="http://food4u.dk/opskrifter/6874/Fastelavnsboller+med+creme/"></a><a href="http://food4u.dk/opskrifter/6874/Fastelavnsboller+med+creme/"><img src="http://food4u.dk/billed/554/10" alt="Fastelavnsboller med creme" /></a> <a href="http://food4u.dk/opskrifter/6876/Fastelavnsboller+med+svesker/"><img src="http://food4u.dk/billed/556/10" alt="Fastelavnsboller med svesker" /></a><br />
 <img src="http://food4u.dk/billed/555/10" alt="Fastelavnsboller med creme" /> <a href="http://food4u.dk/opskrifter/6876/Fastelavnsboller+med+svesker/"><img src="http://food4u.dk/billed/557/10" alt="Fastelavnsboller med svesker" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/24/fastelavnsboller-med-creme-svesker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Politiker: Vanvittigt at forhindre folk på isen</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/10/politiker-vanvittigt-at-forhindre-folk-pa-isen/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/10/politiker-vanvittigt-at-forhindre-folk-pa-isen/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 11:30:34 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=615</guid>
		<description><![CDATA[Det er formynderisk, når folk bliver forhindret af politiet i at gå ud på de tilfrosne søer.
 Det mener Borgerrepræsentations-medlem Rasmus Jarlov ifølge artiklen Politiker: Vanvittigt at forhindre folk på isen på DR.
Det kan have ret i, men så må der da næsten sættes en tavle op søerne, hvor priserne på en eventuel redningsaktion er [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Det er formynderisk, når folk bliver forhindret af politiet i at gå ud på de tilfrosne søer.</p></blockquote>
<p> Det mener Borgerrepræsentations-medlem <a href="http://www.jarlov.dk/">Rasmus Jarlov</a> ifølge artiklen <a href='http://www.dr.dk/Nyheder/Indland/2010/01/10/093459.htm?rss=true'>Politiker: Vanvittigt at forhindre folk på isen</a> på DR.</p>
<p>Det kan have ret i, men så må der da næsten sættes en tavle op søerne, hvor priserne på en eventuel redningsaktion er oplyst, som han også selv er lidt inde på:</p>
<blockquote><p>- Jeg synes, folk selv skal vurdere, om de vil tage risikoen for, at isen braser. Jeg synes ikke, det er noget, myndighederne skal blande sig i. Selvfølgelig kan der komme en regning, hvis politiet skal hente nogen, men når det er folk selv, det vil gå ud over, hvis det går galt, så må de være voksne nok til at vurdere risikoen.</p></blockquote>
<p>Men hvis man skal følge Jarlovs logik, så skal det vel heller ikke længere være ulovligt at køre bil uden sikkerhedssele eller knallert/motorcykel uden hjelm, for som han siger</p>
<blockquote><p>...når det er folk selv, det vil gå ud over, hvis det går galt, så må de være voksne nok til at vurdere risikoen.</p></blockquote>
<p>Egentligt er jeg slet ikke uenig med Jarlov, da jeg mener at man må stå til ansvar for sine egne handlinger. Vi lever bare i et samfund hvor man forventer at få hjælp, lige meget hvor meget man har kvajet sig. Derfor bliver vi nød til at opsætte regler om visse ting, da samfundet ellers skal klare alle problemer.</p>
<p>Man kunne f.eks. godt fjerne bøden for at køre uden sele/hjelm, og hvis det så gik galt, ja så måtte man betale ved kasse et inden ambulancen kørte én videre i systemet - det kommer dog næppe til at ske :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/10/politiker-vanvittigt-at-forhindre-folk-pa-isen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blåbærflødeboller</title>
		<link>http://ostehamster.dk/blog/index.php/2010/01/03/blab%c3%a6rfl%c3%b8deboller/</link>
		<comments>http://ostehamster.dk/blog/index.php/2010/01/03/blab%c3%a6rfl%c3%b8deboller/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 20:16:36 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dessert]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=608</guid>
		<description><![CDATA[Så blev det tid til at lave en blåbær version af hindbærflødebollerne. Denne portion blev noget pænere, men smagen var ikke helt så klar som da jeg lavede dem med hindbær.
Ingredienser
Hindbærskum
3 dl friske blåbær
3 dl vand
½ vanillestangen
300 gram sukker
3 bæger pasteuriserede æggehvider (150g)
Bunde

100 gram smør
3 dl mel
3/4 dl sukker
Overtræk
200g mørk chokolade
Fremgangsmåde:
Mel og smør smuldres sammen, [...]]]></description>
			<content:encoded><![CDATA[<p>Så blev det tid til at lave en <a href="http://food4u.dk/opskrifter/6869/Bl%C3%A5b%C3%A6rfl%C3%B8deboller/">blåbær version</a> af <a href="http://ostehamster.dk/blog/index.php/2009/09/13/hindb%C3%A6rfl%C3%B8deboller/">hindbærflødebollerne</a>. Denne portion blev noget pænere, men smagen var ikke helt så klar som da jeg lavede dem med hindbær.</p>
<p><strong>Ingredienser</strong></p>
<p>Hindbærskum</p>
<blockquote><p>3 dl friske blåbær<br />
3 dl vand<br />
½ vanillestangen<br />
300 gram sukker<br />
3 bæger pasteuriserede æggehvider (150g)</p></blockquote>
<p>Bunde</p>
<blockquote><p>
100 gram smør<br />
3 dl mel<br />
3/4 dl sukker</p></blockquote>
<p>Overtræk</p>
<blockquote><p>200g mørk chokolade</p></blockquote>
<p><strong>Fremgangsmåde:</strong><br />
Mel og smør smuldres sammen, hvorefter sukkeret tilsættes og æltes sammen. Dejen rulles ud, stikkes ud med udstikkerring eller et glas, og bages ved 200 grader i 10 minutter.</p>
<p>Blåbær, vand og vanillestangen koges i 10 minutter, hvorefter saften sies og koges ned til ca. 1 dl.</p>
<p>Når blåbærsaften er reduceret til 1 dl tilsættes 300 gram sukker, som derefter koges ind. Det skal koges ca. 3 minutter indtil alt sukkeret er opløst, og det begynder at tykne. Det skal koges til lige inden det begynder at brune.</p>
<p>Æggehviderne piskes stive. Under fortsat piskning hældes blåbærsiruppen langsomt i æggehviderne, og der pisken i 15 minutter. Efter et par minutter begynder skummen at blive stiv, men fortsæt med at piske, for at opnå det bedste resultat.</p>
<p>Skummen kommes på en sprøjtepose og sprøjtes på bundene. Flødebollerne bages ved 180 grader i 5 minutter.</p>
<p>Når de er kølet helt ned smeltes chokoladen der hældes over flødebollerne.</p>
<p><strong>Inden chokolade</strong><br />
<img alt="" src="http://food4u.dk/billed/552/20" class="aligncenter" width="500" height="334" /></p>
<p><strong>Efter chokolade</strong><br />
<img alt="" src="http://food4u.dk/billed/551/20" class="aligncenter" width="500" height="334" /></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2010/01/03/blab%c3%a6rfl%c3%b8deboller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto program the Avnet / Xilinx Spartan-3A Evaluation Kit from Ubuntu 9.10</title>
		<link>http://ostehamster.dk/blog/index.php/2009/12/31/howto-program-the-avnet-xilinx-spartan-3a-evaluation-kit-from-ubuntu-9-10/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/12/31/howto-program-the-avnet-xilinx-spartan-3a-evaluation-kit-from-ubuntu-9-10/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 12:26:34 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[VHDL / FPGA]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>
		<category><![CDATA[VHDL]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=596</guid>
		<description><![CDATA[The Avnet / Xilinx Spartan-3A Evaluation Kit is a $49 FPGA kit from Avnet, with a XC3S400A Spartan-3A FPGA, and a number of simple peripherals:

Xilinx XC3S400A-4FTG256C Spartan-3A FPGA
Four LEDs
Four CapSense™ switches
I2C temperature sensor
Two 6-pin expansion headers
20 x 2, 0.1-inch user I/O header
32 Mb Spansion® MirrorBit® NOR GL Parallel Flash
128 Mb Spansion MirrorBit SPI FL Serial [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.em.avnet.com/spartan3a-evl">Avnet / Xilinx Spartan-3A Evaluation Kit is a $49 FPGA kit</a> from Avnet, with a XC3S400A Spartan-3A FPGA, and a number of simple peripherals:</p>
<ul>
<li>Xilinx XC3S400A-4FTG256C Spartan-3A FPGA</li>
<li>Four LEDs</li>
<li>Four CapSense™ switches</li>
<li>I2C temperature sensor</li>
<li>Two 6-pin expansion headers</li>
<li>20 x 2, 0.1-inch user I/O header</li>
<li>32 Mb Spansion® MirrorBit® NOR GL Parallel Flash</li>
<li>128 Mb Spansion MirrorBit SPI FL Serial Flash</li>
<li>USB-UART bridge</li>
<li>I2C port</li>
<li>SPI and BPI configuration</li>
<li>Xilinx JTAG interface</li>
<li>FPGA configuration via PSoC®</li>
</ul>
<p>The flash is not updated through a JTAG, but through the USB interface. On Windows the AVprog is used, <a href="http://ostehamster.dk/blog/index.php/2009/07/14/using-avnet-avprog-for-xilinx%C2%AE-spartan%C2%AE-3a-evaluation-kit-under-linux/">which can run in Wine</a> and therefore usable on Linux. It is however easier to use the tool called <a href="http://fpgalibre.sourceforge.net/ingles.html#tp82">ASTriAEKiPro 1.2.1</a>.<br />
<span id="more-596"></span><br />
Download a newest .deb file from <a href="http://sourceforge.net/projects/fpgalibre/files/ASTriAEKiPro/">http://sourceforge.net/projects/fpgalibre/files/ASTriAEKiPro/</a> and install it with:<br />
<code>sudo dpkg -i astriaekipro_1.2.1-2_i386.deb</code></p>
<p><strong>Using ASTriAEKiPro</strong><br />
Get a bit file for the kit, either from the CD in the package or from the Avnet Design Resource Center, go to the <a href="http://www.em.avnet.com/spartan3a-evl">Avnet Spartan-3A page</a> and click on "Support files and downloads", login and get the "Default Serial Flash Factory Image" file.</p>
<p>To write to the SPI flash use:<br />
<code>astriaekipro -w Spartan3AEval_FPGA_Firmware_V10.bit</code></p>
<p>To verify:<br />
<code>astriaekipro -y Spartan3AEval_FPGA_Firmware_V10.bit</code></p>
<p>ASTriAEKiPro can furthermore be used as a terminal, which makes it possible to use the USB as serial interface for a MicroBlace etc.:<br />
<code>astriaekipro -t</code></p>
<p>Which will give you something like:</p>
<pre>*******************************************************************
*                    _____                                        *
*                   /     \                                       *
*                  /____   \____                                  *
*                 / \===\   \==/                                  *
*                /___\===\___\/  AVNET                            *
*                     \======/   ENGINEERING                      *
*                      \====/    SERVICES                         *
*                                                                 *
*******************************************************************
*              Spartan 3A Eval Demo V1.0 5/2008                   *
*******************************************************************
* Current Device Status:                                          *
*                                                                 *
*   EF1:  DEACTIVATED                                             *
*   EF2:  DEACTIVATED                                             *
*   EF3:  DEACTIVATED                                             *
*   EF4:  Connected To FPGA System Reset                          *
*   TMP:   29.1250 C                                              *
*   U22:  S29GL032N DETECTED                                      *
*******************************************************************
Type <help> for command options. 

ADS></help></pre>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/12/31/howto-program-the-avnet-xilinx-spartan-3a-evaluation-kit-from-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Installing Xilinx ISE WebPack 11.1 under Ubuntu 9.10</title>
		<link>http://ostehamster.dk/blog/index.php/2009/12/31/installing-xilinx-ise-webpack-11-1-under-ubuntu-9-10/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/12/31/installing-xilinx-ise-webpack-11-1-under-ubuntu-9-10/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 11:08:50 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[VHDL / FPGA]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>
		<category><![CDATA[VHDL]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=555</guid>
		<description><![CDATA[This is a short how to install Xilinx ISE Webpack 11.1 / 11.3 under Ubuntu 9.10. Start by downloading the installation files from "Xilinx Download". The file is 2.67 GB, and Xilinx requires you to have a free account in order to download the file.

Untar the file
tar -xf Xilinx_11.1_WebPack_SFD.tar
and install
sudo mkdir /home/Xilinx/
sudo chmod 777 /home/Xilinx/
cd [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short how to install Xilinx ISE Webpack 11.1 / 11.3 under Ubuntu 9.10. Start by downloading the installation files from "<a href="http://www.xilinx.com/support/download/index.htm">Xilinx Download</a>". The file is 2.67 GB, and Xilinx requires you to have a free account in order to download the file.<br />
<span id="more-555"></span><br />
Untar the file<br />
<code>tar -xf Xilinx_11.1_WebPack_SFD.tar</code></p>
<p>and install<br />
<code>sudo mkdir /home/Xilinx/<br />
sudo chmod 777 /home/Xilinx/<br />
cd Xilinx_11.1_WebPack_SFD<br />
./xsetup</code></p>
<p>Set the installation path to /home/Xilinx/, and follow the installation process.</p>
<p>When the installation is done, you will be asked for a license. Select "Start ISE WebPack" and click next and follow the instructions on the website. When the license is installed, close the browser window and the Xilinx License Configuration Manager.</p>
<p>The installer will ask for installation of updates. This is advisable, but it is imo easier to download the update files from Xilinx homepage. Go to download and "<a href="https://xilinx.entitlenow.com/cocoon/across/general/home.html?tab=DownloadUpdates&#038;product=&#038;licenseType=&#038;legacyVersion=#">Software Updates</a>".</p>
<p>Untar the file<br />
<code>tar -xf Xilinx_11.4_ISE_DS_lin.tar</code></p>
<p>and install<br />
<code>cd Xilinx_11.4_ISE_DS_lin<br />
./xsetup</code></p>
<p>You are now ready to go, by running<br />
<code>/home/Xilinx/11.1/ISE/bin/lin/ise</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/12/31/installing-xilinx-ise-webpack-11-1-under-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metallica &#8211; Rock and Roll hall of fame</title>
		<link>http://ostehamster.dk/blog/index.php/2009/12/31/metallica-rock-and-roll-hall-of-fame/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/12/31/metallica-rock-and-roll-hall-of-fame/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 08:25:35 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Metallica]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=289</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><embed src="http://c.brightcove.com/services/viewer/federated_f8/959035280" bgcolor="#FFFFFF" flashVars="videoId=18883938001&#038;playerId=959035280&#038;viewerSecureGatewayURL=https://console.brightcove.com/services/amfgateway&#038;servicesURL=http://services.brightcove.com/services&#038;cdnURL=http://admin.brightcove.com&#038;domain=embed&#038;autoStart=false&#038;" base="http://admin.brightcove.com" name="flashObj" width="486" height="412" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/12/31/metallica-rock-and-roll-hall-of-fame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytrainer in Ubuntu 9.10, Karmic Koala</title>
		<link>http://ostehamster.dk/blog/index.php/2009/12/30/pytrainer-in-ubuntu-9-10-karmic-koala/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/12/30/pytrainer-in-ubuntu-9-10-karmic-koala/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 12:43:46 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Karmic Koala]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Løb]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=573</guid>
		<description><![CDATA[I have had problems with Pytrainer in both Ubuntu 8.04 and 8.10, but have manage to get it working. I did not use Pytrainer in 9.04, because I got a little tired of looking at graphs and was following a running program where it was not necessary.
If have been injured for some month now, but [...]]]></description>
			<content:encoded><![CDATA[<p>I have had problems with Pytrainer in both Ubuntu <a href="http://ostehamster.dk/blog/index.php/2008/05/03/pytrainer-in-ubuntu-804-hardy-heron/">8.04</a> and <a href="http://ostehamster.dk/blog/index.php/2008/11/09/pytrainer-in-ubuntu-810-ibex-intrepid/">8.10</a>, but have manage to get it working. I did not use Pytrainer in 9.04, because I got a little tired of looking at graphs and was following a running program where it was not necessary.</p>
<p>If have been injured for some month now, but hoping to be ready for Copenhagen Marathon 2010, and would therefore like to examine my last marathon using Pytrainer. I therefore installed it, and hoped it would work out of the box - but no :)<br />
<span id="more-573"></span><br />
Enabling the Garmin HR plugin, restarting Pytrainer and clicking "Import from Garmin" did nothing, not even a warning or error in the terminal. Looking at my old post from <a href="http://ostehamster.dk/blog/index.php/2008/11/09/pytrainer-in-ubuntu-810-ibex-intrepid/">8.10</a>, I opened <code>/usr/share/pytrainer/plugins/garmin-hr/main.py</code> to see what was going on.</p>
<p>Pytrainer is using gpsbabel like <code>gpsbabel -t -i garmin -f %s -o gtrnctr -F /tmp/file.gtrnctr</code>, where <code>%s</code> is the device, <code>usb:</code>. But running</p>
<blockquote><p>gpsbabel -t -i garmin -f usb: -o gtrnctr -F /tmp/file.gtrnctr</p></blockquote>
<p> in a terminal give this result:</p>
<blockquote><p>Claim interfaced failed: could not claim interface 0: Operation not permitted</p></blockquote>
<p>It is therefore still required to make a udev rule for the device.</p>
<p><strong>How to get it working</strong><br />
Make the rule file</p>
<blockquote><p>sudo gedit /etc/udev/rules.d/51-garmin.rules</p></blockquote>
<p>add the below and close:</p>
<blockquote><p>SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", MODE="666" </p></blockquote>
<p>restart udev:</p>
<blockquote><p>sudo /etc/init.d/udev restart</p></blockquote>
<p>Now Pytrainer can start gpsbabel, and retrieve data from the watch, which unfortunately just leads to another problem:</p>
<blockquote><p>Traceback (most recent call last):<br />
  File "/usr/lib/python2.6/dist-packages/pytrainer/main.py", line 166, in runPlugin<br />
    self.record.importFromGTRNCTR(gtrnctrFile)<br />
  File "/usr/lib/python2.6/dist-packages/pytrainer/record.py", line 410, in importFromGTRNCTR<br />
    listTracksGPS = xmlParser.shortFromGPS(gtrnctrFile, True)<br />
  File "/usr/lib/python2.6/dist-packages/pytrainer/lib/xmlUtils.py", line 127, in shortFromGPS<br />
    tree = xml.etree.cElementTree.parse(gtrnctrFile).getroot()<br />
  File "<string>", line 45, in parse<br />
  File "</string><string>", line 32, in parse<br />
SyntaxError: unbound prefix: line 13, column 8</string></p></blockquote>
<p>According to this <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536572">bug report</a>, it is a problem between Pytrainer and gpsbabel 1.3.6. Luckily it is still possible to get gpsbabel 1.3.5 at <a href="http://packages.debian.org/lenny/i386/gpsbabel/download">http://packages.debian.org/lenny/i386/gpsbabel/download</a>, which I downloaded and installed, and it worked with Pytrainer.</p>
<p>However, Pytrainer imports all data from today back to 24 May 2009, the date of the marathon, and stops without any error. It might be because this record has 43 laps, but I do not know. Anyway, it is quite useless if it is not possible to retrieve all data from the watch.</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/12/30/pytrainer-in-ubuntu-9-10-karmic-koala/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Julens bedste reklame</title>
		<link>http://ostehamster.dk/blog/index.php/2009/12/06/julens-bedste-reklame/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/12/06/julens-bedste-reklame/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 19:41:10 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=567</guid>
		<description><![CDATA[Kanon reklame for Børnefonden:

Og lidt fraklip:

]]></description>
			<content:encoded><![CDATA[<p>Kanon reklame for Børnefonden:<br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/KwnHN4EbVBc&#038;hl=en_US&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/KwnHN4EbVBc&#038;hl=en_US&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Og lidt fraklip:<br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/t6PKvAzJKtI&#038;hl=en_US&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/t6PKvAzJKtI&#038;hl=en_US&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/12/06/julens-bedste-reklame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Høns har features mennesket kun kan drømme om!</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/22/h%c3%b8ns-har-features-mennesket-kun-kan-dr%c3%b8mme-om/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/22/h%c3%b8ns-har-features-mennesket-kun-kan-dr%c3%b8mme-om/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:15:43 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ateisme]]></category>
		<category><![CDATA[Religion]]></category>
		<category><![CDATA[Spas]]></category>
		<category><![CDATA[Videnskab]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=537</guid>
		<description><![CDATA[Mennesket kan ikke genopbygge ødelagte sansehårene i ørene, og derfor bliver vi halvdøve og får dårlig balance med alderen (eller efter høj musik). Høns (og andre fugle) derimod kan genoprette disse sansehår, og bliver derfor ikke døve med alderen. Det er hvad forskere fra Washington University in St. Louis en gang i maj 2003 har [...]]]></description>
			<content:encoded><![CDATA[<p>Mennesket kan ikke genopbygge ødelagte sansehårene i ørene, og derfor bliver vi halvdøve og får dårlig balance med alderen (eller efter høj musik). Høns (og andre fugle) derimod kan genoprette disse sansehår, og bliver derfor ikke døve med alderen. Det er hvad forskere fra <a href="http://mednewsarchive.wustl.edu/medadmin/PAnews.nsf/0/E65782EB96EB390186256D2E00619CD8">Washington University in St. Louis en gang i maj 2003</a> har fundet frem til.</p>
<p>Det må da være et bevis for at intelligent design ikke findes, hvorfor skulle han/hun/den/dem have skabt høns med flere features end os mennesker?</p>
<p>Det skal dog siges at der rent faktisk er en snært af "intelligent design" over høns, og jeg vil ikke afvise at der har været en usability ekspert ind over designet af vingerne :)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/BRcOY-PvOC8&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/BRcOY-PvOC8&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/22/h%c3%b8ns-har-features-mennesket-kun-kan-dr%c3%b8mme-om/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Disable transcoding in mt-daapd on NSLU2</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/21/disable-transcoding-in-mt-daapd-on-nslu2/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/21/disable-transcoding-in-mt-daapd-on-nslu2/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 22:35:46 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=533</guid>
		<description><![CDATA[I am running mt-daapd (Firefly Media Server) under Debian on my NSLU2, which works pretty well, except for ogg files.
mt-daapd will try to convert everything to wav before streaming, which do not work out of the box, probably because ffmpeg is not install. I do not want to stress the CPU by installing and using [...]]]></description>
			<content:encoded><![CDATA[<p>I am running mt-daapd (<a href="http://www.fireflymediaserver.org">Firefly Media Server</a>) under Debian on my NSLU2, which works pretty well, except for ogg files.</p>
<p>mt-daapd will try to convert everything to wav before streaming, which do not work out of the box, probably because ffmpeg is not install. I do not want to stress the CPU by installing and using ffmpeg, instead I disable the transcoding by changing/adding the below to /etc/mt-daapd.conf:</p>
<p><code># never_transcode (optional)<br />
# Comma separated list of formats to never transcode.<br />
never_transcode = ogg,mp3,flac</code></p>
<p>Now everything work using Rhythmbox as client and the NSLU2 is not overloaded. Making this change obviously requires that the client can decode ogg, mp3 and flac!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/21/disable-transcoding-in-mt-daapd-on-nslu2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Danske karakterer under Debian Lenny på en NSLU2</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/21/%c3%a6%c3%b8a-under-debian-lenny-pa-en-nslu2/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/21/%c3%a6%c3%b8a-under-debian-lenny-pa-en-nslu2/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 20:03:20 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NSLU2]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/index.php/2009/11/21/%c3%a6%c3%b8a-under-debian-lenny-pa-en-nslu2/</guid>
		<description><![CDATA[Jeg har haft gevaldige problemer med rsync på min NSLU2 kørende Debian Lenny, idet alle filer der indeholdt æ, ø eller å blive ødelagt. Jeg fandt ud af at det heller ikke var muligt at skrive æ, ø eller å i en terminal, hvilket blev løst ved først at installere locales-all:
sudo apt-get install locales-all
Hvorefter jeg [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg har haft gevaldige problemer med rsync på min NSLU2 kørende Debian Lenny, idet alle filer der indeholdt æ, ø eller å blive ødelagt. Jeg fandt ud af at det heller ikke var muligt at skrive æ, ø eller å i en terminal, hvilket blev løst ved først at installere <code>locales-all</code>:<br />
<code>sudo apt-get install locales-all</code></p>
<p>Hvorefter jeg ændrede <code>/etc/default/locale</code> til at indeholde <code>LANG="da_DK.UTF-8"</code>.</p>
<p>Alt virker nu glimrende.</p>
<p>(Husk at logge af og på!)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/21/%c3%a6%c3%b8a-under-debian-lenny-pa-en-nslu2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rødovre vælger også OpenOffice</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/09/r%c3%b8dovre-v%c3%a6lger-ogsa-openoffice/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/09/r%c3%b8dovre-v%c3%a6lger-ogsa-openoffice/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:58:49 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Danish]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=525</guid>
		<description><![CDATA[Rart at se at Rødovre har valgt at installere OpenOffice på deres computere. Dette sker på trods af frygt for repressalier fra Microsoft, i stil med dem der kom mod Lyngby-Taarbæk kommune.
Dog synes jeg lidt af deres argumentation for skiftet er lidt underlig, idet Lars Roark udtaler
OpenOffice giver os ud over licensbesparelserne nogle værktøjer, vi [...]]]></description>
			<content:encoded><![CDATA[<p>Rart at se at <a href="http://www.dr.dk/Nyheder/Indland/2009/11/09/094303.htm">Rødovre har valgt at installere OpenOffice</a> på deres computere. Dette sker på trods af frygt for repressalier fra Microsoft, i stil med dem der kom mod <a href="http://ostehamster.dk/blog/index.php/2009/11/06/microsoft-i-modent-angreb-pa-lyngby-taarb%C3%A6k-kommune/">Lyngby-Taarbæk kommune</a>.</p>
<p>Dog synes jeg lidt af deres argumentation for skiftet er lidt underlig, idet Lars Roark udtaler</p>
<blockquote><p>OpenOffice giver os ud over licensbesparelserne nogle værktøjer, vi ikke kunne få umiddelbart med Microsoft Office, siger Lars Roark til Business.dk og fremhæver, at OpenOffice for eksempel har en indbygget funktion til at konvertere dokumenter til PDF-filer.</p></blockquote>
<p>Det er muligt Microsoft Office ikke som standard kan eksporter til PDF, men det er altså et <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=da&#038;FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041">plugin</a> der kan konvertere og gemme dokumenter som PDF.</p>
<p>Men glædeligt at se en kommune der ikke ligger under for pres fra Microsoft, men det kunne være rart at se en længere beskrivelse med flere grunde til skiftet. Samtidig bliver det spændende og se hvad Jasper vælger at udtale om dette skift ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/09/r%c3%b8dovre-v%c3%a6lger-ogsa-openoffice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Search and replace in MySQL</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/08/search-and-replace-in-mysql/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/08/search-and-replace-in-mysql/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 14:51:42 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=521</guid>
		<description><![CDATA[Howto replace foo with bar in the column col_name of all records of table table_name, where col_name has foo in it.
UPDATE table_name
SET col_name = (REPLACE (col_name, 'foo', 'bar'))
WHERE col_name LIKE '%foo%';
]]></description>
			<content:encoded><![CDATA[<p>Howto replace <em>foo</em> with <em>bar</em> in the column <em>col_name</em> of all records of table <em>table_name</em>, where <em>col_name</em> has <em>foo</em> in it.</p>
<p><code>UPDATE table_name<br />
SET col_name = (REPLACE (col_name, 'foo', 'bar'))<br />
WHERE col_name LIKE '%foo%';</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/08/search-and-replace-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft i modent angreb på Lyngby-Taarbæk kommune</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/06/microsoft-i-modent-angreb-pa-lyngby-taarb%c3%a6k-kommune/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/06/microsoft-i-modent-angreb-pa-lyngby-taarb%c3%a6k-kommune/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:57:20 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=504</guid>
		<description><![CDATA[1. oktober valgt Lyngby-Taarbæk kommune at skifte Microsoft Office ud med OpenOffice på samtlige computere på kommunens 11 skoler. Det betyder, at de har opsagt deres licensaftale på kontorpakkeområdet med Microsoft. Dette har åbenbart haft samme effekt på Microsoft, som det har, når man tager slik fra et i forvejen surt barn.
Denne utilfredshed har fået [...]]]></description>
			<content:encoded><![CDATA[<p>1. oktober valgt Lyngby-Taarbæk kommune at skifte Microsoft Office ud med OpenOffice på samtlige computere på kommunens 11 skoler. Det betyder, at de har opsagt deres licensaftale på kontorpakkeområdet med Microsoft. Dette har åbenbart haft samme effekt på Microsoft, som det har, når man tager slik fra et i forvejen surt barn.</p>
<p>Denne utilfredshed har fået Teknologidirektør i Microsoft Danmark, Jasper Hedegaard Bojsen, til i et <a href="http://lyngby-taarbaek.lokalavisen.dk/article/20091102/LAESERBREVE/911029910">åbent brev</a> at rette et meget modent angreb mod Lyngby-Taarbæk kommune.</p>
<p>Jasper starter med at konkludere, at kommunen nok har valgt at skifte pga. muligheden for at skære i omkostninger, hvorefter han skriver:</p>
<blockquote><p>Ikke desto mindre mener jeg, at det bebudede skift i bedste fald blot omfordeler omkostningerne i kommunen, og pålægger lærere, elever og forældre unødigt besvær samt forringer it-understøttelsen i læringen.</p></blockquote>
<p>Naturligvis skal OpenOffice lige installeres, men hvis skolernes infrastruktur er bare nogenlunde godt skruet sammen, vil dette hurtigt være klaret. Det er jo ikke sådan, at de skal vente på at få en bunke licensnøgler tilsendt, da OpenOffice blot skal downloades fra <a href="http://da.openoffice.com">da.openoffice.com</a> og derefter installeres. Derudover er vi jo så heldige, at der findes åbne dokumentstandarder, så alle kan bruge dokumenter lige meget hvad de er lavet i.</p>
<p>Men det at bruge OpenOffice frem for Microsoft Office skulle "forringe it-understøttelsen i læringen", det kan jeg ikke magte at forstå - og jeg bruger dog Microsoft Office hver dag på arbejde. Hvad er det Jasper mener OpenOffice ikke kan i forhold til Microsoft Office, og som er helt essentielt for at kunne gennemføre folkeskolen fra 0. til 10. klasse på fornuftig vis?</p>
<p>Jasper fortsætter</p>
<blockquote><p>Når vi har med uddannelse at gøre, bør hensynet til undervisningskvaliteten selvsagt være udgangspunktet – også når man skal vælge skolesoftware. Jeg medgiver, at det kan være svært at fastsætte den pædagogiske værdi på software. Men tager vi udgangspunkt i, at en gennemsnitlig folkeskoleelev i Danmark ifølge undervisningsministeriet koster 60.000 kr. om året, så er licensudgiften til Microsoft Office en endog meget fornuftig investering i elevernes læring. En skole køber jo heller ikke en matematik bog, der ikke opfylder pensumkravet eller de pædagogiske krav med det ene argument, at bogen er billigere.</p></blockquote>
<p>Nej, naturligvis køber man ikke en forældet bog som ikke opfylder "pensum- og pædagogiske krav". Men hvilket "pensum- og pædagogiske krav" er det lige OpenOffice ikke opfylder ifølge Jasper? På et punkt vil jeg give ret i at OpenOffice halter lidt, nemlig på stavekontrolområdet. Men efter min mening burde stavekontrol ikke være "lovligt" i folkeskolen, for således kan elever bedre lære at stave.</p>
<blockquote><p>Dagens folkeskoleelever og fremtidens medarbejdere skal kunne arbejde med tekst, billeder og lyd i en sammenhæng, hvor det ikke er teknikken som sætter begrænsninger for, om opgaven kan løses eller ej. Ligeledes må et værktøj som eleverne kommer til at bruge meget tid med i forbindelse med mere traditionelle opgaver, som stilskrivning, rapporter, osv., naturligvis meget gerne være både indbydende og sjovt at lære og lege med – på den måde får vi også flest mulige med, både elever, lærere og forældre.</p></blockquote>
<p>Igen ville det være rigtig rart med nogle eksempler på, hvad det er OpenOffice ikke kan, og måske et eksempel på, hvad det er, der åbenbart gør Microsoft Office hylende morsomt at arbejde med?</p>
<p>Det er åbenbart også vigtigt for Jasper at vi får "flest mulige med, både elever, lærere og forældre". Her er det da netop en hæmsko at vælge Microsoft Office, da det jo så kræver at alle, både lærere, elever og forældre har programmet. Det er naturligvis en ønskesituation for Mircrosoft, da det jo er lig med penge i kassen. Men ved at vælge OpenOffice, og måske endda Linux som operativt system, så er der ingen økonomisk hindring for at alle kommer med, heller ikke de økonomisk svagest stillede. (Såfremt kommune/stat hjælper med hardware.)</p>
<blockquote><p>Med undervisningen som udgangspunkt bør en vurdering foregå ud fra de muligheder, som forskellige kontorpakker har for at understøtte elevens indlæring og individuelle behov. Her er det ikke tilfældigt, at Microsoft Office er langt den mest valgte og anvendte kontorpakke på markedet, for den understøtter bedre end nogen anden pakke behovet blandt millioner af mennesker med forskellig tilgang, baggrund og kultur.</p></blockquote>
<p>Jeg må gentage mig selv, og spørge hvad det er Microsoft Office er bedre til? Det kunne også være rart at se en eller anden form for bevis for, at Microsoft Office "bedre end nogen anden pakke understøtter behovet blandt millioner af mennesker med forskellig tilgang, baggrund og kultur". Jeg tror nærmere, Jasper skal kigge mod sin markedsføringsafdeling og hans lobbyister, for at finde svaret på den store udbredelse.</p>
<blockquote><p>Det er korrekt, at Microsoft Office koster en licens, men for denne kendte og forudseelige pris får brugerne til gengæld et bedre produkt, som er lettere at anvende til flere ting og som giver mindre bøvl. Ligeledes er Microsoft Office billigere i drift og vedligeholdelse. Med andre ord er der færre omkostninger og mere værdi hele vejen rundt.</p></blockquote>
<p>Hvordan kan det være billigere i drift? Begge systemer indeholder fejl der bliver rettet, og fra tid til anden kommer der opdateringer som skal installeres. Hvorfor er det lettere med Microsoft Office end det er med OpenOffice?</p>
<blockquote><p>Et amerikansk skoledistrikt (i Orange County) konkluderede i en lignende undersøgelse: "Hvis vi ikke underviser vores elever i at bruge den software som gymnasier, universiteteter, handelsskoler og erhvervsskoler bruger, sætter vi dem i en ugunstig situation." Distriktet valgte Microsoft Office.</p></blockquote>
<p>Så det Jasper i bund og grund ønsker er monopol? Folkeskolen skal bruge det samme som gymnasiet, gymnasiet det samme som universitet og universitet det samme som erhvervslivet - ellers får de unge jo aldrig et arbejde, hvis de har lært at bruge OpenOffice. Men det betyder jo så, at samtlige i erhvervslivet bliver nødt til at bruge det samme, ellers bliver det jo umuligt for uddannelsesstederne at skabe ensporede unge menneske der kan finde ud af at bruge ét og kun ét værktøj.</p>
<p>Jeg er oplært med papir og blyant, har brugt WordPerfect, Microsoft Office, Open Office, Latex m.m. I øjeblikket bruger jeg dagligt Microsoft Office og har bestemt ikke noget at klage over, det virker ganske fortrinligt! Men det gør OpenOffice også, hvilket jeg bruger herhjemme hver dag, og jeg har intet problem med at bruge det ene frem for det andet. Hvad jeg har et problem med, er Microsofts måde at blande sig i virksomheder (og kommuners) beslutninger på.</p>
<p>Hvorfor kan I ikke bare acceptere at I denne gang er blevet slået? I, om nogen, er et kapitalistisk foretagende som på trods af "lettere monopol tilstand" lever af de regler der gælder på det frie marked. Hvis jeres produkt vitterligt er så godt og konkurrencedygtigt, så brug kræfterne på at bevise det, i stedet for at pive som et lille barn der har fået tages sit yndlingslegetøj!</p>
<p>/Et modent svar, til et modent læserbrev!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/06/microsoft-i-modent-angreb-pa-lyngby-taarb%c3%a6k-kommune/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The iPhone is the worst phone in the world</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/05/the-iphone-is-the-worst-phone-in-the-world/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/05/the-iphone-is-the-worst-phone-in-the-world/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:16:35 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/index.php/2009/11/05/the-iphone-is-the-worst-phone-in-the-world/</guid>
		<description><![CDATA[Glad to be a Android phone owner when reading the article "The iPhone is the worst phone in the world" from CNet.
My HTC Hero is slower than the iPhone, and might be a little clumsy compared to the iPhone - but hey, I can make a call :)
]]></description>
			<content:encoded><![CDATA[<p>Glad to be a Android phone owner when reading the article "<a href="http://crave.cnet.co.uk/mobiles/0,39029453,49303754,00.htm?s_cid=96">The iPhone is the worst phone in the world</a>" from CNet.</p>
<p>My HTC Hero is slower than the iPhone, and might be a little clumsy compared to the iPhone - but hey, I can make a call :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/05/the-iphone-is-the-worst-phone-in-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fast way to find the difference between two numbers</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/03/fast-way-to-to-difference-between-two-numbers/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/03/fast-way-to-to-difference-between-two-numbers/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 22:52:05 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/index.php/2009/11/03/fast-way-to-to-difference-between-two-numbers/</guid>
		<description><![CDATA[
< ?php
function diff($a, $b) {
   return ($a < $b) ? ($b - $a) : ($a - $b);
}
?>

Update: Apparently I was to tired when I wrote this, a lot faster method is like Søren mentions: abs($a-$b) :)
]]></description>
			<content:encoded><![CDATA[<p><del datetime="2009-11-04T19:38:01+00:00"><code><br />
< ?php<br />
function diff($a, $b) {<br />
   return ($a < $b) ? ($b - $a) : ($a - $b);<br />
}<br />
?><br />
</code></del></p>
<p><strong>Update:</strong> Apparently I was to tired when I wrote this, a lot faster method is like Søren mentions: <code>abs($a-$b)</code> :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/03/fast-way-to-to-difference-between-two-numbers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing Adobe Reader 9.2 in Ubuntu 9.10</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/03/installing-adobe-reader-9-2-in-ubuntu-9-10/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/03/installing-adobe-reader-9-2-in-ubuntu-9-10/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 09:24:31 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=486</guid>
		<description><![CDATA[To install Adobe Reader 9.2 in Ubuntu 9.10, you have to enable the Canonical Partner Repository. Go to System -> Administration -> Software Sources
Select Third-Party Software and and check the checkbox for http://archive.canonical.com/ubuntu partner.
Close and accept to reload.
It is now possible to install "acroread" by
sudo apt-get install acroread
Or from System -> Administration -> Synaptic Package [...]]]></description>
			<content:encoded><![CDATA[<p>To install Adobe Reader 9.2 in Ubuntu 9.10, you have to enable the Canonical Partner Repository. Go to System -> Administration -> Software Sources</p>
<p>Select Third-Party Software and and check the checkbox for <code>http://archive.canonical.com/ubuntu partner</code>.<br />
Close and accept to reload.</p>
<p>It is now possible to install "acroread" by<br />
<code>sudo apt-get install acroread</code></p>
<p>Or from System -> Administration -> Synaptic Package Manager, but for some reason it is not found in Ubuntu Software Center?</p>
<p><strong>Update: 2009-11-03 @ 00:56</strong><br />
According to <a href="https://wiki.ubuntu.com/SoftwareCenter">https://wiki.ubuntu.com/SoftwareCenter</a> version 3 of the SoftwareCenter will offer "commercial software for sale". But according to <a href="http://www.ghacks.net/2009/10/30/the-new-ubuntu-software-center/">http://www.ghacks.net/2009/10/30/the-new-ubuntu-software-center/</a> and <a href="http://blogs.techrepublic.com.com/opensource/?p=1031">http://blogs.techrepublic.com.com/opensource/?p=1031</a> it should be possible to install "commercial/non-free software" in version 3.</p>
<p>In Ubuntu 10.4 the Software Center should replace "Synaptic, Software Sources, Gdebi, and possibly the Update Manager" according to <a href="http://en.wikipedia.org/wiki/Ubuntu_Software_Center">http://en.wikipedia.org/wiki/Ubuntu_Software_Center</a>, so version 3 should be out at that time - I hope :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/03/installing-adobe-reader-9-2-in-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Howto use Eclipse with PHP and SVN in Ubuntu 9.10</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/01/howto-use-eclipse-with-php-and-svn-in-ubuntu-9-10/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/01/howto-use-eclipse-with-php-and-svn-in-ubuntu-9-10/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 15:58:18 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Karmic Koala]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=473</guid>
		<description><![CDATA[This little guide will show how to set up Eclipse for developing PHP sites using PHP Development Tools Project and Subversion.
Install Eclipse Galileo from repository:
sudo apt-get install eclipse
A number of dependencies are required inside Eclipse, which has to be added. Start Eclipse from the menu, and select Help > Install new software... The below list [...]]]></description>
			<content:encoded><![CDATA[<p>This little guide will show how to set up Eclipse for developing PHP sites using <a href="http://www.eclipse.org/pdt/">PHP Development Tools Project</a> and Subversion.</p>
<p>Install Eclipse Galileo from repository:</p>
<blockquote><p>sudo apt-get install eclipse</p></blockquote>
<p>A number of dependencies are required inside Eclipse, which has to be added. Start Eclipse from the menu, and select Help > Install new software... The below list of update sites has to be added, which is done be typing the URL in "Work with", click Add and then type the name in the name field followed by Ok. Do this for the below update sites (name followed by URL):</p>
<p>EMF, <code>http://download.eclipse.org/modeling/emf/updates/releases/</code><br />
MyLyn, <code>http://download.eclipse.org/tools/mylyn/update/e3.4/</code><br />
GEF, <code>http://download.eclipse.org/tools/gef/updates/releases/</code><br />
DLTK, <code>http://download.eclipse.org/releases/galileo/</code><br />
Webtool, <code>http://download.eclipse.org/webtools/updates/</code></p>
<p><strong>PDT</strong><br />
Add <code>http://download.eclipse.org/tools/pdt/updates/2.0/</code> with name PDT. Open "PDT SDK 2.1.2" and select "PHP Development Tools (PDT) Runtime Feature", click Next twice, accept the license and click Finish.</p>
<p><strong>Subclipse</strong><br />
SVN integration (or one of them) in Eclipse is called <a href="http://subclipse.tigris.org/">Subclipse</a> and is installed through update sites as well.  Select Help > Install new software... and add <code>http://subclipse.tigris.org/update_1.6.x</code> into the "Work with" field and click Add type "Subclipse" in name and click Ok. Select all three options and click Next, Next, accept License and click Finish.</p>
<p><strong>Checking out a project</strong><br />
Select File -> New -> Other in the new window select SVN -> Checkout Projects from SVN and click Next.</p>
<p>Select "Create a new repository location", click Next. Type SVN repository in URL, click Next. Type username and password if required. Select the part of the repository containing the project, click Finish.</p>
<p>If the repository not already holds project settings for Eclipse, select "Check out as a project configured using the New Project Wizard" and click Finish. In the New Project Wizard select PHP -> PHP Project and click Next. Give the project a name and you are ready to go - have fun! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/01/howto-use-eclipse-with-php-and-svn-in-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Re-install / upgrade to Ubuntu 9.10 and keep encrypted data from previous version</title>
		<link>http://ostehamster.dk/blog/index.php/2009/11/01/re-install-upgrade-to-ubuntu-9-10-and-keep-encrypted-data-from-previous-version/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/11/01/re-install-upgrade-to-ubuntu-9-10-and-keep-encrypted-data-from-previous-version/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 12:19:06 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Karmic Koala]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Paranoia]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ubuntu 9.10]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=223</guid>
		<description><![CDATA[When Ubuntu first started with encrypted hard drive support, I made a LVM system inside the encrypted system. I do not like to upgrade Ubuntu from one version to another, and I do not want to copy all my data for each installation. My LVM system therefore have root, swap and home, so that home [...]]]></description>
			<content:encoded><![CDATA[<p>When Ubuntu first started with encrypted hard drive support, I made a LVM system inside the encrypted system. I do not like to upgrade Ubuntu from one version to another, and I do not want to copy all my data for each installation. My LVM system therefore have root, swap and home, so that home can survive the re-installation.</p>
<p>Unfortunately, the installer (the alternative one) do not recognise the encrypted hard drive, and is therefore not able to use it. This little guide helps you to reuse your LVM layout - and your data!</p>
<p><strong>NB: Use this guide at your own risk!</strong><br />
<span id="more-223"></span></p>
<p>Follow the installation until "Set up network", then press ctrl-alt F2 to start a console and run<br />
<code><br />
modprobe dm-crypt<br />
cryptsetup luksOpen /dev/sda5 sda5_crypt<br />
</code></p>
<p>Replace /dev/sda5 with your encrypted partition. You will now be prompted for your passphrase for the encrypted partition, after which you run<br />
<code><br />
vgscan<br />
vgchange -ay<br />
</code><br />
in order to activate the lvm volumes.</p>
<p>Press ctrl-alt f1 to get back to the installer. When asked for partition method select Manual, and your encrypted LVM volumes are now on the list. You still need to set mount points etc., and remember NOT to mark them for formatting. Continue the installation.</p>
<p>Boot into rescue with your LVM root volume as /</p>
<p>Find the unique id for this "disk" from:<br />
<code>ls -l /dev/disk/by-uuid</code></p>
<p>Insert a line like</p>
<blockquote><p>sda5_crypt /dev/disk/by-uuid/df05112c-65bf-44a2-b6d1-a740c3444b53 none luks</p></blockquote>
<p>into /etc/crypttab. Remember to use the uuid found above together with what ever name you have given the device. sda5_crypt will give a device called /dev/mapper/sda5_crypt</p>
<p>To avoid manually typing the uuid, it is possible just to do:<br />
<code>ls -l /dev/disk/by-uuid >> /etc/crypttab<br />
nano - /etc/crypttab</code></p>
<p>This will copy the entire content of "ls -l /dev/disk/by-uuid" into the bottom of /etc/crypttab, and open the file for editing with nano.</p>
<p>Run <code>update-initramfs -u</code>, reboot and you are ready to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/11/01/re-install-upgrade-to-ubuntu-9-10-and-keep-encrypted-data-from-previous-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brunch @ BioM</title>
		<link>http://ostehamster.dk/blog/index.php/2009/09/27/brunch-biom/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/09/27/brunch-biom/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 09:23:13 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anmeldelse]]></category>
		<category><![CDATA[København]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Restaurent]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=431</guid>
		<description><![CDATA[Lørdag den 26. september havde jeg inviteret Trine til brunch på BioM. Hvad jeg ikke havde fortalt hende var, at fire af vores rigtig gode venner også var inviteret, så der var lagt op til en hyggelig formiddag.
Vi bestilte en brunch-tallerken hver, samt juice, kaffe og the – alt sammen økologisk, idet BioM er ”Statskontrolleret [...]]]></description>
			<content:encoded><![CDATA[<p>Lørdag den 26. september havde jeg inviteret Trine til brunch på BioM. Hvad jeg ikke havde fortalt hende var, at fire af vores rigtig gode venner også var inviteret, så der var lagt op til en hyggelig formiddag.</p>
<p>Vi bestilte en brunch-tallerken hver, samt juice, kaffe og the – alt sammen økologisk, idet BioM er ”Statskontrolleret økologisk”. Brunch-tallerkene bestod af yoghurt fra Knuthenlund med frugtkompot og mysli, polenta med skinke, laksemousse, tomatbruschetta, pocheret æg med hollandaise på bund af spinat, ost fra Kultorvet, chokoladebrownie, to slags marmelade (den ene af mælkeskum) med dertilhørende hjemmebagt hvede- og rugbrød.</p>
<p><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/IMAG0010.jpg"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/IMAG00101.jpg" alt="Brunch @ BioM" title="Brunch @ BioM" class="aligncenter size-full wp-image-430" /></a><br />
<span id="more-431"></span><br />
En rigtig god sammensat tallerken, der med brød og kage mættede uden, at man følte sig helt ødelagt. Dertil er det herligt, at man kan købe en brunch uden pølse-bacon-æg-helvede, og når det hele så tilmed er økologisk, er det svært at ønske sig mere :)</p>
<p>Betjeningen er venlig og uformel, og aldrig bleg for en lille joke. Selve restauranten er rigtig hyggeligt indrettet, og der blev specielt lagt mærke til deres super seje lysekroner!</p>
<p><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/biom.png" alt="BioM" title="BioM" width="678" height="477" class="aligncenter size-full wp-image-434" /></p>
<p>Det er ikke første gang vi har været på BioM, og det er bestemt heller ikke sidste gang. Selvom man måske ikke er den store øko-freak, skal man bestemt ikke snyde sig selv for et besøg på BioM. Nok går de 100% op i økologi, men de går i lige så høj grad op i god mad – og det kan ses og smages!</p>
<p>Hjemmeside: <a href="http://www.biom.dk/">www.biom.dk</a><br />
<a href="http://www.findsmiley.dk/da-DK/Searching/DetailsView.htm?searchstring=biom&#038;searchtype=all&#038;vtype=detail&#038;mode=simple&#038;display=table&#038;sort=0&#038;SearchExact=false&#038;virk=110757451">Smileys</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/09/27/brunch-biom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Målet helliger midlet &#8211; åbenbart</title>
		<link>http://ostehamster.dk/blog/index.php/2009/09/26/malet-helliger-midlet-abenbart/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/09/26/malet-helliger-midlet-abenbart/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 17:51:32 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Klima]]></category>
		<category><![CDATA[København]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Shut It Down]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=420</guid>
		<description><![CDATA[Ifølge Berlingske har miljøaktivister stoppet deres demo på Amager, og selvom de ikke fik lukket værket, mener de at det var en succes.
- Selvfølgelig var der konfrontationer, og politiet var hårde, men det her handler ikke om politiet. Det handler om at få budskabet frem, siger Tannie Nyboe.
Ok, og budskabet er, at I er en [...]]]></description>
			<content:encoded><![CDATA[<p>Ifølge Berlingske har <a href="http://www.berlingske.dk/article/20090926/danmark/909260382/">miljøaktivister stoppet deres demo på Amager</a>, og selvom de ikke fik lukket værket, mener de at det var en succes.</p>
<blockquote><p>- Selvfølgelig var der konfrontationer, og politiet var hårde, men det her handler ikke om politiet. Det handler om at få budskabet frem, siger Tannie Nyboe.</p></blockquote>
<p>Ok, og budskabet er, at I er en flok tåber der ikke kender til demokrati, men mener at I må gøre hvad I vil, fordi målet helliger midlet. Men hvis en betjent kommer til at skubbe jer omkuld, så er det politivold, og så skal sagen direkte til Strasbourg?</p>
<blockquote><p>- Nu må politikerne vågne op, når 1200 mennesker går på gaden for at markere, at vi skal tage klimaudfordringerne seriøst, siger Tannie Nyboe.</p></blockquote>
<p>Lidt over 0.02% af befolkningen har været på gaden, så kan du da være sikker på at hele Christiansborg mødes ekstraordinært i morgen!!!</p>
<p>Jeg har intet imod at man prøver at gøre noget for miljøet, men lav nu for h..... noget konstruktivt, i stedet for at spilde politiets og samfundets ressourcer!</p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/09/26/malet-helliger-midlet-abenbart/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hindbærflødeboller</title>
		<link>http://ostehamster.dk/blog/index.php/2009/09/13/hindb%c3%a6rfl%c3%b8deboller/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/09/13/hindb%c3%a6rfl%c3%b8deboller/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 12:34:58 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dessert]]></category>
		<category><![CDATA[Mad]]></category>
		<category><![CDATA[Opskrifter]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=404</guid>
		<description><![CDATA[Så fik jeg endelig lavet hindbærflødeboller, lidt besværligt, men det hele værd :)
Ingredienser:
Hindbærskum:
3 dl hindbær
3 dl vand
½ vanillestangen
300 gram sukker
3 bæger pasteuriserede æggehvider (150g)
Bunde:
100 gram smør
3 dl mel
3/4 dl sukker
Overtræk:
200g mørk chokolade
Fremgangsmåde:
Mel og smør smuldres sammen, hvorefter sukkeret tilsættes og æltes sammen. Dejen rulles ud, stikkes ud med udstikkerring eller et glas, og bages ved [...]]]></description>
			<content:encoded><![CDATA[<p>Så fik jeg endelig lavet <a href="http://food4u.dk/opskrifter/6835/Hindb%C3%A6rfl%C3%B8deboller/">hindbærflødeboller</a>, lidt besværligt, men det hele værd :)</p>
<p><strong>Ingredienser:</strong><br />
Hindbærskum:<br />
3 dl hindbær<br />
3 dl vand<br />
½ vanillestangen</p>
<p>300 gram sukker<br />
3 bæger pasteuriserede æggehvider (150g)</p>
<p>Bunde:<br />
100 gram smør<br />
3 dl mel<br />
3/4 dl sukker</p>
<p>Overtræk:<br />
200g mørk chokolade</p>
<p><strong>Fremgangsmåde:</strong><br />
Mel og smør smuldres sammen, hvorefter sukkeret tilsættes og æltes sammen. Dejen rulles ud, stikkes ud med udstikkerring eller et glas, og bages ved 200 grader i 10 minutter.</p>
<p>Hindbær, vand og vanillestangen koges i 10 minutter, hvorefter saften sies og koges ned til ca. 1 dl.</p>
<p>Når hindbærsaften er reduceret til 1 dl tilsættes 300 gram sukker, som derefter koges ind. Det skal koges ca. 3 minutter indtil alt sukkeret er opløst, og det begynder at tykne. Det skal koges til lige inden det begynder at brune.</p>
<p>Æggehviderne piskes stive. Under fortsat piskning hældes hindbærsiruppen langsomt i æggehviderne, og der pisken i 15 minutter. Efter et par minutter begynder skummen at blive stiv, men fortsæt med at pise, for at opnå det bedste resultat.</p>
<p>Skummen kommes på en sprøjtepose og sprøjtes på bundene. Flødebollerne bages ved 180 grader i 5 minutter.</p>
<p>Når de er kølet helt ned smeltes chokoladen, som flødebollerne derefter pensles med.</p>
<p><strong>Bunde:</strong><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/1.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/1.JPG" alt="1" title="1" class="aligncenter size-full wp-image-407" /></a><br />
<strong>Sirup:</strong><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/2.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/2.JPG" alt="2" title="2" class="aligncenter size-full wp-image-409" /></a><br />
<strong>Skummen:</strong><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/4.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/4.JPG" alt="4" title="4" class="aligncenter size-full wp-image-411" /></a><br />
<strong>Før chokolade:</strong><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/6.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/6.JPG" alt="6" title="6" class="aligncenter size-full wp-image-413" /></a><br />
<strong>Efter chokolade:</strong><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/09/7.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/09/7.JPG" alt="7" title="7" class="aligncenter size-full wp-image-414" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/09/13/hindb%c3%a6rfl%c3%b8deboller/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Giant rat found in &#8216;lost volcano&#8217;</title>
		<link>http://ostehamster.dk/blog/index.php/2009/09/07/giant-rat-found-in-lost-volcano/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/09/07/giant-rat-found-in-lost-volcano/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:52:35 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Animals]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/index.php/2009/09/07/giant-rat-found-in-lost-volcano/</guid>
		<description><![CDATA[A new species of giant rat has been discovered deep in the jungle of Papua New Guinea.
The rat, which has no fear of humans, measures 82cm long, placing it among the largest species of rat known anywhere in the world.
The creature, which has not yet been formally described, was discovered by an expedition team filming [...]]]></description>
			<content:encoded><![CDATA[<p><b>A new species of giant rat has been discovered deep in the jungle of Papua New Guinea.</b></p>
<p>The rat, which has no fear of humans, measures 82cm long, placing it among the largest species of rat known anywhere in the world.</p>
<p>The creature, which has not yet been formally described, was discovered by an expedition team filming the BBC programme Lost Land of the Volcano.</p>
<p><a href="http://news.bbc.co.uk/earth/hi/earth_news/newsid_8210000/8210394.stm">Check it out!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/09/07/giant-rat-found-in-lost-volcano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DPS, Assignment: &#8220;Weather&#8221; Aug. 19 &#8211; Sept. 2</title>
		<link>http://ostehamster.dk/blog/index.php/2009/08/29/dps-assignment-weather-aug-19-sept-2/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/08/29/dps-assignment-weather-aug-19-sept-2/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 09:05:36 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DPS]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=394</guid>
		<description><![CDATA[Photo for the "Weather" assignment at Digital Photography School.

Taken in Svaneke, Bornholm, Summer 2009
]]></description>
			<content:encoded><![CDATA[<p>Photo for the "Weather" assignment at <a href="http://digital-photography-school.com/forum/digital-photography-assignments/74343-assignment-weather-aug-19-sept-2-a.html">Digital Photography School</a>.</p>
<p><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/08/IMG_01751.JPG"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/08/IMG_01751.JPG" alt="IMG_0175" title="IMG_0175" class="aligncenter size-full wp-image-396" /></a><br />
<em>Taken in Svaneke, Bornholm, Summer 2009</em></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/08/29/dps-assignment-weather-aug-19-sept-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Korrektur i Gnome Evolution &#8211; det kan man så ikke :)</title>
		<link>http://ostehamster.dk/blog/index.php/2009/08/28/korrektur-i-gnome-evolution-det-kan-man-sa-ikke/</link>
		<comments>http://ostehamster.dk/blog/index.php/2009/08/28/korrektur-i-gnome-evolution-det-kan-man-sa-ikke/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 22:10:55 +0000</pubDate>
		<dc:creator>Christoffer Kjølbæk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Spas]]></category>

		<guid isPermaLink="false">http://ostehamster.dk/blog/?p=390</guid>
		<description><![CDATA[God ordbog der er i Gnome Evolution :)

]]></description>
			<content:encoded><![CDATA[<p>God ordbog der er i Gnome Evolution :)</p>
<p><a href="http://ostehamster.dk/blog/wp-content/uploads/2009/08/evo.png"><img src="http://ostehamster.dk/blog/wp-content/uploads/2009/08/evo.png" alt="evo" title="evo" width="591" height="276" class="aligncenter size-full wp-image-389" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ostehamster.dk/blog/index.php/2009/08/28/korrektur-i-gnome-evolution-det-kan-man-sa-ikke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
