<?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>Odd Christer Brovig's Blog</title>
	<atom:link href="http://www.brovig.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brovig.org/blog</link>
	<description>random thoughts on everything and nothing</description>
	<lastBuildDate>Fri, 15 Jul 2011 21:16:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Essential Software for a Fresh Windows 7 Install</title>
		<link>http://www.brovig.org/blog/2011/07/15/essential-software-for-a-fresh-windows-7-install/</link>
		<comments>http://www.brovig.org/blog/2011/07/15/essential-software-for-a-fresh-windows-7-install/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 20:41:56 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/?p=78</guid>
		<description><![CDATA[A long time ago I wrote a list of software I always ended up installing on Windows XP. This is a revised list of what I use on my Windows 7 installation. Internet Google Chrome &#8211; I usually run the &#8230; <a href="http://www.brovig.org/blog/2011/07/15/essential-software-for-a-fresh-windows-7-install/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A long time ago I wrote a <a href="http://www.brovig.org/blog/2007/05/06/essential-software-for-a-fresh-windows-xp-install/" title="Essential Software for a Fresh Windows XP Install" target="_blank">list of software</a> I always ended up installing on Windows XP. This is a revised list of what I use on my Windows 7 installation.</p>
<h2>Internet</h2>
<ul>
<li><a href="http://www.google.com/chrome" target="_blank">Google Chrome</a> &#8211; I usually run the dev channel which is mostly stable for everyday use.</li>
<li><a href="http://www.mozilla.com/" target="_blank">Firefox</a> 4+</li>
</ul>
<h2>Development</h2>
<ul>
<li><a href="http://www.jetbrains.com/ruby/" title="RubyMine">RubyMine</a></li>
<li>Ruby (via <a href="http://rubyinstaller.org/" title="RubyInstaller">RubyInstaller</a>)
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" title="Java SE downloads">Java</a></li>
<li><a href="http://maven.apache.org/" title="Maven build tool">Maven</a></li>
<li><a href="http://notepad-plus-plus.org/" title="Notepad++ editor" target="_blank">Notepad</a>++</li>
<li><a href="http://code.google.com/p/msysgit/" title="Msysgit - windows port of Git" target="_blank">Msysgit</a></li>
</ul>
<h2>Utilities</h2>
<ul>
<li><a href="http://winscp.net/eng/index.php" title="WinSCP - graphical scp client for windows" target="_blank">WinSCP</a></li>
<li><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" title="Putty - free SSH client" target="_blank">Putty</a></li>
<li><a href="http://www.launchy.net/" title="Launchy - fast keystroke launcher" target="_blank">Launchy</a> (alt+space for search and execution of files and apps)</li>
<li><a href="http://www.microsoft.com/download/en/details.aspx?id=15155" title="Microsoft SyncToy 2.1 - 32 and 64 bits versions" target="_blank">SyncToy</a> (syncing images across different physical drives)</li>
<li><a href="http://www.7-zip.org/" title="7Zip - file compression and decompression software" target="_blank">7Zip</a></li>
</ul>
<h2>Office</h2>
<ul>
<li><a href="http://docs.google.com" title="Googe Docs - office suite in the browser" target="_blank">Google Docs</a></li>
<li><a href="http://www.libreoffice.org/download/" title="LibreOffice is a fork from OpenOffice " target="_blank">LibreOffice</a></li>
</ul>
<h2>Backup</h2>
<ul>
<li><a href="https://www.jungledisk.com/" title="Jungledisk is software for facilitating file synchronization and backups" target="_blank">Jungledisk</a> for bulk image storage on Amazon S3</li>
<li><a href="http://db.tt/XrbMBpV" title="This link has my referral code which gives me a small extra boost in storage (thanks!)" target="_blank">Dropbox</a> for sharing smaller files among different computers</li>
</ul>
<h2>Multimedia</h2>
<ul>
<li><a href="http://www.videolan.org/vlc/" target="_blank">VLC</a></li>
<li><a href="http://wimp.no/" title="Music streaming service for norwegians only" target="_blank">Wimp</a> (norwegian service for audio streaming, a lot like Spotify)</li>
<li><a href="http://ffdshow-tryout.sourceforge.net/" target="_blank">FFDShow</a> (adds codecs to Windows Media Player)</li>
<li><a href="http://picasa.google.com/" target="_blank">Picasa</a> as image library</li>
</ul>
<h2>Omissions</h2>
<p>I did not list a pdf viewer as I usually download the pdfs with Chrome and use the builtin viewer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2011/07/15/essential-software-for-a-fresh-windows-7-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gems not getting attached on Windows (7) with RubyMine 3</title>
		<link>http://www.brovig.org/blog/2011/02/13/gems-not-getting-attached-on-windows-7-with-rubymine-3/</link>
		<comments>http://www.brovig.org/blog/2011/02/13/gems-not-getting-attached-on-windows-7-with-rubymine-3/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 16:59:40 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubymine]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/?p=61</guid>
		<description><![CDATA[This night I had a frustrating problem. I bought RubyMine the other day for usage when learning Rails. After 20 minutes I was ready to tear my hair out. No matter what I tried RubyMine kept saying that I needed &#8230; <a href="http://www.brovig.org/blog/2011/02/13/gems-not-getting-attached-on-windows-7-with-rubymine-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This night I had a frustrating problem. I bought <a href="http://www.jetbrains.com/ruby/">RubyMine</a> the other day for usage when learning Rails. </p>
<p>After 20 minutes I was ready to tear my hair out. No matter what I tried RubyMine kept saying that I needed to attach the rails gem. It also couldn&#8217;t execute tests since test-unit was not attached and so on. Gem install worked fine from the command prompt and bundle install did was working too.</p>
<p>Ended up being that I had set up both <em>GEM_PATH</em> and <em>GEM_HOME</em> last week when installing rails (I had trouble with windows permissions..). They pointed to different (non-standard) directories.. Setting up <em>only</em> GEM_PATH to the correct path worked wonders. For me this was <code>ruby install dir\lib\ruby\gems</code>.</p>
<p>E.g: </p>
<p><code>I:\Ruby192\lib\ruby\gems</code></p>
<p>After that life was fine again and the cortisol levels were dropping. :-)</p>
<p>TLDR: don&#8217;t change defaults on a poor development platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2011/02/13/gems-not-getting-attached-on-windows-7-with-rubymine-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I&#8217;m currently up to</title>
		<link>http://www.brovig.org/blog/2008/12/14/what-im-currently-up-to/</link>
		<comments>http://www.brovig.org/blog/2008/12/14/what-im-currently-up-to/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 23:50:17 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/?p=34</guid>
		<description><![CDATA[I guess I&#8217;m not blogging much. I&#8217;ll try my best to fix that. These days I&#8217;m occupied as a java developer at a company called Cicero Consulting. The company is a combination of several services, but they are all related &#8230; <a href="http://www.brovig.org/blog/2008/12/14/what-im-currently-up-to/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I guess I&#8217;m not blogging much. I&#8217;ll try my best to fix that. </p>
<p>These days I&#8217;m occupied as a java developer at a company called <a href="http://www.cicero.no">Cicero Consulting</a>. The company is a combination of several services, but they are all related to banking and finances. Luckily in a way that shouldn&#8217;t hurt us to much during the economic downturn.</p>
<p>The company is like a small family, and we&#8217;re currently about 20 people working there. We have 8 developers that does consultancy and product development. I started out with product development in on our core product called Cicero Financial Planner. It is product delivered in various forms to major actors in the Norwegian banking sector and enables them to do effective client counseling.</p>
<p>Fast forward to november and I was sent out as a junior consultant to a (for me) large project related to the financial field. Being a consultant is in many pretty different from working in the office. Both good and bad. I&#8217;ll probably write a post on this later as I get more time to compare. But the biggest change is perhaps working in a focused team again. </p>
<p>In the product developer setting we were 2-3 developers working on different parts of the product. This meant that you felt somewhat alone with what you were working on. In one way this was bad. It raised the threshold of starting a conversation about the aspect you were working on. I guess this is perhaps a bad personality trait that I have. I&#8217;ll work on it. On the other hand it also gave a lot responsibility and freedom to influence decisions during the development process. A huge bonus.</p>
<p>In the team and project context (in my specific case at least) the roles are somewhat reversed. There&#8217;s plenty of opportunity to discuss the different topics of the ongoing development process within the team, but smaller opportunities to  be a part of decisions. This is both good and bad. It allows you to offload this work to others (or, it newer reach you), but it is frustrating when (in my eyes) bad decisions have are made. The decisions can also take quite a lot of time to clarify with the customer. Which is pretty frustrating when they&#8217;re minuscule in my eyes.</p>
<p>So, what do I favor? I can&#8217;t decide. Working for yourself, being your own boss and being allowed to make decisions contra the interaction and focus in a team. I think both have their merits. Either way, change is good and conditioning.</p>
<p>I guess that sums up my current status as to work. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2008/12/14/what-im-currently-up-to/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New training gear is inbound</title>
		<link>http://www.brovig.org/blog/2008/12/14/new-training-gear-is-inbound/</link>
		<comments>http://www.brovig.org/blog/2008/12/14/new-training-gear-is-inbound/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 23:04:55 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/?p=30</guid>
		<description><![CDATA[Today I ordered a couple of items I look forward to getting in the mail. The first is a Gymboss which is a interval timer with vibration and sound. I plan to use it for doing tabatas. Thanks for the &#8230; <a href="http://www.brovig.org/blog/2008/12/14/new-training-gear-is-inbound/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I ordered a couple of items I look forward to getting in the mail. The first is a <a href="http://www.gymboss.com">Gymboss</a> which is a interval timer with vibration and sound. I plan to use it for doing <a href="http://www.t-nation.com/free_online_article/sports_body_training_performance/the_tabata_method">tabatas</a>. Thanks for the tip Thomas!</p>
<p>The second item is a pair of mini bands from <a href="http://www.ironwoodyfitness.com/index.html">Iron Woody Fitness</a>. I plan to use these on the bench press, push ups, x band walks and probably a myriad of other exercises and mobility work as I get acquainted with it.</p>
<p>Just hoping both items will arrive before Christmas&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2008/12/14/new-training-gear-is-inbound/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maven release prepare fails on svn complaining about a pom that already exists in the svn repository tag</title>
		<link>http://www.brovig.org/blog/2008/10/16/maven-release-prepare-fails-on-svn-complaining-about-a-pom-that-already-exists-in-the-svn-repository-tag/</link>
		<comments>http://www.brovig.org/blog/2008/10/16/maven-release-prepare-fails-on-svn-complaining-about-a-pom-that-already-exists-in-the-svn-repository-tag/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 12:43:27 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2008/10/16/maven-release-prepare-fails-on-svn-complaining-about-a-pom-that-already-exists-in-the-svn-repository-tag/</guid>
		<description><![CDATA[The problem is with the svn client, at least version 1.5.1 and 1.5.2. The workaround is simply: svn up -r head Source: [Studio] Using the Maven Release Plugin]]></description>
			<content:encoded><![CDATA[<p>The problem is with the svn client, at least version 1.5.1 and 1.5.2.</p>
<p>The workaround is simply: </p>
<p><em>svn up -r head</em></p>
<p>Source: <a href="http://www.nabble.com/-Studio--Using-the-Maven-Release-Plugin-td19570988.html">[Studio] Using the Maven Release Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2008/10/16/maven-release-prepare-fails-on-svn-complaining-about-a-pom-that-already-exists-in-the-svn-repository-tag/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Miktex/latex doesnt render text in pdfs properly</title>
		<link>http://www.brovig.org/blog/2008/08/04/miktexlatex-doesnt-render-text-in-pdfs-properly/</link>
		<comments>http://www.brovig.org/blog/2008/08/04/miktexlatex-doesnt-render-text-in-pdfs-properly/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 23:09:36 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[miktex]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2008/08/04/miktexlatex-doesnt-render-text-in-pdfs-properly/</guid>
		<description><![CDATA[Symptom: When producing pdfs with latex (miktex distro) it uses bitmap fonts, resulting in text that it is not possible to either select or search. Solution: install the cm-super fonts with the miktex package manager (large package), or use the &#8230; <a href="http://www.brovig.org/blog/2008/08/04/miktexlatex-doesnt-render-text-in-pdfs-properly/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Symptom: When producing pdfs with latex (miktex distro) it uses bitmap fonts, resulting in text that it is not possible to either select or search.<br />
Solution: install the cm-super fonts with the miktex package manager (large package), or use the <em>\usepackage{lmodern}</em> command to use the lmodern fonts that are included with miktex.</p>
<p><a href="http://sourceforge.net/forum/forum.php?thread_id=2038700&#038;forum_id=33790">This post</a> at miktex support forum outlines the symptoms, cause and solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2008/08/04/miktexlatex-doesnt-render-text-in-pdfs-properly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspiration</title>
		<link>http://www.brovig.org/blog/2008/02/10/inspiration/</link>
		<comments>http://www.brovig.org/blog/2008/02/10/inspiration/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 16:36:26 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2008/02/10/inspiration/</guid>
		<description><![CDATA[When things suck.. just remember you&#8217;re probably better of anyways. Lesson to be learnt: whine less.]]></description>
			<content:encoded><![CDATA[<p>When things suck.. just remember you&#8217;re probably better of anyways.</p>
<p><object width="425" height="373"><param name="movie" value="http://www.youtube.com/v/obdd31Q9PqA&#038;rel=1&#038;border=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/obdd31Q9PqA&#038;rel=1&#038;border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"></embed></object></p>
<p><object width="425" height="373"><param name="movie" value="http://www.youtube.com/v/ooQKUYQ_WgQ&#038;rel=1&#038;border=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/ooQKUYQ_WgQ&#038;rel=1&#038;border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"></embed></object></p>
<p>Lesson to be learnt: whine less.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2008/02/10/inspiration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trouble with Torrents (uTorrent) on Windows Vista with McAfee</title>
		<link>http://www.brovig.org/blog/2007/11/09/trouble-with-torrents-utorrent-on-windows-vista-with-mcafee/</link>
		<comments>http://www.brovig.org/blog/2007/11/09/trouble-with-torrents-utorrent-on-windows-vista-with-mcafee/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 17:09:24 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2007/11/09/trouble-with-torrents-utorrent-on-windows-vista-with-mcafee/</guid>
		<description><![CDATA[My mother recently bought a shiny new dell with Windows Vista on it. I recently got my fingers on it, and it&#8217;s pretty darn alright. But I had one problem: starting uTorrent was causing the system to slow down and &#8230; <a href="http://www.brovig.org/blog/2007/11/09/trouble-with-torrents-utorrent-on-windows-vista-with-mcafee/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My mother recently bought a shiny new dell with Windows Vista on it. I recently got my fingers on it, and it&#8217;s pretty darn alright. But I had one problem:<br />
starting uTorrent was causing the system to slow down and also drop http traffic&#8230;</p>
<p>After consulting a friend we found out he had the same problem some months ago. The solution was simple: uninstall mcafee.</p>
<p>So I uninstalled mcafee, and now my linux iso download is blazing. :-)</p>
<p>Btw, you REALLY SHOULD install some other AV after uninstalling mcafee. I&#8217;ve been pleased with Avast which is free. Also I&#8217;ve heard good words about AVG, Avira and Nod32 (this is one of the best, but payware).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2007/11/09/trouble-with-torrents-utorrent-on-windows-vista-with-mcafee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Media I&#8217;ve Enjoyed So Far This September</title>
		<link>http://www.brovig.org/blog/2007/09/10/new-media-ive-enjoyed-so-far-this-september/</link>
		<comments>http://www.brovig.org/blog/2007/09/10/new-media-ive-enjoyed-so-far-this-september/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 11:34:15 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2007/09/10/new-media-ive-enjoyed-so-far-this-september/</guid>
		<description><![CDATA[Music Zo� Keating I discovered a German artist called Zoë Keating the other day while watching a photo series(the &#8216;audio slide&#8217;) on New York Times that was about China and the consequences of the rapid industrialization. Make sure to turn &#8230; <a href="http://www.brovig.org/blog/2007/09/10/new-media-ive-enjoyed-so-far-this-september/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Music</h3>
<h4>Zo� Keating</h4>
<p>I discovered a German artist called <a href="http://zoekeating.com/">Zoë Keating</a> the other day while watching a <a href="http://www.nytimes.com/interactive/2007/08/26/world/asia/choking_on_growth.html">photo series</a>(the &#8216;audio slide&#8217;) on New York Times that was about China and the consequences of the rapid industrialization. Make sure to turn on the sound.</p>
<p>So far I&#8217;ve only listened to the music on her <a href="http://www.myspace.com/zoecello">myspace page</a> and downloaded a <a href="http://www.emusic.com/album/Zoe-Keating-Zoe-Keating-Live-at-Schubas-01-17-2006-MP3-Download/10894191.html">live album</a> from eMusic. There&#8217;s also some <a href="http://www.youtube.com/results?search_query=zoe+keating&#038;search=Search">videos</a> up on youtube.</p>
<p>Oh, and it&#8217;s cello.</p>
<h4>Talib Kweli</h4>
<p>Good hip-hop without all the killing, bling and &#8220;hoes&#8221;. From the <a href="http://en.wikipedia.org/wiki/Talib_Kweli">Wikipedia article</a>: </p>
<blockquote><p>Talib Kweli (born Talib Kweli Greene in Brooklyn, New York City on October 3, 1975) is an American MC from Brooklyn, New York. He is one of the best-known rappers in alternative hip hop, and is frequently critically acclaimed, despite not having seen significant commercial success. His name in Arabic means &#8220;student&#8221;, his last name in Swahili means &#8220;true&#8221;. </p></blockquote>
<p>So far I&#8217;ve listened to his new album Ear Drum and a mix cd called <a href="http://www.emusic.com/album/Talib-Kweli-Right-About-Now-The-Official-Sucka-Free-Mix-CD-MP3-Download/10881079.html">Right About Now</a>. Both good in their own respects. Although I&#8217;ve heard that his older material is better, so there is more to explore.</p>
<h3>Blogs</h3>
<p>I&#8217;m a regular reader of <a href="http://stronglifts.com/">Stronglifts.com</a> which is a blog about strength training. It features themes as technique (helped me improve my <a href="http://stronglifts.com/how-to-perform-the-deadlift-with-proper-technique/">deadlifts</a>) and nutrition (proponent of the <a href="http://stronglifts.com/how-to-get-started-on-the-anabolic-diet/">anabolic diet</a> &#8211; which I&#8217;m not on.. as of yet.).</p>
<p>Not to much, but some. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2007/09/10/new-media-ive-enjoyed-so-far-this-september/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lessons Learnt After Developing a Web Application &#8211; Coding</title>
		<link>http://www.brovig.org/blog/2007/05/28/lessons-learnt-after-developing-a-web-application-coding/</link>
		<comments>http://www.brovig.org/blog/2007/05/28/lessons-learnt-after-developing-a-web-application-coding/#comments</comments>
		<pubDate>Mon, 28 May 2007 09:55:44 +0000</pubDate>
		<dc:creator>Odd Christer Brovig</dc:creator>
				<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.brovig.org/blog/2007/05/28/lessons-learnt-after-developing-a-web-application-coding/</guid>
		<description><![CDATA[Yesterday I talked about how the project was executed in both the design and implementation phase. Today I&#8217;m ranting a bit more in detail about how we coded the thing in PHP (v5). Database Access Our Approach When coding started, &#8230; <a href="http://www.brovig.org/blog/2007/05/28/lessons-learnt-after-developing-a-web-application-coding/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I talked about how the project was executed in both the design and implementation phase. Today I&#8217;m ranting a bit more in detail about how we coded the thing in PHP (v5).</p>
<h3>Database Access</h3>
<h4>Our Approach</h4>
<p>When coding started, we agreed on (or rather, I pushed the view) that we should use the <a href="http://en.wikipedia.org/wiki/Data_Access_Object" title="Data Access Object">DAO</a> pattern for our database access needs. To work easily with the database, and also to have the possibility of prepared statement we used <a href="http://creole.phpdb.org/trac/">Creole</a>, a PHP database API that&#8217;s very similar to Java&#8217;s.</p>
<p>Soon, we had our DAOs. Though, all was not good. Eager to get going we started coding using our new functionality and didn&#8217;t bother coding up the corresponding <a href="http://www.martinfowler.com/eaaCatalog/serviceLayer.html" title="P of EAA - Service Layer">service layer</a> for them. This was alright to begin with since the application only had some basic CRUD functionality. The problems (or future problems if you want..) became obvious when we started adding functionality that cut across the model objects. Code cutting across the DAO layer was made. And this in turn led to duplicated code. </p>
<p>At that point, I guesstimate that our application was ~70% done. So, to go back and change everything into using a Service Layer wasn&#8217;t an option with the deadline closing up and the code was delivered with those nice dependencies within the layer.</p>
<h4>Alternative Approaches</h4>
<p>Looking back, I see that the <a href="http://www.martinfowler.com/eaaCatalog/activeRecord.html">Active</a> <a href="http://en.wikipedia.org/wiki/Active_record_pattern">Record</a> pattern probably could have been a good choice. </p>
<h3>The View (and Controller)</h3>
<p>This was probably the hardest part to get done right. And there&#8217;s no real consistency in the approach here.</p>
<p>Some places the code for handling form data and get requests were in the same file, and the page posted to itself. I guess this is fine for smaller scripts, but some of ours were starting to get big quick, and  doesn&#8217;t look very maintainable.. In other places there was sort of a controller. They took POST data and redirected with a header(&#8220;Location: foo&#8221;) call. This is a much more maintainable approach, and very MVC.</p>
<p>I think the issue would have been better solved using perhaps the <a href="http://www.martinfowler.com/eaaCatalog/frontController.html">Front Controller</a> pattern or a good <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> implementation. Both coupled with a template language such as <a href="http://smarty.php.net/">Smarty</a>.</p>
<h3>Summing up</h3>
<p>Creole was a good experience. We lacked a good approach from the data layer and up. Using a framework like <a href="http://www.cakephp.org/">CakePHP</a> or <a href="http://www.symfony-project.com/">symfoni</a> would probably been the best thing to do.</p>
<p>I think I have learnt a thing or two now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brovig.org/blog/2007/05/28/lessons-learnt-after-developing-a-web-application-coding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

