<?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>Wim&#039;s blog</title>
	<atom:link href="http://blog.grandtrunk.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.grandtrunk.net</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 15:30:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Sniper: a new multi-core simulator</title>
		<link>http://blog.grandtrunk.net/2011/12/sniper-a-new-multi-core-simulator/</link>
		<comments>http://blog.grandtrunk.net/2011/12/sniper-a-new-multi-core-simulator/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:30:21 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=125</guid>
		<description><![CDATA[Sniper is a next generation multi-threaded, high-speed and accurate x86-64 simulator. This microarchitectural simulator is based on the interval core model and the Graphite simulation infrastructure, allowing for fast and accurate simulation and for trading off simulation speed for accuracy to allow a range of flexible simulation options when exploring different micro-architectures. Using this methodology, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://snipersim.org/"><img class="alignright noborder" src="http://snipersim.org/w/skins/common/images/wxlogo.png" alt="" width="130" height="130" /></a>Sniper is a next generation multi-threaded, high-speed and accurate x86-64 simulator. This microarchitectural simulator is based on the interval core model and the Graphite simulation infrastructure, allowing for fast and accurate simulation and for trading off simulation speed for accuracy to allow a range of flexible simulation options when exploring different micro-architectures. Using this methodology, we are able to achieve good accuracy against hardware for 16-thread applications.</p>
<p>The Sniper simulator allows one to perform timing simulations for multi-threaded, shared-memory applications with 10s to 100+ cores, at a high speed when compared to existing simulators. The main feature of the simulator is its core model which is based on the interval core model, a fast mechanistic core model. The interval model allows for faster simulations than typical cycle-accurate simulators by jumping between miss events because of long-latency operations. On recent machines, we see speeds of up to 2 MIPS for SPLASH-2 benchmarks, and almost 3 MIPS for SpecOMP benchmarks.</p>
<p>This simulator, and the interval core model, is useful for uncore and system-level studies that require more detail than the typical one-IPC models. As an added benefit, the interval core model allows the generation of CPI stacks, which shows the number of cycles lost due to different characteristics of the system, like the cache hierarchy or branch predictor, to be easily understood.</p>
<p>Sniper is available for download at <a href="http://snipersim.org/">http://snipersim.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2011/12/sniper-a-new-multi-core-simulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revenge of the low-cost supercomputer &#8211; part 2</title>
		<link>http://blog.grandtrunk.net/2010/06/revenge-of-the-low-cost-supercomputer-part-2/</link>
		<comments>http://blog.grandtrunk.net/2010/06/revenge-of-the-low-cost-supercomputer-part-2/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 10:26:04 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=115</guid>
		<description><![CDATA[Following up on my TOP500 list by interconnect post, here&#8217;s a update with the latest, June 2010 TOP500 list. First, for comparison, here&#8217;s the November 2009 version at the same scale: And this is how the list looks now: For one, given the number of recent announcements around it, I was expecting for 10G-Ethernet to [...]]]></description>
			<content:encoded><![CDATA[<p>Following up on my <a title="Permanent Link to TOP500 list by interconnect" rel="bookmark" href="../2009/08/top500-list-by-interconnect/">TOP500  list by interconnect</a> post, here&#8217;s a update with the latest, June 2010 <a href="http://www.top500.org/">TOP500</a> list.</p>
<p>First, for comparison, here&#8217;s the November 2009 version at the same scale:</p>
<p style="text-align: center"><img class="aligncenter" src="http://www.grandtrunk.net/images/top500_eff_200911.png" alt="" width="480" height="360" /></p>
<p>And this is how the list looks now:</p>
<p><img class="aligncenter" src="http://www.grandtrunk.net/images/top500_eff_201006.png" alt="" width="480" height="360" /></p>
<p>For one, given the number of recent announcements around it, I was expecting for 10G-Ethernet to gain some more adoption by now. Yet (assuming those details in the TOP500 list &#8211; and my parsing of it &#8211; are correct), only two new systems use 10G-Eth while those that were in last November&#8217;s list have now fallen out.</p>
<p>But something much more interesting seems to be happening at the lower right corner of the graph (look at the three blue (Inifiniband) dots nearest to the legend, interestingly, all three systems are Chinese). The <strong><a href="http://top500.org/system/10186">Tianhe-1</a></strong> hybrid Intel Xeon + ATI Radeon cluster (now at #7) got some company from two more GPGPU clusters, <strong><a href="http://www.top500.org/system/10561">Mole-8.5</a> </strong>at #19 and even the new #2, <a href="http://www.top500.org/system/10484"><strong>Nebulae</strong></a>. They are characterized by a rather low efficiency &#8211; especially for this part of the ranking. Note that no-one else in the right half fools around with mere Gigabit Ethernet or otherwise has an efficiency that is lower than 70%. Yet the number two of this list only manages a 43% efficiency, and needs 2984 GFLOPS of raw computing power (28% more than the #1 system, <a href="http://www.top500.org/system/10184"><strong>Jaguar</strong></a>) to get at a LINPACK score of 28% <em>less</em> than Jaguar&#8217;s.</p>
<p>The explanation for this lies in two numbers that are not shown in this graph: power and cost. Just like the commodity-based clusters started to take over from the hard-core custom-built supercomputers some 10 years ago, the GPGPU-based system may very well be on its way to take over the charts. They follow the same basic recipe as those Beowulf-inspired clusters: a not-so-great efficiency, which is cured with loads of cheap, low-power processing power.</p>
<p>The efficiency of the cluster improved drastically over time, using better interconnect such as Infiniband. The cluster idea is now so prevalent that over 80% of the systems in the Top500 today should be <a href="http://www.top500.org/overtime/list/35/archtype">categorized as clusters</a>. The next question is how GPGPU will evolve into something that can combine its advantages of low cost and low power with increased efficiency. Nvidia has some clear ideas about HPC being the future for their products (although their first step, Fermi, got <a href="http://www.semiaccurate.com/2010/02/17/nvidias-fermigtx480-broken-and-unfixable/">executed rather strangely</a>&#8230;). ATI/AMD are also <a href="http://ati.amd.com/technology/streamcomputing/gpgpu_history.html">hard at work</a> with FireStream and OpenCL. And coming from the other side of the arena, we have the general purpose processors moving towards simpler, but many more cores per chip, an idea embodied in the form of (among many others) Tilera&#8217;s <a href="http://www.tilera.com/products/TILE-Gx.php">TILE family</a> or Intel&#8217;s <a href="http://techresearch.intel.com/articles/Tera-Scale/1826.htm">SCC</a>.</p>
<p>Interesting times again loom ahead. Let the games, eh computations, begin!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2010/06/revenge-of-the-low-cost-supercomputer-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dwengo is looking for blogs!</title>
		<link>http://blog.grandtrunk.net/2010/04/dwengo-is-looking-for-blogs/</link>
		<comments>http://blog.grandtrunk.net/2010/04/dwengo-is-looking-for-blogs/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 13:08:28 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Dwengo]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/2010/04/dwengo-is-looking-for-blogs/</guid>
		<description><![CDATA[That&#8217;s right, and we&#8217;ll reward the best blog about Dwengo, or about something you&#8217;ve made with your Dwengo board, with an Amazon gift certificate of 50 Euro! So if you built a cool robot, automated your home, or did something else with a Dwengo board, and wrote about it on your blog, let us know! [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s right, and we&#8217;ll reward the best blog about Dwengo, or about something you&#8217;ve made with your Dwengo board, with an Amazon gift certificate of 50 Euro! So if you built a cool robot, automated your home, or did something else with a Dwengo board, and wrote about it on your blog, let us know! You can register at <a href="http://www.dwengo.org/blog2010subscribe">http://www.dwengo.org/blog2010subscribe</a> until July 1st&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2010/04/dwengo-is-looking-for-blogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Historical currency converter web service</title>
		<link>http://blog.grandtrunk.net/2010/02/historical-currency-converter-web-service/</link>
		<comments>http://blog.grandtrunk.net/2010/02/historical-currency-converter-web-service/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 17:28:28 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=94</guid>
		<description><![CDATA[Looking for an excuse to try out Google AppEngine, and encouraged by someone on StackOverflow looking for a free web service to convert between currencies at historical dates, I built the Historical currency converter web service. Using a very simple RESTfull API, you can convert between all currencies on the ECB&#8217;s list, using exchange rates [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://code.google.com/appengine/images/appengine-silver-120x30.gif" alt="" width="120" height="30" />Looking for an excuse to try out <a href="https://appengine.google.com/">Google AppEngine</a>, and encouraged by someone on StackOverflow looking for a free web service to convert between currencies at historical dates, I built the <a href="http://currencies.apps.grandtrunk.net/">Historical currency converter web service</a>. Using a very simple RESTfull API, you can convert between all currencies on the <a href="http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html">ECB&#8217;s list</a>, using exchange rates that date back to January 1999.</p>
<p><span id="more-94"></span></p>
<p>My preliminary findings: Google AppEngine is really cool (obviously), and using Python again after almost <a href="http://www.qualitysheet.com">OD-ing on PHP</a> was very pleasant. I&#8217;m still learning to properly use the datastore though, setting a multi-column primary key to guarantee unique (date, currency) records wasn&#8217;t very straightforward. Also the import of the <a href="http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html">historical data</a> was a bit of a hassle with the import script timing out, until I found how the <a href="http://code.google.com/appengine/docs/python/tools/uploadingdata.html">BulkLoader</a> can automatically do this in multiple HTTP requests. Finally, getting this to run on my own domain, <code>currencies.apps.grandtrunk.net</code>, took some time until I found out the right DNS magic to set in <a href="http://www.dreamhost.com/">DreamHost</a>&#8216;s panel (if you&#8217;re interested: I&#8217;m now fully hosting <code>apps.grandtrunk.net</code>, which allows me to set the domain validation code using a normal file uploaded to DreamHost; <code>apps.grandtrunk.net</code> is also the domain I told <a href="http://www.google.com/apps/">Google Apps</a> to use, while at DreamHost I needed to set a CNAME (alias) record for <code>currencies.apps.grandtrunk.net</code> that points to <code>ghs.google.com</code>). The cron job is also humming along nicely now downloading daily updates, so <a href="http://currencies.apps.grandtrunk.net/getrate/2009-11-15/usd/zar">convert away</a> while I watch the dashboard seeing my quota trickle down&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2010/02/historical-currency-converter-web-service/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Questioner or answerer?</title>
		<link>http://blog.grandtrunk.net/2010/01/questioner-or-answerer/</link>
		<comments>http://blog.grandtrunk.net/2010/01/questioner-or-answerer/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:21:26 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[StackOverflow]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=74</guid>
		<description><![CDATA[Yesterday on StackOverflow, I came across one of those users that kept asking questions, but didn&#8217;t really seem to understand much of the responses. Looking at his profile, it turned out he had asked over a hundred questions, but contributed less than ten answers. I won&#8217;t be tempted to start about his capabilities of actually [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday on <a href="http://stackoverflow.com/">StackOverflow</a>, I came across one of those users that kept asking questions, but didn&#8217;t really seem to understand much of the responses. Looking at his profile, it turned out he had asked over a hundred questions, but contributed less than ten answers. I won&#8217;t be tempted to start about his capabilities of actually answering any SO questions (although his understanding of other&#8217;s answers to his own questions, except when he was able to copy-paste someone&#8217;s source code, also didn&#8217;t seem to be that great), but it did get me thinking about what a &#8216;common&#8217; ratio of questions versus answers would be for other SO users (personally, I&#8217;m at 1/85 right now). Of course, that triggered my data-analysis and graphing gene&#8230;</p>
<p><span id="more-74"></span>Using the <a href="http://blog.stackoverflow.com/category/cc-wiki-dump/">StackOverflow public data set</a> (the October 2009 one, which I still had lying around from <a href="http://blog.grandtrunk.net/2009/11/stackoverflow-user-diversity/">last time</a>), I set about plotting the number of questions versus the number of answers contributed by each user. This graph shows the raw results:</p>
<p><img class="alignnone" src="http://grandtrunk.net/images/so_q_a.png" alt="" width="480" height="360" /></p>
<p>Clearly, several very active users tend to &#8216;specialize&#8217; towards either the Questions or the Answers axis. One user is even up to almost 800 questions, but barely gave any answers. Can you earn reputation points that way? Sure, if they are good questions, other people will pass by that have hit the same dead-end and express their eternal gratitude of seeing their problem already solved by voting the question up. Here&#8217;s the same graph from before (except for the log-log axes) but including colors to show reputation classes:</p>
<p><img src="http://grandtrunk.net/images/so_q_a_r.png" alt="" width="480" height="360" /></p>
<p>The next graph plots each user&#8217;s reputation versus their &#8220;Q-to-A ratio&#8221; (their number of questions divided by their number of answers). For users without any answers I just plotted their number of questions (red dots).</p>
<p><img class="alignnone" src="http://grandtrunk.net/images/so_r_n.png" alt="" width="480" height="360" /></p>
<p>The vast majority of users give much more answers than they have asked questions (so they have a Q/A-ratio of less than one) and inhabit the region near the horizontal axis. Most high-reputation users also tend to answer more than they ask. In the lower reputation regions (&lt;1000) much higher Q/A-ratios can be seen (including those with an &#8216;infinite&#8217; ratio, i.e. with <em>no</em> answers).</p>
<p>(As I found out later, someone else had already <a href="http://meta.stackoverflow.com/questions/2557/which-accounts-have-more-questions-than-answers#2609">computed the top Q/A-ratios on an older SO dump</a>, although I always prefer looking at things with some graphs&#8230;)</p>
<p>Finally, here are some Q/A-ratio distributions: the first one shows the number of users in each Q/A-ratio class. (Never mind the fact that the 1/1 class seems extraordinarily large in comparison to it&#8217;s neighbours, I&#8217;ve used a pretty strange class grouping function (an arctangens, so it can show both 0 and infinity symmetrically around 0) to make it fit properly on the graph.) The distribution is clearly weighted towards the right, again showing that most users have contributed more answers than questions.</p>
<p><img src="http://grandtrunk.net/images/so_rcc.png" alt="" width="480" height="240" /></p>
<p>We can also weigh users by their reputation, so we get the fraction of total reputation that is represented by the users with a certain Q/A-ratio. The already large group on the left side of the Q/A scale becomes even more important now, meaning that most reputation is owned by users with a low (&lt;1/10) Q-to-A ratio. This is confirmed by the next graph which shows the average reputation of all users in a given Q/A class.</p>
<p><img class="alignnone" src="http://grandtrunk.net/images/so_rct.png" alt="" width="480" height="240" /></p>
<p><img class="alignnone" src="http://grandtrunk.net/images/so_rca.png" alt="" width="480" height="240" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2010/01/questioner-or-answerer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Panoramic images with Hugin</title>
		<link>http://blog.grandtrunk.net/2009/12/panoramic-images-with-hugin/</link>
		<comments>http://blog.grandtrunk.net/2009/12/panoramic-images-with-hugin/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 12:03:53 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=101</guid>
		<description><![CDATA[I used to stitch my panorama&#8217;s using Canon&#8217;s PhotoStitcher, which came bundled with my camera, and being only so-so pleased. But the other night I discovered Hugin, an open source panorama stitcher that seems to do a much better job. Here are some nice results from my last trip: I also re-did some older ones, [...]]]></description>
			<content:encoded><![CDATA[<p>I used to stitch my panorama&#8217;s using Canon&#8217;s PhotoStitcher, which came bundled with <a href="http://www.dpreview.com/reviews/CanonEOS400D/">my camera</a>, and being only so-so pleased. But the other night I discovered <a href="http://hugin.sourceforge.net/">Hugin</a>, an open source panorama stitcher that seems to do a much better job.</p>
<p>Here are some nice results from my last trip:</p>
<p><a class="panorama" href="http://photos.heirman.net/sudafrika2009/photos/img_7864-7868.jpg"><img class="alignnone" src="http://photos.heirman.net/sudafrika2009/small/img_7864-7868.jpg" alt="" width="600" height="129" /></a></p>
<p><span id="more-101"></span><a class="panorama" href="http://photos.heirman.net/sudafrika2009/photos/img_8119-8138.jpg"><img class="alignnone" src="http://photos.heirman.net/sudafrika2009/small/img_8119-8138.jpg" alt="" width="600" height="109" /></a></p>
<p><a class="panorama" href="http://photos.heirman.net/sudafrika2009/photos/img_9261-9272.jpg"><img class="alignnone" src="http://photos.heirman.net/sudafrika2009/small/img_9261-9272.jpg" alt="" width="600" height="89" /></a></p>
<p>I also re-did some older ones, including my 360° <a href="http://en.wikipedia.org/wiki/Empire_State_Building">Empire State building</a> one:</p>
<p><a class="panorama" href="http://photos.heirman.net/usa2007/photos/img_5650-5683.jpg"><img class="alignnone" src="http://photos.heirman.net/usa2007/small/img_5650-5683.jpg" alt="" width="600" height="74" /></a></p>
<p><a class="panorama" href="http://photos.heirman.net/usa2005/photos/img_1302-1313.jpg"><img class="alignnone" src="http://photos.heirman.net/usa2005/small/img_1302-1313.jpg" alt="" width="600" height="60" /></a></p>
<p>Comparing these Hugin results with my previous panorama&#8217;s, both stitching and overall image quality have been hugely improved. The Empire State one still has some rather bad stitches though, but that&#8217;s probably because I was still using my <a href="http://www.the-digital-picture.com/Reviews/Canon-EF-S-18-55mm-f-3.5-5.6-Lens-Review.aspx">Canon 18-55mm kit lens</a> at the time, and set it to its extreme end of 18mm which results in some pretty bad distortions. I&#8217;ve learned to use an intermediate zoom settings since, which greatly improves results.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2009/12/panoramic-images-with-hugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StackOverflow user diversity</title>
		<link>http://blog.grandtrunk.net/2009/11/stackoverflow-user-diversity/</link>
		<comments>http://blog.grandtrunk.net/2009/11/stackoverflow-user-diversity/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 11:50:24 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[StackOverflow]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=61</guid>
		<description><![CDATA[I&#8217;ve been wondering what the diversity of knowledge of StackOverflow users would be like. It seemed like an interesting research idea to see how many people have responded only to questions in a very narrow field, and how many others have broader knowledge and can contribute useful answers in more diverse fields. Apparently, there is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wondering what the diversity of knowledge of <a href="http://stackoverflow.com">StackOverflow</a> users would be like. It seemed like an interesting research idea to see how many people have responded only to questions in a very narrow field, and how many others have broader knowledge and can contribute useful answers in more diverse fields. Apparently, there is even supposed to be a badge for that (the <a href="http://stackoverflow.com/badges/15/generalist">Generalist badge</a>), but <a href="http://meta.stackoverflow.com/questions/14875/better-definition-of-generalist-badge">it didn&#8217;t get implemented yet</a>.</p>
<p>It&#8217;s easy to do this using tags: some sort of clustering should be applied according to how often each pair of tags shows up at the same question (a user that knows both ASP and ASP.net shouldn&#8217;t be considered a &#8216;diverse&#8217; person, so this should be factored out first), next we can count in how many different clusters that this user has contributed a good answer.</p>
<p><span id="more-61"></span>I&#8217;ve had a stab at trying this on the last (October 2009) <a href="http://blog.stackoverflow.com/category/cc-wiki-dump/">StackOverflow public data set</a>. I&#8217;ve ignored the SU and SF parts of the dump. The idea is to count how many of SO&#8217;s questions you could conceivably answer, given your <em>proficiency </em>in each of the tags of that question.</p>
<p>First I&#8217;ve scored all answers each user has given. 20 points go to it being the accepted answer, another 80 points are distributed over all answers to a question in relation to the answer&#8217;s votes. This is not exactly the same as the reputation earned for that answer, since popular questions get a lot more up-votes to their answers, but in this analysis this isn&#8217;t really worth much more than a good answer to an unpopular question.</p>
<p>The points for all your answers are distributed over the tags with which the question is tagged. This gives each user a number of points for all tags. These points are converted into a <em>proficiency</em> that user has for this tag: <code>proficiency = 1 - exp(-points / 500)</code>. So 1000 points (10 very good answers) gets you to 86%, more points will asymptotically get you to 100%.</p>
<p>At this point we can compute the average proficiency over all tags for each user, which is plotted in this graph (average tag proficiency versus reputation, for users with reputation &gt; 1000):</p>
<p><img class="alignnone" src="http://www.grandtrunk.net/images/so_rep_tp.png" alt="average tag proficiency versus reputation" /></p>
<p>The next step is to compute the question proficiency. This is done, for each question and each user, by taking the geometric average of this user&#8217;s tag proficiencies over all tags that this question is tagged with (I&#8217;ve choosen the geometric average rather than the arithmetic one, since you&#8217;re supposed to be knowledgable on <em>all </em>components of a question in order to answer it). These per-question proficiencies can again be averaged (arithmetically), yielding the user&#8217;s <em>average question proficiency</em> which is a measure for how many of the site&#8217;s questions he/she could answer. This graph plots average question proficiency versus reputation:</p>
<p><img class="alignnone" src="http://www.grandtrunk.net/images/so_rep_qp.png" alt="average question proficiency versus reputation" /></p>
<p>Note that this last one is a fairly heavy query (~1 second per user), so it could more feasible to base an actual implementation on tag proficiency only (see also <a href="http://www.grandtrunk.net/images/so_tp_qp.png">this graph</a> of tag vs. question proficiency), although this would overvalue knowledge of topics SO doesn&#8217;t care much about.</p>
<p>Analysing the question proficiency vs. reputation graph, we see that both are clearly related (if you answer enough questions, you&#8217;re bound to have covered most of the tags). Still, some users reach a possible threshold value of 20% question proficiency at a reputation of only 10,000; while others couldn&#8217;t get there even at 60,000 reps.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2009/11/stackoverflow-user-diversity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dwengo Boards now selling!</title>
		<link>http://blog.grandtrunk.net/2009/09/dwengo-boards-now-selling/</link>
		<comments>http://blog.grandtrunk.net/2009/09/dwengo-boards-now-selling/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 14:47:10 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Dwengo]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=52</guid>
		<description><![CDATA[Our first 100 Dwengo boards just arrived from the plant in China. Luckily, in contrast to the first prototype, all the LEDs are now soldered on the right way. I must say the result looks pretty professional. Much faster, and even cheaper, than soldering them ourselves! The funny little &#8216;ergonomic&#8217; programmer that Michiel designed also looks [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dwengo.org"><img class="alignright noborder" src="http://grandtrunk.net/images/dwengo-logo.png" alt="Dwengo" width="250" height="80" /></a>Our first 100 <a href="http://www.dwengo.org/products/dwengo-board">Dwengo boards</a> just arrived from <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;sll=22.569664,114.065166&amp;sspn=0.005469,0.009645&amp;ie=UTF8&amp;ll=22.530356,113.996823&amp;spn=0.00547,0.009645&amp;t=h&amp;z=17">the plant</a> in China. Luckily, in contrast to the first prototype, all the LEDs are now soldered on the right way.</p>
<p><span id="more-52"></span></p>
<p>I must say the result looks pretty professional. Much faster, and even cheaper, than soldering them ourselves!</p>
<p><a class="imglink" href="http://www.dwengo.org/products/dwengo-board"><img class="alignnone" src="http://www.dwengo.org/sites/default/files/imagecache/product_full/img_0250_3.jpg" alt="" width="300" height="199" /></a></p>
<p>The funny little &#8216;ergonomic&#8217; <a href="http://www.dwengo.org/products/dwengo-programmer">programmer</a> that Michiel designed also looks rather cute <img src='http://blog.grandtrunk.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a class="imglink" href="http://www.dwengo.org/products/dwengo-programmer"><img class="alignnone" src="http://www.dwengo.org/sites/default/files/imagecache/product_full/programmer.jpg" alt="" width="300" height="133" /></a></p>
<p>So, if you&#8217;re interested in learning about microcontrollers, have a look at <a href="http://www.dwengo.org/">our site</a>. We&#8217;re still working on some of the <a title="Dwengo tutorials" href="http://www.dwengo.org/tutorials">tutorials</a>, but once those are done, nothing should be left in the way to really <a title="Dwengo. Gets you started with microcontrollers..." href="http://www.dwengo.org">get you started with microcontrollers</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2009/09/dwengo-boards-now-selling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TOP500 list by interconnect</title>
		<link>http://blog.grandtrunk.net/2009/08/top500-list-by-interconnect/</link>
		<comments>http://blog.grandtrunk.net/2009/08/top500-list-by-interconnect/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 19:29:35 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=22</guid>
		<description><![CDATA[While attending a Hot Interconnects talk on supercomputing, I got the following idea. The TOP500 site provides graphs of the number of systems and total performance per interconnect family, which shows an approximate measure of the popularity of the different interconnects. But how do they affect the performance of an individual system? Clearly, a high-performance interconnect [...]]]></description>
			<content:encoded><![CDATA[<p>While attending a <a title="Hot Interconnects" href="http://www.hoti.org/">Hot Interconnects</a> talk on supercomputing, I got the following idea. The <a href="http://www.top500.org/">TOP500</a> site provides <a href="http://www.top500.org/charts/list/34/conn">graphs of the number of systems and total performance per interconnect family</a>, which shows an approximate measure of the popularity of the different interconnects. But how do they affect the performance of an individual system? Clearly, a high-performance interconnect should result in higher efficiency than a commodity one. But by how much? And which systems would use what type of interconnect?</p>
<p><span id="more-22"></span>For the following set of graphs, I downloaded the XML file for the current TOP500 list (since updated to the November 2009 list). I decided to look at each system&#8217;s LINPACK performance (<em>Rmax</em>) compared with its <em>peak</em> performance (<em>Rpeak</em>) which is what you get when adding the theoretical performance of all processor cores in the system. The result should be a measure of how efficiently the system&#8217;s total computational power can be used, which is mostly a function of the interconnect (also software, but for a TOP500 listing we would expect that to be rather good!).</p>
<p>So here is the graph:</p>
<p><img class="alignnone" src="http://www.grandtrunk.net/images/top500.png" alt=""  /></p>
<p>Here&#8217;s the same data but this time efficiency (<em>Rmax/Rpeak</em>) is plotted directly:</p>
<p><img class="alignnone" src="http://www.grandtrunk.net/images/top500_eff.png" alt=""  /></p>
<p>For top-of-the-list machines, Infiniband and proprietary interconnects (mainly BlueGene, Cray and SGI&#8217;s NUMAlink) are the most common. Their efficiency is rather similar at 75-80% for the large machines, and up to 95% for smaller ones. The main alternative interconnection technology, Ethernet, only starts at to be in common use from system <a href="http://top500.org/system/9987">#98</a> onwards. Clearly, the efficiency of these systems is significantly less, at some 55%.</p>
<p>Two main outliers to this theory can be seen. <a href="http://top500.org/system/10186">System #5</a> uses Infiniband but manages to get only a 46% efficiency. This is the <strong>Tianhe-1</strong> cluster located in Tianjin, China. It consists of 5120 ATI Radeon HD 4870 video cards, in addition to a number of Intel Xeon CPUs. I would guess that the software for this rather radical new architecture (especially at this scale!) is not yet fully up-to-date, and that this system should get a boost in <em>Rmax</em> by the time of the next TOP500 list next June.</p>
<p>The other exception is <a href="http://top500.org/system/10269">#486</a>, again a Chinese system, which uses a 10-Gbit Ethernet network (rather than 1-Gb Ethernet for the others &#8211; at least, as far as I could tell from parsing the list). Clearly, the faster Ethernet technology significantly improves efficiency: at 70% it comes much closer to the Inifiband and proprietary-interconnect powered systems. When compared to 1GbE, the difference between 10GbE and Infiniband is minimal though, and also the price comes pretty close. So I guess, in the end, you do get what you pay for&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2009/08/top500-list-by-interconnect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tokina 11-16mm f/2.8 wide-angle lens</title>
		<link>http://blog.grandtrunk.net/2009/01/tokina-11-16mm-f2-8-wide-angle-lens/</link>
		<comments>http://blog.grandtrunk.net/2009/01/tokina-11-16mm-f2-8-wide-angle-lens/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 19:41:02 +0000</pubDate>
		<dc:creator>Wim</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://blog.grandtrunk.net/?p=31</guid>
		<description><![CDATA[&#8230; or how to make a small space look huge. I couldn&#8217;t resist, and bought another lens. This time a real wide-angle lens, the Tokina AF 11-16mm f/2.8 AT-X Pro DX. Yes, it&#8217;s a zoom lens, and on paper the range fitted nicely to my Tamron 17-50mm f/2.8. But the difference between 11 and 16mm [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; or how to make a small space look huge.</p>
<p>I couldn&#8217;t resist, and bought <em>another</em> lens. This time a real wide-angle lens, the <a href="http://www.photozone.de/canon-eos/379-tokina_1116_28_canon">Tokina AF 11-16mm f/2.8 AT-X Pro DX</a>. Yes, it&#8217;s a zoom lens, and on paper the range fitted nicely to my Tamron 17-50mm f/2.8. But the difference between 11 and 16mm turned out to be so tiny (and the image quality so good that cropping an 11mm image down to 16mm would be more than adequate), that I might as well have gotten a prime 11mm one. But still, a very nice lens this is!</p>
<p><span id="more-31"></span>So what exactly did I &#8216;need&#8217; this lens for? My brother wanted some shots of <a href="http://recordoffice.be/">his studio</a>. Our attic isn&#8217;t that big, but on these pictures it looks pretty impressive <img src='http://blog.grandtrunk.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a class="imglink" href="http://recordoffice.be/pics/s750864971_1939637_8626.jpg"><img class="styled alignnone" title="Record Office" src="http://recordoffice.be/pics/s750864971_1939637_8626.jpg" alt="Record Office" width="480" height="320" /></a></p>
<p><a class="imglink" href="http://recordoffice.be/pics/s750864971_1939638_9436.jpg"><img class="styled alignnone" title="Record Office" src="http://recordoffice.be/pics/s750864971_1939638_9436.jpg" alt="Record Office" width="480" height="320" /></a></p>
<p>Of course, it&#8217;s also a nice holiday lens:</p>
<p><a class="imglink" href="http://photos.heirman.net/sudafrika2009/photos/img_8105.jpg"><img class="styled alignnone" title="Cape Town" src="http://photos.heirman.net/sudafrika2009/photos/img_8105.jpg" alt="Cape Town" width="480" height="320" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.grandtrunk.net/2009/01/tokina-11-16mm-f2-8-wide-angle-lens/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

