<?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>epepep &#187; 1</title>
	<atom:link href="http://per.liedman.net/category/1/feed/" rel="self" type="application/rss+xml" />
	<link>http://per.liedman.net</link>
	<description></description>
	<lastBuildDate>Wed, 28 Dec 2011 11:11:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Using Ubuntu One from a headless Oneiric Ocelot server</title>
		<link>http://per.liedman.net/2011/12/28/using-ubuntu-one-from-a-headless-oneiric-ocelot/</link>
		<comments>http://per.liedman.net/2011/12/28/using-ubuntu-one-from-a-headless-oneiric-ocelot/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 11:08:41 +0000</pubDate>
		<dc:creator>Per Liedman</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://per.liedman.net/?p=248</guid>
		<description><![CDATA[I discovered my backup has been broken since august. Yikes. I don&#8217;t know the whole story why it started failing, but apparently it became permanently broken after updating to Ubuntu 11.10, Oneiric Ocelot. I use Ubuntu One for my backup, since I&#8217;m a cheap bastard. The way I set it up is described here: Using [...]]]></description>
			<content:encoded><![CDATA[<p>I discovered my backup has been broken since august. Yikes. I don&#8217;t know the whole story why it started failing, but apparently it became permanently broken after updating to Ubuntu 11.10, Oneiric Ocelot. I use Ubuntu One for my backup, since I&#8217;m a cheap bastard. The way I set it up is described here: <a href="http://per.liedman.net/2011/01/22/using-ubuntu-one-for-backup-on-a-headless-server/">Using Ubuntu One for backup on a headless server</a>. Unfortunately, the package <i>ubuntuone-client-tools</i> has been removed in Oneiric Ocelot, which was pretty much a disaster for my backup. Since my old blog post still appears to be the number one Google result for backing up to Ubuntu One from the command line, I sort of feel obliged to tell you how to set it up in Oneiric Ocelot as well.</p>
<h2>Setting up <i>u1sync</i> in Ubuntu 11.10, Oneiric Ocelot</h2>
<p>Maybe I&#8217;m just dumb or something, but I was sort of shocked of how hard it was to find any information at all about what had happened to the <i>u1sync</i> utility or why the package <i>ubuntuone-client-tools</i> had been removed. At last, I found that <a href="https://launchpad.net/u1sync">u1sync is now hosted on Launchpad</a> &#8211; it doesn&#8217;t appear to be part of any package, there doesn&#8217;t appear to be any documentation, there isn&#8217;t even a downloadable file. You can get the latest code (no tags or branches or anything fancy here) using <a href="http://bazaar.canonical.com/en/">Bazaar</a>, the VCS that isn&#8217;t popular anywhere. Sorry to be sarcastic, but it&#8217;s pretty much the caricature of an open source project. On the bright side: the code is there, someone has made this utility and is sort of maintaining it &#8211; I love you for doing this!</p>
<p>So, to get u1sync on your machine:</p>
<ol>
<li>Install Bazaar:<br />
    <code>sudo apt-get install bzr</code>
  </li>
<li>Download the latest code to your working directory:<br />
    <code>bzr branch lp:u1sync</code>
  </li>
<li>Install the code:<br />
<code>    cd u1sync<br />
    sudo python setup.py install<br />
</code>  </li>
</ol>
<p>&#8230;and we are more or less back to where we left off in my previous blog post. One minor issue: if you used the u1sync utility from the old package, you might get the error message:<br />
<code> ImportError: No module named u1sync.genericmerge</code><br />
when running u1sync. In this case, you have an old file called <code>.ubuntuone-sync/local-index</code> in your synced folder &#8211; open the file and find the text <code>ubuntuone.u1sync.genericmerge</code> &#8211; remove the first part, so that only <code>u1sync.genericmerge</code> is left. (Yes, yikes! I spent a good part of a day swearing over this.)</p>
<h2>Getting an authorization token for Ubuntu One using command line</h2>
<p>A lot of the comments on my earlier blog post revolved around the fact that I reused the oauth token from my desktop machine when doing the backup from my server. That was an imperfect solution which resulted in file conflicts and other issues. On the other hand, not even Stuart Langridge, Technical architect for Ubuntu One, could post correct instructions on getting a new token from the command line <img src='http://per.liedman.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After digging in to this a bit more, writing some code of my own to do it, I finally found that of course someone else already did it. <a href="http://people.canonical.com/~roman.yepishev/">Roman Yepishev</a> wrote a small <a href="http://people.canonical.com/~roman.yepishev/us/ubuntuone-sso-login.py">script to create a new oauth token for Ubuntu One</a> &#8211; it&#8217;s pretty self instructive if you use it. It dumps the new token to stdout, and you stick it into the u1sync commandline. Exactly what I wanted.</p>
<p>Hope this was helpful in getting Ubuntu One from the command line set up for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://per.liedman.net/2011/12/28/using-ubuntu-one-from-a-headless-oneiric-ocelot/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Ubuntu One for backup on a headless server</title>
		<link>http://per.liedman.net/2011/01/22/using-ubuntu-one-for-backup-on-a-headless-server/</link>
		<comments>http://per.liedman.net/2011/01/22/using-ubuntu-one-for-backup-on-a-headless-server/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 13:26:10 +0000</pubDate>
		<dc:creator>Per Liedman</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://per.liedman.net/?p=224</guid>
		<description><![CDATA[Update 2011-12-28: I wrote a follow up post on how to fix some of the issues with the instructions below, especially with regard to Ubuntu 11.10 Oneiric Ocelot: Using Ubuntu One from a headless Oneiric Ocelot server Ok, let me start by stating that I know, and you should also know, that Ubuntu One and [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 2011-12-28:</em> I wrote a follow up post on how to fix some of the issues with the instructions below, especially with regard to Ubuntu 11.10 Oneiric Ocelot: <a href="http://per.liedman.net/2011/12/28/using-ubuntu-one-from-a-headless-oneiric-ocelot/">Using Ubuntu One from a headless Oneiric Ocelot server</a></p>
<p>Ok, let me start by stating that I know, and you should also know, that Ubuntu One and the other cloud storage services like DropBox are not for serious backups. So if you&#8217;re reading this post to learn something about backing up your enterprisy data, you have <em>come to the wrong place</em>. But if you&#8217;re like me, and have a server in your closet as a hobby, and just want some sort of backup that&#8217;s also off site, you have come to the right place.</p>
<p>The problem at hand: I have a server in my closet at home, and I store some stuff on it that I would be very sorry if I lost. (I also store a lot more on it that I don&#8217;t care the least about.) So, I want to back that stuff up. It&#8217;s primarily a couple of MySQL databases and some version control repositories.</p>
<p>Ubuntu comes with a cloud storage service called <a href="https://one.ubuntu.com/">Ubuntu One</a>. Ubuntu One gives you a free account with two gigabytes of storage, and you can pay a small subscription fee to get significantly more storage if you need it. While there are <a href="http://peterthorin.wordpress.com/2010/01/28/backup-solutions/">lots of other similar solutions</a>, Ubuntu One seems like a nice choice if you&#8217;re into Ubuntu, since its neatly integrated into the Gnome desktop.</p>
<p>The bad news is that for a headless (no screen) machine, like my server, Ubuntu One is currently a bit harder to set up. I really need the backups to work even if I don&#8217;t start a remote session and type my password, and so on. A backup that requires manual intervention is about as bad as no backup at all, in my opinion.</p>
<p>I was sort of frustrated when I found this out, and <a href="http://twitter.com/#!/liedman/status/23337089936392192">Twittered angrily</a> about the lack of command line interface. A couple of days later, I got a very friendly reply from Stuart Langridge (<a href="http://twitter.com/#!/sil">@sil</a>), who happens to be technical architect for Ubuntu One. Wow. Not only a response to my rant, but a short conversation ended up with enough clues for me to solve the problem at hand.</p>
<p>So, to save you from having to finding out the details yourself, here is how you could go about making Ubuntu One work as a backup for your headless server:</p>
<h3>Install ubuntuone-client-tools</h3>
<p>The program you need is called <code>u1sync</code>, and is distributed in a package called <code>ubuntuone-client-tools</code>. Install it:</p>
<p><code>sudo apt-get install ubuntuone-client-tools</code></p>
<h3>Get an authentication token</h3>
<p>The tricky part about getting Ubuntu One working standalone is really authentication. Normally, Ubuntu One authenticates using information stored in your Gnome keyring. On the server, you might not even have the keyring deamon installed, and even if it is, the backup must work even if you haven&#8217;t entered your keyring password, and so on. Fortunately, <code>u1sync</code> can authenticate without the keyring, but you will have to provide an <a href="http://en.wikipedia.org/wiki/OAuth">OAuth</a> token manually. Getting that token feels sort of like a hack, but this is how I do it:</p>
<ol>
<li>Go to a desktop machine where you have Ubuntu One set up with the account you want to use</li>
<li>Go to <strong>System</strong> menu -> <strong>Preferences</strong> -> <strong>Passwords and Encryption Keys</strong></li>
<li>Under the tab <strong>Passwords</strong>, you will find an entry called <strong>UbuntuOne token for https://ubuntuone.com</strong> &#8211; double click it.</li>
<li>In the dialog, open the password label and mark the <strong>Show password</strong> checkbox. It should now look something like this:
<p><img src="http://per.liedman.net/wp-content/uploads/2011/01/ubuntuone-oauth-token-dialog.png" alt="" title="Ubuntu One OAuth token dialog" width="361" height="332" class="aligncenter size-full wp-image-230" />
</li>
<li>Copy the text from the password field into a text editor of your choice. It will look like this:<br />
<code>oauth_token_secret=xxxx&#038;oauth_token=yyyy</code>, but with <code>xxxx</code> and <code>yyyy</code> replaced with much more gibberish. It&#8217;s those to parts of the strings you&#8217;re after.</li>
<li>In your backup script on your server (you have one of those already, right? Mine is based around <a href="http://sourceforge.net/projects/automysqlbackup/">AutoMySQLBackup</a> and lots of <code>tar</code> commands), insert this line somewhere at the end:<br/><code>u1sync --oauth=yyyy:xxxx [your backup folder]</code><br/>Note the order of things: u1sync needs to oauth token (key) first, and the secret as a seconds argument; at least for me, they were stored in the other way around in the keyring string.</lI>
<p>And that&#8217;s about it! The <code>u1sync</code> command will automatically synchronize the directory contents against your account every time the script is run. It will also output a lot of information about what it&#8217;s doing, so if you&#8217;re running the backup script from <code>cron</code> (you should), you might want to redirect the output to a log or <code>/dev/null</code>, or you will get lots of long mails.</p>
<p>Also note, that if you for some reason unauthorize the machine you got the OAuth token from, you will also unauthorize the backup server. Unauthorizing a machine really means revoking the OAuth token, and since the machines share the same token, both will now be unauthorized.</p>
<p>Finally, if you find out or already know a simpler way to get the OAuth token, I really interested in hearing about it. And yay for Ubuntu (One) and Stuart Langridge, thanks to them I now have an easy and free backup solution for at least the most critical stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://per.liedman.net/2011/01/22/using-ubuntu-one-for-backup-on-a-headless-server/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Mallorca-krisen och söderfamiljen</title>
		<link>http://per.liedman.net/2010/12/08/213/</link>
		<comments>http://per.liedman.net/2010/12/08/213/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 11:51:37 +0000</pubDate>
		<dc:creator>Per Liedman</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://per.liedman.net/?p=213</guid>
		<description><![CDATA[När Svenska Dagbladet publicerar en artikel om familjen Bramfors-Engelmarks försök att anpassa sitt liv efter klimathotet dröjer det inte länge innan det twittras i en lätt hånfull ton: Är den här snubben verklighetens svar på uppdiktade bloggen Söderfamiljen? http://tinyurl.com/38d5vd2 skriver Eric Rosén (@detljuvalivet), och Medelklassen tar till sig klimatpolitiken: &#8220;För ett par år sedan hade [...]]]></description>
			<content:encoded><![CDATA[<p>När Svenska Dagbladet publicerar en artikel om <a href="http://www.svd.se/nyheter/idagsidan/psykologi/klimathotet-har-andrat-deras-livsstil_5789585.svd">familjen Bramfors-Engelmarks försök att anpassa sitt liv efter klimathotet</a> dröjer det inte länge innan det twittras i en lätt hånfull ton:</p>
<blockquote><p>Är den här snubben verklighetens svar på uppdiktade bloggen Söderfamiljen? http://tinyurl.com/38d5vd2</p></blockquote>
<p>skriver Eric Rosén (<a href="http://twitter.com/detljuvalivet">@detljuvalivet</a>), och</p>
<blockquote><p>Medelklassen tar till sig klimatpolitiken: &#8220;För ett par år sedan hade vi också en mindre Mallorca-kris&#8221; http://bit.ly/hPq3Ke i @svdse</p></blockquote>
<p>skriver Jesper Nilsson (<a href="http://twitter.com/redundans">@redundans</a>). </p>
<p>Jag har svårt att se vari problemet med artikeln egentligen ligger, bortom själva formen av utslätat familje-reportage med Sara Trus-inslag, som knappast familjen själv kan klandras för. Man kan naturligtvis slå sig för knäna över den senaste i den oändliga räckan av vad som minst sagt utslitet brukar kallas för i-landsproblem: &#8220;Mallorca-kris&#8221;, och en mängd andra ordval i artikeln, men bortom det beskrivs ett reellt problem: människor som har en övertygelse (klimathotet är högst reellt och överhängande) som är i konflikt med mycket i deras livssituation.</p>
<p>Jag är inte helt på det klara med var kärnan i Rosén och Nilssons kritik ligger, men det verkar ligga någonstans mellan den upplevda självgodheten: &#8220;det finns något väldigt dömande i att han är övertygad om att det redan är kört, men att han är en av få som kommit till insikt.&#8221; skriver Rosén i en senare tweet, och att familjen tar på sig ett personligt ansvar: &#8220;Om man hanterar klimatproblemet med konsumtionshets och ångest istället för politik skall man hånas.&#8221; skriver Nilsson. Det sistnämnda blir för mig lätt obegripligt i då jag varken vet var det står om konsumtionshets, mer än att de försöker handla ekologiskt, och uttryckligen nämner en politisk frustration:</p>
<blockquote><p>Hon beskriver sig själv som en ganska realistisk person som mest känner ilska över att politikerna, som sitter på den verkliga makten att förändra, inte gör mer.</p></blockquote>
<p>Utan att veta något om hur varken Eric Rosén eller Jesper Nilssons familjesituationer, förvånas jag snarare över att de inte ger uttryck för den minsta igenkänning. Jag vet inte om det beror på att de själva ignorerar all oro för klimatet, eller om de lever i klimatneutralt liv utan konflikter med andra intressen. Själv känner jag däremot igen mig mycket i Bramfors-Engelmarks bekymmer, vilket troligen är anledningen att jag överhuvudtaget orkar irritera mig över den raljanta tonen mot dem.</p>
<p>Ur en barnfamiljs perspektiv upplever jag dagens Sverige ur miljöperspektiv ungefär som att vara en gravt överviktig på julbord: ett överflöd av saker du verkligen inte borde ta av, men både smarriga och som du snarast förväntas ta så mycket du kan av. Att förklara att man inte vill äta, d.v.s. köpa en större bil, större hus, resa till Thailand och varför inte en teppanyaki-häll, blir vare sig man vill eller inte till slut något av ett socialt problem, så vida man inte har turen att enbart omges av andra personer med samma värderingar. För mig är det detta artikeln handlar om, inte att familjen upplever sig som goda, eller deras politiska visioner (eller avsknad av dessa).</p>
<p>Att inte kunna se bakom det dåliga ordvalet &#8220;Mallorca-kris&#8221;, d.v.s. problematiken i att förklara för barn och släkt att man inte vill bli bjuden på solsemester för att man av princip inte vill flyga, tyder bara på en tröttsam brist på insikt.</p>
<p>Utan att gå in på varför och vad man skall göra åt det, så menar jag att det i allra högsta grad är relevant att illustrera de här problemen, så som SVD gör. All politisk förändring börjar inte med att skrika sig hes om klass och blåsa i vuvuzela.</p>
<p><strong>Uppdatering:</strong> Eric Rosén påtalar att han visst uttrycker förståelse för problematiken i en annan twitter-tråd: &#8220;självklart är en del av provokationen att det tangerar delar av ens eget liv. Ett uttryck för twittrarens egen klimatångest&#8221;, så helt svartvitt är det förstås inte (i samma tråd menar han dock också att Mikael Bramfors &#8220;låter som en pajas&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://per.liedman.net/2010/12/08/213/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reality Bites</title>
		<link>http://per.liedman.net/2009/03/04/reality-bites/</link>
		<comments>http://per.liedman.net/2009/03/04/reality-bites/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 17:43:51 +0000</pubDate>
		<dc:creator>Per Liedman</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://per.liedman.net/?p=135</guid>
		<description><![CDATA[I&#8217;m a software developer. I like abstractions, I enjoy mentally putting things in little boxes, structuring my mental model of the world, or at least the model of the problem I&#8217;m currently struggling with. I don&#8217;t know if it&#8217;s a requirement, but if you&#8217;re a developer, it certainly helps to be border-lining to obsessive about [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a software developer. I like abstractions, I enjoy mentally putting things in little boxes, structuring my mental model of the world, or at least the model of the problem I&#8217;m currently struggling with. I don&#8217;t know if it&#8217;s a requirement, but if you&#8217;re a developer, it certainly helps to be border-lining to obsessive about knowing how stuff works, in excruciating detail.</p>
<p>Having said that, I find it fascinating how problems in programming constantly make you hit your head against the wall of reality &#8211; the wall located where pretty, simple and linear abstractions meet the real world. You know, the real world which refuses to be dumbed down into simple rules, and even when you <em>think</em> you&#8217;ve trapped it with you&#8217;re rules, always breaks free with new twists and turns that you hadn&#8217;t thought of. This is sort of the essence &#8211; problems that I&#8217;ve been working with more or less since I started programming, problems which also appear very benign from a casual viewpoint, that keep coming back, and simply refuse to be solved in a way such that you can put them behind you.</p>
<p><strong>Time</strong> is the first and most obvious case. That something as fundamental and trivial (you learn to read the watch when you&#8217;re what? Five? Six?) can be so complicated and easy to get wrong is truly fascinating. And then I haven&#8217;t even mentioned dates yet. Just starting to think about dates will get any programmer into trouble. Before you know it, you&#8217;re knee deep in Gregorian calendars and leap years &#8211; and even then, you won&#8217;t get it right. In fact, I&#8217;d go so far as saying that any non-trivial date/time calculation in software will contain at least one bug, or one special case that you hadn&#8217;t really thought of. </p>
<p>Once again, then I haven&#8217;t even mentioned <em>time zones</em> yet. Time zones, combined with daylight savings time, is the real killer, if you by pure miracle got the first date calculations right. At the company were I worked before, we had a standing joke two times a year &#8211; was this going to be the first day lights savings switch in the company&#8217;s history where we didn&#8217;t encounter a bug related to it? From what I can recall, we never had a bug free switch (in five years!).</p>
<p><strong>Maps</strong>, or perhaps rather geographic locations, is the second thing that springs to mind as a seemingly straightforward thing, that just never ever gets right. </p>
<p>From the day we learned how to use a two dimensional map, I actually think we&#8217;re doomed into living in the wrong paradigm. In grade school we learn that north is up on the map, and using a ruler to measure distances on it is the way to go. Sure, both work. Sometimes. But equally often, it just almost works, it&#8217;s almost true, kind of. &#8220;Almost true&#8221;, deeply ingrained in your mind, happens to be a perfect and never ending source of interesting and subtle software bugs.</p>
<p>Add to that the fact that the earth isn&#8217;t really a sphere, but almost, and while we have attempted to meaure its non-spheriness, we came up with several conflicting measurements, all giving slightly different results when you try to express where you are on this not-really-a-sphere thing. Sometimes, different measurements are mixed, and you will have to use completely non-trivial transformations to convert from one to the other, but those transformations only work for very special circumstances.</p>
<p>Even if you get it right, someone will probably want to calculate the distance from where you think you are to some other point, which isn&#8217;t at all trivial on a sphere. But it wasn&#8217;t a sphere, right? Yep, right &#8211; not a sphere, and that makes it just even worse. Luckily, I (and probably not you) don&#8217;t need the last kind of precision very often, but that doesn&#8217;t help, because we will <em>still</em> try to use a ruler (or its digital equivalent) to measure the distance on a map &#8211; which won&#8217;t work, even if the teacher in fourth grade said it would.</p>
<p><strong>Character encoding</strong> is my last example. Yes, getting characters to show up on your screen, more or less. Again, something very mundane and something a non-developer would take for granted. And yet, this is something that has been a problem in just about any application I&#8217;ve written, or seen being written, or used, for I don&#8217;t know how long. I guess being a swede, using the funny å, ä, ö characters a lot (or &#8220;Ã¥, Ã¤ and Ã¶&#8221;, as I&#8217;ve learnt to know them from years of UTF-8/ISO-8859 mangling), doesn&#8217;t help, since you&#8217;re so much more exposed to the problem.</p>
<p>Closing up, I want to attempt finding something that these three problems have in common, something that make seemingly simple things so very complicated. My first guess would be that its the perceived simplicity that is the core in all three &#8211; all are stuff that we in our daily lives take for granted, talk about while at the same time not paying much attention to the details: we look at our watches, make appointments and write them in our calendars, decide to meet at certain locations and talk about how far it is to places. We never ever think about the underlying details and complexities while doing this, it&#8217;s all very intuitive to us. On the other hand, I think it&#8217;s this very intuition that trips us when developing software; the fact that we think we know this very well gets in the way details (that most of us actually don&#8217;t know).</p>
<p>Also, all three share that they in some way involve problems regarding frame of reference: time zone and daylight savings time problems are hard since you very easily get confused about what is fixed and what is relative. The map problems are very much the same &#8211; what is absolute in one frame of reference (&#8220;up&#8221;, &#8220;north&#8221;, &#8220;distance&#8221;, etc.), does not necessarily translate to some absolute in another, and what you&#8217;re doing is switching frame of reference, if it&#8217;s going from a projected map to WGS84, or if it&#8217;s transforming between two geodetic references. Character encoding, and translation from one encoding to another, is also only meaningful if you keep track of your frame or reference (&#8220;current encoding&#8221;) through every step of the process &#8211; something which is very obviously much easier said than done.</p>
<p>At first, I also thought about adding the theory of relativity to the problems above. I decided against it, since it&#8217;s really not something you deal with every day, and it&#8217;s also far beyond my field of expertise. Interestingly enough though, it also talks about things we perceive as intuitive (time, length and weight being more or less constant) and turns it on its head, although more profoundly than the examples above. Also, the solution very much lies in keeping track of your frame of reference. </p>
<p>This is also the conclusion: a perceived intuitivity about a problem, combined with transitions between different frames of reference, makes for a problem that you will come back to again and again.</p>
]]></content:encoded>
			<wfw:commentRss>http://per.liedman.net/2009/03/04/reality-bites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

