<?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>Intrepid Blog</title>
	<atom:link href="http://blog.affien.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.affien.com</link>
	<description>A few thoughts</description>
	<lastBuildDate>Mon, 01 Feb 2010 13:15:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dutch student protest</title>
		<link>http://blog.affien.com/archives/2010/01/31/dutch-student-protest/</link>
		<comments>http://blog.affien.com/archives/2010/01/31/dutch-student-protest/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 13:08:35 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=441</guid>
		<description><![CDATA[This week, various student organisations protest against major cuts in the funding of education and research.
A reader of dutch, can visit their site.
]]></description>
			<content:encoded><![CDATA[<p>This week, various student organisations protest against major cuts in the funding of education and research.</p>
<p>A reader of dutch, can visit <a href="http://studentendemonstratie.nl/nijmegen">their site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2010/01/31/dutch-student-protest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unique followers on Twitter</title>
		<link>http://blog.affien.com/archives/2009/12/16/unique-followers-on-twitter/</link>
		<comments>http://blog.affien.com/archives/2009/12/16/unique-followers-on-twitter/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 18:27:12 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=435</guid>
		<description><![CDATA[As pointed out by Jorg Kennis, Twitter&#8217;s new lists feature make it hard to determine the amount of unique followers.  I&#8217;ve written a simple script, using a slightly modified TweePy, to determine the amount of unique followers.
Example usage:
bas@w-nz ~/twitter-unique-followers $ python twitter-unique-followers.py JorgK -ubwesterb
Password:
rate_limit_status: remaining_hits: 112
Jorg Kennis
&#160;followed directly by 182
&#160;in lists
&#160;&#160;RPtje/vriendenbekenden subscribed to by [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://corethinking.com/2009/12/13/how-twitters-new-lists-feature-will-dramatically-impact-follower-count/">pointed out by Jorg Kennis</a>, <a href="http://twitter.com/">Twitter</a>&#8217;s new lists feature make it hard to determine the amount of unique followers.  I&#8217;ve written a simple script, using a slightly modified <a href="http://joshthecoder.github.com/tweepy/">TweePy</a>, to determine the amount of unique followers.</p>
<p>Example usage:</p>
<blockquote><p><code>bas@w-nz ~/twitter-unique-followers $ python twitter-unique-followers.py JorgK -ubwesterb<br />
Password:<br />
rate_limit_status: remaining_hits: 112<br />
Jorg Kennis<br />
&nbsp;followed directly by 182<br />
&nbsp;in lists<br />
&nbsp;&nbsp;RPtje/vriendenbekenden subscribed to by 0<br />
&nbsp;&nbsp;JorgK/TechNL subscribed to by 0<br />
&nbsp;&nbsp;sentfanwyaerda/nijmegen1 subscribed to by 9<br />
&nbsp;&nbsp;JorgK/Friends subscribed to by 0<br />
&nbsp;&nbsp;sjorsjes/Community subscribed to by 0<br />
&nbsp;&nbsp;robinspeijer/iPhone subscribed to by 1<br />
&nbsp;&nbsp;nielsschooneman/iPhone subscribed to by 0<br />
&nbsp;&nbsp;JeanPaulH/iPhoneclub subscribed to by 5<br />
number of unique followers: 198</code></p></blockquote>
<p>You can download it <a href="http://affien.com/~bas/projects/twitter-unique-followers.zip">here</a>.  I could write a simple webpage with the same functionality, if anyone would mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/12/16/unique-followers-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Normul</title>
		<link>http://blog.affien.com/archives/2009/11/01/normul/</link>
		<comments>http://blog.affien.com/archives/2009/11/01/normul/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 11:18:03 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[normul]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=426</guid>
		<description><![CDATA[Normul normalizes URLs.  It expands shortened URLs:
&#62;&#62;&#62; from normul import normul
&#62;&#62;&#62; normul('http://bit.ly/1I4VQ')
{'type': 'other', 'normalized': 'http://www.shinguz.ch/MySQL/mysql_mv.html', 'original': 'http://bit.ly/1I4VQ'}
And shows useful links for hosted-images:

&#62;&#62;&#62; normul('http://yfrog.com/6c5krj')
{'image': {'full': 'http://img228.imageshack.us/img228/1079/5kr.jpg', 'thumbnail': 'http://img228.imageshack.us/img228/1079/5kr.th.jpg'}, 'type': 'image', 'original': 'http://yfrog.com/6c5krj', 'normalized': 'http://yfrog.com/6c5krj'}
You can find the simple but convenient sourcecode here.
]]></description>
			<content:encoded><![CDATA[<p>Normul normalizes URLs.  It expands shortened URLs:</p>
<blockquote><p><code>&gt;&gt;&gt; from normul import normul<br />
&gt;&gt;&gt; normul('http://bit.ly/1I4VQ')<br />
{'type': 'other', 'normalized': 'http://www.shinguz.ch/MySQL/mysql_mv.html', 'original': 'http://bit.ly/1I4VQ'}</code></p></blockquote>
<p>And shows useful links for hosted-images:</p>
<blockquote><p><code><br />
&gt;&gt;&gt; normul('http://yfrog.com/6c5krj')<br />
{'image': {'full': 'http://img228.imageshack.us/img228/1079/5kr.jpg', 'thumbnail': 'http://img228.imageshack.us/img228/1079/5kr.th.jpg'}, 'type': 'image', 'original': 'http://yfrog.com/6c5krj', 'normalized': 'http://yfrog.com/6c5krj'}</code></p></blockquote>
<p>You can find the simple but convenient sourcecode <a href="http://w-nz.com/cgi-bin/gitweb.cgi?p=normul.git;a=summary">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/11/01/normul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cantor never bores (1)</title>
		<link>http://blog.affien.com/archives/2009/10/24/cantor-never-bores-1/</link>
		<comments>http://blog.affien.com/archives/2009/10/24/cantor-never-bores-1/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 20:11:23 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Maths]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[set theory]]></category>
		<category><![CDATA[zorn's lemma]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=405</guid>
		<description><![CDATA[Given a set of countable sets , such that  is totally ordered by inclusion, videlicet for every  either  or .  Intuitively, for at every step in this chain one element at least must be added, one expects the set  to be countable as well.
Suppose  is countable.  Then the [...]]]></description>
			<content:encoded><![CDATA[<p>Given a set of <a href="http://en.wikipedia.org/wiki/Countable">countable</a> sets <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle>, such that <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle> is <a href="http://en.wikipedia.org/wiki/Total_order">totally ordered</a> by inclusion, videlicet for every <img src='/wp-latexrender/pictures/eeb163079bb0adafe8916b993f72ed0f.png' title='A,B\in K' alt='A,B\in K' align=absmiddle> either <img src='/wp-latexrender/pictures/1d692925920a6f5ff7d9b834b166debc.png' title='A\subseteq B' alt='A\subseteq B' align=absmiddle> or <img src='/wp-latexrender/pictures/2e9def3789de2cb04ae38db587920983.png' title='A\supseteq B' alt='A\supseteq B' align=absmiddle>.  Intuitively, for at every step in this chain one element at least must be added, one expects the set <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle> to be countable as well.</p>
<p>Suppose <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle> is countable.  Then the union, <img src='/wp-latexrender/pictures/f9970faea9f49b80fb5498e2cd2d9da6.png' title='\bigcup K' alt='\bigcup K' align=absmiddle> is a countable union of countable sets, hence countable.  (Suppose <img src='/wp-latexrender/pictures/6b19d9572f35b60e332d687ce107bbdb.png' title='k: \mathbb N \to K' alt='k: \mathbb N \to K' align=absmiddle> is an enumeration of <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle> and <img src='/wp-latexrender/pictures/a4957f69ff29301545c801e3c3c20dd0.png' title='f_i: \mathbb N \to k(i)' alt='f_i: \mathbb N \to k(i)' align=absmiddle> enumerations of the elements of the chain.  Then <img src='/wp-latexrender/pictures/08a5906817b402b4f49c6ed0c053c10c.png' title='f_0(0), f_1(0), f_0(1), f_2(0), f_1(1), f_0(2), \ldots' alt='f_0(0), f_1(0), f_0(1), f_2(0), f_1(1), f_0(2), \ldots' align=absmiddle> enumerates <img src='/wp-latexrender/pictures/f9970faea9f49b80fb5498e2cd2d9da6.png' title='\bigcup K' alt='\bigcup K' align=absmiddle>.)</p>
<p>Thus <img src='/wp-latexrender/pictures/f9970faea9f49b80fb5498e2cd2d9da6.png' title='\bigcup K' alt='\bigcup K' align=absmiddle> is an <a href="http://en.wikipedia.org/wiki/Upper_bound">upper bound</a> of <img src='/wp-latexrender/pictures/a5f3c6a11b03839d46af9fb43c97c188.png' title='K' alt='K' align=absmiddle>.  In the <a href="http://en.wikipedia.org/wiki/Partially_ordered_set">poset</a> of countable subsets of some set <img src='/wp-latexrender/pictures/4c614360da93c0a041b22e537de151eb.png' title='U' alt='U' align=absmiddle>, of which <img src='/wp-latexrender/pictures/f9970faea9f49b80fb5498e2cd2d9da6.png' title='\bigcup K' alt='\bigcup K' align=absmiddle> is a subset, every non-empty chain has an upper bound.  Hence, using <a href="http://en.wikipedia.org/wiki/Zorn%27s_lemma">Zorn&#8217;s lemma</a> there is a <a href="http://en.wikipedia.org/wiki/Maximal_element">maximal element</a>, say <img src='/wp-latexrender/pictures/69691c7bdcc3ce6d5d8a1361f22d04ac.png' title='M' alt='M' align=absmiddle>.</p>
<p>Suppose <img src='/wp-latexrender/pictures/4c614360da93c0a041b22e537de151eb.png' title='U' alt='U' align=absmiddle> is uncountable, then there exists a <img src='/wp-latexrender/pictures/0ccd4a78dd0188fe62fb2274c3188440.png' title='\star \in U \backslash M' alt='\star \in U \backslash M' align=absmiddle>. <img src='/wp-latexrender/pictures/d61a1c8b04f1f5535f4da3c8590f32f5.png' title='M \cup \{\star\}' alt='M \cup \{\star\}' align=absmiddle> is most definitely also countable and <img src='/wp-latexrender/pictures/a3abddd7569af69c349475209a6b908c.png' title='M \subset M \cup \{\star\}' alt='M \subset M \cup \{\star\}' align=absmiddle> which contradicts <img src='/wp-latexrender/pictures/69691c7bdcc3ce6d5d8a1361f22d04ac.png' title='M' alt='M' align=absmiddle>&#8217;s maximality.  We are forced to conclude that there exists an uncountable chain of countable sets.</p>
<p><a href="http://en.wikipedia.org/wiki/Georg_Cantor#Set_theory">Cantor&#8217;s set theory</a> keeps surprising.</p>
<p><ins>Update</ins>: an example of such a chain is the set of the countable <a href="http://en.wikipedia.org/wiki/Ordinal_number">ordinals</a>.</p>
<p><ins>Another update</ins>: a &#8220;more concrete&#8221; example are the downsets in <img src='/wp-latexrender/pictures/37fd6ce21ba852a585f7f0c65eceb19d.png' title='\mathbb Q' alt='\mathbb Q' align=absmiddle> without the empty set and <img src='/wp-latexrender/pictures/37fd6ce21ba852a585f7f0c65eceb19d.png' title='\mathbb Q' alt='\mathbb Q' align=absmiddle> itself. These downsets correspond to real numbers, see <a href="http://en.wikipedia.org/wiki/Dedekind_cut">Dedekind Cuts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/10/24/cantor-never-bores-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bond against Loanwords</title>
		<link>http://blog.affien.com/archives/2009/09/10/bond-against-loanwords/</link>
		<comments>http://blog.affien.com/archives/2009/09/10/bond-against-loanwords/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 23:37:14 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[linguistics]]></category>
		<category><![CDATA[loanwords]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=403</guid>
		<description><![CDATA[Although I don&#8217;t bear any animosity against most dutch loanwords (except those Anglo-Saxon), the dictionary of the dutch Bond tegen Leenwoorden is a true joy to read.
]]></description>
			<content:encoded><![CDATA[<p>Although I don&#8217;t bear any animosity against most dutch loanwords (except those Anglo-Saxon), the dictionary of the dutch <a href="http://www.geocities.com/SoHo/Den/7522/Index.html">Bond tegen Leenwoorden</a> is a true joy to read.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/09/10/bond-against-loanwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>21</title>
		<link>http://blog.affien.com/archives/2009/08/31/21/</link>
		<comments>http://blog.affien.com/archives/2009/08/31/21/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 10:18:48 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.affien.com/archives/2009/08/31/21/</guid>
		<description><![CDATA[Since yesterday I, for the first time, enjoy the anything-but-special age of 21 years.
]]></description>
			<content:encoded><![CDATA[<p>Since yesterday I, for the first time, enjoy the anything-but-special age of 21 years.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/08/31/21/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 7 Sins</title>
		<link>http://blog.affien.com/archives/2009/08/27/windows-7-sins/</link>
		<comments>http://blog.affien.com/archives/2009/08/27/windows-7-sins/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 13:06:16 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=400</guid>
		<description><![CDATA[Windows 7 Sins.  I strongly agree with points 1, 3, 4, 5 and 6.  The arguments for points 2 and 7 are a bit weak, but I do agree with the conclusions.
For the non US audience, it would have been nice to note that if Microsoft (or the US) would recall all foreign [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://windows7sins.org/">Windows 7 Sins</a>.  I strongly agree with points 1, 3, 4, 5 and 6.  The arguments for points 2 and 7 are a bit weak, but I do agree with the conclusions.</p>
<p>For the non US audience, it would have been nice to note that if Microsoft (or the US) would recall all foreign licenses for Windows, our entire government is crippled.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/08/27/windows-7-sins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter and Facebook</title>
		<link>http://blog.affien.com/archives/2009/08/07/twitter-and-facebook/</link>
		<comments>http://blog.affien.com/archives/2009/08/07/twitter-and-facebook/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 23:46:19 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=398</guid>
		<description><![CDATA[were both victim of a DDoS today.  Silently, I always hoped that a really long-lasting one will convince them to put effort in a distributed scheme.
Maybe I should be waiting for another Wave.
]]></description>
			<content:encoded><![CDATA[<p>were both victim of a DDoS today.  Silently, I always hoped that a really long-lasting one will convince them to put effort in a distributed scheme.</p>
<p>Maybe I should be waiting for another <a href="http://wave.google.com/">Wave</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/08/07/twitter-and-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PijsMarietje</title>
		<link>http://blog.affien.com/archives/2009/07/01/pijsmarietje/</link>
		<comments>http://blog.affien.com/archives/2009/07/01/pijsmarietje/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 15:58:44 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=395</guid>
		<description><![CDATA[At the faculty for sciences there are canteens for students.  In each of these, there&#8217;s sound equipment connected to linux boxes.  On each of those linux boxes, we run a music-request-server called Marietje.  I just finished writing a front-end in Javascript.  It wasn&#8217;t a pain.  As instead, the use of [...]]]></description>
			<content:encoded><![CDATA[<p>At the faculty for sciences there are canteens for students.  In each of these, there&#8217;s sound equipment connected to linux boxes.  On each of those linux boxes, we run a music-request-server called <em>Marietje</em>.  I just finished writing a front-end in Javascript.  It wasn&#8217;t a pain.  As instead, the use of <a href="http://jquery.com/">jQuery</a> was a bliss.</p>
<p><a href="http://zuidslet.science.ru.nl:8080/">The frontend for one of those boxes</a> and <a href="http://w-nz.com/cgi-bin/gitweb.cgi?p=maried.git;a=summary">the source code</a> (see the <code>ajax</code> folder).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/07/01/pijsmarietje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Damned DOM (1)</title>
		<link>http://blog.affien.com/archives/2009/06/22/damned-dom-1/</link>
		<comments>http://blog.affien.com/archives/2009/06/22/damned-dom-1/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 14:34:51 +0000</pubDate>
		<dc:creator>Bas Westerbaan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://blog.affien.com/?p=391</guid>
		<description><![CDATA[When I wanted to react to any changes to a input textbox immediately, my first instrinct was to use onChange.  onChange, however, is called when the input loses focus.  onKeyPress then?  Isn&#8217;t called on backspaces.  onKeyDown, maybe?  It does get called, but the effect of the keystroke isn&#8217;t yet applied, [...]]]></description>
			<content:encoded><![CDATA[<p>When I wanted to react to any changes to a <code>input</code> textbox immediately, my first instrinct was to use <code>onChange</code>.  <code>onChange</code>, however, is called when the <code>input</code> loses focus.  <code>onKeyPress</code> then?  Isn&#8217;t called on backspaces.  <code>onKeyDown</code>, maybe?  It does get called, but the effect of the keystroke isn&#8217;t yet applied, for the return value determines whether it that is done in the first place. (Same story for <code>onKeyPress</code> by the way.) <code>onKeyUp</code> does work a bit, except if someone is holding down a single key, for a while.</p>
<p>The solution: hook <code>onKeyUp</code> and use <code>setTimeout</code> with a timeout of 0.  Yugh.  I hate DOM.</p>
<p><em><ins>Big Fat Disclaimer</ins>: I actually tested this only on one browser.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.affien.com/archives/2009/06/22/damned-dom-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
