<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex Karpenko</title>
	<atom:link href="http://alex.karpenko.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://alex.karpenko.ca</link>
	<description>Alex is a graduate student at Stanford University. He also develops games part-time for the iPhone and iPod touch.</description>
	<lastBuildDate>Tue, 01 Jun 2010 22:09:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Polaris &#8211; From Concept to Completion</title>
		<link>http://alex.karpenko.ca/2010/02/polaris-from-concept-to-completion/</link>
		<comments>http://alex.karpenko.ca/2010/02/polaris-from-concept-to-completion/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 05:19:01 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=110</guid>
		<description><![CDATA[As someone who enjoys reading and watching &#8220;making-of&#8221; stories, I thought it&#8217;d be interesting for developers and players of Polaris to see how the game evolved over time. I&#8217;m an aficionado of block-falling puzzle games such as Tetris and Lumines. So it seemed only natural for me to make a game in that vein. But [...]]]></description>
			<content:encoded><![CDATA[<p>As someone who enjoys reading and watching &#8220;making-of&#8221; stories, I thought it&#8217;d be interesting for developers and players of Polaris to see how the game evolved over time.</p>
<p>I&#8217;m an aficionado of block-falling puzzle games such as Tetris and Lumines. So it seemed only natural for me to make a game in that vein. But at the same time I wanted to make a game that is different from the vast number of puzzle games already out there. You may be surprised to hear that there are <a href="http://en.wikipedia.org/wiki/List_of_Tetris_variants" target="_blank">over 50 variants of Tetris</a> alone! So coming up with something new turned out to be quite challenging.</p>
<p>Polaris was born from the idea of transforming the game board into <a href="http://en.wikipedia.org/wiki/Polar_coordinates#Common_conventions" target="_blank">polar coordinates</a>. The name and celestial theme of the game naturally followed from there. To convince myself that this would work on the tiny iPhone screen I made this concept design in Photoshop:</p>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 490px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/08/concept.jpg" rel="lightbox[110]" title="Polaris Concept"><img class="size-full wp-image-116" title="Polaris Concept" src="http://alex.karpenko.ca/wp-content/uploads/2009/08/concept.jpg" alt="" width="480" height="320" /></a><p class="wp-caption-text">Polaris Concept</p></div>
<p><span id="more-110"></span>At that point I wasn&#8217;t sure what the game rules would be, but I had a pretty good idea of how the game mechanics would work. First, blocks would appear on the sides of the screen and fall towards the center, where they would pile up. Second, rather than moving the block directly like one does in say Tetris, in Polaris you would instead rotate the grid (or polar map) underneath the block, while the block stays anchored to the side. After about two weeks using and learning the iPhone SDK, I had my first working prototype:</p>
<div id="attachment_112" class="wp-caption aligncenter" style="width: 490px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/08/1.jpg" rel="lightbox[110]" title="Polaris Progress 1"><img class="size-full wp-image-112" title="Polaris Progress 1" src="http://alex.karpenko.ca/wp-content/uploads/2009/08/1.jpg" alt="" width="480" height="320" /></a><p class="wp-caption-text">Early rough prototype</p></div>
<p>It&#8217;s a far cry from the more polished concept art to be sure, but all the game logic is there: you can rotate the grid with your thumb, and use the other to push blocks in order to pile them up at the center of the polar map. After some aesthetic tweaking this was the result:</p>
<div id="attachment_113" class="wp-caption aligncenter" style="width: 490px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/08/2.jpg" rel="lightbox[110]" title="Polaris Progress 2"><img class="size-full wp-image-113" title="Polaris Progress 2" src="http://alex.karpenko.ca/wp-content/uploads/2009/08/2.jpg" alt="" width="480" height="320" /></a><p class="wp-caption-text">Round ed grid and leg end at the bot tom of the screen</p></div>
<p>This is where the long experimentation phase began. First, an interesting idea presented itself: by switching to polar coordinates blocks no longer need to appear and fall from one direction only. They could appear on either side of the screen; or better yet, two different blocks could be on the screen at all times. This adds a completely new strategy element to Polaris: the player can choose which block to place on the pile, as well as reserve a &#8220;rare&#8221; block for later use. And if the player is really clever, then perhaps they could use both blocks at the same time!</p>
<div id="attachment_114" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-114" title="Polaris Progress 3" src="http://alex.karpenko.ca/wp-content/uploads/2009/08/3.jpg" alt="Blocks on either side of the screen" width="480" height="320" /><p class="wp-caption-text">Blocks on either side of the screen</p></div>
<p>Eventually I settled on game rules that require the player to form complete rings of &#8220;deactivated&#8221; tiles. The player can deactivate any tile by matching it up with a neighboring tile of the same color. Once a complete ring of inactive tiles is formed, it &#8220;collapses&#8221; into the  polar star at the center. Whatever remains of the pile then settles under gravity.</p>
<p>The player can follow two distinct strategies in order to achieve high scores. The first is to clear multiple rings at once. This is done in a similar manner to Tetris, where the player intentionally leaves a gap in the rings. Unlike Tetris, the player can fill this gap with up to two matching blocks in one move. In this manner, up to 5 rings can be cleared at once.</p>
<p>The second strategy is to set up chain reactions. The player does this by building up layers of complete, but not fully deactivated rings. On top of the outermost ring a carefully color-coordinated pile of blocks needs to be placed, such that the outer ring&#8217;s collapse causes the pile to settle under gravity and successively deactivate and collapse inner rings one at a time.</p>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-115" title="Polaris Progress 4" src="http://alex.karpenko.ca/wp-content/uploads/2009/08/4.jpg" alt="Finished Game" width="480" height="320" /><p class="wp-caption-text">Finished Game</p></div>
<p>This dual nature of Polaris arose out of experimentation with different  game rules and game mechanics&#8212;one that I did not anticipate when I  first conceived of the game. Pictured above is the final look of Polaris. To see some of the game mechanics mentioned here, please watch  the video in my <a href="http://alex.karpenko.ca/2009/07/developing-for-the-iphone-polaris/">previous post</a>.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2010/02/polaris-from-concept-to-completion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing for the iPhone &#8211; Polaris</title>
		<link>http://alex.karpenko.ca/2009/07/developing-for-the-iphone-polaris/</link>
		<comments>http://alex.karpenko.ca/2009/07/developing-for-the-iphone-polaris/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 14:55:39 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Alex's Games]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[polaris]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=95</guid>
		<description><![CDATA[Polaris is a block-falling puzzle game for the iPhone and iPod touch that I have worked on for about 3 months as a side project. The goal of the game is to form complete rings of colored tiles, which you need to deactivate in order to clear these rings. About 95% of the code is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://polaris-game.com" target="_blank">Polaris</a> is a block-falling puzzle game for the iPhone and iPod touch that I have worked on for about 3 months as a side project. The goal of the game is to form complete rings of colored tiles, which you need to deactivate in order to clear these rings.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="230" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5387884&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="230" src="http://vimeo.com/moogaloop.swf?clip_id=5387884&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>About 95% of the code is written in pure C++ (for portability and familiarity reasons), with some hooks into the Cocoa framework using Objective-C++ for system specific functions (application start-up, text drawing, and sound support). Polaris was a very fun project to work on, not only because writing games is fun, but also because of the technical and artistic challenges.</p>
<p>The first and second generation iPhone is OpenGL ES 1.1 capable. As such effects must be realized without any use of shaders. Instead one must rely on clever use of multiple textures, texture transformations, and various blending modes.</p>
<p style="text-align: center;"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/07/5.jpg" rel="lightbox[95]" title="Polaris"><img class="aligncenter size-medium wp-image-98" title="Polaris" src="http://alex.karpenko.ca/wp-content/uploads/2009/07/5-300x200.jpg" alt="Polaris" width="300" height="200" /></a></p>
<p>The game&#8217;s logo was created in Inkscape&#8212;an open-source vector graphics editor. Other in-game graphics were created in Photoshop. For the nebulous background I loosely followed these two tutorials: <a href="http://abduzeedo.com/space-lighting-effects-10-steps-photoshop-tutorial" target="_blank">Space Lightning Effects</a> and <a href="http://www.tutcast.com/photoshop-creating-clouds/" target="_blank">Creating Clouds</a>. For artistic inspiration I like to browse <a href="http://www.smashingmagazine.com" target="_blank">Smashing Magazine</a>, which I find to be an excellent aggregator of top-notch graphics design.</p>
<p>Polaris is available in the App Store for the iPhone and iPod touch! Check out the <a href="http://polaris-game.com" target="_blank">game&#8217;s website</a> for more information.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2009/07/developing-for-the-iphone-polaris/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Undergraduate Project &#8211; Raytracer</title>
		<link>http://alex.karpenko.ca/2009/04/raytracer/</link>
		<comments>http://alex.karpenko.ca/2009/04/raytracer/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 05:48:39 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[raytracer]]></category>
		<category><![CDATA[rendering]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=53</guid>
		<description><![CDATA[One of the assignments that I worked on during undergraduate studies at the University of Toronto was a raytracer, which I wrote for a 4th year computer graphics course. My raytracer took first place at the Fall 2006 Wooden Monkey competition. The prize: fame, glory, and a wooden monkey Some features of the raytracer are: [...]]]></description>
			<content:encoded><![CDATA[<p>One of the assignments that I worked on during undergraduate studies at the <a href="http://utoronto.ca" target="_blank">University of Toronto</a> was a raytracer, which I wrote for a 4th year computer graphics course. My raytracer took first place at the Fall 2006 <a href="http://www.cdf.toronto.edu/~karan/monkey/" target="_blank">Wooden Monkey</a> competition. The prize: fame, glory, and a wooden monkey <img src='http://alex.karpenko.ca/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_70" class="wp-caption aligncenter" style="width: 394px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene3.png" rel="lightbox[53]" title="Scene 3"><img class="size-full wp-image-70" title="Scene 3" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene3.png" alt="Scene 3: Colored Area Light" width="384" height="288" /></a><p class="wp-caption-text">Raytracing Final Project (more images after the break!)</p></div>
<p>Some features of the raytracer are:</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/Constructive_solid_geometry" target="_blank">CSGs</a>, Arbitrary Polygonal Objects (loaded from <a href="http://en.wikipedia.org/wiki/Obj" target="_blank">wavefront obj</a> files)</li>
<li>Normals are <a href="http://en.wikipedia.org/wiki/Phong_shading">phong</a> interpolated for smooth shading</li>
<li>Texture mapping with bilinear interpolation. Can be applied to any channel of phong model, as well as luminosity</li>
<li>Reflections and refractions</li>
<li>Diffuse (blurry) reflections and refractions (diffusivity can be set)</li>
<li>Point lights with shadows</li>
<li>Area lights: Polygonal geometry can serve as an area light. Texture can be applied to the luminosity channel of the  geometry; this way the mesh can cast light with varying color and intensity over its surface.</li>
</ol>
<p>The images below show how these features can be applied to a scene in order to enhance its visual appearance:</p>
<p><span id="more-53"></span></p>
<div id="attachment_55" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/1_signature.png" rel="lightbox[53]" title="1_signature"><img class="size-full wp-image-55" title="1_signature" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/1_signature.png" alt="1_signature" width="440" height="240" /></a><p class="wp-caption-text">signature</p></div>
<div id="attachment_56" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/2_diffuse.png" rel="lightbox[53]" title="2_diffuse"><img class="size-full wp-image-56" title="2_diffuse" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/2_diffuse.png" alt="2_diffuse" width="440" height="240" /></a><p class="wp-caption-text">diffuse</p></div>
<div id="attachment_57" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/3_diffuse_with_shadows.png" rel="lightbox[53]" title="3_diffuse_with_shadows"><img class="size-full wp-image-57" title="3_diffuse_with_shadows" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/3_diffuse_with_shadows.png" alt="3_diffuse_with_shadows" width="440" height="240" /></a><p class="wp-caption-text">shadows</p></div>
<div id="attachment_58" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/4_recursive_depth1.png" rel="lightbox[53]" title="4_recursive_depth1"><img class="size-full wp-image-58" title="4_recursive_depth1" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/4_recursive_depth1.png" alt="4_recursive_depth1" width="440" height="240" /></a><p class="wp-caption-text">reflections (recursion depth: 1)</p></div>
<div id="attachment_59" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/5_recursive_depth2.png" rel="lightbox[53]" title="5_recursive_depth2"><img class="size-full wp-image-59" title="5_recursive_depth2" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/5_recursive_depth2.png" alt="5_recursive_depth2" width="440" height="240" /></a><p class="wp-caption-text">reflections (recursion depth: 2)</p></div>
<div id="attachment_60" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/6_texture.png" rel="lightbox[53]" title="6_texture"><img class="size-full wp-image-60" title="6_texture" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/6_texture.png" alt="6_texture" width="440" height="240" /></a><p class="wp-caption-text">texture mapping</p></div>
<div id="attachment_61" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/7_refraction.png" rel="lightbox[53]" title="7_refraction"><img class="size-full wp-image-61" title="7_refraction" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/7_refraction.png" alt="7_refraction" width="440" height="240" /></a><p class="wp-caption-text">refraction (blue sphere)</p></div>
<div id="attachment_62" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/8_blurry_ref.png" rel="lightbox[53]" title="8_blurry_ref"><img class="size-full wp-image-62" title="8_blurry_ref" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/8_blurry_ref.png" alt="8_blurry_ref" width="440" height="240" /></a><p class="wp-caption-text">diffuse reflections &amp; refractions</p></div>
<div id="attachment_63" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/9_soft_shadows.png" rel="lightbox[53]" title="9_soft_shadows"><img class="size-full wp-image-63" title="9_soft_shadows" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/9_soft_shadows.png" alt="9_soft_shadows" width="440" height="240" /></a><p class="wp-caption-text">area lights (and resulting soft shadows)</p></div>
<div id="attachment_64" class="wp-caption aligncenter" style="width: 450px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/a3_csg.png" rel="lightbox[53]" title="a3_csg"><img class="size-full wp-image-64" title="a3_csg" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/a3_csg.png" alt="a3_csg" width="440" height="240" /></a><p class="wp-caption-text">CSG subtractions</p></div>
<p style="text-align: left;">Finally, the images below combine the features of the raytracer. These images were submitted to the Wooden Monkey competition and took first place. In order to tune the lighting and various other parameters, thumbnail-sized images were rendered. Rendering times for full resolution images were about 2 hours each.</p>
<div id="attachment_67" class="wp-caption aligncenter" style="width: 538px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene1.png" rel="lightbox[53]" title="Scene 1 Close-up Test Rendering"><img class="size-full wp-image-67" title="Scene 1 Close-up Test Rendering" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene1.png" alt="SScene 1 Close-up Test Rendering" width="528" height="576" /></a><p class="wp-caption-text">Scene 1 Close-up Test Rendering</p></div>
<div id="attachment_68" class="wp-caption aligncenter" style="width: 538px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene1_revised.png" rel="lightbox[53]" title="Scene 1 Final"><img class="size-full wp-image-68" title="Scene 1 Final" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene1_revised.png" alt="Scene 1 Final" width="528" height="288" /></a><p class="wp-caption-text">Scene 1 Final</p></div>
<div id="attachment_69" class="wp-caption aligncenter" style="width: 538px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene2.png" rel="lightbox[53]" title="Scene 2"><img class="size-full wp-image-69" title="Scene 2" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene2.png" alt="Scene 2: More Geometry" width="528" height="384" /></a><p class="wp-caption-text">Scene 2: More Geometry</p></div>
<div id="attachment_70" class="wp-caption aligncenter" style="width: 490px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene3.png" rel="lightbox[53]" title="Scene 3"><img class="size-full wp-image-70" title="Scene 3" src="http://alex.karpenko.ca/wp-content/uploads/2009/04/scene3.png" alt="Scene 3: Colored Area Light" width="480" height="360" /></a><p class="wp-caption-text">Scene 3: Colored Area Light</p></div>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2009/04/raytracer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>32GB should be enough for anyone ;-)</title>
		<link>http://alex.karpenko.ca/2009/03/32gb-should-be-enough-for-anyone/</link>
		<comments>http://alex.karpenko.ca/2009/03/32gb-should-be-enough-for-anyone/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 03:19:06 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[32GB]]></category>
		<category><![CDATA[RAM]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=27</guid>
		<description><![CDATA[For my M.A.Sc. research I&#8217;ve been working with half a terabyte of video data. Here are some screenshots of the machine that&#8217;s been doing most of the heavy lifting. I&#8217;ve had this setup for about a year now. It&#8217;s running Ubuntu 8.04 and Matlab 64-bit on a quad core 2.33MHz Xeon and 4 x 8GB [...]]]></description>
			<content:encoded><![CDATA[<p>For my M.A.Sc. research I&#8217;ve been working with half a terabyte of video data. Here are some screenshots of the machine that&#8217;s been doing most of the heavy lifting.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 446px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/03/32ram.png" rel="lightbox[27]" title="32GB of glorious RAM!"><img class="size-full wp-image-28" title="32GB of glorious RAM!" src="http://alex.karpenko.ca/wp-content/uploads/2009/03/32ram.png" alt="32GB of glorious RAM!" width="436" height="367" /></a><p class="wp-caption-text">32GB of glorious RAM!</p></div>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 446px"><a href="http://alex.karpenko.ca/wp-content/uploads/2009/03/32ram2.png" rel="lightbox[27]" title="Matlab &quot;idling&quot; at 13GB"><img class="size-full wp-image-29" title="Matlab &quot;idling&quot; at 13GB" src="http://alex.karpenko.ca/wp-content/uploads/2009/03/32ram2.png" alt="Matlab &quot;idling&quot; at 13GB" width="436" height="367" /></a><p class="wp-caption-text">Matlab &quot;idling&quot; at 13GB</p></div>
<p>I&#8217;ve had this setup for about a year now. It&#8217;s running Ubuntu 8.04 and Matlab 64-bit on a quad core 2.33MHz Xeon and 4 x 8GB DDR2 667 modules. My algorithms are databound, hence the fairly low CPU clock rate.</p>
<p>Only one question remains: Will it run Crysis?</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2009/03/32gb-should-be-enough-for-anyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Face Recognition by Humans</title>
		<link>http://alex.karpenko.ca/2009/02/face-recognition-by-humans/</link>
		<comments>http://alex.karpenko.ca/2009/02/face-recognition-by-humans/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 00:52:15 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[face recognition]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=10</guid>
		<description><![CDATA[Automatic face recognition has a large number of interesting applications. For example, Picassa and iPhoto use face recognition to help you tag people in your photo collections. Face recognition is also used for authentication (though not always successfully). And it is also a crucial component in realizing SkyNet and an Orwellian future (whichever you prefer). [...]]]></description>
			<content:encoded><![CDATA[<p>Automatic face recognition has a large number of interesting applications. For example, Picassa and iPhoto use face recognition to help you tag people in your photo collections. Face recognition is also used for authentication (<a title="Vietnamese security firm: Your face is easy to fake" href="http://news.cnet.com/8301-17938_105-10110987-1.html" target="_blank">though not always successfully</a>). And it is also a crucial component in realizing SkyNet and an Orwellian future (whichever you prefer). However, despite steady progress, the accuracy of face recognition by humans is so far unparalleled.</p>
<p>A study conducted by MIT researchers Pawan Sinha, Benjamin Balas, Yuri Ostrovsky, and Richard Russell looks at the ways people recognize each other in order to help guide computer vision research towards building better face recognizers. Their study &#8220;Face Recognition by Humans: Nineteen Results All Computer Vision Researchers Should Know About&#8221; identifies several characteristics that humans use to recognize faces.</p>
<div id="attachment_13" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-13" title="Face Recognition" src="http://alex.karpenko.ca/wp-content/uploads/2009/02/facerecog-300x102.png" alt="Humans are able to handle significant degradations in images. Faces include Bill Clinton, Tom Hans, and Jay Leno." width="300" height="102" /><p class="wp-caption-text">Humans are able to handle significant degradations in images. Faces include Bill Clinton, Tom Hanks, and Jay Leno.</p></div>
<p>One of the results is that humans can recognize faces even in very low-resolution images. Eyebrows are one of the most important features for recognition. And our ability to tolerate degradations increases with familiarity. Read the full study <a title="Face Recognition by Humans: Nineteen Results All Computer Vision Researchers Should Know About" href="http://web.mit.edu/bcs/sinha/papers/19results_sinha_etal.pdf" target="_blank">here</a>. The researcher&#8217;s website is found <a title="Sinha Lab at MIT" href="http://web.mit.edu/bcs/sinha/home.html" target="_blank">here</a>.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2009/02/face-recognition-by-humans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>printf(&#8220;Hello, World!\n&#8221;);</title>
		<link>http://alex.karpenko.ca/2009/02/hello-world/</link>
		<comments>http://alex.karpenko.ca/2009/02/hello-world/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 19:30:01 +0000</pubDate>
		<dc:creator>Alex Karpenko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alex.karpenko.ca/blog/?p=1</guid>
		<description><![CDATA[Well, I decided to get myself a blog. I haven&#8217;t really decided what to write about, but I imagine it might have to do with software development, computer vision research, and anything else that may be on my mind.]]></description>
			<content:encoded><![CDATA[<p>Well, I decided to get myself a blog. I haven&#8217;t really decided what to write about, but I imagine it might have to do with software development, computer vision research, and anything else that may be on my mind.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://alex.karpenko.ca/2009/02/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

