<?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>Meilofs website</title>
	<atom:link href="http://meilof.home.fmf.nl/feed/" rel="self" type="application/rss+xml" />
	<link>http://meilof.home.fmf.nl</link>
	<description>Weblog of Meilof Veeningen</description>
	<lastBuildDate>Sun, 13 Jun 2010 22:02:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Python script: transposing an xymatrix</title>
		<link>http://meilof.home.fmf.nl/2010/06/14/python-script-transposing-an-xymatrix/</link>
		<comments>http://meilof.home.fmf.nl/2010/06/14/python-script-transposing-an-xymatrix/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 22:02:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Geen rubriek]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=757</guid>
		<description><![CDATA[The following is a very basis script that converts an xymatrix (the LaTeX diagram package) figure into its 90 degrees clockwise rotation (i.e., its transpose, horizontally flipped):

import sys
import re
data = sys.stdin.read()
data = data.replace("\n", " ")

lines=[ x.split("&#38;") for x in data.split("\\\\") ]
lines.reverse()
# transpose everything (http://code.activestate.com/recipes/410687-transposing-a-list-of-lists-with-different-lengths/)
transposed = map(lambda *row: list(row), *lines)
# replace None elements added above by [...]]]></description>
			<content:encoded><![CDATA[<p>The following is a very basis script that converts an xymatrix (the LaTeX diagram package) figure into its 90 degrees clockwise rotation (i.e., its transpose, horizontally flipped):<br />
<span id="more-757"></span></p>
<pre>import sys
import re
data = sys.stdin.read()
data = data.replace("\n", " ")

lines=[ x.split("&amp;") for x in data.split("\\\\") ]
lines.reverse()
# transpose everything (http://code.activestate.com/recipes/410687-transposing-a-list-of-lists-with-different-lengths/)
transposed = map(lambda *row: list(row), *lines)
# replace None elements added above by ""
transposed = [ [ "" if x==None else x for x in line ] for line in transposed ]

# convert arrows
def arrrepl(matchobj):
    def charfn(ch):
        if ch=='d': return 'l'
        if ch=='r': return 'd'
        if ch=='u': return 'r'
        if ch=='l': return 'u'
    rep = "".join([ charfn(ch) for ch in matchobj.group(1) ])
    return "\\ar[" + rep + "]"

def dosub(x):
    return re.sub('\\\\ar\[(.*?)\]', arrrepl, x)

trans2 = [ [ dosub(x) for x in line ] for line in transposed ]

# convert to string
print "\\\\\n".join([ " &amp; ".join(x) for x in trans2 ])</pre>
<p>Example:</p>
<pre>meilof@ubuntu:~$ cat xymatrix.txt
&amp; CN\\
IN\ar[ur] &amp; CI\ar[u] &amp; EN\ar[ul]\\
PI\ar[u]\ar[ur] &amp;  &amp; ID\ar[ul]\ar[u]\\
PA\ar[u]&amp;D\ar[ul]\ar[ur] \\
&amp;Ed\ar[u]&amp;Id\ar[ul]\\
A\ar[uu]\ar[ur]&amp; &amp;Cd\ar[ul]\ar[u]\\
&amp;CA\ar[ul]\ar[ur]\\
&amp;UD\ar[u]
meilof@ubuntu:~$ python xytranspose.py &lt; xymatrix.txt
  &amp;   &amp;  A\ar[rr]\ar[rd] &amp;   &amp;  PA\ar[r] &amp;  PI\ar[r]\ar[rd]  &amp;  IN\ar[rd]  &amp; \\
UD\ar[r]  &amp; CA\ar[ru]\ar[rd] &amp;   &amp; Ed\ar[r] &amp; D\ar[ru]\ar[rd]  &amp;    &amp;  CI\ar[r]  &amp;  CN\\
 &amp;  &amp; Cd\ar[ru]\ar[r] &amp; Id\ar[ru] &amp;  &amp;  ID\ar[ru]\ar[r] &amp;  EN\ar[ru] &amp;</pre>
<p>If you want to have the transpose without the flipping, remove the &#8220;lines.reverse()&#8221; call and change the charfn accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2010/06/14/python-script-transposing-an-xymatrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django iflt, ifgt template tags</title>
		<link>http://meilof.home.fmf.nl/2009/11/21/django-iflt-ifgt-template-tags/</link>
		<comments>http://meilof.home.fmf.nl/2009/11/21/django-iflt-ifgt-template-tags/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 12:48:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=748</guid>
		<description><![CDATA[In Django, one has the ifchanged template tag that can be used to render content only when some loop variable has changed. I did a small extension of this by implementing the ifgt and iflt block template tags, that render their blocks only when some loop variable has increased or decreased.
I used this for my [...]]]></description>
			<content:encoded><![CDATA[<p>In Django, one has the <a href="http://docs.djangoproject.com/en/dev/ref/templates/builtins/#ifchanged"><code>ifchanged</code></a> template tag that can be used to render content only when some loop variable has changed. I did a small extension of this by implementing the <code>ifgt</code> and <code>iflt</code> block template tags, that render their blocks only when some loop variable has increased or decreased.</p>
<p><span id="more-748"></span>I used this for my <a href="http://snooker.alwaysdata.net/">SnookerData</a> pet project, in which I wanted to present the ranking of a snooker player after each ranking tournament in the season. Then, when the ranking had improved, I wanted to have a green &#8220;up&#8221; icon next to the entry, and when the ranking had become worse, I wanted a red &#8220;down&#8221; icon. See <a href="http://snooker.alwaysdata.net/player/1/ranking/2008-2009/">here</a> for an example.</p>
<p>As it happens, this is pretty easy to implement: I used the code for <code>ifchanged</code> as a basis and made some small modifications to make it have the decribed functionality. The resulting code can be found <a href="http://meilof.home.fmf.nl/viewvc.cgi/snooker/snookermatches/templatetags/changecompare.py?revision=1.1&amp;view=markup">here</a>. To install, create a <code>templatetags</code> subdirectory of your Django application, and place an empty <code>__init__.py</code> and the <code>changecompare.py</code> file in it.</p>
<p>The interesting part of the implementation is the <code>IfGreaterNode</code> class. This node is the part of the parse tree representing the <code>iflt</code> or <code>ifgt</code> block template tag. Every time it needs to be rendered, it checks the value of the variable against the previous value and renders its contents if they satisfy the condition:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>._last_seen <span style="color: #66cc66;">!</span>= <span style="color: #008000;">None</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">isgreater</span> <span style="color: #ff7700;font-weight:bold;">and</span> compare_to <span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span> <span style="color: #008000;">self</span>._last_seen<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">or</span>
        <span style="color: black;">&#40;</span><span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">self</span>.<span style="color: black;">isgreater</span> <span style="color: #ff7700;font-weight:bold;">and</span> compare_to <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> <span style="color: #008000;">self</span>._last_seen<span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>._last_seen = compare_to
        content = <span style="color: #008000;">self</span>.<span style="color: black;">nodelist_true</span>.<span style="color: black;">render</span><span style="color: black;">&#40;</span>context<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> content
<span style="color: #008000;">self</span>._last_seen = compare_to
<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">''</span></pre></div></div>

<p>One thing to notice is that to store the last value, the element needs to be rendered. Thus, if the <code>ifgt</code> or <code>iflt</code> part is in a conditional part of the loop block, then the value of the variable is compared to the previous value when the given condition was met.</p>
<p>As an example of how to use this: first, we load the tag library:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">{% load changecompare %}</pre></div></div>

<p>Next, we can check whether the ranking of our snooker player has improved or deteriorated, and add an appropriate icon. The complete <code>for</code> loop is as follows:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
{% for r in rank %}
&lt;tr&gt;
    &lt;td&gt;
        {% ifgt r.position %}&lt;img src=&quot;/data/reddown.jpg&quot;
           width=&quot;8&quot; height=&quot;8&quot; alt=&quot;Down&quot; /&gt;{% endifgt %}
        {% iflt r.position %}&lt;img src=&quot;/data/greenup.jpg&quot;
           width=&quot;8&quot; height=&quot;8&quot; alt=&quot;Up&quot;/&gt;{% endiflt %}
    &lt;/td&gt;
{% if r.tournament %}
    &lt;td&gt;{{ r.tournament.name }}&lt;/td&gt;
{% else %}
    &lt;td&gt;&lt;b&gt;Season starting points:&lt;/b&gt;&lt;/td&gt;
{% endif %}
    &lt;td&gt;#{{ r.position }}&lt;/td&gt;&lt;td&gt;{{ r.points }}&lt;/td&gt;
&lt;/tr&gt;
{% endfor %}
&lt;/table&gt;</pre></div></div>

<p>As mentioned, this gives the <a href="http://snooker.alwaysdata.net/player/1/ranking/2008-2009/">expected result</a>. Nice!</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/11/21/django-iflt-ifgt-template-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noordelijk Film Festival 2009</title>
		<link>http://meilof.home.fmf.nl/2009/11/16/noordelijk-film-festival-2009/</link>
		<comments>http://meilof.home.fmf.nl/2009/11/16/noordelijk-film-festival-2009/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 20:07:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Geen rubriek]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=741</guid>
		<description><![CDATA[De 2009-editie van het Noordelijk Film Festival was weer geweldig! Ik had voor het eerst een passe-partout, dus heb me uitgeleefd op in totaal 14 films   Echt slechte films zaten er niet bij, gelukkig wel een paar echt goede. Hier zijn ze van goed naar slecht:
        [...]]]></description>
			<content:encoded><![CDATA[<p>De 2009-editie van het <a href="http://www.noordelijkfilmfestival.nl/index.php">Noordelijk Film Festival</a> was weer geweldig! Ik had voor het eerst een passe-partout, dus heb me uitgeleefd op in totaal 14 films <img src='http://meilof.home.fmf.nl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Echt slechte films zaten er niet bij, gelukkig wel een paar echt goede. Hier zijn ze van goed naar slecht:</p>
<p><span id="more-741"></span> <a href="http://www.imdb.com/title/tt1105734/"><img class="alignnone" title="Cold Lunch" src="http://meilof.home.fmf.nl/images/nff2009/1.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1320082/"><img title="Le Concert" src="http://meilof.home.fmf.nl/images/nff2009/2.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1252610/"><img title="North" src="http://meilof.home.fmf.nl/images/nff2009/3.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1320352/"><img title="Nothing Personal" src="http://meilof.home.fmf.nl/images/nff2009/4.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1087526/"><img title="Tandoori Love" src="http://meilof.home.fmf.nl/images/nff2009/5.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1130988/"><img title="JCVD" src="http://meilof.home.fmf.nl/images/nff2009/6.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt0920458/"><img title="Flame and Citron" src="http://meilof.home.fmf.nl/images/nff2009/7.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1039891/"><img title="Country Wedding" src="http://meilof.home.fmf.nl/images/nff2009/8.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1408351/"><img title="Be Calm and Count to Seven" src="http://meilof.home.fmf.nl/images/nff2009/9.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1172570/"><img title="Bronson" src="http://meilof.home.fmf.nl/images/nff2009/10.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1225296/"><img title="Service" src="http://meilof.home.fmf.nl/images/nff2009/11.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt0834170/"><img title="Autumn Ball" src="http://meilof.home.fmf.nl/images/nff2009/12.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1173467/"><img title="Good Luck!" src="http://meilof.home.fmf.nl/images/nff2009/13.jpg" alt="" width="98" height="140" /></a> <a href="http://www.imdb.com/title/tt1188710/"><img title="Corridor #8" src="http://meilof.home.fmf.nl/images/nff2009/14.jpg" alt="" width="98" height="140" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/11/16/noordelijk-film-festival-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master&#8217;s thesis: final version</title>
		<link>http://meilof.home.fmf.nl/2009/11/14/masters-thesis-final-version/</link>
		<comments>http://meilof.home.fmf.nl/2009/11/14/masters-thesis-final-version/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:55:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[scriptie]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=738</guid>
		<description><![CDATA[And here&#8217;s the final version of my Master&#8217;s thesis! Also, a shorter version of my presentation is here: slides, handout, handout (print).
]]></description>
			<content:encoded><![CDATA[<p>And <a href="http://meilof.home.fmf.nl/files/scriptie/scriptie-def.pdf" target="_blank">here</a>&#8217;s the final version of my Master&#8217;s thesis! Also, a shorter version of my presentation is here: <a href="http://meilof.home.fmf.nl/files/scriptie/presentation-summary-slides.pdf">slides</a>, <a href="http://meilof.home.fmf.nl/files/scriptie/presentation-summary-handout.pdf">handout</a>, <a href="http://meilof.home.fmf.nl/files/scriptie/presentation-summary-handout.pdf">handout (print)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/11/14/masters-thesis-final-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master&#8217;s thesis!</title>
		<link>http://meilof.home.fmf.nl/2009/11/03/masters-thesis/</link>
		<comments>http://meilof.home.fmf.nl/2009/11/03/masters-thesis/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 19:58:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[scriptie]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=736</guid>
		<description><![CDATA[My Master&#8217;s thesis colloquium for Mathematics is tomorrow! Abstract:
Abstract. Given tuples of SL2-matrices, one can look at which functions in their coordinate ring do not change when we simultaneously conjugate the matrices: these are called the invariant functions. Our interest in this topic is motivated by the fact that these tuples occur as the so-called [...]]]></description>
			<content:encoded><![CDATA[<p>My Master&#8217;s thesis colloquium for Mathematics is tomorrow! Abstract:</p>
<p style="padding-left: 30px;">Abstract. Given tuples of SL2-matrices, one can look at which functions in their coordinate ring do not change when we simultaneously conjugate the matrices: these are called the invariant functions. Our interest in this topic is motivated by the fact that these tuples occur as the so-called &#8220;monodromy group&#8221; of certain linear differential equations.</p>
<p style="padding-left: 30px;">We will look at these invariant functions from three different perspectives. First, we employ classical invariant theory to find the structure of the space generated by these invariant functions. Next, we use geometric invariant theory to give a geometric interpretation of this invariant space. Finally, we place the results in the more general setting of representation theory by looking at the structure of the space of matrices as a SL2-representation.</p>
<p>Interesting, huh&#8230;</p>
<p>Anyway, some preliminary stuff: <a href="http://meilof.home.fmf.nl/files/scriptie/presentation-full.pdf">presentation</a>, <a href="http://meilof.home.fmf.nl/files/scriptie/presentation-handout.pdf">handout</a> and <a href="http://meilof.home.fmf.nl/files/scriptie/scriptie.pdf">thesis</a>. The final versions will appear later.</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/11/03/masters-thesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed points in a random permutation</title>
		<link>http://meilof.home.fmf.nl/2009/07/10/fixed-points-in-random-permutation/</link>
		<comments>http://meilof.home.fmf.nl/2009/07/10/fixed-points-in-random-permutation/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 11:50:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=723</guid>
		<description><![CDATA[In looking at the results of the Beer Test 2009, I wondered how much better than chance we were able to guess which beer was which. In other words, if for all beers one just does a random guess (with no double guesses), how many correct answers would one expect to have?
Or, to phrase this [...]]]></description>
			<content:encoded><![CDATA[<p>In looking at the results of the <a href="http://meilof.home.fmf.nl/2009/06/30/biertest-2009/">Beer Test 2009</a>, I wondered how much better than chance we were able to guess which beer was which. In other words, if for all beers one just does a random guess (with no double guesses), how many correct answers would one expect to have?</p>
<p><span id="more-723"></span>Or, to phrase this a bit more mathematically: what is the distribution for the number of fixed points of a random permutation of <em>n</em> elements?</p>
<p>First of all, the <strong>expected value</strong> of the number of fixed points is one, by a very simple argument: let <em>X(i)</em> denote the random variable that is 1 if the <em>i</em>th point was a fixed point, and 0 otherwise. Obviously, this has expected value 1/<em>n</em>, so by linearity of the expected value operator, the total number of expected fixed points is the sum of the <em>X(i)</em>, ie, 1. This argument is made, for example, in Example 6.8 of <a href="http://graal.ens-lyon.fr/~yrobert/amsbook.pdf">Introduction to probability</a> by Grinstead and Snell.</p>
<p>Note that this is exactly the same as the expected number of fixed points when we did allow double guesses, which to me was not so obvious.</p>
<p>As for the <strong>probability distribution</strong>: the number of permutations of <em>n</em> with <em>k</em> fixed point is, I found out, called the <em>Rencontres number Dn,k</em>. More information can be found on <a href="http://en.wikipedia.org/wiki/Rencontres_number">Wikipedia</a> and <a href="http://mathworld.wolfram.com/PartialDerangement.html">Mathworld</a>. The first few values can, of course, be found in <a href="http://www.research.att.com/~njas/sequences/A008290"> The On-Line Encyclopedia of Integer Sequences</a> (OEIS).</p>
<p>Which was, in fact, how I found the name of this distribution: I wrote a small Mathematica function to calculate these numbers, and searching for the results with n=5 quickly gave this reference.</p>
<p>Wikipedia and OEIS give some hints on how to calculate the Rencontres number; however, I will also give my ready-to-use (and, probably, horribly inefficient) Mathematica function to calculate it:</p>
<pre>rencontre[n_, k_] := 1 /; n == 0 &amp;&amp; k == 0
rencontre[n_, k_] := 0 /; n == 0 &amp;&amp; k != 0
rencontre[n_, k_] := Binomial[n, k]*rencontre[n - k, 0] /; n &gt; 0 &amp;&amp; k &gt; 0
rencontre[n_, k_] := n! - Sum[rencontre[n, i], {i, n}] /; n &gt; 0 &amp;&amp; k == 0</pre>
<p>The idea is pretty simple: if we know <em>Dn,0</em> (ie, the number of permutations with length <em>n</em> without fixed points), then calculating <em>Dn,k</em> is easy: it is the number of possibilities to pick the <em>k</em> correct places times the number of <em>n-k</em>-permutations without fixed points.</p>
<p>To calculate <em>Dn,0</em> I simply substracted all <em>Dn,k</em> for <em>k&gt;0</em> from the total number of permutations, <em>n!</em>. This calculation could, according to Wikipedia, be done much faster, but I did not try this.</p>
<p>So how does this distribution look like? I myself was mostly was interested in the case <em>n=12</em> and <em>n=13</em>. Here&#8217;s the distributions in this case:</p>
<p><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/07/rencontres12.png"><img class="alignnone size-full wp-image-726" title="rencontres12" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/07/rencontres12.png" alt="rencontres12" width="350" height="195" /></a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 186px; width: 1px; height: 1px;"><span style="font-size: xx-small;"><strong> <a href="http://www.research.att.com/%7Enjas/sequences/Seis.html">The On-Line Encyclopedia of Integer Sequences</a></strong></span></div>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/07/10/fixed-points-in-random-permutation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Biertest 2009</title>
		<link>http://meilof.home.fmf.nl/2009/06/30/biertest-2009/</link>
		<comments>http://meilof.home.fmf.nl/2009/06/30/biertest-2009/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 00:36:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscellanea]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=705</guid>
		<description><![CDATA[Na 2004, 2006 en 2008 was het dan afgelopen weekend tijd voor de vierde editie van de biertest.
De opzet is simpel: een aantal verschillende bieren wordt blind getest op de criteria uiterlijk, smaak, geur en nasmaak, en er wordt en eindoordeel gegeven. Bovendien moeten de deelnemers raden om wel bier het gaat.

Dit jaar waren er [...]]]></description>
			<content:encoded><![CDATA[<p>Na <a href="http://meilof.home.fmf.nl/2004/06/27/the-great-exciting-beer-test-2004/">2004</a>, <a href="http://meilof.home.fmf.nl/files/biertest2006.pdf">20</a><a href="http://meilof.home.fmf.nl/files/biertest2006-pres.pdf">06</a> en <a href="http://meilof.home.fmf.nl/2008/05/18/the-great-exciting-beer-test-2008/">2008 </a>was het dan afgelopen weekend tijd voor de vierde editie van de biertest.</p>
<p>De opzet is simpel: een aantal verschillende bieren wordt blind getest op de criteria uiterlijk, smaak, geur en nasmaak, en er wordt en eindoordeel gegeven. Bovendien moeten de deelnemers raden om wel bier het gaat.</p>
<p><span id="more-705"></span></p>
<p>Dit jaar waren er 7 deelnemers, en 13 verschillende bieren. Het aantal bieren is minder dan in eerdere jaren, maar een goed aantal om alles een beetje tot het einde interessant te houden. Dit jaar werd er vooral op pils geconcentreerd, met alle bekende pilsmerken, plus een budgetbier (Pitt) en een malt (Amstel Malt):</p>
<p style="padding-left: 30px;">Grolsch, Brand, Bavaria, Amstel, Amstel Malt, Heineken, Pitt, Hertog Jan, Palm, Dab, Alfa, Jupiler, Warsteiner</p>
<p>Dit maakte het raden natuurlijk moeilijker dan eerdere jaren: alleen de Palm was simpel van de andere biertjes te onderscheiden en werd daardoor door iedereen goed geraden.</p>
<p><strong>Het beste bier</strong></p>
<p>Allereerst dan maar het belangrijkste resultaat: welk bier is het beste, en hoe zit het met de prijs/kwaliteitverhouding? Anders dan bijvoorbeeld vorig jaar bleken duurdere bieren gemiddeld beter:</p>
<p><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/06/correlatiediagram.pdf"></a><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/06/correlatiediagram.pdf"><img class="alignnone size-full wp-image-710" title="correlatiediagram" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/06/correlatiediagram2.png" alt="correlatiediagram" width="350" height="189" /></a></p>
<p>Erg opvallend is de lage plaatsing van Hertog Jan en vooral Jupiler: beide biertjes worden meestal als goed beschouwd, en de laatste eindigde met als hoogste prijs per liter op de op de elfde plaats van 13. De rapportcijfers voor de geteste biertjes:</p>
<p style="padding-left: 30px;">1. Palm (7,4) 2. Grolsch (7,1) 3. Alfa (6,9) 4. Heineken (6,7) 5. Amstel (6,4) 6. Pitt (6) 7. Bavaria (6) 8. Hertog Jan (5,7) 9. Warsteiner (5,6) 10. Brand (5,3) 11. Jupiler (5) 12. DAB (5) 13. Amstel Malt (3,4)</p>
<p>De top-3&#8217;s van de afzonderlijke deelnemers waren als volgt:</p>
<p style="padding-left: 30px;">Andries: 1. Alfa (6,3) 2. Amstel (6) 3. Hertog Jan (6)<br />
Flin: 1. Heineken (7,5) 2. Warsteiner (7) 3. Bavaria (7)<br />
Joa: 1. Palm (9) 2. Heineken (8) 3. Amstel (7)<br />
Meilof: 1. Palm (8,5) 2. Grolsch (8) 3. Heineken (7,5)<br />
Menno: 1. Alfa (9) 2. Palm (7,9) 3. Heineken (7)<br />
Sander B.: 1. Alfa (9) 2. Palm (8) 3. Grolsch (7)<br />
Sander P.: 1. Palm (8) 2. Grolsch (7,5) 3. Bavaria (7)</p>
<p>De slechtste 3 bieren volgens iedereen waren:</p>
<p style="padding-left: 30px;">Andries: 11. Warsteiner (4,5) 12. Amstel Malt (4) 13. Bavaria (4)<br />
Flin: 11. Palm (4,5) 12. DAB (4) 13. Amstel Malt (2,3)<br />
Joa: 11. DAB (5) 12. Amstel Malt (4) 13. Brand (3)<br />
Meilof: 11. Jupiler (4) 12. DAB (4) 13. Amstel Malt (3,5)<br />
Menno: 11. Hertog Jan (4,1) 12. Amstel Malt (4) 13. Brand (4)<br />
Sander B.: 11. Warsteiner (5) 12. DAB (4,5) 13. Amstel Malt (3)<br />
Sander P.: 11. DAB (5,3) 12. Jupiler (5) 13. Amstel Malt (3)</p>
<p>Behalve met een eindoordeel werden de bieren ook nog op 4 subcriteria beoordeeld. Zoals te verwachten, en in lijn met de resultaten van 2006, waren het vooral de smaak en nasmaak die kennelijk het sterkst in het eindoordeel werd meegewogen (ze correleren beiden met een coëfficiënt 0,98). Uiterlijk bleek veel minder belangrijk (coëfficiënt 0,58).</p>
<p><strong>Biertjes raden</strong></p>
<p>Een ander, minstens zo belangrijk aspect van het biertjes testen is natuurlijk om te zien hoe goed ze herkenbaar zijn. Welnu, niet echt goed: gemiddeld werd iets meer dan 3 van de biertjes goed geraden &#8212; al zou ik zelf willen onderstrepen dat er toch wel enige vaardigheid bij komt kijken aangezien ikzelf voor de tweede keer heb gewonnen, en de andere twee keren tweede werd <img src='http://meilof.home.fmf.nl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  De eindstand in biertjes raden:</p>
<p style="padding-left: 30px;">1. Meilof: 6 (Palm, Amstel Malt, DAB, Warsteiner, Bavaria, Amstel)<br />
2. Sander P.: 4 (Palm, DAB, Warsteiner, Amstel)<br />
3. Andries: 3 (Palm, Grolsch, Warsteiner)<br />
Joa: 3 (Palm, Amstel Malt, Amstel)<br />
5. Flin: 2 (Palm, DAB)<br />
Menno: 2 (Palm, Amstel)<br />
Sander B.: 2 (Palm, Warsteiner)</p>
<p>De vraag is wel: hoe goed is het om 3 van de 13 biertjes te raden? Een graadmeter hiervoor is: hoe groot is de kans dat je door puur gokken 3 biertjes of meer goed raakt? Het blijkt, zoals ik <a href="http://meilof.home.fmf.nl/2009/07/10/fixed-points-in-random-permutation/">hier</a> beschrijf, dat je door puur gokken verwacht precies één biertje goed te hebben; je maakt ongeveer 8% kans om 3 biertjes of meer goed te hebben. Zelfs als we de Palm, die duidelijk van de rest te onderscheiden was, niet meerekenen, is de kans om minimaal 2 biertjes goed te hebben uit 12 nog steeds maar rond de 26%.</p>
<p>Zoals gezegd was Palm het makkelijkst te raden: 7 van 7 mensen raadde deze goed. Ook Warsteiner en Amstel waren goed herkenbaar (4/7), gevolgd door DAB (3/7), Amstel Malt (2/7), en Bavaria en Grolsch (1/7). De andere biertjes werden door niemand goed geraden, bijvoorbeeld Jupiler en Hertog Jan..</p>
<p>Vast onderdeel: wat werd voor Malt aangezien, en waarvoor werd Malt aangezien? Biertje 5 was Amstel Malt, en dus géén DAB (Andries, Sander B. en Menno), Pitt (Flin en Sander P.). In ieder geval vulde iedereen hier een slecht biertje in, wat gezien het gemiddelde cijfer van 3,4 ook niet zo raar is.</p>
<p>Maar waar vulde men dan Malt in? Nou, bij Jupiler (Andries) bijvoorbeeld. Of bij dat andere kwaliteitsbier, Hertog Jan (Flin, Sander B. én Sander P.). Pitt was nog wel een gok waar Menno zich niet voor hoefde te schamen.</p>
<p>Het gokken van een bepaald merk bij een lekker gevonden biertje geeft in ieder geval aan hoe goed men een biertje verwacht te zijn. We sorteren de biertjes op volgorde van &#8220;verwacht cijfer&#8221; (tussen haakjes het daadwerkelijke rapportcijfer):</p>
<p style="padding-left: 30px;">1. Hertog Jan 7,7 (5,7) 2. Palm 7,4 (7,4) 3. Bavaria 6,9 (6) 4. Amstel 6,5 (6,4) 5. Grolsch 6,2 (7,1) 6. Alfa 5,8 (6,9) 7. Jupiler 5,8 (5) 8. Brand 5,8 (5,3) 9. Heineken 5,7 (6,7) 10. Warsteiner 5,6 (5,6) 11. Amstel Malt 5 (3,4) 12. DAB 4,3 (5) 13. Pitt 4,1 (6)</p>
<p>Hertog Jan is duidelijk het meest overschatte biertje: het wordt twee volle punten boven het daadwerkelijke oordeel ingeschat. Ook overschat zijn (verrassend genoeg) Amstel Malt (1,6 punt te hoog) en Bavaria (0,9 punt). Het meest onderschatte biertje is Pitt (1,9 punt te laag); Heineken en Alfa zijn een punt lekkerder dan verwacht.</p>
<p>Volgens de geruchten verschijnt het YouTube-filmpje van de biertest later <img src='http://meilof.home.fmf.nl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/06/Biertest-2009.ods">Biertest 2009</a> bevat de ruwe gegevens.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/06/30/biertest-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPod audio jack broken? A $5 fix</title>
		<link>http://meilof.home.fmf.nl/2009/04/29/ipod-audio-jack-broken-a-5-fix/</link>
		<comments>http://meilof.home.fmf.nl/2009/04/29/ipod-audio-jack-broken-a-5-fix/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:27:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=698</guid>
		<description><![CDATA[After working quite well for some years, unfortunately the audio jack of my iPod Video broke down some time ago, only giving sound in one ear. Luckily, you can solve this for under $5 by buying an adapter to plug into the iPod&#8217;s connector and installing the Rockbox firmware on the iPod.

Alternative solutions
This is not [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">After working quite well for some years, unfortunately the audio jack of my iPod Video broke down some time ago, only giving sound in one ear. Luckily, you can solve this for under $5 by buying an adapter to plug into the iPod&#8217;s connector and installing the Rockbox firmware on the iPod.</p>
<p style="text-align: left;"><span id="more-698"></span></p>
<p style="text-align: left;"><strong>Alternative solutions</strong></p>
<p style="text-align: left;">This is not the only solution to the problem. First of all, you can have the audio jack replaced. Apple won&#8217;t do this for you, but there are websites outlining the process (which apparently involves opening up the iPod and doing some soldering). The main downside is that you have to buy a new audio jack, which will surprisingly set you back some $50.</p>
<p style="text-align: left;">Other than that, the guy at my local Apple Store recommended that I buy the Apple FM-receiver add-on for the iPod. This would also cost about $50, but the add-on also has an audio jack. I did not try this.</p>
<p style="text-align: left;">I did look for alternatives on the internet, and ordered <a href="http://www.dealextreme.com/details.dx/sku.14921">this</a>, which also provides an audio jack when you attach it to your iPod.</p>
<p style="text-align: left;">However, there is a problem: this audio jack is connected to the iPod&#8217;s line out, and so the volume control for the iPod does not control its volume. Since the volume from the line out is (much) too loud, this makes the iPod inpractical to use.</p>
<p style="text-align: left;">For $7, I ordered earphones with built-in volume control (&#8221;NEW &amp; SEALED PANASONIC VOLUME CONTROL EARPHONES&#8221; on eBay), however its lowest volume setting still was too loud.</p>
<p style="text-align: left;"><strong>The solution</strong></p>
<p style="text-align: left;">First of all, I now use <a href="http://www.dealextreme.com/details.dx/sku.14921">the $5 alternate audio jack</a> on my iPod.</p>
<p style="text-align: left;">Next, I tried installing the <a href="http://www.rockbox.org/">Rockbox</a> on my iPod. This is an alternative firmware which replaces Apple&#8217;s. It turns out the released version also does not enable you to controle the line out volume; however, with a fairly trivial patch this can be fixed: for version 3.2 of Rockbox, firmware/sound.c line 261 should read</p>
<pre style="text-align: left;">    audiohw_set_lineout_vol(tenthdb2master(l), tenthdb2master(r));</pre>
<p style="text-align: left;">instead of</p>
<pre style="text-align: left;">    audiohw_set_lineout_vol(tenthdb2master(0), tenthdb2master(0));</pre>
<p style="text-align: left;">Compiling a new version of Rockbox and putting it on your iPod makes the Rockbox volume control change the volume of the line out simultaneously, making my iPod work like a charm for me again! <img src='http://meilof.home.fmf.nl/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;"><strong>Pros, Cons, how to get it</strong></p>
<p style="text-align: left;">Even though I can now use my iPod again, this solution is not perfect.</p>
<p style="text-align: left;">First of all, you can&#8217;t use the original Apple firmware any more which is a pity since it&#8217;s a pleasure to use. For audio, Rockbox is quite good as well, even if it has to rescan your iPod every time you put new music on it. It even has skins, some games and extra application that are quite neat. However, you cannot (as far as I know) play video files using Rockbox, and your battery life may be shorter.</p>
<p style="text-align: left;">The other downside is that you now have a ~4cm extra connector hanging out of your iPod, making it somewhat less elegant to carry around:</p>
<p style="text-align: center;"><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/04/ipod.jpg"><img class="size-full wp-image-701 aligncenter" title="iPod with adapter" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/04/ipod.jpg" alt="" width="200" height="267" /></a></p>
<p style="text-align: left;">Also, you have to go through the bother of installing Rockbox (though that&#8217;s not so hard).</p>
<p style="text-align: left;">For the moment, as I said you can&#8217;t use the official Rockbox version. If you want my patched version for the iPod Video, please contact me and I can help you getting it on your iPod. Meanwhile, I think I will contact the Rockbox team to see if they&#8217;re willing to include line-out volume control as an extra feature.</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/04/29/ipod-audio-jack-broken-a-5-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding a multi-variable polynomial relation</title>
		<link>http://meilof.home.fmf.nl/2009/04/09/multi-variable-polynomial-relation/</link>
		<comments>http://meilof.home.fmf.nl/2009/04/09/multi-variable-polynomial-relation/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 22:36:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mathematica Cookbook]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=696</guid>
		<description><![CDATA[Problem
The trace algebra of two matrices is the polynomial ring generated by the traces of products of matrices A and B, like Tr(A), Tr(B), Tr(A.B), Tr(A.A), Tr(A.A.B.A.B). It is known that this trace algebra is the complete set of polynomials that are invariant under simultaneous conjugation of A and B (ie, if one replaces A [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px;"><strong><em>Problem</em></strong></p>
<p style="padding-left: 30px;">The <em>trace algebra</em> of two matrices is the polynomial ring generated by the traces of products of matrices A and B, like Tr(A), Tr(B), Tr(A.B), Tr(A.A), Tr(A.A.B.A.B). It is known that this trace algebra is the complete set of polynomials that are invariant under simultaneous conjugation of A and B (ie, if one replaces A and B by T^(-1).A.T and T^(-1).B.T, respectively, then the value of the polynomial doesn&#8217;t change).</p>
<p style="padding-left: 30px;"><span id="more-696"></span></p>
<p style="padding-left: 30px;">Also, in the case of 2-by-2 matrices, one knows that in fact, Tr(A), Tr(B), Tr(A.B), Tr(A.A) and Tr(B.B) are enough to generate the ring: every invariant polynomial can in theory be written as a polynomial in these five traces.</p>
<p style="padding-left: 30px;">In particular, the polynomial f=Tr(A.B.A.B &#8211; A.A.B.B), being invariant, is a polynomial in these five traces. For my research, I wanted to find out how this polynomial looked like.</p>
<p>My general idea was quite simple. Looking at the degree of the polynomial f, it was clear that it would have to be a polynomial of degree 4 and less. Now, there are 126 different monomials of degree 4 or less in the 5 traces, so we can write:</p>
<p style="padding-left: 30px;">f=a_0 + a_1 Tr(A) + a_2 Tr(B) + &#8230; + a_125 Tr(B^2)^4</p>
<p>Now, if we take two artibrary matrices A and B and fill this in, we get a linear equation in a_0,&#8230;,a_125. Doing this 126 times, we get a linear system that should, in principe, completely determine the 126 coefficients, giving us f as a polynomial in the traces.</p>
<p>(Of course, this is a well-known method, but the fact that I have polynomials in which to evaluate the points rather than just a 126-dimensional space makes it a bit less standard. Even though, quite possibly Mathematica has some easier way of doing it than how I proceeded&#8230;)</p>
<p>So, for starters, I generated a list of all the possible monomials of degree 4 or less in the traces:</p>
<pre><em>l0 = {1, ta, tb, tab, taa, tbb}</em>
{1, ta, tb, tab, taa, tbb}
<em>l = Union[Map[Fold[Times, 1, #] &amp;, Tuples[l0, 4]]]</em>
{1, ta, ta^2, ..., tb tbb^3, (tbb^4)}</pre>
<p>And looked how these look like polynomials:</p>
<pre><em>A := {{a, b}, {c, d}}; B := {{e, f}, {g, h}}
Ltt = l /. {ta -&gt; Tr[A], tb -&gt; Tr[B], taa -&gt; Tr[A.A],
      tbb -&gt; Tr[B.B], tab -&gt; Tr[A.B]}</em>
{1, a + d, (a + d)^2, ..., (e^2 + 2 f g + h^2)^4}</pre>
<p>Next, I generated 126 random tuples of 2-by-2 matrices and evaluated the monomials in all these tuples:</p>
<pre><em>R = RandomReal[1, {126, 2, 2, 2}]
evalfun = (r1 = #;
   s = {a -&gt; r1[[1, 1, 1]], b -&gt; r1[[1, 1, 2]], c -&gt; r1[[1, 2, 1]],
     d -&gt; r1[[1, 2, 2]], e -&gt; r1[[2, 1, 1]], f -&gt; r1[[2, 1, 2]],
     g -&gt; r1[[2, 2, 1]], h -&gt; r1[[2, 2, 2]]}; Map[# /. s &amp;, Lt]) &amp;
mat = Map[evalfun, R]</em></pre>
<p>This indeed gives a 126-by-126 matrix with all the monomials evaluated. Now, we also need to find the list of values of our polynomial f in the same way:</p>
<pre><em>ourfun = Tr[A.B.A.B - A.A.B.B]
evalone = (r1 = #;
   s = {a -&gt; r1[[1, 1, 1]], b -&gt; r1[[1, 1, 2]], c -&gt; r1[[1, 2, 1]],
     d -&gt; r1[[1, 2, 2]], e -&gt; r1[[2, 1, 1]], f -&gt; r1[[2, 1, 2]],
     g -&gt; r1[[2, 2, 1]], h -&gt; r1[[2, 2, 2]]}; ourfun /. s) &amp;
list = Map[evalone, R]</em></pre>
<p>Finally, using LinearSolve we can try to find our coefficients:</p>
<pre><em>sol = LinearSolve[mat, list]</em>
{6.18939*10^-13, 4.08603*10^-13, -2.01183*10^-12,
 1.59512*10^-12, -6.31879*10^-13, ... }</pre>
<p>As you can see, most of the coefficients are very close to being zero, while some other coefficients turned out to be nicely close to round values such as 1 or 1/2. To find our hypothesised polynomial relations, we can use:</p>
<pre><em>For[i = 1, i &lt;= 126, i++,
 If[Abs[li[[i]]] &gt; 0.01,
  Print[li[[i]], l[[i]]]
  ]
 ]</em>
1.tab^2
-1.ta tab tb
0.5taa tb^2
0.5ta^2 tbb
-1.taa tbb</pre>
<p>And indeed, Mathematica can confirm this was the polynomial we were looking for:</p>
<pre><em>Simplify[(Tr[A.B]^2 - Tr[A] Tr[A.B] Tr[B] + 1/2 Tr[A.A] Tr[B]^2 +
    1/2 Tr[A]^2 Tr[B.B] - Tr[A.A] Tr[B.B]) - Tr[A.B.A.B - A.A.B.B]]
</em>0</pre>
<p>Nice!</p>
<p><strong>Discussion</strong></p>
<p>One interesting point is that the 126-by-126 matrix we calculated seemes almost singular: the determinant calculated was something like 10^(-111). This would mean that in general we would not expect LinearSolve to work. And wouldn&#8217;t this suggest some linear dependence between the monomials (which shouldn&#8217;t be the case: they should be algebraically independent)?</p>
<p>Also, I&#8217;m quite curious how this scales: in the case of two 2-by-2 matrices and a degree&lt;5 relation, which is almost the simplest case imaginable, one gets 126-by-126 matrices which are quite viable to calculate with. But how about higher degrees? Or larger matrices?</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/04/09/multi-variable-polynomial-relation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Afscheid van Bristol en nawoord</title>
		<link>http://meilof.home.fmf.nl/2009/01/31/afscheid-van-bristol-en-nawoord/</link>
		<comments>http://meilof.home.fmf.nl/2009/01/31/afscheid-van-bristol-en-nawoord/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 23:20:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bristol]]></category>

		<guid isPermaLink="false">http://meilof.home.fmf.nl/?p=689</guid>
		<description><![CDATA[De kerstvakantie is voor Engelse studenten vier weken lang, en ik was de eerste daarvan met een aantal andere uitwisselingsstudenten een weekje naar Londen geweest. Daarna een weekje Nederland voor de kerstdagen, en oudjaar in Engeland (wat, zoals ik al zei, niet zoveel bijzonders was).
Na de kerstvakantie waren er dan nog maar twee weken over [...]]]></description>
			<content:encoded><![CDATA[<p>De kerstvakantie is voor Engelse studenten vier weken lang, en ik was de eerste daarvan met een aantal andere uitwisselingsstudenten een weekje naar Londen geweest. Daarna een weekje Nederland voor de kerstdagen, en oudjaar in Engeland (wat, zoals ik al zei, niet zoveel bijzonders was).</p>
<p>Na de kerstvakantie waren er dan nog maar twee weken over voordat het semester voorbij was, en mijn huur afliep. De eerste week verliep vrij normaal: het was leuk om iedereen weer terug te zien, en er moest nog gewerkt worden voor de laatste huiswerkopgaven. Gedurende de laatste week ga je je echter steeds meer realiseren dat je leventje hier er toch bijna op zit.</p>
<p><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/21012009549.jpg"><img class="alignnone size-full wp-image-692" title="21012009549" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/21012009549.jpg" alt="" width="360" height="270" /></a><em><br />
Nou, dit is dus het mooiste uitzicht van Bristol</em></p>
<p>Zelfs het laatste pak schuursponsjes of de nijpende kwestie of dat restje afwasmiddel voor de resterende twee dagen genoeg zal zijn, zijn al aanleidingen om aan het afscheid te denken. Het feit dat iedereen praat over wie wanneer weggaat en hoe raar dat toch eigenlijk wel niet is, maakt dit nog erger.</p>
<p>Maar eerst was er nog de afronding van de studie. Aangezien de tentames voor mijn vakken pas in april en mei waren, moest ik zelf iets met de professoren regelen. Bij de twee gemakkelijste van mijn drie vakken sloot ik een deal dat ik een cijfer zou krijgen op basis van mijn huiswerk.</p>
<p>Bij het derde vak ging dat helaas niet zo gemakkelijk. De professor voor Axiomatic Set Theory, een vrij pittig vak, gaf het voor het eerst, en toen ik met hem over de afronding van het vak wilde praten, had hij net het tentamen opgesteld. Dit hield in dat hij het hele college geestdriftig zat te vertellen over dat ie wel een paar leuke strikvraagjes had bedacht, en dat onderwerp zus en zo zeker terug zou komen.</p>
<p>Er was dan ook geen mogelijk om er onderuit te komen: ik moest (een aangepaste versie van) het tentamen maken voordat ik terugging. We spraken met Rebecca, de vrouw die in haar eentje het hele administratieve gedelte voor undergraduates regelt, af dat ik de dag voor mijn vlucht terug om 2 uur bij haar kamer zou langskomen, zodat zij mij het tentamen kon laten maken.</p>
<p>Maar. Toen ik daar aankwam, vermeldde een papiertje doodleuk dat ze de hele middag weg was: of bezoekers wel even om 4 uur of morgenochtend konden terugkomen. In de ijdele hoop dat ze in een vergadering was maar voor mij wel even zou terugkomen, bleef ik &#8211; vrij gestresst &#8211; bij haar kamer wachten, tot ik kennelijk medelijden opwekte en een erg aardige meneer mij hielp in te breken in haar kamer voor de tentamenopgaven, en een ruimte regelde voor het maken van het tentamen.</p>
<p>En zo kwam alles voor dat vak (hopelijk) goed. Voor de andere vakken heb ik alleen een mondelinge overeenkomst dat ik inderdaad op basis van het huiswerk een cijfer kan krijgen. De ervaring met e-mails naar de twee professoren is sowieso dat ze niet antwoorden. Als je ze er vervolgens naar vraagt, blijken ze de mail wel gelezen te hebben, maar het helaas te druk te hebben gehad om te antwoorden.Maar het feit dat het hele examinatiegebeuren ze maar matig interesseert, betekent ook hopelijk dat als ik er in maart nogeens achteraan bel, dat ze vast geen moeite hebben om te zeggen: &#8220;Oh ja, dat was ik vergeten, maar geef die jongen maar een 8..&#8221;</p>
<p>Sowieso is het vrij duidelijk wanneer je niet zo hoog op een Engels prioriteitenlijstje staat: sinds het tekenen van ons huurcontract heeft onze huisbaas één keer zijn telefoon opgenomen toen ik belde, en dat was om te zeggen dat ie later terug zou bellen (wat niet gebeurde). Maar toen ik een voicemail insprak over een hoge energierekening die we nog moesten betalen, belde hij wél binnen 5 minuten terug..</p>
<p>Maar afgezien daarvan (en zelfs dat was al niet zo erg), moet ik zeggen dat het Engelse volk mij erg bevalt. Mensen, vooral wat oudere mensen, zijn vaak erg sympathiek, en ik ben echt een groot fan van de Britse pubcultuur: dikke meisjes in kleine jurkjes en mannen die zich als botte horken gedragen: dat maakt mensen kijken pas écht interessant.</p>
<p><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/2914344519_95fc45bb79.jpg"><img class="alignnone size-full wp-image-691" title="2914344519_95fc45bb79" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/2914344519_95fc45bb79.jpg" alt="" width="360" height="270" /></a><br />
<em>Fancy dress pub crawl</em></p>
<p>En natuurlijk de fancy dress-cultuur: in iedere grote kroeg is wel een groepje vrouwen van 35 te vinden, die zich als politie-agentes hebben gekleed, of studenten die met een pub crawl in het thema &#8220;bananenrepubliek&#8221; bezig zijn. En verder: Britten kunnen zich erg over dingen opwinden, maar ze zéuren in mijn ervaring tenminste niet zoals Nederlanders, en hebben veel meer een gezonde neiging tot zelfspot.</p>
<p>Maar goed, ik zal toegeven dat mijn ervaring met Engelsen beperkt is: ik heb de bekende neiging om vooral met mede-Erasmusstudenten om te gaan niet kunnen weerstaan. Het zijn dan ook vaak aardige mensen: de reden dat ze open staan voor andere culturen en dergelijke is natuurlijk (naast het feesten) ook precies waarom ze naar het buitenland gingen.</p>
<p><a href="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/n692197873_1459362_3533.jpg"><img class="alignnone size-full wp-image-690" title="n692197873_1459362_3533" src="http://meilof.home.fmf.nl/wordpress/wp-content/uploads/2009/01/n692197873_1459362_3533.jpg" alt="" width="360" height="270" /></a><br />
<em>Duitsers nemen afscheid van Erasmus</em></p>
<p>Al met al, dan, kan ik een Erasmusuitwisseling, en in het bijzonder naar Engeland, van harte aanbevelen. Voor mijzelf was de ervaring dat je op een willekeurige plek veel nieuwe mensen kunt ontmoeten, en een prettig leven kunt opbouwen, zo vlak voor het onzekere leven na het afstuderen, in ieder geval erg prettig.</p>
<p>(Volgende aflevering: waarom je vantevoren flink moet sparen voor een Erasmus-uitwisseling naar Engeland..)</p>
]]></content:encoded>
			<wfw:commentRss>http://meilof.home.fmf.nl/2009/01/31/afscheid-van-bristol-en-nawoord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
