<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>progblog</title>
	<atom:link href="http://veelck.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://veelck.wordpress.com</link>
	<description>programming snippets, news&#38;humour</description>
	<lastBuildDate>Mon, 05 Oct 2009 12:26:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='veelck.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>progblog</title>
		<link>http://veelck.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://veelck.wordpress.com/osd.xml" title="progblog" />
	<atom:link rel='hub' href='http://veelck.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Multithread texture loading using OpenGL and WGL</title>
		<link>http://veelck.wordpress.com/2008/11/28/multithread-texture-loading-in-opengl/</link>
		<comments>http://veelck.wordpress.com/2008/11/28/multithread-texture-loading-in-opengl/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 01:33:33 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[multithreading]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[textures]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=68</guid>
		<description><![CDATA[Hi. I was unable to write anything here for some time. BUT, finally I was able to find a way to make multithread image loading using OpenGL with Windows extensions for multiple context creation. It was quite a struggle to find anything useful in the web, only some minor things at few forums and mailing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=68&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi.</p>
<p>I was unable to write anything here for some time.</p>
<p>BUT, finally I was able to find a way to make multithread image loading using OpenGL with Windows extensions for multiple context creation.</p>
<p>It was quite a struggle to find anything useful in the web, only some minor things at few forums and mailing groups. But using that with some thinking and reading between lines I finally found the solution I&#8217;d like to share, as it can save (in my opinion) much time of searching and experimenting for others.</p>
<p>So what do you need if you&#8217;d like to create multithread texture loading in OpenGL ?</p>
<p>It&#8217;s tricky. First of all you have to know, that you can&#8217;t do it straight forward, as you need OpenGL context for each thread you&#8217;d like to use OpenGL procedures.</p>
<p>To create new rendering context (as it&#8217;s called), you need device context first. You can get it from your HWND.</p>
<p>For me it was not straight forward, as main window is created using SDL. But fortunately it&#8217;s quite easy to get it from there too.<br />
<code><br />
#include &lt;wingdi.h&gt;// for wgl* stuff<br />
#include&lt;SDL_syswm.h&gt;//for SDL stuff<br />
//...<br />
SDL_SysWMinfo wmInfo;<br />
SDL_VERSION(&amp;wmInfo.version);<br />
if(SDL_GetWMInfo(&amp;wmInfo) &lt; 0)	//returns (-1) on error<br />
{<br />
std::cout &lt;&lt; "error in SDL_GetWMInfo");<br />
}<br />
HWND hWnd = wmInfo.window;</code></p>
<p>So, now we have HWND. To get device context, you only need to call<br />
<code>HDC hDC = GetDC(hWnd);</code>.<br />
OK, that was easy.<br />
Now we need more OpenGL contexts.<br />
To create those, we need some Windows extension for OpenGL.</p>
<p>To be honest, to create contexts we need only one &#8211; <code>wglCreateContext</code>.<br />
This procedure takes device context as parameter and returns new rendering context (or NULL).<br />
No matter what people says in forums &#8211; you CAN have more than one rendering context for only ONE device context. More than that &#8211; in my opinion it&#8217;s very natural.  And it works just fine. Let&#8217;s create two of those contexts.<br />
<code><br />
HGLRC rendContext1 = wglCreateContext(hDC);<br />
HGLRC rendContext2 = wglCreateContext(hDC);</code></p>
<p>Cool. We have two OpenGL rendering contexts. What we would like to do now is:</p>
<p>use one context for images loading, textures creation etc. and let second context in main thread do rendering stuff etc. This way if you have multiple images to load, you can simply load them in background thread and in rendering thread start showing loaded one. The good thing is &#8211; you can load textures in background and it won&#8217;t freeze your interface, as it&#8217;s done in other thread.</p>
<p>But it&#8217;s not as easy as it looks like, because you have to fix sharing of textures between contexts. Normally, if you create a texture at one context, it&#8217;s not available in second one and vice versa.</p>
<p>Here is another procedure from Windows extension pool:<br />
<code><br />
wglShareLists(rendContext2, rendContext1);<br />
</code><br />
I didn&#8217;t try different order of arguments, probably it&#8217;s not meaningless (but MSDN is useless in most important things and sadly wrong in too many places :( ). The safest solution is to do this BEFORE you load anything in any context. In documentation you can find, that you can&#8217;t have nothing loaded in second of passed contexts (in our case it would be <code>rendContext1</code>). To be sure, call this before you start messing with OpenGL.<br />
Now, you have to set default context for each of your threads, so it can work properly with OpenGL calls. You don&#8217;t need to call it every time, only once in a thread.<br />
<code><br />
renderingThread()<br />
{<br />
//...<br />
wglMakeCurrent(hDC, rendContext1);<br />
//...<br />
}</code></p>
<p><code>loadingThread()<br />
{<br />
//...<br />
wglMakeCurrent(hDC, rendContext2);<br />
//...<br />
}<br />
</code></p>
<p>If you have this written in above manner, you can simply &#8216;fork&#8217; loading thread from main thread using e.g. boost::thread class. Again, according to some OpenGL forums, it&#8217;s important to create &#8216;loading thread&#8217; from rendering thread, but I didn&#8217;t check that either. It&#8217;s important, that wglShareLists will work only in the space of one process, not between processes, so only way for parallel execution is using threads.</p>
<p>Calling wglMakeCurrent only makes one of rendering contexts default to the thread in which is called, so it doesn&#8217;t matter if the call is done exactly in the same time in both threads. Nevertheless, it&#8217;s important to have different contexts for each thread.</p>
<p>After making above steps, you should be able call whole loading stuff in loadingThread thread (as e.g. loading data from disk [<code>ilLoadImage</code>], then creating texture name using <code>glGenTextures()</code>, set parameters <code>glTexParameteri()</code> and finally load data to OpenGL using <code>gluBuild2DMipmaps</code> or <code>glTexImage2D</code>), and in renderingThread thread you will have access to textures loaded this way.<br />
If you&#8217;d like to also load data in renderingThread (e.g. for blocking image loading), you have to remember that some image loading libraries (like <a title="DevIL" href="http://openil.sourceforge.net/" target="_blank">DevIL</a>,  indirectly mentioned earlier) doesn&#8217;t have support for multithreading, so you need mutex to provide atomic calls to it&#8217;s methods.</p>
<p>I didn&#8217;t try to render from both contexts, but according to some resources found in the web, it&#8217;s possible but pointless, as in that case OpenGL would have to switch between contexts (calling wglShareLists shares bunch of stuff, but not the rendering context itself), which is very memory intensive and creates unnecessary overhead.</p>
<p>The most important thing is waiting for as at the end of the road ;-)</p>
<p>Don&#8217;t forget to release created contexts. In each of threads you should call default rendering context to none using <code>wglMakeCurrent(NULL, NULL)</code>.<br />
Deinitialization step in main thread should look similar to code below<br />
<code><br />
wglMakeCurrent(NULL, NULL);<br />
wglDeleteContext(rendContext2);<br />
wglDeleteContext(rendContext1);<br />
</code></p>
<p>Don&#8217;t forget to call this NULLed-wglMakeCurrent in loadingThread on exit from it.</p>
<p>Hopefully I covered most of important things in multithread and multicontext image/texture handling using OpenGL and WGL.</p>
<p>Please, do not hesitate to ask a question regarding those problems.<br />
If you find a bug or something, that looks weird to you, let me know ASAP &#8211; maybe I&#8217;m missing something (or you are ;-) )</p>
<p>Till next time&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=68&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/11/28/multithread-texture-loading-in-opengl/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>Beware _SECURE_SCL</title>
		<link>http://veelck.wordpress.com/2008/08/13/beware-_secure_scl/</link>
		<comments>http://veelck.wordpress.com/2008/08/13/beware-_secure_scl/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 23:13:56 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[advices]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=60</guid>
		<description><![CDATA[Hi, I just lost 2h because of this macro. I used it to disable C4996 warnings from boost/thread/win32/condition_variable.hpp (65) and similar (as I prefer code without any warnings). According to MSDN, using _SCL_SECURE_NO_WARNINGS should be fine, but didn&#8217;t help much. So I found at some forum, that it&#8217;s possible to disable warnings using #define _SECURE_SCL [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=60&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I just lost 2h because of this macro.</p>
<p>I used it to disable C4996 warnings from boost/thread/win32/condition_variable.hpp (65) and similar (as I prefer code without any warnings).</p>
<p>According to MSDN, using <a id="ctl00_rs1_mainContentContainer_ctl10" href="http://msdn.microsoft.com/en-us/library/aa985974%28VS.80%29.aspx">_SCL_SECURE_NO_WARNINGS</a> should be fine, but didn&#8217;t help much.</p>
<p>So I found at some forum, that it&#8217;s possible to disable warnings using <code>#define _SECURE_SCL 0 </code> and there will be no problem.</p>
<p>There were no problems until I tried to compile release of my project.</p>
<p>I get runtime errors when I tried to insert new value to std::vector. When I used std::vector::reserve method, it was fine, but I got some random runtime errors in other places, when I was using iterators. At the end I decided to stay with boost&#8217;s warnings, without defining _SECURE_SCL macro.</p>
<p>I know, that you can gain some performance, when you disable checked iterators, but I&#8217;ll do more testing when I finish my MSc ;-)</p>
<p>Until next time :)</p>
<p>some links:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/aa985896(VS.80).aspx">_SECURE_SCL</a>, <a href="http://msdn.microsoft.com/en-us/library/aa985974(VS.80).aspx">_SCL_SECURE_NO_WARNINGS</a>, <a href="http://msdn.microsoft.com/en-us/library/aa985973(VS.80).aspx">_SECURE_SCL_THROWS</a>, <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=466974">disscusion on std::vector</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=60&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/13/beware-_secure_scl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>Guitar Speed World Champion</title>
		<link>http://veelck.wordpress.com/2008/08/07/guitar-speed-world-champion/</link>
		<comments>http://veelck.wordpress.com/2008/08/07/guitar-speed-world-champion/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 11:27:35 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[picking]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=55</guid>
		<description><![CDATA[May 2008 Guitar Speed record goes to Mr. Tiago Della Vega. He broke his own speed world record performing &#8220;Flight of the Bumblebee&#8221; at 320 BPM (beats per minute) Enjoy watching :) He starts playing from 3:00<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=55&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>May 2008 Guitar Speed record goes to Mr. <a href="http://www.tiagodellavega.net/home.htm" target="_blank">Tiago Della Vega</a>. He broke his own speed world record performing &#8220;<em>Flight of the Bumblebee</em>&#8221; at 320 BPM (<a href="http://en.wikipedia.org/wiki/Beats_per_minute" target="_blank">beats per minute</a>)<br />
Enjoy watching :)<br />
He starts playing from 3:00</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='500' height='312' src='http://www.youtube.com/embed/BynUZOJc8QI?version=3&amp;rel=0&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=55&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/07/guitar-speed-world-champion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>F*** Linux kernel ;-)</title>
		<link>http://veelck.wordpress.com/2008/08/06/f-linux-kernel/</link>
		<comments>http://veelck.wordpress.com/2008/08/06/f-linux-kernel/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 16:54:44 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[humour]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=52</guid>
		<description><![CDATA[I just get a link from my friend with wordcount in Linux kernel. And everything would be fine, but the counted words were only swear-words ;-) Enjoy reading ;-) wordcount<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=52&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just get a link from my friend with wordcount in Linux kernel.<br />
And everything would be fine, but the counted words were only swear-words ;-)</p>
<p>Enjoy reading ;-)</p>
<p><a href="http://www.vidarholen.net/contents/wordcount/">wordcount</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=52&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/06/f-linux-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>Memory manager</title>
		<link>http://veelck.wordpress.com/2008/08/05/memory-manager/</link>
		<comments>http://veelck.wordpress.com/2008/08/05/memory-manager/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 16:22:51 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[memory management]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=42</guid>
		<description><![CDATA[Hi, I was looking for some memory management tips and tricks and I found response of Paul Nettle about memory management. It was very interesting reading &#8211; I hope you can use that: www.flipcode.com<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=42&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi,<br />
I was looking for some memory management tips and tricks and I found response of Paul Nettle about memory management.<br />
It was very interesting reading &#8211; I hope you can use that:<br />
<a href="http://www.flipcode.com/archives/Memory_Management.shtml">www.flipcode.com</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=42&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/05/memory-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>Nice piece of music</title>
		<link>http://veelck.wordpress.com/2008/08/05/nice-piece-of-music/</link>
		<comments>http://veelck.wordpress.com/2008/08/05/nice-piece-of-music/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 23:46:03 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Dream Theater]]></category>
		<category><![CDATA[guitar]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=31</guid>
		<description><![CDATA[Dream Theater &#8211; Hollow Years (live in Budokan) Really good music, great John Petrucci&#8217;s solo and amazing sound of flamenco-electric guitar. Enjoy listening and watching :)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=31&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dream Theater &#8211; Hollow Years (live in Budokan)<br />
Really good music, great John Petrucci&#8217;s solo and amazing sound of flamenco-electric guitar.<br />
Enjoy listening and watching :)</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='500' height='312' src='http://www.youtube.com/embed/V6k1VdgNeKE?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=31&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/05/nice-piece-of-music/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>Have phun watching</title>
		<link>http://veelck.wordpress.com/2008/08/05/have-phun-watching/</link>
		<comments>http://veelck.wordpress.com/2008/08/05/have-phun-watching/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 23:40:13 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[video]]></category>
		<category><![CDATA[advertisement]]></category>
		<category><![CDATA[humour]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=29</guid>
		<description><![CDATA[Guinness advertisement &#8211; quite funny. Enjoy :) click me<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=29&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Guinness advertisement &#8211; quite funny.<br />
Enjoy :)<br />
<a href="http://www.chilloutzone.de/files/08072602.html">click me</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=29&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/05/have-phun-watching/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>xParam parameter parsing</title>
		<link>http://veelck.wordpress.com/2008/08/05/xparam-parameter-parsing/</link>
		<comments>http://veelck.wordpress.com/2008/08/05/xparam-parameter-parsing/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 23:33:31 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[snippets]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[solutions]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=8</guid>
		<description><![CDATA[Using xParam for parameter parsing is easy. Using it, you can almost show your programming interface outside your program. You can use polymorphism from command line, without recompilation, just passing arguments like: windowing=GaussWindow("2048","0","0.2") In the example above (it&#8217;s working one, for my MSc app),it looks quite nasty and it feels tough to write that every [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=8&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Using xParam for parameter parsing is easy. Using it, you can almost show your programming interface outside your program. You can use polymorphism from command line, without recompilation, just passing arguments like:</p>
<pre style="border:solid 1px blue;font-size:1.3px em;color:blue;background:#ebce9a;margin:10px;padding:10px;"><code style="color:#008099;">windowing=GaussWindow("2048","0","0.2")</code></pre>
<p>In the example above (it&#8217;s working one, for my MSc app),it looks quite nasty and it feels tough to write that every time you&#8217;d like to run your soft.<br />
But when you try to write application, which could be run from e.g. a batch file, which i generated by another, testing app &#8211; then this kind of solution seems useful.</p>
<p>Another news are great too. Following line
<pre style="border:solid 1px blue;font-size:1.3px em;color:blue;background:#ebce9a;margin:10px;padding:10px;"><code style="color:#008099;">windowing=GaussWindow("2048","0","0.2")</code></pre>
<p> calls proper constructor from class GaussWindow with proper, parsed values.<br />
Definition of that constructor is:
<pre style="border:solid 1px blue;font-size:1.3px em;color:blue;background:#ebce9a;margin:10px;padding:10px;"><code style="color:#008099;">GaussWindow(int inWindowWidth, int inStartIndex = 0, float inSigma = 0.4);</code></pre>
<p>so you can see there are some <code>int</code>&#8216;s and <code>float</code>, but everything is handled by xParam.<br />
Now, imagine that class <code>GaussWindow</code> inherits from <code>Windowing</code>, like e.g. <code>HammingWindow</code>. If you&#8217;d like to use Hamming window instead of Gauss window, you only need to specify it through command-line like:</p>
<pre style="border:solid 1px blue;font-size:1.3px em;color:blue;background:#ebce9a;margin:10px;padding:10px;"><code style="color:#008099;">windowing=HammingWindow("1024")</code></pre>
<p>and that&#8217;s it. You don&#8217;t need to recompile anything &#8211; it works out of the box.</p>
<p>Part of your program, that enables parsing arguments with xParam could look like that:</p>
<pre style="border:solid 1px blue;font-size:1.3px em;color:blue;background:#ebce9a;margin:10px;padding:10px;"><code style="color:#008099;">Windowing * windowing = NULL;
ParamSet ps;
ps &lt;&lt; "This program computes pitches."
&lt;&lt; iParamPtrVar(windowing, "windowing	! windowing function");
ps.input(argc, argv);
// some computations (...)
ps.output();
delete windowing;
</code></pre>
<p>And that&#8217;s it.<br />
Don&#8217;t forget to delete pointers created by xParam. :)</p>
<p><strong>Update</strong>:<br />
Unforutnately, when I use xParam, I get whole bunch of memory leaks reports from Paul Nettle&#8217;s Memory Manager. I don&#8217;t know, if the problem is inside xParam or I do something wrong &#8211; if someone read my post and saw some weird error &#8211; please write to me. For now I have to test memory leakages without xParam, with setting up parameters in my code manually and recompile every time, which is pain&#8230;<br />
secundo:<br />
The problem could be even in Memory Manager (which IMHO is unlikely), because xParam uses quite much global/static fields and initialize things before entering to main.<br />
Any solution proposals are very welcome :)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=8&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/05/xparam-parameter-parsing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
		<item>
		<title>My MSc</title>
		<link>http://veelck.wordpress.com/2008/08/05/my-msc/</link>
		<comments>http://veelck.wordpress.com/2008/08/05/my-msc/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 23:04:46 +0000</pubDate>
		<dc:creator>veelck</dc:creator>
				<category><![CDATA[MSc]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://veelck.wordpress.com/?p=6</guid>
		<description><![CDATA[Automatic music transcription &#8211; does that ring a bell ? The subject of my thesis is: Acoustic signal processing algorithms for automatic music transcription. I&#8217;ll try to publish some news about progress of work and results. Mostly I&#8217;m working on algorithms computing fundamental frequency of the signal. In my thesis I&#8217;m going to present comparison [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=6&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Automatic music transcription &#8211; does that ring a bell ?</p>
<p>The subject of my thesis is: Acoustic signal processing algorithms for automatic music transcription.</p>
<p>I&#8217;ll try to publish some news about progress of work and results. Mostly I&#8217;m working on algorithms computing fundamental frequency of the signal. In my thesis I&#8217;m going to present comparison of few algorithms and provide some system for choosing applicable algorithm for specific case.</p>
<p>Because everything I&#8217;m writing in C++, it would be almost impossible (and stupid ;-) ) to build this kind of solution without external libraries (or it would just take ages). At the moment I&#8217;m using:</p>
<ol>
<li>GSL for mathematical computations (especially for calculation of Short-Time Fourier Transform using Fast Fourier Transform)</li>
<li>QT and Qwt as libraries for plot management and printing to .svg</li>
<li>pngwriter as library for png files creation (currently is off due to export to .svg from Qwt)</li>
<li>boost &#8211; for everything ;-) boost::filesystem, boost::thread, boost::unit_test_framework etc&#8230;</li>
<li>xParam for parameters parsing</li>
<li>Fluid Studios Memory Manager (also known as Paul Nettle&#8217;s memory manager) as memory leak detector [<em>download from <a title="www.paulnettle.com" href="http://www.paulnettle.com/pub/FluidStudios/MemoryManagers/Fluid_Studios_Memory_Manager.zip" target="_blank">www.paulnettle.com</a></em><em> </em>]</li>
</ol>
<p>As compiler and IDE I&#8217;m using Visual Studio 2005 with SP1.</p>
<p>In following posts I&#8217;ll try to describe problems I encounter and solutions, which can save some time.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/veelck.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/veelck.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/veelck.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/veelck.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/veelck.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=veelck.wordpress.com&amp;blog=4413073&amp;post=6&amp;subd=veelck&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://veelck.wordpress.com/2008/08/05/my-msc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef1c50cce97d99dadebc904206c10b46?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif" medium="image">
			<media:title type="html">veelck</media:title>
		</media:content>
	</item>
	</channel>
</rss>
