<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kristian Lunde &#187; Applications</title>
	<atom:link href="http://www.klunde.net/category/applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.klunde.net</link>
	<description>www.klunde.net</description>
	<lastBuildDate>Wed, 01 Feb 2012 23:57:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>My Bookshelf &amp; openbook</title>
		<link>http://www.klunde.net/2009/11/22/my-bookshelf-openbook/</link>
		<comments>http://www.klunde.net/2009/11/22/my-bookshelf-openbook/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 23:19:54 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[openbook]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=469</guid>
		<description><![CDATA[Yesterday I installed the openbook plugin for wordpress on this site. My intentions was to build a &#8220;My bookshelf&#8221; page similar to what Mats Lindh and Trond Huso have on their sites. I installed the plugin without any problems but the layout was a bit nasty. I don&#8217;t know if that was because of the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F11%2F22%2Fmy-bookshelf-openbook%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F11_2F22_2Fmy-bookshelf-openbook_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F11%2F22%2Fmy-bookshelf-openbook%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Yesterday I installed the <a href="http://wordpress.org/extend/plugins/openbook-book-data/" onclick="urchinTracker('/outgoing/wordpress.org/extend/plugins/openbook-book-data/?referer=');">openbook</a> plugin for wordpress on this site. My intentions was to build a &#8220;My bookshelf&#8221; page similar to what <a href="http://e-mats.org/" onclick="urchinTracker('/outgoing/e-mats.org/?referer=');">Mats Lindh</a> and Trond Huso have on their sites. </p>
<p>I installed the plugin without any problems but the layout was a bit nasty. I don&#8217;t know if that was because of the theme I am running on this site or if the openbook markup was messed up. Anyway I rewrote the html and css for the openbooks template on its configuration page and added some custom css to the site to get it working. </p>
<p>This is my openbook template:</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;li&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;medium&quot;&gt;[OB_COVER_MEDIUM]&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;description&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;title&quot;&gt;[OB_TITLE]&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;meta-1&quot;&gt;Written by: [OB_AUTHORS]&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;publisher-year&quot;&gt;[OB_PUBLISHER] [OB_PUBLISHYEAR]&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;category&quot;&gt;[OB_LINK_WORLDCAT][OB_DOT][OB_READONLINE][OB_DOT][OB_LINK_LIBRARYTHING][OB_DOT][OB_LINK_GOOGLEBOOKS][OB_DOT][OB_LINK_BOOKFINDER]&lt;/div&gt;[OB_COINS]
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;clearboth&quot;&gt;&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/li&gt;</div>
</li>
</ol>
</div>
<p>This is the css I added:</p>
<div class="geshi no css">
<ol>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">list-style-type</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">border-bottom</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#ccc</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">margin-bottom</span><span class="sy0">:</span> <span class="re3">15px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">padding-bottom</span><span class="sy0">:</span> <span class="re3">15px</span><span class="sy0">;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li div<span class="re1">.medium</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;float<span class="re2">:left</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">margin-right</span><span class="sy0">:</span> <span class="re3">10px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li div<span class="re1">.medium</span> img <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;width<span class="re2">:<span class="re3">120px</span></span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li div<span class="re1">.description</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">450px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li div<span class="re1">.description</span> div <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">11px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">padding-top</span><span class="sy0">:</span> <span class="re3">5px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">ul<span class="re1">.books</span> li div<span class="re1">.clearboth</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">clear</span><span class="sy0">:</span> <span class="kw2">both</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>At last I added this custom html in the &#8220;my bookshelf&#8221; page:</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;ul class=&quot;books&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1"><i>[No Book Data for this Book Number]</i> 
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><i>[No Book Data for this Book Number]</i> 
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><i>[No Book Data for this Book Number]</i> 
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;/ul&gt;</div>
</li>
</ol>
</div>
<p>You can see the result here: <a href="http://www.klunde.net/my-bookshelf">My Bookshelf </a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/11/22/my-bookshelf-openbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retweet vs TweetMeme WordPress plugins</title>
		<link>http://www.klunde.net/2009/09/10/retweet-vs-tweetmeme-wordpress-plugins/</link>
		<comments>http://www.klunde.net/2009/09/10/retweet-vs-tweetmeme-wordpress-plugins/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 07:15:00 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=361</guid>
		<description><![CDATA[I decided earlier this week that I should add a Retweet plugin to my blog; so I googled &#8220;Retweet wordpress&#8221;, which gave me two good results the Retweet plugin and the TweetMeme plugin. I thought I would install and try both of them before I decided which one I should go for. Retweet I installed [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F09%2F10%2Fretweet-vs-tweetmeme-wordpress-plugins%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F09_2F10_2Fretweet-vs-tweetmeme-wordpress-plugins_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F09%2F10%2Fretweet-vs-tweetmeme-wordpress-plugins%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I decided earlier this week that I should add a Retweet plugin to my blog; so I googled &#8220;Retweet wordpress&#8221;, which gave me two good results the <a href="http://wordpress.org/extend/plugins/twitter-retweet/" onclick="urchinTracker('/outgoing/wordpress.org/extend/plugins/twitter-retweet/?referer=');">Retweet</a> plugin and the <a href="http://wordpress.org/extend/plugins/tweetmeme/" onclick="urchinTracker('/outgoing/wordpress.org/extend/plugins/tweetmeme/?referer=');">TweetMeme</a> plugin. I thought I would install and try both of them before I decided which one I should go for. </p>
<h4>Retweet</h4>
<p>I installed the Retweet plugin first, this had to be installed, I had to add a custom field to each post and I had to add some PHP code to one of the template files. Once this was done I had to style the link myself.  </p>
<h4>TweetMeme</h4>
<p>The TweetMeme plugin however had to be installed and then it needed to be configured from a separate settings page. Once that was done it was added to all of my posts and it even showed how many retweets each post had. </p>
<h4>Conclusion</h4>
<p>When I need a plugin for wordpress I really do not want to do more than install it and do some configuration on a settings page. It is way to much hassle to modify template files and adding custom fields to the posts. </p>
<p>Guess which plugin I chose <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/09/10/retweet-vs-tweetmeme-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting the default option of a ubercart product attribute</title>
		<link>http://www.klunde.net/2009/02/20/getting-the-default-option-of-a-ubercart-product-attribute/</link>
		<comments>http://www.klunde.net/2009/02/20/getting-the-default-option-of-a-ubercart-product-attribute/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 22:02:57 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Ubercart]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=262</guid>
		<description><![CDATA[In Orange Bus we are currently busy building a new web shop for a clothing company. We are building this web shop on Drupal 6 and Ubercart 2. While I was doing some tuning of the product page (built as a node template) on this site I suddenly realized that even though you can get [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F02%2F20%2Fgetting-the-default-option-of-a-ubercart-product-attribute%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2009_2F02_2F20_2Fgetting-the-default-option-of-a-ubercart-product-attribute_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2009%2F02%2F20%2Fgetting-the-default-option-of-a-ubercart-product-attribute%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In Orange Bus we are currently busy building a new web shop for a clothing company. We are building this web shop on Drupal 6 and Ubercart 2. While I was doing some tuning of the product page (built as a node template) on this site I suddenly realized that even though you can get most of the information needed in from the <i>$node</i> object, you are unable to get the default options of each attribute.</p>
<p>In my case this attribute was the sizes of the products (small, medium, large and so on), the node object contained all the attributes but not the default options. It is not at all complicated to get this information but you do need to add some custom code to get a hold of the default options. I would argue that this should be included in the default node object, which really should not be a big deal adding. I guess I should add a patch for this, instead of going around the problem which is what I do and describe here. </p>
<p>To get a hold of this I had to call a ubercart specific function called <i>uc_product_get_attributes</i> function. This function takes a node id as parameter and return all an array of all the attributes related to the node. The array contain a set of attributes objects and these object contain all the information available on each attribute.</p>
<p>My solution was to call the <i>uc_product_get_attributes</i> function and get the <i>default_option</i> variable from the attribute object, see code example below.</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="co1">//get all attributes related to the node</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$attributes</span> <span class="sy0">=</span> uc_product_get_attributes<span class="br0">&#40;</span><span class="re1">$node</span><span class="sy0">-&gt;</span><span class="me1">nid</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//get the id of default size of the product</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$default_size</span> <span class="sy0">=</span> <span class="re1">$attributes</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">-&gt;</span><span class="me1">default_option</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>It is simple, but it took me about an 30 minutes to determine the problem and adding a solution. Hopefully this will save someone the job of solving the same problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2009/02/20/getting-the-default-option-of-a-ubercart-product-attribute/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding and editing pages in your drupal module</title>
		<link>http://www.klunde.net/2008/12/02/adding-and-editing-pages-in-your-drupal-module/</link>
		<comments>http://www.klunde.net/2008/12/02/adding-and-editing-pages-in-your-drupal-module/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 21:42:44 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=195</guid>
		<description><![CDATA[Whenever you are adding or editing pages to your module, remember to refresh the admin -&#62; site building -&#62; modules or your changes will not take effect.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F12%2F02%2Fadding-and-editing-pages-in-your-drupal-module%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F12_2F02_2Fadding-and-editing-pages-in-your-drupal-module_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F12%2F02%2Fadding-and-editing-pages-in-your-drupal-module%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Whenever you are adding  or editing pages to your module, remember to refresh the <em>admin -&gt; site building -&gt; modules</em> or your changes will not take effect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/12/02/adding-and-editing-pages-in-your-drupal-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coding standard, coding style</title>
		<link>http://www.klunde.net/2008/11/11/coding-standard-coding-style/</link>
		<comments>http://www.klunde.net/2008/11/11/coding-standard-coding-style/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 22:53:25 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[coding style]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=185</guid>
		<description><![CDATA[In Orange Bus we have been looking at our coding style lately. We have created our very own coding standard. Since we base most of our applications on the drupal we chose to use the drupal coding standard as our main source of inspiration. During our process of creating this coding standard we found a [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F11%2F11%2Fcoding-standard-coding-style%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F11_2F11_2Fcoding-standard-coding-style_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F11%2F11%2Fcoding-standard-coding-style%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In <a href="http://www.orangebus.co.uk" onclick="urchinTracker('/outgoing/www.orangebus.co.uk?referer=');">Orange Bus</a> we have been looking at our coding style lately. We have created our very own coding standard. Since we base most of our applications on the drupal we chose to use the <a href="http://www.drupal.org" onclick="urchinTracker('/outgoing/www.drupal.org?referer=');">drupal</a> coding standard as our main source of inspiration.<br />
During our process of creating this coding standard we found a few good links I thought we should share. </p>
<p><a href="http://yeknaa.wordpress.com/" onclick="urchinTracker('/outgoing/yeknaa.wordpress.com/?referer=');">Mike</a> @ <a href="http://www.orangebus.co.uk" onclick="urchinTracker('/outgoing/www.orangebus.co.uk?referer=');">Orange Bus</a> found these two articles about beautiful and practical code, both these are a must read:</p>
<p><a href="http://www.wilshipley.com/blog/2007/05/pimp-my-code-part-14-be-inflexible.html" onclick="urchinTracker('/outgoing/www.wilshipley.com/blog/2007/05/pimp-my-code-part-14-be-inflexible.html?referer=');">http://www.wilshipley.com/blog/2007/05/pimp-my-code-part-14-be-inflexible.html</a></p>
<p><a href="http://www.perforce.com/perforce/papers/prettycode.html" onclick="urchinTracker('/outgoing/www.perforce.com/perforce/papers/prettycode.html?referer=');">http://www.perforce.com/perforce/papers/prettycode.html</a></p>
<p>Another blog post  about line density worth reading is:</p>
<p><a href="http://paul-m-jones.com/?p=276" onclick="urchinTracker('/outgoing/paul-m-jones.com/?p=276&amp;referer=');">http://paul-m-jones.com/?p=276</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/11/11/coding-standard-coding-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All frameworks sucks&#8230;. ?</title>
		<link>http://www.klunde.net/2008/10/25/all-frameworks-sucks/</link>
		<comments>http://www.klunde.net/2008/10/25/all-frameworks-sucks/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 22:40:01 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=126</guid>
		<description><![CDATA[I&#8217;ve been hearing this a lot lately, that most framework sucks, well do they? Mr. Paul M. Jones has a really good article about the subject, he says that when a developer has to do a major change in his mindset and development routines to get used to a new framework, the developer often think [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F10%2F25%2Fall-frameworks-sucks%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F10_2F25_2Fall-frameworks-sucks_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F10%2F25%2Fall-frameworks-sucks%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been hearing this a lot lately, that most framework sucks, well do they? </p>
<p>Mr. <a href="http://paul-m-jones.com/?p=355" onclick="urchinTracker('/outgoing/paul-m-jones.com/?p=355&amp;referer=');">Paul M. Jones</a> has a really good article about the subject, he says that when a developer has to do a major change in his mindset and development routines to get used to a new framework, the developer often think that the &#8220;framework sucks&#8221;.</p>
<p>Personally I&#8217;ve been the kind of developer who like to write my own frameworks from scratch, and yes that also mean that I&#8217;ve written a couple of frameworks for myself, and threw them away. Since I like to write things from the scratch I&#8217;ve also been a bit critical to other frameworks,and I do understand  term &#8220;all frameworks sucks&#8221;. When you&#8217;ve written your own framework, you know how it works, and it works just the way you want it to, at least that was the goal of writing it in the first place. It also gives you the possibility to change or add functionality in the core of the framework rather easily.</p>
<p>The advantages with a &#8220;off the shelf&#8221; framework can sometimes be intriguing, with a little bit of effort you can become darn efficent with this kind of framework, that will of course require a bit from the developer to learn the framework. Another bonus about learning a new framework is that you pick up on some of the bright ideas the developers have implemented in their framework.</p>
<p>I do not think that all frameworks sucks but, there are some frameworks out there that do not match my mindset at all, there is no secret that I&#8217;m not a huge fan of large enterprise frameworks with a wide extent of xml files and structures (I&#8217;m not naming any names, but the Java world have a few of these). Why on earth would you need to define a new page in three different xml files to get it working? </p>
<p>I&#8217;ve heard a lot about <a href="http://codeigniter.com/" onclick="urchinTracker('/outgoing/codeigniter.com/?referer=');">Code Ignitor</a> and it sounds like a promising framework, I have not had the time to have a look at it yet. I am familiar with the <a href="http://framework.zend.com/" onclick="urchinTracker('/outgoing/framework.zend.com/?referer=');">Zend framework</a> and <a href="http://ez.no/ezcomponents" onclick="urchinTracker('/outgoing/ez.no/ezcomponents?referer=');">EZ components</a> which probably are more of a set of building bricks than frameworks, both of these are quite good and comfortable to work with. </p>
<p>Recently I&#8217;ve started to look at the <a href="http://drupal.org" onclick="urchinTracker('/outgoing/drupal.org?referer=');">Drupal</a>. I realize that Drupal is more of a content management system than a framework, but it has its similarities to a framework. So far I still think Drupal &#8220;sucks&#8221; <img src='http://www.klunde.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  but I do however like  the simplicity of writing modules. What I do not like at all is the &#8220;lack&#8221; of OOP, and yes I know Drupal have its own way of implementing OOP, but I still feels thats is a little bit awkward, I am a bit of a OOP junkie <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Anyway I see the potential of Drupal and look forward to getting to know it better. I believe I eventually will  like Drupal because it is easy to extend, you get a lot of stuff for free because someone has already written it for you and it is a big community around it with a lot of smart developers. There is probably a reason why Drupal is one of the largest PHP framework out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/10/25/all-frameworks-sucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m on skype</title>
		<link>http://www.klunde.net/2008/10/11/im-on-skype/</link>
		<comments>http://www.klunde.net/2008/10/11/im-on-skype/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 14:06:56 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=118</guid>
		<description><![CDATA[The title says it all, I&#8217;m on skype, my username is: kristianlunde. That&#8217;s about it for now. EOF.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F10%2F11%2Fim-on-skype%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F10_2F11_2Fim-on-skype_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F10%2F11%2Fim-on-skype%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>The title says it all, I&#8217;m on skype, my username is: <b>kristianlunde</b>. </p>
<p>That&#8217;s about it for now. </p>
<p>EOF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/10/11/im-on-skype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New layout, again ;)</title>
		<link>http://www.klunde.net/2008/09/05/new-layout-again/</link>
		<comments>http://www.klunde.net/2008/09/05/new-layout-again/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 19:43:17 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=96</guid>
		<description><![CDATA[I&#8217;ve not been completely satisfied with my previous wordpress theme, it worked okay but it took a lot of dead space on the top (approx 300px). I have been looking at other themes for a while now and today I found one I liked a lot, it is called journalist and is created by Lucian [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F09%2F05%2Fnew-layout-again%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F09_2F05_2Fnew-layout-again_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F09%2F05%2Fnew-layout-again%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve not been completely satisfied with my previous wordpress theme, it worked okay but it took a lot of dead space on the top (approx 300px). I have been looking at other themes for a while now and today I found one I liked a lot, it is called journalist and is created by <a href="http://lucianmarin.com/" onclick="urchinTracker('/outgoing/lucianmarin.com/?referer=');">Lucian E. Marin</a>.</p>
<p>Have a look at his wordpress themes at: <a href="http://lucianmarin.com/page/themes/" onclick="urchinTracker('/outgoing/lucianmarin.com/page/themes/?referer=');">http://lucianmarin.com/page/themes/</a>.</p>
<p>BTW: I added a twitter widget on the site to day as well (widget name: <a href="http://alexking.org/projects/wordpress" onclick="urchinTracker('/outgoing/alexking.org/projects/wordpress?referer=');">Twitter tools</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/09/05/new-layout-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m on twitter</title>
		<link>http://www.klunde.net/2008/08/22/im-on-twitter/</link>
		<comments>http://www.klunde.net/2008/08/22/im-on-twitter/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 20:45:28 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=81</guid>
		<description><![CDATA[I&#8217;m on twitter, http://twitter.com/kristianlunde. I&#8217;d never thought I would go and create an account on twitter but there I am with a brand new twitter account. I will be posting on twitter next week when I visit Newcastle (UK) if I get my phone number registered on twitter during the weekend, twitter seem to have [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F08%2F22%2Fim-on-twitter%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F08_2F22_2Fim-on-twitter_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F08%2F22%2Fim-on-twitter%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;m on twitter, <a href="http://twitter.com/kristianlunde" onclick="urchinTracker('/outgoing/twitter.com/kristianlunde?referer=');">http://twitter.com/kristianlunde</a>.</p>
<p>I&#8217;d never thought I would go and create an account on twitter but there I am with a brand new twitter account.</p>
<p>I will be posting on twitter next week when I visit Newcastle (UK) if I get my phone number registered on twitter during the weekend, twitter seem to have some problems accepting Norwegian phone numbers today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/08/22/im-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Templating with Eclipse</title>
		<link>http://www.klunde.net/2008/08/20/templating-with-eclipse/</link>
		<comments>http://www.klunde.net/2008/08/20/templating-with-eclipse/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 20:18:39 +0000</pubDate>
		<dc:creator>Kristian Lunde</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPEclipse]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.klunde.net/?p=54</guid>
		<description><![CDATA[Today I came over a a post on dzone.com about Eclipse and templating. It turns out that you can write small templates of code snippets you use a lot and bind them to a keyword. When typing the keyword, press &#8220;ctrl&#8221; and &#8220;space&#8221; and a list of possible templates available will appear, select the prefered [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F08%2F20%2Ftemplating-with-eclipse%2F" onclick="urchinTracker('/outgoing/api.tweetmeme.com/share?url=http_3A_2F_2Fwww.klunde.net_2F2008_2F08_2F20_2Ftemplating-with-eclipse_2F&amp;referer=');"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.klunde.net%2F2008%2F08%2F20%2Ftemplating-with-eclipse%2F&amp;source=kristianlunde&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Today I came over a a post on <a href="http://www.dzone.com" onclick="urchinTracker('/outgoing/www.dzone.com?referer=');">dzone.com</a> about Eclipse and templating. It turns out that you can write small templates of code snippets you use a lot and bind them to a keyword. When typing the keyword, press &#8220;ctrl&#8221; and &#8220;space&#8221; and a list of possible templates available will appear, select the prefered template, press &#8220;enter&#8221; and the code snippet is inserted into your working code. I works just the same way code completion. This actually means that you do not have to write the boring &#8220;for&#8221; loops or &#8220;if&#8221; tests anymore, just write a template and become a more efficient developer. </p>
<p>The <a href="http://firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html" onclick="urchinTracker('/outgoing/firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html?referer=');">original post</a> explains how to set up templates, so I will not go into that in this post, but since I am primarily a PHP developer and the post describes templating for Java, I&#8217;ll just give a description of where to go if you use the PHPEclipse.<br />
To edit and create templates for PHP, HTML or css, even javascript you have to use this path:</p>
<p><em>window -> preferences -> PHPeclipse Web Development -> PHP -> Templates.</em></p>
<p>To write and edit the templates, just follow the guidelines from <a href="http://firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html" onclick="urchinTracker('/outgoing/firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html?referer=');">Mr. Graversen</a>, or have a look at the links below.</p>
<p>For further reading have a look these sites.</p>
<ul>
<li><a href="http://firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html" onclick="urchinTracker('/outgoing/firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html?referer=');">http://firstclassthoughts.co.uk/java/eclipse_tip_templates_public_static_final.html</a>
<li>http://www.phpeclipse.de/tiki-index.php?page=Howto+use+the+templates+system</li>
<li><a href="http://help.eclipse.org/help21/index.jsp?topic=/org.eclipse.jdt.doc.user/concepts/ctemplates.htm" onclick="urchinTracker('/outgoing/help.eclipse.org/help21/index.jsp?topic=/org.eclipse.jdt.doc.user/concepts/ctemplates.htm&amp;referer=');">http://help.eclipse.org/help21/index.jsp?topic=/org.eclipse.jdt.doc.user/concepts/ctemplates.htm</a></li>
</ul>
<p>I guess if I had read the PHPEclipse manual when I first started using Eclipse, I would probably been using it from the start <img src='http://www.klunde.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Good luck with your  Eclipse templates, I know I will be using them extensively.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klunde.net/2008/08/20/templating-with-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

