<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>kometbomb</title>
	
	<link>http://kometbomb.net</link>
	<description>Journal of my adventures in Programming, the Internet and Life.</description>
	<lastBuildDate>Sun, 11 Oct 2009 20:56:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/kometbomb" type="application/rss+xml" /><feedburner:emailServiceId>kometbomb</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Introducing My Latest Projects</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/I5Xi-Zy1bJg/</link>
		<comments>http://kometbomb.net/2009/09/22/introducing-my-latest-projects/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 22:34:30 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Game programming]]></category>
		<category><![CDATA[Retro gaming]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Video games]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=611</guid>
		<description><![CDATA[<em>... Or, How to Procrastinate Productively.</em> <a href="http://kometbomb.net/wp-content/uploads/2009/09/klystrack3.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/klystrack3-250x187.png" alt="klystrack3" title="klystrack3" width="192" height="144" class="alignright size-thumbnail wp-image-628" style="width:192px;height:144px" /></a>

I decided to make one of my current projects open source and post them on Google Code just for fun. The project is a toolchain that I'm using to remake <em>Thrust</em>. In reality, I decided to divide the project into two separate projects: <a href="http://code.google.com/p/klystron/">the actual game engine</a> and related tools, and <a href="http://code.google.com/p/klystrack/">a music editor</a> that uses the engine. ]]></description>
			<content:encoded><![CDATA[<p><em>&#8230; Or, How to Procrastinate Productively.</em></p>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/09/klystrack3.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/klystrack3-250x187.png" alt="klystrack3" title="klystrack3" width="250" height="187" class="alignright size-thumbnail wp-image-628" /></a></p>
<p>I decided to make one of my current projects open source and post them on Google Code just for fun. The project is a tool chain that I&#8217;m using to remake <em>Thrust</em>. In reality, I decided to divide the project into two separate projects: <a href="http://code.google.com/p/klystron/">the actual game engine</a> (called <em>klystron</em>) and related tools, and <a href="http://code.google.com/p/klystrack/">a music editor</a> that uses the engine. </p>
<p>Here are two videos I made a while ago that demonstrate the engine. The first is the music editor (called <em>klystrack</em>) &#8212; it&#8217;s much less ugly at the moment but the sound synthesis is the same, and that&#8217;s what matters:</p>
<p class="aligncenter" style="text-align:center"><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/WyY-7j5IFEI&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WyY-7j5IFEI&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
<p>The sound engine (&#8221;Cyd&#8221;) is basically a very simple software synthesizer with capabilities comparable to the SID or any 8-bit machine from the 80s. The editor is a fairly standard tracker, much like <a href="http://en.wikipedia.org/wiki/GoatTracker">GoatTracker</a>.</p>
<p>The graphics half of the engine is basically a wrapper around a quite fast collision detection system (pixel-accurate, or it wouldn&#8217;t be much good for a thrustlike) built on <a href="http://www.libsdl.org">SDL</a>. It also does background collisions and drawing as well. As you may have guessed, the whole point is to provide a limited but still helpful set of routines that are useful for creating 2D games not unlike what video games were in 1991.</p>
<p>And, here&#8217;s a proof I&#8217;m actually working on the actual game (the sound effects are created in real time by the sound engine):</p>
<p class="aligncenter" style="text-align:center"><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/Yt1LtVSv5gw&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Yt1LtVSv5gw&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
<p>A note on <a href="http://code.google.com/">Google Code</a>: it&#8217;s rather nice. It provides the standard open source development stuff like source control an such but I really like how clean and hassle-free it is. Adding a project takes a minute and after that it&#8217;s simply coding and some quick documentation on the project wiki. The project wiki is good example of how simple but elegant the system is: the wiki pages actually exists inside the source control as files, just like your source code. </p>
<p>Go check Google Code out and while you&#8217;re at it, contribute on my projects. :)</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2008/07/23/collision-detection-with-occlusion-queries-redux/" title="Collision Detection with Occlusion Queries Redux">Collision Detection with Occlusion Queries Redux</a></li><li><a href="http://kometbomb.net/2008/06/18/thrustlikes/" title="Thrustlikes">Thrustlikes</a></li><li><a href="http://kometbomb.net/2008/04/10/rom-check-fail/" title="ROM CHECK FAIL">ROM CHECK FAIL</a></li><li><a href="http://kometbomb.net/2008/03/24/show-me-yours-and-ill-show-you-mine/" title="Show Me Yours and I&#8217;ll Show You Mine">Show Me Yours and I&#8217;ll Show You Mine</a></li><li><a href="http://kometbomb.net/2008/03/09/dev-stories-from-the-past/" title="Dev Stories from the Past">Dev Stories from the Past</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=I5Xi-Zy1bJg:lu_ivbffBEg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=I5Xi-Zy1bJg:lu_ivbffBEg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=I5Xi-Zy1bJg:lu_ivbffBEg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=I5Xi-Zy1bJg:lu_ivbffBEg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=I5Xi-Zy1bJg:lu_ivbffBEg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=I5Xi-Zy1bJg:lu_ivbffBEg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=I5Xi-Zy1bJg:lu_ivbffBEg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/I5Xi-Zy1bJg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/09/22/introducing-my-latest-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/09/22/introducing-my-latest-projects/</feedburner:origLink></item>
		<item>
		<title>You Can Stop Programming Now</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/qAsoJYWTp_A/</link>
		<comments>http://kometbomb.net/2009/09/08/you-can-stop-programming-now/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 10:36:26 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[256B]]></category>
		<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Raytracing]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=585</guid>
		<description><![CDATA[I'll be deleting all my own source code since perfection has finally been achieved and there is no need for programmers anymore.]]></description>
			<content:encoded><![CDATA[<p class="aligncenter" style="text-align:center"><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/3vzcMdkvPPg&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3vzcMdkvPPg&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0xe1600f&#038;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
<p>The above is <em>puls</em>, a <a href="http://kometbomb.net/2007/10/22/theres-plenty-of-room-at-the-bottom/">256-byte intro</a> by <a href="http://rrrola.wz.cz/">Řrřola</a>. It&#8217;s basically a raytracer with screen space ambient occlusion (which makes it so much realistic and cooler). While <a href="http://www.pouet.net/prod.php?which=3397"><em>tube</em></a> &#8212; which I think was the best 256-byte intro until now (when design and code are judged together) &#8212; also did raytracing of a cylinders, and after that many other intros did similar tracing of more complex surfaces, <em>puls</em> simply crushes all of them with objects that are formed by multiple plane surfaces (e.g. a cube would be a combination of six intersecting planes), a very nice color palette and that delicious ambient occlusion. </p>
<blockquote cite="http://pouet.net/prod.php?which=53816&#038;howmanycomments=25&#038;page=9"><p>Thinking it out in C and sketching it out in asm took about a week, byte crunching took another one&#8230; that&#8217;s like forty hours of full focus and eighty of playing.</p>
</blockquote>
<p>It&#8217;s also really, really slow which is the only minus especially because you can&#8217;t run 16-bit executables on Windows 7, so you have to use <a href="http://www.dosbox.com/">DOSBox</a> to watch it (or, use a <a href="http://www.kolumbus.fi/xtmb/goatsefloppy/#custom">boot floppy</a> to run it or something). <ins datetime="2009-09-08T14:09:45+00:00">There&#8217;s now a Windows port including a screensaver, <a href="http://pouet.net/prod.php?which=53816">see the Pouet.net page for more</a></ins>. A big thank you to nordak5 who was kind enough to upload a video on Youtube.</p>
<p>Řrřola has also included source code with <a href="http://rrrola.wz.cz/downloads.html">the binary that you can find over here</a>. That said, I&#8217;ll be deleting all my own source code since perfection has finally been achieved and there is no need for programmers anymore.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2007/10/22/theres-plenty-of-room-at-the-bottom/" title="There&#8217;s Plenty of Room at the Bottom">There&#8217;s Plenty of Room at the Bottom</a></li><li><a href="http://kometbomb.net/2009/09/22/introducing-my-latest-projects/" title="Introducing My Latest Projects">Introducing My Latest Projects</a></li><li><a href="http://kometbomb.net/2008/03/28/playstation-3-vs-atari-vcs/" title="Playstation 3 vs. Atari VCS">Playstation 3 vs. Atari VCS</a></li><li><a href="http://kometbomb.net/2008/03/25/some-cool-demoscene-stuff/" title="Some Cool Demoscene Stuff">Some Cool Demoscene Stuff</a></li><li><a href="http://kometbomb.net/2008/03/22/amazing-4kb-ray-tracer/" title="Amazing 4KB Ray Tracer">Amazing 4KB Ray Tracer</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=qAsoJYWTp_A:KNRk5LsxBpQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=qAsoJYWTp_A:KNRk5LsxBpQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=qAsoJYWTp_A:KNRk5LsxBpQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=qAsoJYWTp_A:KNRk5LsxBpQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=qAsoJYWTp_A:KNRk5LsxBpQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=qAsoJYWTp_A:KNRk5LsxBpQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=qAsoJYWTp_A:KNRk5LsxBpQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/qAsoJYWTp_A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/09/08/you-can-stop-programming-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/09/08/you-can-stop-programming-now/</feedburner:origLink></item>
		<item>
		<title>Retargeting Images Using Parallax</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/jkr9lgi3qPM/</link>
		<comments>http://kometbomb.net/2009/09/02/retargeting-images-paralla/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 10:10:41 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Image retargeting]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=553</guid>
		<description><![CDATA[
I came up with a neat way to retarget images using a mesh that is transformed by rotating and doing an ortographic (non-perspective) projection. This is generally quite interesting since it can be done using a mesh and simple transformations and so can be done almost completely on the GPU. Even using a mesh can [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsense_square--></p>
<p>I came up with a neat way to <a href="http://www.youtube.com/watch?v=qadw0BRKeMk">retarget images</a> using a mesh that is transformed by rotating and doing an ortographic (non-perspective) projection. This is generally quite interesting since it can be done using a mesh and simple transformations and so can be done almost completely on the GPU. Even using a mesh can be avoided if one uses a height map à la <a href="http://en.wikipedia.org/wiki/Parallax_mapping">parallax mapping</a> to alter the texture coordinates so just one quad needs to be drawn (with a suitable fragment shader, of course).</p>
<p>The idea is simply to have areas of images at a slope depending of how much the areas should be resized when retargeting. The slope angle depends of from what angle the source image is viewed to get the retargeting effect since the idea is to eliminate the viewing angle using the slope. </p>
<p>Here&#8217;s a more detailed explanation:</p>
<ol>
<li>
<p>Create an energy map of the source image, areas of interest have high energy</p>
</li>
<li>
<p>Traverse the energy map horizontally accumulating the energy value of the current pixel and the accumulated sum from the previous pixel</p>
</li>
<li>
<p>Repeat the previous step vertically using the accumulated map from the previous step. The accumulated energy map now &#8220;grows&#8221; from the upper left corner to the lower right corner. You may need a lot of precision for the map</p>
</li>
<li>
<p>Create a mesh with the x and y coordinates of each vertex encoding the coordinates of the source image (and thus also the texture coordinates) and the z coordinate encoding the accumulated energy. The idea is to have all areas of interest at a steep slope and other areas with little or no slope</p>
</li>
<li>
<p>Draw the mesh with ortographic projection, using depth testing and textured with the source image</p>
</li>
<li>
<p>Rotate the mesh around the Y axis to retarget image horizontally and around the X axis to retarget image vertically</p>
</li>
</ol>
<p>Here is a one-dimensional example (sorry for the awful images):</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 339px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/red-dots.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/red-dots.png" alt="Source image" title="red-dots" width="329" height="79" class="size-full wp-image-554" /></a><p class="wp-caption-text">Source image</p></div>
<p>The red dots represent areas of interest, such as sharp edges that we don&#8217;t want to resize as much as we want to resize the areas between the details. We then elevate our line for every red dot:</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 339px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/red-dots1.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/red-dots1.png" alt="red-dots" title="red-dots" width="302" height="132" class="aligncenter size-full wp-image-555" /></a><p class="wp-caption-text">Elevated mesh</p></div>
<p>Imagine the above example as something you would do for every row and column of a two-dimensional image. Now, when the viewer views the mesh (which is drawn without perspective) he or she sees the original image:</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 339px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/red-dots3.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/red-dots3.png" alt="red-dots3" title="red-dots3" width="328" height="336" class="aligncenter size-full wp-image-556" /></a><p class="wp-caption-text">Viewing the mesh from zero angle</p></div>
<p>However, if the viewing angle is changed, the red dots don&#8217;t move in relation to each other as much as the areas that are not elevated when they are projected on the view plane. Consider the below example:</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 339px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/red-dots31.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/red-dots31.png" alt="red-dots3" title="red-dots3" width="300" height="203" class="aligncenter size-full wp-image-557" /></a><p class="wp-caption-text">Viewing the mesh from an angle (gray line is the projected mesh)</p></div>
<p>Note how the unelevated line segments will seem shorter from the viewer&#8217;s perspective while the distance between the red dots is closer to the original distance. The blue dots in the above image show how areas that have little energy and so are not on a slope, thus will be move more compared to the red dots.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2007/09/04/image-retargeting/" title="Image retargeting">Image retargeting</a></li><li><a href="http://kometbomb.net/2008/07/23/collision-detection-with-occlusion-queries-redux/" title="Collision Detection with Occlusion Queries Redux">Collision Detection with Occlusion Queries Redux</a></li><li><a href="http://kometbomb.net/2008/02/20/lets-make-a-planet/" title="Let&#8217;s make a planet">Let&#8217;s make a planet</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=jkr9lgi3qPM:K1z22cbrtt8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=jkr9lgi3qPM:K1z22cbrtt8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=jkr9lgi3qPM:K1z22cbrtt8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=jkr9lgi3qPM:K1z22cbrtt8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=jkr9lgi3qPM:K1z22cbrtt8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=jkr9lgi3qPM:K1z22cbrtt8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=jkr9lgi3qPM:K1z22cbrtt8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/jkr9lgi3qPM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/09/02/retargeting-images-paralla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/09/02/retargeting-images-paralla/</feedburner:origLink></item>
		<item>
		<title>Better Tag Cloud for Wordpress</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/ApTaUkAwdM0/</link>
		<comments>http://kometbomb.net/2009/09/01/better-tag-cloud-for-wordpress/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 09:41:11 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Tag cloud]]></category>
		<category><![CDATA[Tagging]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=548</guid>
		<description><![CDATA[The original way how Wordpress sizes the tags in the tag cloud is a bit bad: if you have one tag that is used a lot, e.g. for every post, it makes all other tags too small to have any variance when compared to other less popular tags. I changed the way Wordpress determines the size, <a href="http://core.trac.wordpress.org/ticket/10703">get the patch here</a>. It is also possible to define your own scaling algorithm, see the patch for more information.]]></description>
			<content:encoded><![CDATA[<p>The original way how Wordpress sizes the tags in the tag cloud is a bit bad: if you have one tag that is used a lot, e.g. for every post, it makes all other tags too small to have any variance when compared to other less popular tags. I changed the way Wordpress determines the size, <a href="http://core.trac.wordpress.org/ticket/10703">get the patch here</a>. It is also possible to define your own scaling algorithm, see the patch for more information.</p>
<div id="attachment_550" class="wp-caption aligncenter" style="width: 560px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/old-tags.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/old-tags-550x173.png" alt="This is how Wordpress shows the cloud as of version 2.8.4" title="Wordpress 2.8.4" width="550" height="173" class="size-medium wp-image-550" /></a><p class="wp-caption-text">This is how Wordpress shows the cloud as of version 2.8.4</p></div>
<div id="attachment_549" class="wp-caption aligncenter" style="width: 560px"><a href="http://kometbomb.net/wp-content/uploads/2009/09/new-tags.png"><img src="http://kometbomb.net/wp-content/uploads/2009/09/new-tags-550x202.png" alt="This is how the cloud is changed by my patch" title="My patch" width="550" height="202" class="size-medium wp-image-549" /></a><p class="wp-caption-text">This is how the cloud is changed by my patch</p></div>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2009/05/21/seen-monitor-bot-activity-on-your-wordpress-blog/" title="Seen &#8211; Monitor bot activity on your Wordpress blog">Seen &#8211; Monitor bot activity on your Wordpress blog</a></li><li><a href="http://kometbomb.net/projects/wordpress-plugins/" title="Wordpress plugins">Wordpress plugins</a></li><li><a href="http://kometbomb.net/2008/03/01/use-macross-to-automate-common-wordpress-post-content/" title="Use Macross to automate common Wordpress post content">Use Macross to automate common Wordpress post content</a></li><li><a href="http://kometbomb.net/2008/02/24/google-chart-api-is-pretty-cool/" title="Google Chart API is pretty cool">Google Chart API is pretty cool</a></li><li><a href="http://kometbomb.net/2008/02/18/a-simple-statistics-plugin-for-wordpress/" title="A simple statistics plugin for Wordpress">A simple statistics plugin for Wordpress</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=ApTaUkAwdM0:usij4YcIK1Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=ApTaUkAwdM0:usij4YcIK1Y:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=ApTaUkAwdM0:usij4YcIK1Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=ApTaUkAwdM0:usij4YcIK1Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=ApTaUkAwdM0:usij4YcIK1Y:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=ApTaUkAwdM0:usij4YcIK1Y:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=ApTaUkAwdM0:usij4YcIK1Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/ApTaUkAwdM0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/09/01/better-tag-cloud-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/09/01/better-tag-cloud-for-wordpress/</feedburner:origLink></item>
		<item>
		<title>OpenGL, Static Arrays and glMaterialfv</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/yRgzUDVUGmA/</link>
		<comments>http://kometbomb.net/2009/07/19/opengl-static-arrays-and-glmaterialfv/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 20:09:27 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=505</guid>
		<description><![CDATA[I stumbled upon weird behavior of OpenGL: I was setting material properties with <tt>glMaterialfv</tt> and for some reason this did not change the parameters if done multiple times in succession. I.e. when I drew two versions of the same object on the screen side by side with different material parameters, they both looked the same.]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon weird behavior of OpenGL (OGL 1.4, Catalyst 8.612, GCC if that matters): I was setting material properties with <tt><a href="http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml">glMaterialfv</a></tt> and for some reason this did not change the parameters if done multiple times in succession. I.e. when I drew two versions of the same object on the screen side by side with different material parameters, they both looked the same.</p>
<p>The reason seems to be I was using a static array to store the parameters like this:</p>
<pre><code>void set_params(const Color&amp; diffuse)
{
  static float d[4] = {diffuse.r, diffuse.g, diffuse.b, diffuse.a};
  glMaterialfv(GL_FRONT, GL_DIFFUSE, d);
}</code></pre>
<p>The only explanation I can think of is OpenGL doesn&#8217;t copy or use the values before <tt>glMaterialfv</tt> returns but instead reads them later, at which time there could be different values in the array (because it&#8217;s declared static) set for some other object being drawn. But that doesn&#8217;t explain why it can read the array (which AFAIK will be located on stack) later because the address to the then-valid location on the stack most likely won&#8217;t point to the parameters. Maybe the driver assumes anything that&#8217;s not on the stack can be used later and stuff located on stack will be copied. Who knows?</p>
<p>In any case, not declaring the array as static fixed the problem.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2008/08/19/out-of-memory/" title="Out of Memory?">Out of Memory?</a></li><li><a href="http://kometbomb.net/2008/07/23/collision-detection-with-occlusion-queries-redux/" title="Collision Detection with Occlusion Queries Redux">Collision Detection with Occlusion Queries Redux</a></li><li><a href="http://kometbomb.net/2008/03/21/a-tiny-xml-parser/" title="A Tiny XML Parser">A Tiny XML Parser</a></li><li><a href="http://kometbomb.net/2008/03/09/pointers-pointers/" title="Pointers? Pointers.">Pointers? Pointers.</a></li><li><a href="http://kometbomb.net/2007/11/07/what-exactly-does-gcc-optimize/" title="What exactly does GCC optimize?">What exactly does GCC optimize?</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=yRgzUDVUGmA:YDGP_I3wsA0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=yRgzUDVUGmA:YDGP_I3wsA0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=yRgzUDVUGmA:YDGP_I3wsA0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=yRgzUDVUGmA:YDGP_I3wsA0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=yRgzUDVUGmA:YDGP_I3wsA0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=yRgzUDVUGmA:YDGP_I3wsA0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=yRgzUDVUGmA:YDGP_I3wsA0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/yRgzUDVUGmA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/07/19/opengl-static-arrays-and-glmaterialfv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/07/19/opengl-static-arrays-and-glmaterialfv/</feedburner:origLink></item>
		<item>
		<title>Wordle and Classics</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/NXoATnqNdV8/</link>
		<comments>http://kometbomb.net/2009/07/19/wordle-and-classics/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 13:20:01 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Wordle]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=500</guid>
		<description><![CDATA[More <a href="http://www.wordle.net/">Wordle</a> madness.]]></description>
			<content:encoded><![CDATA[<p>More <a href="http://www.wordle.net/">Wordle</a> madness. Try to guess if you recognize the works summarized below (no cheating allowed!)</p>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/pulp-fiction.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/pulp-fiction-550x96.png" alt="pulp-fiction" title="pulp-fiction" width="550" height="96" class="aligncenter size-medium wp-image-501 corners iradius16" /></a></p>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/slaughterhouse-five.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/slaughterhouse-five-550x97.png" alt="slaughterhouse-five" title="slaughterhouse-five" width="550" height="97" class="corners iradius16 aligncenter size-medium wp-image-502" /></a></p>
<p>The first is easy but the second probably is something you uneducated mooks should read.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2009/07/01/wordle-and-30-years-of-games/" title="Wordle and 30 Years of Games">Wordle and 30 Years of Games</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=NXoATnqNdV8:BBkPh9zuWtQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=NXoATnqNdV8:BBkPh9zuWtQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=NXoATnqNdV8:BBkPh9zuWtQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=NXoATnqNdV8:BBkPh9zuWtQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=NXoATnqNdV8:BBkPh9zuWtQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=NXoATnqNdV8:BBkPh9zuWtQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=NXoATnqNdV8:BBkPh9zuWtQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/NXoATnqNdV8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/07/19/wordle-and-classics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/07/19/wordle-and-classics/</feedburner:origLink></item>
		<item>
		<title>Wordle and 30 Years of Games</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/7n10jOH7mGY/</link>
		<comments>http://kometbomb.net/2009/07/01/wordle-and-30-years-of-games/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:54:22 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Word cloud]]></category>
		<category><![CDATA[Wordle]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=480</guid>
		<description><![CDATA[<img src="http://kometbomb.net/wp-content/uploads/2009/07/small.png" alt="small" style="margin: 8px 8px 8px 8px" title="small" width="85" height="87" class="alignright size-full wp-image-485" /> Here's a superficial analysis on game titles. I have used <a href="http://www.wordle.net/">Wordle</a> to generate a word cloud from lists of recurring phrases in game titles.

What the word clouds show are very generic words like "space" or "super", the number two (a game series is more likely to be two than three games long) and multiple word phrases which usually are popular game series, or games with many expansion packs. It is interesting that the generic words tend to be the same across 30 years -- all generations of gamers seem to prefer dragons. Another point of interest is that a phrase from a 1980s game title is much less likely an established brand as it most likely is in the 1990s. Also, in the 1990s is became common that a game title has the release year attached to it, since EA et al started to churn out minor updates to their sports games as brand new releases.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a superficial analysis on game titles. I have used <a href="http://www.wordle.net/">Wordle</a> to generate a word cloud from lists of recurring phrases in game titles. What I generally wanted to know is how a generic title from 1985 would differ from a generic title from 2009. The size of a word or phrase is relative to how many different titles contain the text and also how complex the phrase is (so one word long &#8220;phrases&#8221; won&#8217;t dominate the more interesting, relatively rare phrases). </p>
<p>What the word clouds show are very generic words like &#8220;space&#8221; or &#8220;super&#8221;, the number two (a game series is more likely to be two than three games long) and multiple word phrases which usually are popular game series, clichés (Foobar <em>of Doom</em>) or games with many versions or expansion packs. It is interesting that the generic words tend to be the same across 30 years &#8212; all generations of gamers seem to love dragons. Another point of interest is that a phrase from a 1980s game title is much less likely an established brand as it most likely is in the 1990s. Also, in the 1990s is became common that a game title has the release year attached to it, since EA et al started to churn out minor updates to their sports games as brand new releases.</p>
<p>30 years of games. Find your favorites!</p>
<div style="float:left">
<h3 id="toc-1980-2009">1980-2009</h3>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/1980-2009.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/1980-2009-550x285.png" alt="1980-2009" title="1980-2009" width="550" height="285" class="aligncenter size-medium wp-image-491" /></a>
</div>
<div style="float:left">
<h3 id="toc-1980-1989">1980-1989</h3>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/1980-1989.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/1980-1989-550x321.png" alt="1980-1989" title="1980-1989" width="550" height="321" class="aligncenter size-medium wp-image-482" /></a>
</div>
<div style="float:left">
<h3 id="toc-1990-1999">1990-1999</h3>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/1990-1999.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/1990-1999-550x286.png" alt="1990-1999" title="1990-1999" width="550" height="286" class="aligncenter size-medium wp-image-484" /></a>
</div>
<div style="float:left">
<h3 id="toc-2000-2009">2000-2009</h3>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/07/2000-2009.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/07/2000-2009-550x267.png" alt="2000-2009" title="2000-2009" width="550" height="267" class="aligncenter size-medium wp-image-483" /></a>
</div>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2009/09/22/introducing-my-latest-projects/" title="Introducing My Latest Projects">Introducing My Latest Projects</a></li><li><a href="http://kometbomb.net/2009/07/19/wordle-and-classics/" title="Wordle and Classics">Wordle and Classics</a></li><li><a href="http://kometbomb.net/2008/07/23/collision-detection-with-occlusion-queries-redux/" title="Collision Detection with Occlusion Queries Redux">Collision Detection with Occlusion Queries Redux</a></li><li><a href="http://kometbomb.net/2008/06/18/thrustlikes/" title="Thrustlikes">Thrustlikes</a></li><li><a href="http://kometbomb.net/2008/04/10/rom-check-fail/" title="ROM CHECK FAIL">ROM CHECK FAIL</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=7n10jOH7mGY:x2S2v0aauQc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7n10jOH7mGY:x2S2v0aauQc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7n10jOH7mGY:x2S2v0aauQc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=7n10jOH7mGY:x2S2v0aauQc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7n10jOH7mGY:x2S2v0aauQc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=7n10jOH7mGY:x2S2v0aauQc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7n10jOH7mGY:x2S2v0aauQc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/7n10jOH7mGY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/07/01/wordle-and-30-years-of-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/07/01/wordle-and-30-years-of-games/</feedburner:origLink></item>
		<item>
		<title>Seen – Monitor bot activity on your Wordpress blog</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/iP0FQnBXTDM/</link>
		<comments>http://kometbomb.net/2009/05/21/seen-monitor-bot-activity-on-your-wordpress-blog/#comments</comments>
		<pubDate>Thu, 21 May 2009 20:06:15 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Bots]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Search engines]]></category>
		<category><![CDATA[Website statistics]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=444</guid>
		<description><![CDATA[This plugin basically keeps track of visiting search engine spiders and other bots and crawlers. This is useful so you can see if a page has been indexed in e.g. Google. Also, you can immediately see if a modified page has been indexed, which can be harder to check by just searching for the page (which of course could show the older version of the page).]]></description>
			<content:encoded><![CDATA[<p><a href="http://kometbomb.net/wp-content/uploads/2009/05/watchlist.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/05/watchlist.png" alt="watchlist" title="watchlist" width="330" height="107" class="alignright size-full wp-image-446" /></a> <strong>Seen</strong> is a Wordpress plugin that shows when and which bots visit your blog. This can be useful to see if a page ever gets visited by bots (so you can adjust <kbd>robots.txt</kbd> or so) or simply to amuse yourself if you are obsessed with what is happening with your blog (everyone knows you are).</p>
<p>Additionally, you can get a better understanding of how fast a page gets indexed by search engines and how fast it gets reindexed after you have modified the page. I found it interesting to note what&#8217;s the general strategy of different bots, now I know Yahoo <em>really</em> keeps visiting the pages and GoogleBot just very rarely visits older pages (but indexes new pages <em>really</em> quickly).</p>
<p>The plugin uses some simple heuristics to decide if a visiting user agent is a bot and puts it in a list of suspected bots (along with data of which pages it visited and when). You can then remove all the user agents that are not bots. Basically, This means you don&#8217;t need to manually add any bots at all, you simply weed out the false alerts. Of course, you can explicitly specify bots by their user agent string or host address.</p>
<h3 id="toc-installing-and-using-seen">Installing and using Seen</h3>
<p><a href="http://kometbomb.net/wp-content/uploads/2009/05/unindexed.png"><img style="border:0" src="http://kometbomb.net/wp-content/uploads/2009/05/unindexed.png" alt="unindexed" title="unindexed" width="459" height="162" class="alignleft size-full wp-image-453" /></a>After installing the plugin (extract the zip file in <strong>wp-content/plugins/</strong> and activate the plugin) data will be automatically recorded. You can monitor what is happening directly from on the Dashboard (there will be two new widgets, a list of bots on the watchlist and a list of unindexed pages). Also, if you go to <strong>Dashboard > Seen</strong> you can see more detailed lists and also the suspected bots list. I think it&#8217;s all quite self-explaining. Hint: you can click the star to add bots to the watchlist &#8212; clicking the yellow star will remove them.</p>
<p>In the options you can combine bots (i.e. when two or more entries have a differing user agent string but really are the same bot), delete them and edit them. The different categories are there so you can e.g. put Technorati bot in &#8220;<em>Search engine (blogs)</em>&#8221; which makes Seen not care if the bot has seen the latest comments. You can also categorize bots as &#8220;<em>Browser</em>&#8221; which means their data will be hidden as it probably won&#8217;t interest you.</p>
<p class="download"><a href='http://kometbomb.net/wp-content/uploads/2009/05/kbseen-0.5.1.rar'>Seen 0.5.1</a> (Supports WP 2.7 thru 2.8)</p>
<h4 id="toc-whats-new-in-0-5-1">What&#8217;s new in 0.5.1</h4>
<p>See <a href="http://kometbomb.net/2009/05/21/seen-monitor-bot-activity-on-your-wordpress-blog/#comment-817">comment #2</a> below.</p>
<p><strong>Note:</strong> This is not yet 1.0 quality but it should work OK. By downloading and installing the plugin, you acknowledge no responsibility lays on the plugin author.</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/projects/wordpress-plugins/" title="Wordpress plugins">Wordpress plugins</a></li><li><a href="http://kometbomb.net/2008/03/01/use-macross-to-automate-common-wordpress-post-content/" title="Use Macross to automate common Wordpress post content">Use Macross to automate common Wordpress post content</a></li><li><a href="http://kometbomb.net/2009/09/01/better-tag-cloud-for-wordpress/" title="Better Tag Cloud for Wordpress">Better Tag Cloud for Wordpress</a></li><li><a href="http://kometbomb.net/2008/02/24/google-chart-api-is-pretty-cool/" title="Google Chart API is pretty cool">Google Chart API is pretty cool</a></li><li><a href="http://kometbomb.net/2008/02/18/a-simple-statistics-plugin-for-wordpress/" title="A simple statistics plugin for Wordpress">A simple statistics plugin for Wordpress</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=iP0FQnBXTDM:z62z2T9LPQ0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=iP0FQnBXTDM:z62z2T9LPQ0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=iP0FQnBXTDM:z62z2T9LPQ0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=iP0FQnBXTDM:z62z2T9LPQ0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=iP0FQnBXTDM:z62z2T9LPQ0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=iP0FQnBXTDM:z62z2T9LPQ0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=iP0FQnBXTDM:z62z2T9LPQ0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/iP0FQnBXTDM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/05/21/seen-monitor-bot-activity-on-your-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/05/21/seen-monitor-bot-activity-on-your-wordpress-blog/</feedburner:origLink></item>
		<item>
		<title>Migrating From 32-bit XP To 64-bit Windows 7</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/7lKJypPmjXk/</link>
		<comments>http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#comments</comments>
		<pubDate>Thu, 07 May 2009 20:52:09 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=422</guid>
		<description><![CDATA[Here's some quick pointers and answers to questions I, the stubborn XP user, had that made me hesitate trying out the new Windows 7 RC. I didn't immediately find such info on the webs and as a chronic luddite I didn't even think about finding out until absolutely necessary. ]]></description>
			<content:encoded><![CDATA[<p><!--adsense_square-->
<div class="toc">
<ol>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-quick-summary">Quick summary</a></li>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-introduction">Introduction</a></li>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-first-impressions">First impressions</a></li>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-problems">Problems</a></li>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-useful-tips">Useful tips</a>
<ol>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-how-to-migrate-your-old-firefoxthunderbird-profiles">How to migrate your old Firefox/Thunderbird profiles</a></li>
<li><a href="http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/#toc-a-general-way-for-migrating-programs-and-settings">A general way for migrating programs and settings</a></li>
</ol>
</li>
</ol>
</div>
<h3 id="toc-quick-summary">Quick summary</h3>
<p>Here is a quick summary (based on the search terms people use when finding this page):</p>
<style type="text/css">
.goldenrules { border: 2px black solid; margin: 10px; padding: 10px; background-color: #eee; }
.goldenrules strong { color: red; }
</style>
<ul class="goldenrules">
<li><strong>Will &lt;<em>insert software name here</em>&gt; run on Windows 7?</strong> In short: <strong>Yes</strong>, most likely.</li>
<li><strong>Will I be able to open documents created using &lt;<em>insert software name here</em>&gt; on 64-bit Windows 7?</strong> <strong>Yes</strong>, most likely. The 32-bit to 64-bit transition only affects the applications itself, not files. And, most of all you can simply use the 32-bit version of the program like you used to use.</li>
<li>The whole 32-bit vs. <strong>64-bit</strong> thing is a <strong>non-issue</strong> and gets better all the time as developers update their software. A bigger issue is if a program works on <em>Windows 7</em>, which it should if it&#8217;s written at least somewhat properly (which is the case with 95% of software).</li>
<li>Yes, even <strong>games still work</strong> quite well, especially those released only a year or two ago</li>
<li><strong>Do not simply format C:</strong> &#8212; you need to reinstall but you can copy a lot of stuff from the previous Windows installation (see below how)</li>
<li><strong>No major problems</strong> in daily use</li>
<li><strong>No major slowdowns</strong> even with Aero enabled</li>
<li>If you are knowledgeable enough to worry about the above, you can overcome most problems/differences you&#8217;ll encounter</li>
<li>Just do it already!</li>
</ul>
<p><!--adsense_inside_post--></p>
<h3 id="toc-introduction">Introduction</h3>
<p>Here&#8217;s some quick pointers and answers to questions I, a stereotypical diehard XP user, had that made me hesitate trying out the new <a href="http://www.microsoft.com/windows/windows-7/download.aspx">Windows 7 RC</a>. I didn&#8217;t immediately find such info on the webs and as a chronic luddite I didn&#8217;t even think about finding out until absolutely necessary. </p>
<p>My goals, as always with OS installs, were to minimize reinstalling of apps and data so that I can pretty much pick up where I left. Even though it&#8217;s common for even experienced or otherwise sane people to advocate a simple reformat of the hard drive and installing everything yet again, it&#8217;s just magical thinking to me (although it does make things simpler, but more laborous). In my experience, it takes just a bit of planning to avoid that. A tiny bit. What I did was taking backups of the most vital data (emails, most cherished boobie picture bookmarks and such) but I knew beforehand that&#8217;s not a part of plan B, even.</p>
<p>Then, I just installed the new OS. </p>
<h3 id="toc-first-impressions">First impressions</h3>
<p>After some waiting and a reboot or two, the following is a list of what went through my head:</p>
<ul>
<li>I was worried about if old programs still work. <strong>Most programs you used to use in 32-bit XP <em>should</em> work OK</strong>. You simply drop them in <strong>C:\Program Files (x86)</strong>. Generally, I think you should not have trouble with common (non-game) programs because they are not native 64-bit code but see below.</li>
<li>Windows 7 didn&#8217;t remove my <strong>C:\Documents and Settings</strong>, even though for a short moment I thought it did. It&#8217;s simply relocated to <strong>C:\Windows.old</strong>, as are the <strong>Program Files</strong> folder and of course <strong>C:\Windows</strong> is there too in case you need it.</li>
<li>The <strong>Application Data</strong> and the <strong>Local Settings\Application Data</strong> folders that previously were right under the user directory are now in <strong>C:\Users\kometbomb\AppData\</strong> and <strong>C:\Users\kometbomb\AppData\Local\</strong>, respectively. I just dropped the Firefox and Thunderbird profile folders in there and here I am again with the same setup.</li>
<li>I immediately noticed the way I set Viewer2 as the default program for image files no longer works in Windows 7, so this might be a minor annoyance in case someone else does it the way I do. In the Control Panel there&#8217;s a working way to change the default programs manually, although I would hate to do it for more than the 4 different extensions Viewer2 needs. It seems you have to click every extension through and select the program you want to open them. Stuff like this probably is avoided if the program is done exactly as the MS specs tell etc. but the reality is that not everyone did that.</li>
<li>You will have trouble with file permissions if you were using NTFS (especially if this is your first time with more restrictive permissions), but this has always been the case if you move files around inside the same OS and the file owner is different (i.e. you but under a different OS etc.). Currently, I <del datetime="2009-05-07T21:56:59+00:00">have</del> had an interesting problem which causes some files being unable to open even though the folder has the permissions set as they should be. Even Explorer shows the files without the modification date and most programs report they can&#8217;t find the file (which in reality means they can&#8217;t open it even though the file is there).
<p>Found a solution: some (seemingly random) files are recognized as coming from another computer (i.e. my previous OS) and they have to manually be unblocked (file properties -> Unblock). I don&#8217;t know why 99% files that are in the same directory work without a question&#8230;</p>
<p>Personally, I think they could have done without this kind of stuff somehow. Yeah, big boys&#8217; OS&#8217;s have that kind of stuff but it&#8217;s just confusing if you really don&#8217;t want to know about that. After all, it&#8217;s the computer that should do the work. It&#8217;s kind of interesting how otherwise the interface is very much like something your mom would use after a bit of practice but if you just right click a file and go in the properties, there be dragons there.</li>
</ul>
<p><!--adsense_inside_post--></p>
<h3 id="toc-problems">Problems</h3>
<p>After <del datetime="2009-08-14T12:23:57+00:00">a week</del> months of use, here&#8217;s the problems I have encountered:</p>
<ul>
<li>A total of two BSOD&#8217;s in a few weeks. Both times occurred when I played a video (in Windows Media Player, I mostly use <a href="http://sourceforge.net/projects/guliverkli/">Media Player Classic</a> and there has been no problems with it). The crash happened when the video card tried to reboot itself but failed to do so (crash happened in <strong>atikmdag.sys</strong> which is responsible of the reboot stuff). Good news: I think this is related to the AVIVO technology my card uses since I have had no problems except with WMP (because I am guessing MPC won&#8217;t utilize AVIVO &#8212; this is very much a thin, optimistic hunch, though).
<p><strong>Update (2009-08-14):</strong> Haven&#8217;t gotten <em>any</em> BSOD&#8217;s in two months or so. Additionally, my video card has rebooted a few times successfully (which is still annoying but not fatal) so I guess either Microsoft or ATI fixed the issue.</li>
<li>It is not possible to mix and match 32-bit and 64-bit binaries freely. That is, a 32-bit program can&#8217;t use a 64-bit library and vice versa. Some examples when this is something that is the user&#8217;s problem, too:
<ul>
<li>A 64-bit media player can&#8217;t use the old 32-bit codecs. So, for some videos you&#8217;ll be using the 32-bit version of, say, <a href="http://sourceforge.net/projects/guliverkli/">Media Player Classic</a>.</li>
<li>Let&#8217;s imagine you compile your hobby project as a 64-bit app for fun. Oops, all the libraries you are used to use are 32-bit and you for some reason can&#8217;t/don&#8217;t bother to compile them as 64-bit DLL&#8217;s. Solution: You revert back to 32-bit code.</li>
<li>Shell extensions (e.g. WinRAR&#8217;s &#8220;Extract to here&#8230;&#8221; when you right click a file and such things) of 32-bit programs that otherwise work perfectly won&#8217;t work anymore (since the extensions are DLL&#8217;s with 32-bit code in them and they can&#8217;t be used by Explorer which is not 32-bit). Solution: Use a 64-bit version of the program (which often still need you to double click on a .reg file to enable the extensions).</li>
</ul>
</li>
<li>Almost constant high CPU use when nothing of value is happening. The culprit was WMPNetworkSvc (I really like the new Performance Monitor that shows an average of used resources and not just the current level of use &#8212; makes it easier to catch those processes that use tons of power except when you are looking). I disabled the service in <strong>Control Panel\System and Security\Administrative Tools\Services</strong> as it sounded like it&#8217;s not useful for me (the label on the tin says it shares media across UPnP devices, whatever that means).</li>
</ul>
<p>Overall, I conclude there will be some problems but nothing that you can&#8217;t fix. I am happy with Windows 7 and relieved the whole 32/64-bit issue was nothing but a overblown scare. Some things about the GUI I don&#8217;t like but then again it&#8217;s usually just something you have to learn to do a bit differently, not that you can&#8217;t do something anymore.</p>
<h3 id="toc-useful-tips">Useful tips</h3>
<h4 id="toc-how-to-migrate-your-old-firefoxthunderbird-profiles">How to migrate your old Firefox/Thunderbird profiles</h4>
<ol>
<li>
<p>Install Firefox and run once so all the directories and files will be created.</p>
</li>
<li>
<p>Exit Firefox.</p>
</li>
<li>
<p>Go to <strong>C:\Users\YourName\AppData\Roaming\Mozilla\Firefox\Profiles</strong> (AppData might be hidden, you can simply just type in the path and press return).</p>
</li>
<li>
<p>Copy the old profile directory (e.g. <strong>C:\Documents and Settings\YourName\Application Data\Mozilla\Firefox\Profiles\dl34875xyz</strong> to the Win7 directory above. If you have multiple profiles, just copy them all.</p>
</li>
<li>
<p>Copy <strong>C:\Documents and Settings\YourName\Application Data\Mozilla\Firefox\profiles.ini</strong> to <strong>C:\Users\YourName\AppData\Roaming\Mozilla\Firefox\profiles.ini</strong>. Also, open the .ini with Notepad and double check the lines that say &#8220;<tt>Path=Profiles/xyz123.default</tt>&#8221; etc. are relative, i.e. that the path starts with &#8220;<tt>Profiles/</tt>&#8220;.</p>
</li>
<li>
<p>Open Firefox and it should now load your old default profile!</p>
</li>
</ol>
<p>To migrate Thunderbird profiles, do the same for the <strong>Mozilla\Thunderbird</strong> directory.</p>
<h4 id="toc-a-general-way-for-migrating-programs-and-settings">A general way for migrating programs and settings</h4>
<p>This should work for programs that do not use the registry to store settings. Note that this also means uninstall information will not be migrated and you may need to delete files manually. Try the below method only if you have a basic understanding what you are doing (which said I&#8217;ll add it&#8217;s not hard at all &#8212; just don&#8217;t blame me for anything <em>you</em> did.)</p>
<p>I assume the old files from the previous installation are in <strong>C:\Windows.old</strong> which should be the default. </p>
<ol>
<li>
<p>Copy the program folder from <strong>C:\Windows.old\Program Files</strong> to <strong>C:\Program Files (x86)</strong></p>
</li>
<li>
<p>Copy the settings folder from <strong>C:\Documents and Settings\Username\Application Data\Local Settings</strong> to <strong>C:\UserData\Username\AppData\Roaming</strong>. You may need to find out which folder to move but generally it&#8217;s <strong>C:\Documents and Settings\Username\Manufacturer Name\Software Name</strong></p>
</li>
<li>
<p>Create a shortcut on the desktop by dragging <strong>C:\Program Files (x86)\Software Name\Software.exe</strong> with the right mouse button on the desktop and selecting &#8220;Create shortcuts here&#8221;. Again, you need to find out which file is the executable that has to be run to run the migrated software.</p>
</li>
<li>
<p>Double click the new shortcut and cross your fingers!</p>
</li>
</ol>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2008/04/01/get-your-act-together-mozilla/" title="Get your act together, Mozilla">Get your act together, Mozilla</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=7lKJypPmjXk:3LCbEElFRcM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7lKJypPmjXk:3LCbEElFRcM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7lKJypPmjXk:3LCbEElFRcM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=7lKJypPmjXk:3LCbEElFRcM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7lKJypPmjXk:3LCbEElFRcM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=7lKJypPmjXk:3LCbEElFRcM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=7lKJypPmjXk:3LCbEElFRcM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/7lKJypPmjXk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/05/07/migrating-from-32-bit-xp-to-64-bit-windows-7/</feedburner:origLink></item>
		<item>
		<title>Viewer2 Status</title>
		<link>http://feedproxy.google.com/~r/kometbomb/~3/SWD0F2FAocI/</link>
		<comments>http://kometbomb.net/2009/04/10/viewer2-status/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 07:11:12 +0000</pubDate>
		<dc:creator>kometbomb</dc:creator>
				<category><![CDATA[Viewer2]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kometbomb.net/?p=417</guid>
		<description><![CDATA[Good news. There will be a new version of Viewer2 available soon. In addition to fixing the bugs that have been waiting for a fix for a year or so, it will be a significant improvement in performance (namely proper multi-threaded image loading that results in a lot smoother user interface especially when browsing over slow network connections) and also how the user interface is built. 
]]></description>
			<content:encoded><![CDATA[<p>Good news. A new version of Viewer2 will be available in the near future. In addition to fixing the bugs that have been waiting for a fix for a year or so, it will be a significant improvement in performance (namely proper multi-threaded image loading that results in a lot smoother user interface especially when browsing over slow network connections) and also how the user interface works. </p>
<p>For example, there&#8217;s a new tag cloud view, a more traditional grid based thumbnail list and an improved version (or, a total rewrite) of the light table view which was the only view available until now (with more physical image groups that can contain other subgroups &#8212;  in fact you can view a directory tree this way popping open the directories). Overall, it&#8217;s pretty sweet.</p>
<p>No estimates when it will be done, except for the infamous &#8220;when it&#8217;s done.&#8221;</p>
<h3  class="related_post_title">You might also like...</h3><ul class="related_post"><li><a href="http://kometbomb.net/2007/10/17/viewer-build-3664/" title="Viewer2 Build 3664">Viewer2 Build 3664</a></li><li><a href="http://kometbomb.net/2007/10/07/viewer-build-3350/" title="Viewer2 Build 3350">Viewer2 Build 3350</a></li><li><a href="http://kometbomb.net/2007/10/03/viewer2-build-3321/" title="Viewer2 Build 3321">Viewer2 Build 3321</a></li><li><a href="http://kometbomb.net/2007/08/16/viewer2-build-2630/" title="Viewer2 Build 2630">Viewer2 Build 2630</a></li><li><a href="http://kometbomb.net/2007/07/03/viewer2-build-2354/" title="Viewer2 Build 2354">Viewer2 Build 2354</a></li></ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kometbomb?a=SWD0F2FAocI:KnKtJlhO4ZM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=SWD0F2FAocI:KnKtJlhO4ZM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=SWD0F2FAocI:KnKtJlhO4ZM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=SWD0F2FAocI:KnKtJlhO4ZM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=SWD0F2FAocI:KnKtJlhO4ZM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/kometbomb?i=SWD0F2FAocI:KnKtJlhO4ZM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kometbomb?a=SWD0F2FAocI:KnKtJlhO4ZM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/kometbomb?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/kometbomb/~4/SWD0F2FAocI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kometbomb.net/2009/04/10/viewer2-status/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://kometbomb.net/2009/04/10/viewer2-status/</feedburner:origLink></item>
	</channel>
</rss>
