<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Home of the Mathemaniac</title>
	
	<link>http://mathemaniac.org/wp</link>
	<description>Where the Mathemaniac roams, no one is safe …</description>
	<lastBuildDate>Fri, 20 Apr 2012 20:11:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mathemaniac" /><feedburner:info uri="mathemaniac" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://mathemaniac.org/wp/?pushpress=hub" /><item>
		<title>Calendar export on skema.ku.dk</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/XoyTckdsIqk/</link>
		<comments>http://mathemaniac.org/wp/2012/04/calendar-export-on-skema-ku-dk/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 12:25:47 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[KU]]></category>
		<category><![CDATA[university of copenhagen]]></category>
		<category><![CDATA[Userscripts]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=317</guid>
		<description><![CDATA[So you&#8217;re a student at the University of Copenhagen, and you&#8217;re starting on a new course. Wouldn&#8217;t it be lovely if you could add your schedule to your calendar, so that you could keep track of when to be where? Well, Rasmus Wriedt Larsen has devised a website, KU Calendar Helper, which automatically produces an [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mathemaniac.org/wp/wp-content/uploads/2012/04/skema.ku_.dk_.png"><img src="http://mathemaniac.org/wp/wp-content/uploads/2012/04/skema.ku_.dk_-300x159.png" alt="skema.ku.dk" title="skema.ku.dk" width="300" height="159" class="alignleft size-medium wp-image-318" /></a></p>
<p>So you&#8217;re a student at the <a href="http://www.ku.dk">University of Copenhagen</a>, and you&#8217;re starting on a new course. Wouldn&#8217;t it be lovely if you could add your schedule to your calendar, so that you could keep track of when to be where?</p>
<p>Well, <a href="http://rasmuswriedtlarsen.com/">Rasmus Wriedt Larsen</a> has devised a website, <a href="http://rasmuswriedtlarsen.com/ku-kalender/">KU Calendar Helper</a>, which automatically produces an ICAL feed you can add to your Google Calendar or similar. You can simply input the URL to the course schedule, and it&#8217;ll do the boring work for you.</p>
<p>To simplify this process, I created the following userscript:</p>
<div style="text-align:center">
<p class="install_script"><a href="http://userscripts.org/scripts/source/131407.user.js">Install this script</a></p>
<p style="display: inline">— <a href="http://userscripts.org/scripts/show/131407">Export button for skema.ku.dk</a></p>
</div>
<p>To use this script, follow these simple steps:</p>
<ol>
<li>Go to the <a href="http://sis.ku.dk">SIS</a>-page of the course you want a calendar feed for.</li>
<li>Click &#8220;Vis skema for kurset&#8221;</li>
<li>On the top of the page that comes up, click &#8220;Export to calendar&#8221;</li>
<li>Follow the instructions on the page that comes up</li>
</ol>
<p>The script has been tested in Chrome using <a href="https://chrome.google.com/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo">Tampermonkey</a>, but should work well in Firefox using <a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">Greasemonkey</a> as well.</p>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/XoyTckdsIqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2012/04/calendar-export-on-skema-ku-dk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2012/04/calendar-export-on-skema-ku-dk/</feedburner:origLink></item>
		<item>
		<title>Random imgur pictures</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/q27GIWmPy28/</link>
		<comments>http://mathemaniac.org/wp/2012/01/random-imgur-pictures/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:32:18 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[imgur]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=303</guid>
		<description><![CDATA[You may already know imgur, an image host you can use freely for whatever you please. An interesting fact about them, however, is that each picture given a name consisting of only 5 alphanumerical characters. This leaves for roughly 916 million different names. As it turns out, there appears to be around 90 million uploaded [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://i.imgur.com/taotD.gif" title="Imgur logo" class="alignleft" width="314" height="115" /> You may already know <a href="http://imgur.com">imgur</a>, an image host you can use freely for whatever you please.</p>
<p>An interesting fact about them, however, is that each picture given a name consisting of only 5 alphanumerical characters. This leaves for roughly 916 million different names. As it turns out, there appears to be around 90 million uploaded images<sup>[<a href="#random-imgur-pictures-n-1" class="footnoted" id="to-random-imgur-pictures-n-1">1</a>]</sup>, which means that if we randomly guess a name for a file, we have an about 1 in 10 chance of actually finding an image.</p>
<p>Those odds are pretty good, so I wrote a small application which does just that.</p>
<p><a href="http://mathemaniac.org/apps/randomimgur/RandomImgur.Latest.rar">Download the latest version here</a> (or <a href="https://github.com/Eckankar/RandomImgur">get the source code directly from github</a>)<br />
<span id="more-303"></span><br />
<div id="attachment_308" class="wp-caption alignleft" style="width: 652px"><a href="http://mathemaniac.org/wp/wp-content/uploads/2012/01/Random-imgur-v1.0.0.0.png"><img src="http://mathemaniac.org/wp/wp-content/uploads/2012/01/Random-imgur-v1.0.0.0.png" alt="" title="Random imgur v1.0.0.0" width="642" height="538" class="size-full wp-image-308" /></a><p class="wp-caption-text">Screenshot of Random imgur v1.0.0.0</p></div></p>
<p>It&#8217;s written in F#, so you&#8217;ll need the <a href="http://www.microsoft.com/download/en/details.aspx?id=13450">F# Runtime 2.0</a> installed for the program to run, but apart from that it requires no installation: Simply run the .exe-file to use the program.</p>
<p>Credit goes to whomever wrote <a href="http://jsfiddle.net/KzfKf/44/embedded/result/">this script</a> for inspiring me to create an improved version.</p>
<p>Enjoy finding random strange images!</p>

<ol class="footnotes">
	<li class="footnote" id="random-imgur-pictures-n-1"><strong><sup>[1]</sup></strong> Rough estimate based on empirical observations. <a class="note-return" href="#to-random-imgur-pictures-n-1">&#x21A9;</a></li></ol>
<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/q27GIWmPy28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2012/01/random-imgur-pictures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2012/01/random-imgur-pictures/</feedburner:origLink></item>
		<item>
		<title>The recursion theorem and you</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/fsP_AhREYM0/</link>
		<comments>http://mathemaniac.org/wp/2012/01/the-recursion-theorem-and-you/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 04:10:07 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[quine]]></category>
		<category><![CDATA[SML]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=281</guid>
		<description><![CDATA[Quines are a wonderful thing. A quine is a program, that when run produces its own code as output. Now, in most interpreted languages you can read your own code through means of I/O — I&#8217;d consider that cheating: We can do much better than that. We&#8217;ll do it without anything but a clever theoretical [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Quine_(computing)">Quines</a> are a wonderful thing. A quine is a program, that when run produces its own code as output. Now, in most interpreted languages you can read your own code through means of I/O — I&#8217;d consider that cheating: We can do much better than that. We&#8217;ll do it without anything but a clever theoretical result. (And maybe a little bit of code to make it work in practice.)<br />
<span id="more-281"></span><br />
You can make a quine in any Turing-complete language, and the reason for this is a thorem called the <strong>recursion theorem</strong>. The theorem (informally<sup>[<a href="#the-recursion-theorem-and-you-n-1" class="footnoted" id="to-the-recursion-theorem-and-you-n-1">1</a>]</sup>) states, that for any computable function <em>f</em> of two inputs, it is possible to create a program <em>R</em> that computes the function <em>r</em> defined by <img src='http://s.wordpress.com/latex.php?latex=r%28w%29%20%3D%20f%28w%2C%20%5Clangle%20R%20%5Crangle%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='r(w) = f(w, \langle R \rangle)' title='r(w) = f(w, \langle R \rangle)' class='latex' />, where <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20R%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle R \rangle' title='\langle R \rangle' class='latex' /> is the description &mdash; or source code, if you will &mdash; of <em>R</em>. In essence this means, that it is possible to write a program which obtains its own source code, and then uses it for further computation.</p>
<p>Now, in order for this post to make sense, we&#8217;ll have to look a bit into the proof of the theorem. The idea behind the proof is as follows: We divide our program into three program fragments, <em>A</em>, <em>B</em> and <em>F</em>, each of which we can think of as a function in our programming language of choice. <em>A</em> is called first, and has the task of getting <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' />, the source code of the functions <em>B</em> and <em>F</em>, and passing this on to <em>B</em>. <em>B</em> computes <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20A%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle A \rangle' title='\langle A \rangle' class='latex' />, and uses this to compute <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20ABF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle ABF \rangle' title='\langle ABF \rangle' class='latex' /> and pass it on to <em>F</em>. <em>F</em> is then the program fragment computing the function <em>f</em>, now with the source code of the entirety of the program in hand.</p>
<div id="attachment_292" class="wp-caption alignleft" style="width: 310px"><a href="http://mathemaniac.org/wp/wp-content/uploads/2012/01/2012-01-08_03-28-26_615.jpg"><img src="http://mathemaniac.org/wp/wp-content/uploads/2012/01/2012-01-08_03-28-26_615-300x175.jpg" alt="" title="Interaction between A, B and F" width="300" height="175" class="size-medium wp-image-292" /></a><p class="wp-caption-text">The interaction between A, B and F</p></div>
<p>Now that we have an idea of how the different fragments are to interact with each other, we need to get down to the specifics, and actually construct the fragments <em>A</em> and <em>B</em><sup>[<a href="#the-recursion-theorem-and-you-n-2" class="footnoted" id="to-the-recursion-theorem-and-you-n-2">2</a>]</sup>.</p>
<p>We will start by constructing <em>A</em>. Let us for a moment assume that we actually have <em>B</em> and <em>F</em> already constructed. In that case, <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' /> is a fixed string. This means, we can have <em>A</em> simply call <img src='http://s.wordpress.com/latex.php?latex=B%28w%2C%20%5Clangle%20BF%20%5Crangle%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B(w, \langle BF \rangle)' title='B(w, \langle BF \rangle)' class='latex' /> and be done with it.</p>
<p>For constructing <em>B</em> we will need to be a bit more tricksy. We know, based on how we constructed <em>A</em>, exactly what <em>A</em> looks like if we know what <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' /> is<sup>[<a href="#the-recursion-theorem-and-you-n-3" class="footnoted" id="to-the-recursion-theorem-and-you-n-3">3</a>]</sup>. This means, given <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' />, we can construct <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20A%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle A \rangle' title='\langle A \rangle' class='latex' /> &mdash; and we&#8217;re in luck: Remember, when <em>A</em> calls <em>B</em>, it passes along the extra information of <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' />. So, we now have both <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20A%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle A \rangle' title='\langle A \rangle' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20BF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle BF \rangle' title='\langle BF \rangle' class='latex' />, and if we compose these two we get <img src='http://s.wordpress.com/latex.php?latex=%5Clangle%20ABF%20%5Crangle&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\langle ABF \rangle' title='\langle ABF \rangle' class='latex' />. We now call <img src='http://s.wordpress.com/latex.php?latex=F%28w%2C%20%5Clangle%20ABF%20%5Crangle%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='F(w, \langle ABF \rangle)' title='F(w, \langle ABF \rangle)' class='latex' />, and <em>B</em> does what we want it to.</p>
<p>This concludes the proof of the theorem, and it is now time to look a bit at how we can use it. A particularily interesting thing about this proof is, that we can use this construct directly to create a quine. To try this out, let us create a SML program, which prints its own source code in reverse.</p>
<p>We can start by creating <em>F</em>. All that <em>F</em> needs to do is simply to reverse and then print its input. This can be achieved pretty easily like so:<br />
<div id="gist-1577037" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="kr">val</span> <span class="nv">F</span> <span class="p">=</span> <span class="n">print</span> <span class="n">o</span> <span class="n">implode</span> <span class="n">o</span> <span class="n">rev</span> <span class="n">o</span> <span class="n">explode</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1577037/f7c462abd8c02af3536d4c13232176b91b94d63a/gistfile1.sml" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1577037#file_gistfile1.sml" style="float:right;margin-right:10px;color:#666">gistfile1.sml</a>
            <a href="https://gist.github.com/1577037">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>
</p>
<p>Next up is <em>B</em>, but before we can construct that, we need to figure out what we want <em>A</em> to look like. The simplest option is to have <em>A</em> take on the following form:</p>
<div id="gist-1577050" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="kr">fun</span> <span class="nf">A</span> <span class="p">()</span> <span class="p">=</span> <span class="n">B</span> <span class="s2">&quot;fun B x = ... and F x = ...&quot;</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1577050/523f04692a9090fbdb3aaede4fa7228543c824fc/gistfile1.sml" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1577050#file_gistfile1.sml" style="float:right;margin-right:10px;color:#666">gistfile1.sml</a>
            <a href="https://gist.github.com/1577050">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>Now we can begin constructing <em>B</em>. If we just naïvely do this, we get something to the tune of:</p>
<div id="gist-1577070" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="kr">fun</span> <span class="nf">B</span> <span class="n">x</span> <span class="p">=</span> <span class="n">F</span> <span class="p">(</span><span class="s2">&quot;fun A x = B </span><span class="se">\&quot;</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="n">x</span> <span class="n">^</span> <span class="s2">&quot;</span><span class="se">\&quot;\n</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="n">x</span><span class="p">)</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1577070/15a70d3e7aa85f565534a9a5189463fc7502098f/gistfile1.sml" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1577070#file_gistfile1.sml" style="float:right;margin-right:10px;color:#666">gistfile1.sml</a>
            <a href="https://gist.github.com/1577070">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>This, however, suffers from the fact, that we&#8217;ll need to escape the quotes in the definition of <em>B</em> when writing them inside of the string in <em>A</em>. Were we to do this, we&#8217;d find that we&#8217;d need to escape the escape characters as well. A fixed version looks as follows:</p>
<div id="gist-1577087" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="kr">fun</span> <span class="nf">B</span> <span class="n">x</span> <span class="p">=</span> <span class="kr">let</span> <span class="kr">fun</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC3'>				<span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="n">x::xs</span><span class="p">)</span>     <span class="p">=</span> <span class="n">x</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC4'>				<span class="p">|</span> <span class="nf">esc</span> <span class="p">[]</span>          <span class="p">=</span> <span class="p">[]</span></div><div class='line' id='LC5'>		  <span class="kr">in</span> <span class="n">F</span> <span class="p">(</span><span class="s2">&quot;fun A x = B </span><span class="se">\&quot;</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="p">(</span><span class="n">implode</span> <span class="n">o</span> <span class="n">esc</span> <span class="n">o</span> <span class="n">explode</span><span class="p">)</span> <span class="n">x</span> <span class="n">^</span> <span class="s2">&quot;</span><span class="se">\&quot;\n</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="n">x</span><span class="p">)</span> <span class="kr">end</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1577087/2987fe073ea4619483e15c0c6103580c77032d15/gistfile1.sml" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1577087#file_gistfile1.sml" style="float:right;margin-right:10px;color:#666">gistfile1.sml</a>
            <a href="https://gist.github.com/1577087">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>Finally, we need to create <em>A</em>, but that is fairly simple, as we already have determined what format it should have. Since SML doesn&#8217;t support multiline strings, however, I collapse <em>B</em> and <em>F</em> onto one line, giving us a final result of:</p>
<div id="gist-1577128" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">(* With B and F neatly formatted *)</span></div><div class='line' id='LC2'><span class="kr">fun</span> <span class="nf">A</span> <span class="p">()</span> <span class="p">=</span> <span class="n">B</span> <span class="s2">&quot;and B x = let fun esc (#</span><span class="se">\&quot;\\\&quot;\&quot;</span><span class="s2">::xs) = #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: #</span><span class="se">\&quot;\\\&quot;\&quot;</span><span class="s2"> :: esc xs | esc (#</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2">::xs) = #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: esc xs | esc (x::xs) = x :: esc xs | esc [] = [] in F (</span><span class="se">\&quot;</span><span class="s2">fun A () = B </span><span class="se">\\\&quot;\&quot;</span><span class="s2"> ^ (implode o esc o explode) x ^ </span><span class="se">\&quot;\\\&quot;\\</span><span class="s2">n</span><span class="se">\&quot;</span><span class="s2"> ^ x) end and F x = (print o implode o rev o explode) x&quot;</span></div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'><span class="kr">and</span> <span class="nf">B</span> <span class="n">x</span> <span class="p">=</span> <span class="kr">let</span> <span class="kr">fun</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC6'>				<span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="n">x::xs</span><span class="p">)</span>     <span class="p">=</span> <span class="n">x</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span></div><div class='line' id='LC7'>				<span class="p">|</span> <span class="nf">esc</span> <span class="p">[]</span>          <span class="p">=</span> <span class="p">[]</span></div><div class='line' id='LC8'>		  <span class="kr">in</span> <span class="n">F</span> <span class="p">(</span><span class="s2">&quot;fun A () = B </span><span class="se">\&quot;</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="p">(</span><span class="n">implode</span> <span class="n">o</span> <span class="n">esc</span> <span class="n">o</span> <span class="n">explode</span><span class="p">)</span> <span class="n">x</span> <span class="n">^</span> <span class="s2">&quot;</span><span class="se">\&quot;\n</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="n">x</span><span class="p">)</span> <span class="kr">end</span></div><div class='line' id='LC9'><br/></div><div class='line' id='LC10'><span class="kr">and</span> <span class="nf">F</span> <span class="n">x</span> <span class="p">=</span> <span class="p">(</span><span class="n">print</span> <span class="n">o</span> <span class="n">implode</span> <span class="n">o</span> <span class="n">rev</span> <span class="n">o</span> <span class="n">explode</span><span class="p">)</span> <span class="n">x</span></div><div class='line' id='LC11'><br/></div><div class='line' id='LC12'><span class="cm">(* And with B and F collapsed *)</span></div><div class='line' id='LC13'><span class="kr">fun</span> <span class="nf">A</span> <span class="p">()</span> <span class="p">=</span> <span class="n">B</span> <span class="s2">&quot;and B x = let fun esc (#</span><span class="se">\&quot;\\\&quot;\&quot;</span><span class="s2">::xs) = #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: #</span><span class="se">\&quot;\\\&quot;\&quot;</span><span class="s2"> :: esc xs | esc (#</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2">::xs) = #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: #</span><span class="se">\&quot;\\\\\&quot;</span><span class="s2"> :: esc xs | esc (x::xs) = x :: esc xs | esc [] = [] in F (</span><span class="se">\&quot;</span><span class="s2">fun A () = B </span><span class="se">\\\&quot;\&quot;</span><span class="s2"> ^ (implode o esc o explode) x ^ </span><span class="se">\&quot;\\\&quot;\\</span><span class="s2">n</span><span class="se">\&quot;</span><span class="s2"> ^ x) end and F x = (print o implode o rev o explode) x&quot;</span></div><div class='line' id='LC14'><span class="kr">and</span> <span class="nf">B</span> <span class="n">x</span> <span class="p">=</span> <span class="kr">let</span> <span class="kr">fun</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\&quot;</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span> <span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span><span class="n">::xs</span><span class="p">)</span> <span class="p">=</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="sc">#&quot;</span><span class="se">\\</span><span class="sc">&quot;</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span> <span class="p">|</span> <span class="nf">esc</span> <span class="p">(</span><span class="n">x::xs</span><span class="p">)</span> <span class="p">=</span> <span class="n">x</span> <span class="n">::</span> <span class="n">esc</span> <span class="n">xs</span> <span class="p">|</span> <span class="nf">esc</span> <span class="p">[]</span> <span class="p">=</span> <span class="p">[]</span> <span class="kr">in</span> <span class="n">F</span> <span class="p">(</span><span class="s2">&quot;fun A () = B </span><span class="se">\&quot;</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="p">(</span><span class="n">implode</span> <span class="n">o</span> <span class="n">esc</span> <span class="n">o</span> <span class="n">explode</span><span class="p">)</span> <span class="n">x</span> <span class="n">^</span> <span class="s2">&quot;</span><span class="se">\&quot;\n</span><span class="s2">&quot;</span> <span class="n">^</span> <span class="n">x</span><span class="p">)</span> <span class="kr">end</span> <span class="kr">and</span> <span class="nf">F</span> <span class="n">x</span> <span class="p">=</span> <span class="p">(</span><span class="n">print</span> <span class="n">o</span> <span class="n">implode</span> <span class="n">o</span> <span class="n">rev</span> <span class="n">o</span> <span class="n">explode</span><span class="p">)</span> <span class="n">x</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1577128/d31356a4229065086600fc4a191b2935a8916855/gistfile1.sml" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1577128#file_gistfile1.sml" style="float:right;margin-right:10px;color:#666">gistfile1.sml</a>
            <a href="https://gist.github.com/1577128">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>And there we have it, we&#8217;ve created a lovely<sup>[<a href="#the-recursion-theorem-and-you-n-4" class="footnoted" id="to-the-recursion-theorem-and-you-n-4">4</a>]</sup> reverse quine in SML using the recursion theorem. Not only that, we could repeat the process and do the exact same thing in most any other language &mdash; or change out <em>F</em> to whatever we wish. There is nothing special about the language or <em>F</em> we chose &mdash; and that I find quite spectacular.</p>
<ol class="footnotes">
	<li class="footnote" id="the-recursion-theorem-and-you-n-1"><strong><sup>[1]</sup></strong> The actual formal statement and proof of the theorem can be found in <a href="http://www.amazon.co.uk/gp/product/0619217642/ref=as_li_ss_tl?ie=UTF8&amp;tag=homeofthemath-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0619217642">Introduction to the Theory of Computation</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=homeofthemath-21&amp;l=as2&amp;o=2&amp;a=0619217642" alt="" width="1" height="1" border="0" /> by Michael Sipser. If you like the content of this article, I urge you to read it — it is quite a good book. <a class="note-return" href="#to-the-recursion-theorem-and-you-n-1">&#x21A9;</a></li>
	<li class="footnote" id="the-recursion-theorem-and-you-n-2"><strong><sup>[2]</sup></strong> Why do we not need to construct <em>F</em>? <a class="note-return" href="#to-the-recursion-theorem-and-you-n-2">&#x21A9;</a></li>
	<li class="footnote" id="the-recursion-theorem-and-you-n-3"><strong><sup>[3]</sup></strong> After all, we constructed <em>A</em> based on this ourselves. <a class="note-return" href="#to-the-recursion-theorem-and-you-n-3">&#x21A9;</a></li>
	<li class="footnote" id="the-recursion-theorem-and-you-n-4"><strong><sup>[4]</sup></strong> Okay, not the prettiest, but lovely in concept. <a class="note-return" href="#to-the-recursion-theorem-and-you-n-4">&#x21A9;</a></li></ol>


<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/fsP_AhREYM0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2012/01/the-recursion-theorem-and-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2012/01/the-recursion-theorem-and-you/</feedburner:origLink></item>
		<item>
		<title>Hasse diagram of a partial order in Mathematica</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/3ndim_R7sKY/</link>
		<comments>http://mathemaniac.org/wp/2011/10/hasse-diagram-in-mathematica/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 09:50:23 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[DIKU]]></category>
		<category><![CDATA[Mathematica]]></category>
		<category><![CDATA[university of copenhagen]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=266</guid>
		<description><![CDATA[It&#8217;s that time of year again; the new students have started at DIKU and start their careers as computer science students with the course DiMS — Discrete Mathematical Structures, taught from the book by the same name. Part of the curriculum is learning about Hasse diagrams, which in essence are a way of easily visualizing [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_267" class="wp-caption alignleft" style="width: 224px"><a href="http://mathemaniac.org/wp/wp-content/uploads/2011/10/hasse.png"><img class="size-medium wp-image-267" title="Hasse diagram" src="http://mathemaniac.org/wp/wp-content/uploads/2011/10/hasse-214x300.png" alt="A Hasse diagram generated in Mathematica." width="214" height="300" /></a><p class="wp-caption-text">A Hasse diagram generated in Mathematica.</p></div>
<p>It&#8217;s that time of year again; the new students have started at <a href="http://www.diku.dk/english">DIKU</a> and start their careers as computer science students with the course DiMS — Discrete Mathematical Structures, taught from <a href="http://amzn.to/t70fTw">the book by the same name</a>.</p>
<p>Part of the curriculum is learning about <a href="http://en.wikipedia.org/wiki/Hasse_diagrams">Hasse diagrams</a>, which in essence are a way of easily visualizing the relationships between different elements under a <a href="http://en.wikipedia.org/wiki/Partial_order">partial order</a>.</p>
<p>Now, a student came and asked me about how to draw these diagrams in <a href="http://www.wolfram.com/mathematica/">Mathematica</a>, so I got some code working which did just that. The resulting diagram, is the picture used for this post.<br />
<span id="more-266"></span><br />
In the spirit of sharing, here is the Mathematica-code I used to generate this picture:</p>
<div id="gist-1315879" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'>(* Combinatorica contains HasseDiagram,so we need to load it. *)</div><div class='line' id='LC2'>&lt;&lt; Combinatorica`</div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'>General::compat: Combinatorica Graph and Permutations functionality has been superseded by preloaded functionaliy. The package now being loaded may conflict with this. Please see the Compatibility Guide for details.</div><div class='line' id='LC5'><br/></div><div class='line' id='LC6'>(* The set the partial order operates on. *)</div><div class='line' id='LC7'>nums = {1, 2, 4, 7, 8, 14, 30};</div><div class='line' id='LC8'><br/></div><div class='line' id='LC9'>(* Define our partial order. *)</div><div class='line' id='LC10'>pOrder[x_, y_] := Divisible[y, x];</div><div class='line' id='LC11'><br/></div><div class='line' id='LC12'>(* Generate a directed graph from the partial order. *)</div><div class='line' id='LC13'>g = MakeGraph[nums, pOrder];</div><div class='line' id='LC14'><br/></div><div class='line' id='LC15'>(* Now create our Hasse diagram *)</div><div class='line' id='LC16'>h = HasseDiagram[g];</div><div class='line' id='LC17'><br/></div><div class='line' id='LC18'>(* Finally, let&#39;s see the resulting graph. *)</div><div class='line' id='LC19'>ShowGraph[h, VertexStyle -&gt; PointSize[0.05], VertexLabel -&gt; True, </div><div class='line' id='LC20'>&nbsp;VertexLabelColor -&gt; White, VertexLabelPosition -&gt; {0.012, 0}]</div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1315879/a563477d393639dc3dd3f48b1fbed50cd705f16f/hasse.nb" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1315879#file_hasse.nb" style="float:right;margin-right:10px;color:#666">hasse.nb</a>
            <a href="https://gist.github.com/1315879">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>


<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/3ndim_R7sKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2011/10/hasse-diagram-in-mathematica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2011/10/hasse-diagram-in-mathematica/</feedburner:origLink></item>
		<item>
		<title>Student deals you should know about</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/01ProRGY6iA/</link>
		<comments>http://mathemaniac.org/wp/2010/08/student-deals-you-should-know-about/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 18:31:35 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=205</guid>
		<description><![CDATA[When you&#8217;re a student, you&#8217;re usually on a tight budget, so the chance to get something you need at a steep discount usually falls on good soil. Luckily, the marketing departments of many large software corporations know this, and wants to get you hooked on their applications, leaving us students very happy. First of all, [...]]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re a student, you&#8217;re usually on a tight budget, so the chance to get something you need at a steep discount usually falls on good soil.</p>
<p>Luckily, the marketing departments of many large software corporations know this, and wants to get you hooked on their applications, leaving us students very happy.</p>
<p><img class="alignleft size-medium wp-image-208" title="MSDNAA logo" src="http://mathemaniac.org/wp/wp-content/uploads/2010/08/msdnaa1-300x53.gif" alt="" width="300" height="53" />First of all, it&#8217;s worth checking if your school or university participates in the <a href="http://msdn.microsoft.com/en-us/academic/default.aspx">Microsoft Developer Network Academic Alliance</a>, or MSDNAA for short. If that is the case, you may be eligible to get free copies of Windows, Visual Studio and <a href="http://msdn.microsoft.com/en-us/academic/bb676724.aspx">much more</a>. Simply head on over and <a href="http://msdn.microsoft.com/en-us/academic/dd861349.aspx">search for your school</a> to see if you can get lovely free software. If your school does show up in the list, ask your local IT department if it&#8217;s possible to get an account. (If you study at <a href="http://diku.dk">DIKU</a>, you can sign up <a href="https://diku.dk/it-systemerne/vejledninger/msdnaa.html">here</a>.)<br />
<span class="clear"> </span></p>
<p><img class="alignleft size-full wp-image-215" title="Dreamspark Logo" src="http://mathemaniac.org/wp/wp-content/uploads/2010/08/microsoft_dreamspark_logo1.gif" alt="" width="150" height="55" /> Microsoft provides another way to get free software called <a href="https://www.dreamspark.com">DreamSpark</a>. DreamSpark provides free access to lots of free development software for students at participating schools, in a manner similar to that of MSDNAA. Sadly, University of Copenhagen does not appear to be a part of this deal, but your university might be; simply go to the page and follow the instructions to log in.<br />
<span class="clear"> </span></p>
<p><img class="alignleft size-full wp-image-214" title="OnTheHub logo" src="http://mathemaniac.org/wp/wp-content/uploads/2010/08/oth.gif" alt="" width="250" height="95" /><br />
Next up is <a href="http://www.onthehub.com">OnTheHub</a>, with which your school might have struck a deal to provide cheap software from <a href="http://microsoft.com">Microsoft</a>, <a href="http://adobe.com">Adobe</a>, <a href="http://vmware.com">VMware</a> and more. Simply head on over to <a href="http://www.onthehub.com/search">their search page</a>, and see if your school is listed. University of Copenhagen has a deal with VMware, for instance, which means we get free copies of <a href="http://en.wikipedia.org/wiki/VMware_Workstation">VMware Workstation</a>, among other things. In case nothing is available for your school, you can also take a look at <a href="http://www.onthehub.com/estore">their store</a>, which may contain something useful.<br />
<span class="clear"> </span></p>
<p>Additional deals that aren&#8217;t quite as major, but still notable:</p>
<ul>
<li><a href="http://www.microsoft.com/student/en/us/windows/buynow/default.aspx">Upgrade to Windows 7 Professional for only $30</a>.<br />If you don&#8217;t have Windows 7, then trust me, it&#8217;s worth upgrading to.</li>
<li><a href="http://www.microsoft.com/student/office/en-us/default.aspx?CR_CC=200000064">Get Office 2010 Professional Academic Edition for $80</a>.<br />This is the full Office pack, by the way, not some trimmed down &#8220;Only Word, Excel and Access&#8221; one.</li>
</ul>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/01ProRGY6iA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2010/08/student-deals-you-should-know-about/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2010/08/student-deals-you-should-know-about/</feedburner:origLink></item>
		<item>
		<title>KU “license plate” username changes</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/Nr-7uHd-Rjc/</link>
		<comments>http://mathemaniac.org/wp/2010/06/ku-license-plate-username-changes/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 14:46:15 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[absalon]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[KU]]></category>
		<category><![CDATA[university of copenhagen]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=196</guid>
		<description><![CDATA[If you&#8217;re a student at the University of Copenhagen, you&#8217;ll probably have noticed that we recently switched to new, horrendously hard to remember usernames for logging into punkt.KU (affectionately known as license plates). In order to better cope with change, I present to you a few tools to help make the transition smoother. Absalon A [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mathemaniac.org/wp/wp-content/uploads/2010/06/s_wjg814.jpg"><img class="alignleft size-full wp-image-197" title="License plate" src="http://mathemaniac.org/wp/wp-content/uploads/2010/06/s_wjg814.jpg" alt="" width="300" height="145" /></a></p>
<p>If you&#8217;re a student at the <a href="http://ku.dk">University of Copenhagen</a>, you&#8217;ll probably have noticed that we recently switched to new, horrendously hard to remember usernames for logging into <a href="http://punkt.ku.dk">punkt.KU</a> (affectionately known as license plates).</p>
<p>In order to better cope with change, I present to you a few tools to help make the transition smoother.<br />
<span id="more-196"></span></p>
<h2>Absalon</h2>
<p>A fun fact about the new license plates is that they also act as the username you use for logging into <a href="http://absalon.ku.dk">Absalon</a>. Note that the password you use for logging in still has to be found out in a <a href="http://mathemaniac.org/wp/2009/02/how-to-login-to-absalon-without-having-to-go-through-punktku/">very round-about way</a>, however.</p>
<p>This annoyed me a little, as I now had to memorize a very hard to remember username, since Absalon has decided that no password manager is allowed to remember logins for their site. Because of this, I wrote a small <a href="https://chrome.google.com/extensions/detail/dloeogjnbcdkmcbabhfiohcldcbedign">Chrome extension</a> which allows one to store the login information. (Among other small fixups.)</p>
<p>In addition, <a href="http://dybber.dk">Martin Dybdal</a> has written a <a href="http://gist.github.com/435783">page-mode for Conkeror</a> that does something similar.</p>
<h2>punkt.KU login</h2>
<p>Another friend of mine, <a href="mailto:mathias@diku.dk">Mathias Svensson</a>, was tired of having to either remember his license plate or click through a link from the front page in order to log in to <a href="http://punkt.ku.dk/">punkt.KU</a>. As a result of this, he made a short, simple page for easy logon with your CPR-number: <a href="http://punkt.coq.dk">punkt.coq.dk</a>.</p>
<p>Note that while I do in fact own <a href="http://coq.dk">coq.dk</a>, it is Mathias and not I who runs punkt.coq.dk.</p>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/Nr-7uHd-Rjc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2010/06/ku-license-plate-username-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2010/06/ku-license-plate-username-changes/</feedburner:origLink></item>
		<item>
		<title>Fun with Manufactoria</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/0GKrbWRgtLg/</link>
		<comments>http://mathemaniac.org/wp/2010/05/fun-with-manufactoria/#comments</comments>
		<pubDate>Thu, 27 May 2010 20:29:58 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[machines]]></category>
		<category><![CDATA[Manufactoria]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[robots]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=160</guid>
		<description><![CDATA[These last few days, most of the people I know&#8217;ve been playing Manufactoria, a game revolving around fixing up robots in a turing machine-esque manner. (If you&#8217;re at all into programming, I suggest you check it out. Also, rate it high!) Quickly, one starts running out of levels to solve, however, so I&#8217;ve decided to [...]]]></description>
			<content:encoded><![CDATA[<p>These last few days, most of the people I know&#8217;ve been playing <a href="http://www.kongregate.com/games/PleasingFungus/manufactoria">Manufactoria</a>, a game revolving around fixing up robots in a turing machine-esque manner. (If you&#8217;re at all into programming, I suggest you check it out. Also, rate it high!)</p>
<p>Quickly, one starts running out of levels to solve, however, so I&#8217;ve decided to make a small collection of additional levels you can play. Mind you, I have not solved all of these myself, so the unsolved ones may very well not be solvable in the space allotted. Caveat emptor.<br />
<span id="more-160"></span><br />
<strong><a href="http://pleasingfungus.com/?ctm=Output_1;Input:_Anything__Output:_1;:b|r:b|rrbrb:b|yrggbbyrby:b|bryrygbbgg:b;7;3;1;">Output 1</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Easy<br />
Solutions:<br />
<a href="http://pleasingfungus.com/?lvl=32&amp;code=p12:6f3;q12:7f7;c11:6f2;c13:6f0;c13:7f1;c11:7f1;b12:8f3;c12:5f3;c12:9f3;&amp;ctm=Output_1;Input:_Anything__Output:_1;:b|r:b|rrbrb:b|yrggbbyrby:b|bryrygbbgg:b;7;3;1;">0:03, 0:04, 0:09, 0:19, 0:19</a> by <a href="http://mathemaniac.org">Sebastian</a></p>
<p><strong><a href="http://pleasingfungus.com/?ctm=The_Swap_Job;Input:_Two_RB-strings_separated_by_a_green._Swap_them!;rgb:bgr|brrg:gbrr|grb:rbg|g:g|rbbrbgbrr:brrgrbbrb|rbgbrrbbbr:brrbbbrgrb;7;3;0;">The Swap Job</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Easy<br />
Solutions: <a href="http://pleasingfungus.com/?lvl=63&#038;code=g12:2f3;p12:3f3;b11:3f2;r13:3f0;c12:5f3;c12:6f3;c12:7f3;c12:8f3;c12:9f3;c12:10f3;c12:11f3;c12:12f3;q12:4f0;&#038;ctm=The_Swap_Job;Input:_Two_RB-strings_separated_by_a_green._Swap_them!;rgb:bgr|brrg:gbrr|grb:rbg|g:g|rbbrbgbrr:brrgrbbrb|rbgbrrbbbr:brrbbbrgrb;13;3;0;">0:04, 0:06, 0:03, 0:03, 0:09, 0:05</a> by <a href="http://mathemaniac.org">Sebastian</a></p>
<p><strong><a href="http://pleasingfungus.com/?ctm=Modulo;Find_the_input_number_mod_8.;r:r|brb:brb|bbbbr:bbr|bb:bb|rbrrbrb:brb|brbrrb:b;13;3;1;">Modulo</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Medium<br />
Hint: Look at Wikipedia if you don&#8217;t know what <a href="http://en.wikipedia.org/wiki/Modulo_operation">modulo</a> is.<br />
Solutions:<br />
<a href="http://pleasingfungus.com/?lvl=34&amp;code=y12:2f2;p13:2f2;b13:3f1;r13:1f3;g14:2f2;c15:2f2;p17:4f3;p17:7f3;p17:10f3;i16:5f6;c16:6f2;c17:6f3;c18:5f3;c18:6f0;c16:9f2;c17:9f3;c18:8f3;c18:9f0;c18:11f3;c18:12f0;c17:12f0;c16:12f0;c17:11f0;i16:11f6;c17:8f0;i16:8f6;c17:5f0;r18:7f3;r18:4f3;r18:10f3;b16:4f3;b16:7f3;b16:10f3;c15:5f3;c15:6f3;c15:7f3;c15:8f3;c15:9f3;c15:10f3;c15:11f0;i14:11f2;q12:12f7;c13:12f0;c13:11f0;c12:11f3;c15:12f0;c14:12f1;c14:10f0;c13:10f1;p13:9f1;i12:8f0;c14:8f1;c13:8f0;c11:8f3;c11:9f3;c11:10f2;c12:10f3;r12:7f2;b14:7f0;p13:7f1;c12:9f1;c14:9f1;q13:6f1;g12:6f0;p11:6f0;r11:7f1;b11:5f3;q10:6f5;p9:6f0;r9:7f0;b9:5f0;c8:7f1;c8:6f1;y8:5f1;c8:4f2;c9:4f2;c10:4f2;c11:4f2;c12:4f2;c13:4f2;c14:4f2;c15:4f1;c15:3f2;c16:3f2;q16:2f7;y17:2f3;c17:3f3;c11:12f1;c11:11f0;p10:11f0;c10:10f3;c10:12f1;q9:11f4;c9:12f3;c9:13f2;c10:13f2;c11:13f2;&amp;ctm=Modulo;Find_the_input_number_mod_8.;r:r|brb:brb|bbbbr:bbr|bb:bb|rbrrbrb:brb|brbrrb:b;13;3;1;">????</a> by <a href="http://mathemaniac.org">Sebastian</a> (Works, apart from what I&#8217;d call a bug in Manufactoria)</p>
<p><strong><a href="http://pleasingfungus.com/?ctm=Three_Sorts;Input:_An_RBY-string._Sort_the_dots_so_we_get_reds,_blues,_then_yellows_in_that_order;:|byr:rby|rbbrbbb:rrbbbbb|ryyrry:rrryyy|ybbry:rbbyy|rbyrbyrby:rrrbbbyyy|ybbrbby:rbbbbyy;13;3;0;">Three Sorts</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Unknown<br />
Solutions:<br />
<a href="http://mathemaniac.org/wp/wp-content/uploads/2010/05/Three-Sorts.jpg">Solved</a> by Thomas NB</p>
<p><strong><a href="http://pleasingfungus.com/?ctm=Countdown;Input:_n_reds_Output:_n_blue,_n-1_red,_n-2_blue,_n-3_red,_..._down_to_1_%3Ccolor%3E.;:|rr:bbr|r:b|rrrr:bbbbrrrbbr|rrrrrr:bbbbbbrrrrrbbbbrrrbbr;13;3;0;">Countdown</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Unknown<br />
Solutions:<br />
<a href="http://mathemaniac.org/wp/wp-content/uploads/2010/05/CountDown.jpg">Solved</a> by Thomas NB</p>
<p><strong><a href="http://pleasingfungus.com/?ctm=Don't_be_a_square;Square_the_input_number.;br:brr|b:b|bb:brrb|r:r|brb:bbrrb|bbbr:bbrrrbrr;13;3;0;">Don&#8217;t be a square</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Unknown<br />
Solutions: None yet.</p>
<p><strong><a href="http://pleasingfungus.com/?ctm=Consecutive_Action;Input:_Seq_of_reds/blues_Output:_Length_of_longest_group_of_a_color.;rb:b|:r|rrbbr:br|brrrb:bb|bbrrrbb:bb|bbrbbrrbrbbbrrbr:bb;13;3;0;">Consectutive Action</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Comment: What I want is the largest number of consectutive reds or blues. So RBBBR would return 3, RRBBR 2 and BRBRB 1.<br />
Difficulty: Unknown<br />
Solutions:<br />
<a href="http://pleasingfungus.com/?lvl=37&#038;code=g12:2f3;q12:3f0;r12:4f2;p11:3f4;y11:2f3;b11:4f1;q10:3f1;c7:2f2;c8:2f2;c9:2f3;c9:3f3;g9:4f0;p7:3f5;b6:3f2;q8:4f0;g7:4f1;b8:3f3;q8:5f1;y7:5f3;c15:4f3;c15:5f3;c15:6f3;c15:7f3;c15:8f3;c15:9f3;c15:10f3;c15:11f3;c15:12f3;c15:13f0;c14:13f0;c13:13f0;c13:4f2;c14:4f2;g7:6f0;c6:6f3;p6:7f7;q6:8f2;c6:9f2;c7:9f2;c8:9f1;i10:6f6;c9:6f0;c8:6f0;c11:6f0;c11:7f1;b7:8f1;y8:8f2;b9:8f1;q10:7f2;p9:7f2;q8:7f2;p7:7f2;c10:8f3;g10:9f3;y10:10f0;c9:10f0;p8:10f4;p8:11f2;b8:12f2;q9:12f5;q9:11f5;g10:11f2;g10:12f2;r11:12f2;c12:12f1;b11:11f2;p12:11f5;r13:11f0;q12:10f5;q11:10f4;c11:9f2;c12:9f2;c13:9f2;c14:9f2;&#038;ctm=Consecutive_Action;Input:_Seq_of_reds/blues_Output:_Length_of_longest_group_of_a_color.;rb:b|:r|rrbbr:br|brrrb:bb|bbrrrbb:bb|bbrbbrrbrbbbrrbr:bb;13;3;0;">0:55, 0:10, 1:50, 1:38, 1:51, 2:56</a> by <a href="http://mathemaniac.org/wp/2010/05/fun-with-manufactoria/#comment-24247">kutta</a></p>
<p><strong><a href="http://pleasingfungus.com/?ctm=The_Great_Divider;Input_is_two_numbers_A,B,_with_a_green_in_between._A,B%3E0.______Find_GCD(A,B);brgbrbr:br|rbrgb:b|bgbbrb:b|bbbgbrbb:b|bbrrgrrbbr:bbr|rbbrbbrgbrbrrbr:br|bbrrrrrgbbbbrrr:bbrrr;13;3;1;">The Great Divider</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Probably quite hard<br />
Hint: Look at Wikipedia if you don&#8217;t know what <a href="http://en.wikipedia.org/wiki/Greatest_common_divisor">GCD</a> is.<br />
Solutions: None yet.</p>
<p><strong><a href="http://pleasingfungus.com/?ctm=R-B_Progression;Given_a_string_of_n_red_dots,_output_1_red,_1_blue,_2_red,_2_blue,_...,_n_red,_n_blue;rr:rbrrbb|:|r:rb|rrrrr:rbrrbbrrrbbbrrrrbbbbrrrrrbbbbb;13;3;0;">R-B Progression</a></strong> by <a href="http://mathemaniac.org">Sebastian</a><br />
Difficulty: Probably quite hard<br />
Solutions: None yet.</p>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/0GKrbWRgtLg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2010/05/fun-with-manufactoria/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2010/05/fun-with-manufactoria/</feedburner:origLink></item>
		<item>
		<title>YouTube Title Adder for Chrome</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/V2xOdOgqZ8w/</link>
		<comments>http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 13:13:17 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Userscripts]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=130</guid>
		<description><![CDATA[I recently switched browser to Google Chrome, and one of the things I started missing from Firefox was a few of the Greasemonkey scripts I had installed. Now, luckily, most simple extensions can be installed directly with no problem in Chrome, but a few of them sadly can&#8217;t. One of the ones that couldn&#8217;t was YouTube Title Adder, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently switched browser to <a href="http://chrome.google.com">Google Chrome</a>, and one of the things I started missing from Firefox was a few of the <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> scripts I had installed.</p>
<p>Now, luckily, most simple extensions can be installed directly with no problem in Chrome, but a few of them sadly can&#8217;t.</p>
<p>One of the ones that couldn&#8217;t was <a href="http://userscripts.org/scripts/show/12113">YouTube Title Adder</a>, so I thought I&#8217;d go and port it to Chrome.</p>
<p>Now, a few hours later, I can present you with a new, and slightly improved, <a href="https://chrome.google.com/extensions/detail/ddpephnhacfpgcemhioaejgenlgadnnh">YouTube Title Adder for Chrome</a>.<br />
<span id="more-130"></span><br />
Features are the same as the original script:</p>
<ul>
<li>Labels YouTube links.</li>
<li>Adds button to allow inline viewing of the videos.</li>
</ul>
<p>If you&#8217;re still not convinced, look at these screenshots of it in action:<br />

<a href='http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/ytta_before/' title='YouTube Title Adder: Before the script'><img width="150" height="150" src="http://mathemaniac.org/wp/wp-content/uploads/2010/01/ytta_before-150x150.png" class="attachment-thumbnail" alt="Before the script" title="YouTube Title Adder: Before the script" /></a>
<a href='http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/ytta_after/' title='YouTube Title Adder: After the script'><img width="150" height="150" src="http://mathemaniac.org/wp/wp-content/uploads/2010/01/ytta_after-150x150.png" class="attachment-thumbnail" alt="After the script" title="YouTube Title Adder: After the script" /></a>
<a href='http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/ytta_inline/' title='YouTube Title Adder - Inline video viewing'><img width="150" height="150" src="http://mathemaniac.org/wp/wp-content/uploads/2010/01/ytta_inline-150x150.png" class="attachment-thumbnail" alt="Inline video viewing" title="YouTube Title Adder - Inline video viewing" /></a>
</p>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/V2xOdOgqZ8w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2010/01/youtube-title-adder-for-chrome/</feedburner:origLink></item>
		<item>
		<title>Dynamic Skype Bot</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/OV5bxfwc_vw/</link>
		<comments>http://mathemaniac.org/wp/2009/06/dynamic-skype-bot/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 15:04:57 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[SkypeBot]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=110</guid>
		<description><![CDATA[I&#8217;ve been working a bit on a Skype bot lately, and it seems about mature enough by now to be ready for a release. Download You can download the bot here. Do note that it will not run without Skype installed, and it will operate on your account. You can still use your account while [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working a bit on a <a href="http://www.skype.com">Skype</a> bot lately, and it seems about mature enough by now to be ready for a release.</p>
<h2>Download</h2>
<p>You can download the bot <a href="http://mathemaniac.org/apps/skypebot/publish.htm">here</a>.</p>
<p>Do note that it will not run without <a href="http://www.skype.com/intl/en/download/skype/windows/">Skype</a> installed, and it will operate on your account. You can still use your account while the bot is running, however.<br />
<span id="more-110"></span></p>
<h2>Features</h2>
<p>A selection of different &#8220;plugins&#8221; you can enable/disable at will.</p>
<p>The plugins are:</p>
<ul>
<li><b>4chan Plugin</b> &#8211; grabs a random image from <a href="http://img.4chan.org/b/">/b/</a>.</li>
<li><b>Acronym Maker Plugin</b> &#8211; generates a random explanation for an acronym.</li>
<li><b>Bash.org Plugin (NEW)</b> &#8211; returns a random quote from the <a href="http://bash.org">bash.org quote database</a>.</li>
<li><b>Cypher Plugin</b> &#8211; lets you use miscellaneous <a href="http://en.wikipedia.org/wiki/Cipher">cryptographic cyphers</a> (currently only the <a href="http://en.wikipedia.org/wiki/Caesar_cipher">Caesar cipher</a>).</li>
<li><b>Dice Plugin</b> &#8211; lets you roll dice.</li>
<li><b>Dictionary Plugin</b> &#8211; allows for dictionary lookups.</li>
<li><b>Google ImageSearch Plugin</b> &#8211; performs a <a href="http://images.google.com/">Google ImageSearch</a> and returns a random result.</li>
<li><b>High-Low Plugin</b> &#8211; lets people play <a href="http://math.hws.edu/eck/cs124/labs/lab7/cards.html">High-Low</a> with per-chat scorekeeping.</li>
<li><b>Lolcat Plugin</b> &#8211; returns a <a href="http://icanhascheezburger.com/?random">random lolcat</a>.</li>
<li><b>Penis Plugin (NEW)</b> &#8211; responds to penile discussion.</li>
<li><b>Porn Plugin</b> &#8211; gives a random porn link.</li>
<li><b>Quote Plugin</b> &#8211; lets you act as a <a href="http://www.qdb.us">quote database</a>.</li>
<li><b>Random Link Plugin (NEW)</b> &#8211; returns a random link.</li>
<li><b>Something Awful Plugin (NEW)</b> &#8211; automatically tells information (subforum, thread title, original poster) about links to threads on <a href="http://forums.somethingawful.com/">the Something Awful Forums</a>.</li>
<li><b>UrbanDictionary Plugin</b> &#8211; looks up a word on <a href="http://www.urbandictionary.com/">Urban Dictionary</a>.</li>
<li><b>WaffleImages Plugin</b> &#8211; links to a random image hosted on <a href="http://www.waffleimages.com">WaffleImages</a>, a <a href="http://forums.somethingawful.com">SA</a>-only imagehost.</li>
<li><b>Wikipedia Plugin (NEW)</b> &#8211; gives a random Wikipedia link.</li>
<li><b>YouTube Info</b> &#8211; automatically tells information (video name, uploader, rating, &#8230;) about links to <a href="http://www.youtube.com/">YouTube</a>.</li>
</ul>
<h2>Getting started</h2>
<ul>
<li>Simply go to <a href="http://mathemaniac.org/apps/skypebot/publish.htm">the download page</a> and follow the instructions to install it.</li>
<li>If you have trouble starting it, make sure you accept the authorization request Skype displays.</li>
<li>Enable whichever plugins you want.</li>
<li>Enter &#8220;!help&#8221; in a Skype chat window and you&#8217;ll see a list of the active commands.</li>
<li>
<p>That&#8217;s all there is to it. <img src='http://mathemaniac.org/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Bugs/suggestions</h2>
<p>If you&#8217;re having trouble with it crashing on 64-bit Windows; try installing <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DC614AEE-7E1C-4881-9C32-3A6CE53384D9&#038;displaylang=en">SQL Server CE 3.5 SP 1</a>; it&#8217;s supposed to help.</p>
<p>If you think you have a good idea for another addition, or that you&#8217;ve found a bug, then please let me know at the <a href="http://skypebot.uservoice.com/">UserVoice page</a>.</p>
<h2>Screenshots</h2>
<p><div id="attachment_116" class="wp-caption alignnone" style="width: 310px"><a href="http://mathemaniac.org/wp/wp-content/uploads/2009/06/skypebotshot.png"><img src="http://mathemaniac.org/wp/wp-content/uploads/2009/06/skypebotshot-300x222.png" alt="Screenshot of v1.1.4.0" title="Screenshot of v1.1.4.0" width="300" height="222" class="size-medium wp-image-116" /></a><p class="wp-caption-text">Screenshot of v1.1.4.0</p></div></li>
</ul>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/OV5bxfwc_vw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2009/06/dynamic-skype-bot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2009/06/dynamic-skype-bot/</feedburner:origLink></item>
		<item>
		<title>How to login to Absalon without having to go through punkt.ku</title>
		<link>http://feedproxy.google.com/~r/mathemaniac/~3/Tn9VX3gombU/</link>
		<comments>http://mathemaniac.org/wp/2009/02/how-to-login-to-absalon-without-having-to-go-through-punktku/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 01:21:26 +0000</pubDate>
		<dc:creator>Sebastian</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[absalon]]></category>
		<category><![CDATA[it's learning]]></category>
		<category><![CDATA[KU]]></category>
		<category><![CDATA[punkt.ku]]></category>
		<category><![CDATA[university of copenhagen]]></category>

		<guid isPermaLink="false">http://mathemaniac.org/wp/?p=99</guid>
		<description><![CDATA[If you are a student at the University of Copenhagen, chances are that you&#8217;ve had a run-in with a service called Absalon. For the uninitiated, Absalon is based on a system called it&#8217;s learning, which is a &#8220;virtual learning environment&#8220;. As a student at KU might also know ISIS, which serves pretty much the exact [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://absalon.ku.dk"><img class="alignleft size-medium wp-image-100" title="absalon-logo" src="http://mathemaniac.org/wp/wp-content/uploads/2009/02/absalon-logo.png" alt="absalon-logo" width="214" height="127" /></a></p>
<p>If you are a student at the <a href="http://www.ku.dk">University of Copenhagen</a>, chances are that you&#8217;ve had a run-in with a service called <a href="http://absalon.ku.dk">Absalon</a>. For the uninitiated, Absalon is based on a system called <a href="http://en.wikipedia.org/wiki/It%27s_learning">it&#8217;s learning</a>, which is a &#8220;<a href="http://en.wikipedia.org/wiki/Virtual_learning_environment">virtual learning environment</a>&#8220;. As a student at KU might also know <a href="http://isis.ku.dk">ISIS</a>, which serves pretty much the exact same purpose.<br />
<span id="more-99"></span><br />
Now, one of the things that annoyed me quite a bit is that way you are supposed to log in to this system is by first going to <a href="http://punkt.ku.dk">punkt.ku</a>, logging in there, clicking Absalon, which then pops up in a new window. The reason that this annoyed me can mainly be summed up in these following troubles:</p>
<ul>
<li>
For one, if I bookmark anything at Absalon &mdash; let&#8217;s say a course page &mdash; and I click that bookmark, I get a session time out. I must then proceed to go to a completely other site in order to log in. In short, my bookmarks are useless.
	</li>
<li>
Secondly, <a href="http://diveintoaccessibility.org/day_16_not_opening_new_windows.html">it opens in a new window</a> (or tab) when you try to open Absalon from punkt.ku.
	</li>
<p><img src="http://mathemaniac.org/wp/wp-content/uploads/2009/02/loginbox.png" alt="loginbox" title="loginbox" width="286" height="275" class="aligncenter size-full wp-image-104" /></p>
<li>
And finally, <strong>there is a bloody log-in box on the page</strong>, why shouldn&#8217;t I be allowed to use that?
	</li>
</ul>
<p>Well, as it turns out, you actually can use that log-in box, but in order to do that, you need to find the username and password for your account. If you look at the picture above, a way of doing that should pop out &mdash; the &#8220;Forgotten password?&#8221; link. Before we can use that, however, we need to find out which email address is associated with the account. </p>
<div id="attachment_106" class="wp-caption alignright" style="width: 310px"><img src="http://mathemaniac.org/wp/wp-content/uploads/2009/02/emailpos-300x113.png" alt="The email field" title="emailpos" width="300" height="113" class="size-medium wp-image-106" /><p class="wp-caption-text">The email field</p></div>
<p>In order to do that, you have to log in to Absalon the old fashioned way; through punkt.ku. Once you have done that, there should be a &#8220;My Settings&#8221; link in the top right hand side of the page. From there, you click on to &#8220;Change settings&#8221;, which contains the email address associated with your account.</p>
<p>With that in hand we can proceed to get our log-in information. Copy down the address and log out. Absalon doesn&#8217;t like you, so it doesn&#8217;t return to the main page when you log out, so you will have to <a href="http://absalon.ku.dk">go there yourself</a>. Now, open the &#8220;Forgotten password?&#8221; page, make sure that &#8220;KU&#8221; is selected in the membership drop-down, and enter the email address, exactly as it was on the &#8220;My Settings&#8221; page. </p>
<p>After sending that request, you should be sent an email containing both the username and the password of your Absalon account, and after that you will never have to go to punkt.ku to log in to Absalon ever again.</p>

<img src="http://feeds.feedburner.com/~r/mathemaniac/~4/Tn9VX3gombU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mathemaniac.org/wp/2009/02/how-to-login-to-absalon-without-having-to-go-through-punktku/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mathemaniac.org/wp/2009/02/how-to-login-to-absalon-without-having-to-go-through-punktku/</feedburner:origLink></item>
	</channel>
</rss>

