<?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"
	>

<channel>
	<title>Fellinghaug Blog</title>
	<atom:link href="http://asbjorn.fellinghaug.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://asbjorn.fellinghaug.com/blog</link>
	<description>A simple blog regarding everyday things</description>
	<pubDate>Sat, 02 Aug 2008 13:46:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Siste arbeidsdag hos NTNU-IT</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/08/siste-arbeidsdag-hos-ntnu-it/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/08/siste-arbeidsdag-hos-ntnu-it/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 13:46:47 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=39</guid>
		<description><![CDATA[Hei hei.
I dag er min siste arbeidsdag hos NTNU-IT, også kjent som ITEA. NTNU-IT er den sentrale IT-avdelingen hos NTNU i Trondheim. Jeg har arbeidet der som studentansatt siden høsten 2003, da jeg startet å studere ved universitet. Jeg må absolutt si at det har vært en ekstrem lærerik og inspirerende jobb, og at jeg [...]]]></description>
			<content:encoded><![CDATA[<p>Hei hei.</p>
<p>I dag er min siste arbeidsdag hos NTNU-IT, også kjent som ITEA. NTNU-IT er den sentrale IT-avdelingen hos NTNU i Trondheim. Jeg har arbeidet der som studentansatt siden høsten 2003, da jeg startet å studere ved universitet. Jeg må absolutt si at det har vært en ekstrem lærerik og inspirerende jobb, og at jeg har vært veldig heldig med å finne en jobb ved siden av studiene som er svært relevant i forhold til studiet mitt. Og som ligger på samme plass (bokstavelig talt) som jeg studerer.. <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/bilde125.jpg"><img class="alignnone size-medium wp-image-41" title="bilde125" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/bilde125-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/dsc00210.jpg"><img class="alignnone size-medium wp-image-45" title="dsc00210" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/dsc00210-300x225.jpg" alt="" width="329" height="225" /></a></p>
<p>NTNU-IT har veldig mange servere, derav et eget tungregningssenter. Litt kule maskiner, så måtte jo seff vise et bilde av et lite cluster de har..</p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/bilde150.jpg"><img class="alignnone size-medium wp-image-40" title="bilde150" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/bilde150-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Jeg vil gjerne få takke alle ansatte i NTNU-IT for mange gode minner, og ønsker dere alle lykke til videre.</p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/08/bouvet_logo.png"><img class="alignnone size-medium wp-image-46" title="bouvet_logo" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/08/bouvet_logo.png" alt="" width="111" height="66" /></a></p>
<p>Neste jobb som nå venter meg er konsulentselskapet <a title="Bouvet" href="http://www.bouvet.no"><strong>Bouvet</strong></a> her i Trondheim, der jeg skal arbeide som IT-konsulent. I form av arbeidsoppgaver vil jeg primært jobbe med software utvikling, og da spesielt innen opensource og Java. Jeg må si jeg gleder med til å komme igang. Er dog en smule skremmende, da dette er det første steget mot det &#8220;voksne&#8221; liv, men jeg tror jeg kommer til å trives i den nye jobben og situasjonen. Ser frem til gode og utfordrende dager hos Bouvet.</p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/08/siste-arbeidsdag-hos-ntnu-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My master thesis</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 09:12:43 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[lucene]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[school]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[master]]></category>

		<category><![CDATA[thesis]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=36</guid>
		<description><![CDATA[Since my master thesis is now delivered, I will dedicate some time to clean up the code and thoroughly document it. When I&#8217;m finished and the code is clean, I will make it freely available to the Apache Lucene community.
I will also make my master thesis freely available for download, so documentation regarding the code [...]]]></description>
			<content:encoded><![CDATA[<p>Since my master thesis is now delivered, I will dedicate some time to clean up the code and thoroughly document it. When I&#8217;m finished and the code is clean, I will make it freely available to the Apache Lucene community.</p>
<p>I will also make my master thesis freely available for download, so documentation regarding the code is somewhat covered by the thesis. Also, the abstract goals for the code (since the code reflects the experiment) is outlined in the thesis, in addition to a presentation regarding the results and observations made.</p>
<p>Since I&#8217;m a huge fan of Python, I also thought of experiment with the performance of python and my bigram index. I would love to further enhance and maybe introduce some new improvements and such.. In time, I will create a project page for the &#8220;Bigram index&#8221; beneath my future django/turbogears website <a title="Asbjørn Alexander Fellinghaug" href="http://asbjorn.fellinghaug.com">http://asbjorn.fellinghaug.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My master thesis is complete</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis-is-complete/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis-is-complete/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 11:28:52 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[dia]]></category>

		<category><![CDATA[school]]></category>

		<category><![CDATA[diploma]]></category>

		<category><![CDATA[master]]></category>

		<category><![CDATA[thesis]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=35</guid>
		<description><![CDATA[Woho!
I&#8217;ve finally completed and delivered my master thesis. At exactly kl.23.54 yesterday (Sunday 8.June 2008), I delivered my master thesis to my faculty delivery system, also know as DAIM. It was a huge relief..  

In a short time, I will provide the PDF here, as well as code and such.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">Woho!</p>
<p style="text-align: left;">I&#8217;ve finally completed and delivered my master thesis. At exactly kl.23.54 yesterday (Sunday 8.June 2008), I delivered my master thesis to my faculty delivery system, also know as DAIM. It was a huge relief.. <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;">
<p style="text-align: left;">In a short time, I will provide the PDF here, as well as code and such.</p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/06/my-master-thesis-is-complete/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Almost done with my master thesis</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/05/almost-done-with-my-master-thesis/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/05/almost-done-with-my-master-thesis/#comments</comments>
		<pubDate>Mon, 26 May 2008 19:55:48 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=25</guid>
		<description><![CDATA[Puff. This semester must be the most demanding one, as the master thesis should be completed, and all necessary  writing, coding, analyzing, etc should be comprehensible presented in the report.
One observation I&#8217;ve made is that concepts and understandings which I find quite simple and understandable in my own words, may have the opposite effect [...]]]></description>
			<content:encoded><![CDATA[<p>Puff. This semester must be the most demanding one, as the master thesis should be completed, and all necessary  writing, coding, analyzing, etc should be comprehensible presented in the report.</p>
<p>One observation I&#8217;ve made is that concepts and understandings which I find quite simple and understandable in my own words, may have the opposite effect on others. It is hard to mentally  set yourself behind the wheels of another person, and try to write explanations  as simple and understandable that almost everyone can get the idea at the first try. This is where figures comes in handy. One tips: Learn to use the Dia tool early, because you will need it. Also, gnuplot is extremely usefull.. <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span class="green">It seems like for each day goes by, I only produce more and more post-its on my desk.<br />
</span></p>
<p>The final delivery date for my master thesis is now 8.June 2008, as I managed to get an <span class="green"><span class="black">postponement</span> from my faculty. The second after delivery, I&#8217;ll go straight home a</span><span class="green">nd pop up a ice-cold refreshing beer. Can&#8217;t wait.. <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00791.jpg"><img class="alignnone size-medium wp-image-26" title="dsc00791" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00791-300x225.jpg" alt="" width="329" height="247" /></a></p>
<p>The above picture is from my working desk. Notice the left-most pc beneath the desk - that&#8217;s my feet-relaxer box. Efficient resource usage one might say. Also, the post-it&#8217;s, every geek got to love post-it&#8217;s&#8230;</p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00795.jpg"><img class="alignnone size-medium wp-image-30" title="dsc00795" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00795-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Every working environment needs a whiteboard - in fact, every home needs a whiteboard. That shall be one of the first things I will purchase when I&#8217;ve delivered my master thesis&#8230; <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> This working environment is shared by 12 others master students, and a room full of 13 geeks</p>
<p>needs some &#8220;time-killers&#8221;.. For instance, we have a racetrack, as shown below:</p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00798.jpg"><img class="alignnone size-medium wp-image-33" title="dsc00798" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/05/dsc00798-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/05/almost-done-with-my-master-thesis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter from commandline</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/05/twitter-from-commandline/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/05/twitter-from-commandline/#comments</comments>
		<pubDate>Mon, 05 May 2008 19:26:44 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[python]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=24</guid>
		<description><![CDATA[I&#8217;ve been taken by the Twitter storm these days.. Damn, I should focus a hole lot more on my master report. Well, this took me only one little hour, so it&#8217;s not that waste of time..  
So, I guess you have heard about the new &#8220;facebook&#8221; called Twitter? Well, its this new web community [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been taken by the Twitter storm these days.. Damn, I should focus a hole lot more on my master report. Well, this took me only one little hour, so it&#8217;s not that waste of time.. <img src='http://asbjorn.fellinghaug.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, I guess you have heard about the new &#8220;facebook&#8221; called <a title="Twitter" href="http://www.twitter.com">Twitter</a>? Well, its this new web community thing were people can write their current status for what they are doing in the world.. And, of course, one can follow friends and pay attention to were / what they are doing.. Now, after some time I found it rather heavy to enter the twitter webpage, login, and then post a new twitter message for each time I want to update my status. So, as a python fan I am, I created myself a little python script to capture this problem. It relies on the <a title="Python Twitter" href="http://code.google.com/p/python-twitter/">python-twitter</a> module available at the Google Code pages. So, lets have a look at the code. I have named this file &#8220;update.py&#8221;, however feel free to rename it.</p>
<div class="code"><pre><code>
#!/usr/bin/env python

from exceptions import ImportError
import sys

try:
&nbsp;&nbsp;&nbsp;&nbsp;import twitter
except ImportError, e:
&nbsp;&nbsp;&nbsp;&nbsp;print e
&nbsp;&nbsp;&nbsp;&nbsp;print &quot;You need to download the Twitter module!&quot;
&nbsp;&nbsp;&nbsp;&nbsp;sys.exit(0)

USERNAME=&quot;&quot;
PASSWORD=&quot;&quot;

def postNewMessage(msg):
&nbsp;&nbsp;&nbsp;&nbsp;api = twitter.Api()
&nbsp;&nbsp;&nbsp;&nbsp;api = twitter.Api(username=USERNAME, password=PASSWORD)

&nbsp;&nbsp;&nbsp;&nbsp;if isinstance(msg, list):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = &quot; &quot;.join(msg)
&nbsp;&nbsp;&nbsp;&nbsp;msg = unicode(msg, &quot;utf-8&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;if len(msg) &gt; 140:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;ERROR: Message can&#039;t be over 140 chars.&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return
&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;api.PostUpdate(msg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;Twitter is now updated&quot;
&nbsp;&nbsp;&nbsp;&nbsp;except Exception, e:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print e

&nbsp;&nbsp;&nbsp;&nbsp;api.ClearCredentials()

if __name__ == &quot;__main__&quot;:
&nbsp;&nbsp;&nbsp;&nbsp;if len(sys.argv) &gt; 1:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = sys.argv[1:]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if len(t) == 1 and len(t[0]) &gt; 10:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# writes ./update &quot;hi there mate&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postNewMessage(t[0])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# writes ./update hello world
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postNewMessage(sys.argv[1:])
&nbsp;&nbsp;&nbsp;&nbsp;else:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;usage: %s new_twitter_msg&quot; % sys.argv[0]
</code></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/05/twitter-from-commandline/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Performing disitributed operation with python</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/05/performing-disitributed-operation-with-python/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/05/performing-disitributed-operation-with-python/#comments</comments>
		<pubDate>Thu, 01 May 2008 13:26:49 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[distributed]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=18</guid>
		<description><![CDATA[Hi.
In the worst writing rush in my master thesis I found it quite relaxing to enjoy some other reading than research papers and such. What I wanted to do is to create a master robot to control a set of other robots, whereas a robot is just a simple program running on a host. Pretty [...]]]></description>
			<content:encoded><![CDATA[<p>Hi.</p>
<p>In the worst writing rush in my master thesis I found it quite relaxing to enjoy some other reading than research papers and such. What I wanted to do is to create a master robot to control a set of other robots, whereas a robot is just a simple program running on a host. Pretty much the same thing that goes on in Botnets, but this is <strong>not</strong> a botnet though. My goal is to create a crawling system to crawl URIs, and download and parse the documents retrieved into plain text. Then, to create a <em><a title="Forward index in search engines" href="http://en.wikipedia.org/wiki/Index_%28search_engine%29">forward index</a> </em>in a efficient data structure. When this is done, I would make my not-yet-constructed indexer index those documents and construct an inverted index.</p>
<p>Now, this project is not meant to be any &#8220;enterprise&#8221; software or such, only a hobby or shall I say interest of my.</p>
<p>However, the core in such a crawling system is that is needs a way to communicate with each other. So, I&#8217;ve explored some distributed approaches performed in Python, and come up with some alternatives:</p>
<ul>
<li>Pyro: <strong>Py</strong>thon <strong>R</strong>emote <strong>O</strong>bject is very much the same as the good old CORBA.</li>
<li>XML-RPC: Has the advantage of beeing extreme simplistic. However, there are some overhead of using XML to transport <em>remote-procedure-calls</em>. I would guess that it is quite application dependent (do you need speed or simplicity?)</li>
<li>SOAP: Doh.. SOAP is a very heavy protocol widely used in web services. It is also very simple, given the appropriate tools, but a little deprecated in light of the other approaches.</li>
<li>Sockets: Using pure TCP/UDP sockets (low-level) is significantly fast in contrast to the above approaches. However, it requires some more programming and hence more time. There is a tradeoff here somewhere..</li>
</ul>
<p>We will here illustrate a simple &#8220;client-server&#8221; example based on the <strong>Pyro</strong> module. Our goal is to add two integers and return the result. Lets first consider the server:</p>
<div class="code">
<pre><code>
#!/usr/bin/env python
import Pyro.core
import Pyro.naming

class MathServer(Pyro.core.ObjBase):
&nbsp;&nbsp;&nbsp;&nbsp;def add(self, a, b):
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a+b

daemon=Pyro.core.Daemon()
ns=Pyro.naming.NameServerLocator().getNS()
daemon.useNameServer(ns)
uri=daemon.connect(MathServer(),&quot;mathserver&quot;)
daemon.requestLoop()
</code></pre>
</div>
<p>So, basically what we do here is to create a simple Class (MathServer) which enherits from Pyro.core.ObjBase. Next we simply create our methods as for a standard class. Later on we &#8220;start&#8221; the server, and connects an instance of MathServer to our Pyro server and awaits incoming connections. Lets now consider the Pyro client:</p>
<div class="code">
<pre><code>
#!/usr/bin/env python
import Pyro.core
mathserver = Pyro.core.getProxyForURI(&quot;PYRONAME://mathserver&quot;)
print mathserver.add(1000, 2500) # will return 3500.
print mathserver.add(&quot;hello &quot;, &quot;world&quot;) # will return &quot;hello world&quot;
</code></pre>
</div>
<p>In our client code we take advantage of the simple name service which is shipped with Pyro. Basically what happens is that we instruct our client to lookup the Pyro name server and then connect to the provided controller named &#8220;mathserver&#8221; (recall from the server code?). </p>
<p>One important note is that to be able to use the name server that is shipped with Pyro, it will need to be started. In Ubuntu Gutsy the name server is disabled by default, so changing the value &#8220;ENABLED=0&#8243; to 1 in file /etc/default/pyro-nsd, and then &#8220;/etc/init.d/pyro-nsd start&#8221; will do the trick.</p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/05/performing-disitributed-operation-with-python/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I major fucked my laptop!</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/04/major-fucked-my-laptop/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/04/major-fucked-my-laptop/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 12:01:43 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[blooper]]></category>

		<category><![CDATA[laptop]]></category>

		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/blog/?p=20</guid>
		<description><![CDATA[Hi everyone.
Allow me to share a rather embarrassing episode I had yesterday that resulted in the doom of my laptop screen. So, I was on my way home from another hard-working-good-lookin day at school, and as always I was kind of stressed. The &#8220;walking&#8221; part was to the parking lot not far from the school, [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everyone.</p>
<p>Allow me to share a rather embarrassing episode I had yesterday that resulted in the doom of my laptop screen. So, I was on my way home from another hard-working-good-lookin day at school, and as always I was kind of stressed. The &#8220;walking&#8221; part was to the parking lot not far from the school, and I was talking to a friend at the same time as I had my brother on the phone. (You know, we boys can&#8217;t multitask things). When I was about to unlock my car from the passenger side, I had to drop my backsack on the ground infront of my car. Unlocking my car from the passenger side and then open the driver door from the inside is the algorithm to unlock my car (quite old car). The idea was that I was suppose to fetch my backsack when walking around the car. However, in all the mess and stress, I take the other way around the car.</p>
<p>Jumping into the car thinking everything is OK, igniting the car, adjusting the stereo, need the right moood and sound before driving you know. Then, shifting into 1th gear and flooring the throttle. I was soon to discovery a rather unusual sound from the front of the car. Hmm, what could it be? Hitting the break a millisecond  later, I came to realize that I was missing my backpack.  WTF?! Backup up the car I find my backpack rather flat and dusty. The first thing that goes through my mind was the laptop&#8230;. Was it OK? Taking a quick physical check tells me it survived, so far so good. But, what&#8217;s that next to my laptop? Noooooooo, my coffee cup is broooken!! So, I drive home rather grumpy, but thinking it went OK since my laptop survived. I keept that thought to the next morning. Sitting in the reading hall at the university I suddenly realized that my laptop screen was big time fucked. Unable to read a single character.</p>
<p>Now, you may have your bad mornings, but this as so far been my worst..</p>
<p>EDIT: I&#8217;ve now added a photo of my laptop.. I haz proof!</p>
<p><a href="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/dsc00839.jpg"><img class="alignnone size-medium wp-image-38" title="dsc00839" src="http://asbjorn.fellinghaug.com/blog/wp-content/uploads/2008/07/dsc00839-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/04/major-fucked-my-laptop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Master rapport snart ferdig</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/04/master-rapport-snart-ferdig/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/04/master-rapport-snart-ferdig/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 12:50:33 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[school]]></category>

		<category><![CDATA[master]]></category>

		<category><![CDATA[personal]]></category>

		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/wp/?p=15</guid>
		<description><![CDATA[Woho, deadline for master rapporten (også kjent som &#8220;Diplomen&#8221;) nærmer seg med stormskritt. Litt i overkant av en måned igjen til deadline (1.Juni). Blir en voldsom mengde espresso og sene kvelder fremover, da det bestandig er ting man bare må forandre på.

For alle andre som skal eller driver på å skriver diplomen sin, så vil [...]]]></description>
			<content:encoded><![CDATA[<p>Woho, deadline for master rapporten (også kjent som &#8220;Diplomen&#8221;) nærmer seg med stormskritt. Litt i overkant av en måned igjen til deadline (1.Juni). Blir en voldsom mengde espresso og sene kvelder fremover, da det bestandig er ting man bare <strong>må</strong> forandre på.</p>
<p><a href="http://asbjorn.fellinghaug.com/wp/wp-content/uploads/2008/04/dsc00719.jpg"><img class="alignnone size-medium wp-image-16" title="Leseplass" src="http://asbjorn.fellinghaug.com/wp/wp-content/uploads/2008/04/dsc00719-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>For alle andre som skal eller driver på å skriver diplomen sin, så vil jeg bare ønske dere lykke til. Det kan i begynnelsen virke som en ubestridelig stor oppgave, men såfremt man tar det et steg av gangen så er det faktisk lys i enden av tunnelen.</p>
<p>En annen ting: Kreativiteten for <strong>alt</strong> annet enn selve master oppgaven vokser med ca 80%!</p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/04/master-rapport-snart-ferdig/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Abnormal behavior in the gents</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/04/abnormal-behavior-in-the-gents/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/04/abnormal-behavior-in-the-gents/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 08:07:28 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[gents]]></category>

		<category><![CDATA[observation]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/wp/?p=12</guid>
		<description><![CDATA[
Okey, so this post is somewhat special since its not geeky in any way, it is much more an observation from my side.
At NTNU there is several lavatories around, and there is one observation in the gentlemens lavatory thats been bugging me. In most lavatories at NTNU there is two urinals pr lavatory, and here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class="entrytext">
<p>Okey, so this post is somewhat special since its not geeky in any way, it is much more an observation from my side.</p>
<p>At <a href="http://www.ntnu.no/">NTNU</a> there is several lavatories around, and there is one observation in the gentlemens lavatory thats been bugging me. In most lavatories at NTNU there is two urinals pr lavatory, and here&#8217;s the case. You know when you&#8217;re just let the &#8220;water&#8221; flow and there is one &#8220;spare&#8221; place besides you and there is not much space between the urinals? Well, for some reason many people find it natural to occupy the urinal right next to the one you&#8217;re using. Those people are <strong>wrong!</strong> The available urinal next to another one in use is <strong>not</strong> meant to be used, its purpose is only <span class="green"><span class="black">psychological.This behavior is only allowed in cases where there is at least more than a half meter between each urinal!</span></span></p>
<p>So, to summeraize, if you find yourself in this situation and you&#8217;re that poor person already in action at the urinal, then you&#8217;re entitled to take verbal action. If you&#8217;re that other horrible person, then I would urge you to think twice before you use the urinal.</p>
</div>
<div class="entrytext"><a href="http://asbjorn.fellinghaug.com/wp/wp-content/uploads/2008/04/dsc00746.jpg"><img class="alignnone size-medium wp-image-14" title="dsc00746" src="http://asbjorn.fellinghaug.com/wp/wp-content/uploads/2008/04/dsc00746-300x225.jpg" alt="Urinal" width="300" height="225" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/04/abnormal-behavior-in-the-gents/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cheating with HTTP headers in Python</title>
		<link>http://asbjorn.fellinghaug.com/blog/2008/04/cheating-with-http-headers-in-python/</link>
		<comments>http://asbjorn.fellinghaug.com/blog/2008/04/cheating-with-http-headers-in-python/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 20:10:30 +0000</pubDate>
		<dc:creator>Asbjørn Alexander Fellinghaug</dc:creator>
		
		<category><![CDATA[python]]></category>

		<category><![CDATA[cherrypy]]></category>

		<guid isPermaLink="false">http://asbjorn.fellinghaug.com/wp/?p=13</guid>
		<description><![CDATA[Have you ever had a need to extract some information for a webpage in a automatic fashion? Well, I have multiple times. And, lazy as I am and given that I needed the process to be runned many times each day, I wanted to create a fancy script to do this. Now, I&#8217;m not gonna [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had a need to extract some information for a webpage in a automatic fashion? Well, I have multiple times. And, lazy as I am and given that I needed the process to be runned many times each day, I wanted to create a fancy script to do this. Now, I&#8217;m not gonna go into which webpage I needed to extract info from, by lets say the wanted information site is http://example.org. Now, the people behind this website is clever, they don&#8217;t want automatic scripts to download and use their information. So, if the HTTP headers is showing that a HTTP request is not from a web browser such as Firefox, Opera, Safari, IE, they would deny the request.</p>
<p>Our nerdy <span class="green"><span class="black">curiosity would tell us not to give up! So, how would we cope with this kind of obstacle? Well, the Python programming language is a fantastic language providing us with modules for everything. One builtin module is the &#8220;urllib2&#8243; which has capabilities to &#8220;mimic&#8221; a web browser. Here is a simple python code for achieving this:</span></span></p>
<div class="code"><pre><code>
#!/usr/bin/env python
import urllib2
main_url = &quot;http://example.org&quot;
txheaders = {&#039;User-agent&#039;: &#039;Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3&#039;}</code></pre></p>
<p>opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())<br />
urllib2.install_opener(opener)<br />
req = urllib2.Request(main_url, &#8221;, txheaders)<br />
handle = urllib2.open(req)<br />
print handle.readlines()</p>
</div>
<p>And that&#8217;s all there is to it. The website http://example.org inspects the headers which is valid and tells the webserver at example.org that the client is a Firefox web browser running on Linux OS.</p>
<p><strong>One important note: </strong>It is illegal to steel information from sites and present it on your own site without an agreement of the source website and refering to the source. Remember to always &#8220;be nice&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://asbjorn.fellinghaug.com/blog/2008/04/cheating-with-http-headers-in-python/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
