<?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>Shyam Guthikonda &#187; General</title>
	<atom:link href="http://www.shy.am/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shy.am</link>
	<description>Game Programmer - http://shy.am</description>
	<lastBuildDate>Mon, 14 Mar 2011 12:18:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Hell, it&#8217;s time.</title>
		<link>http://www.shy.am/2010/07/hell-its-time/</link>
		<comments>http://www.shy.am/2010/07/hell-its-time/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 01:00:19 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1202</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shy.am/wp-content/uploads/2010/07/SC2DigitalDownloadTimezone.jpg"><img src="http://www.shy.am/wp-content/uploads/2010/07/SC2DigitalDownloadTimezone.jpg" alt="" title="SC2DigitalDownloadTimezone" width="750" height="480" class="aligncenter size-full wp-image-1206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2010/07/hell-its-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hell, it&#8217;s not yet time.</title>
		<link>http://www.shy.am/2010/07/hell-its-not-yet-time/</link>
		<comments>http://www.shy.am/2010/07/hell-its-not-yet-time/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 03:37:31 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[blizzard]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[sad]]></category>
		<category><![CDATA[starcraft]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1171</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shy.am/wp-content/uploads/2010/07/sc2Installer.png"><img src="http://www.shy.am/wp-content/uploads/2010/07/sc2Installer.png" alt="" title="sc2Installer" width="600" height="389" class="aligncenter size-full wp-image-1172" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2010/07/hell-its-not-yet-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install from an .iso without burning a CD/DVD</title>
		<link>http://www.shy.am/2010/06/install-from-an-iso-without-burning/</link>
		<comments>http://www.shy.am/2010/06/install-from-an-iso-without-burning/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 02:52:50 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1167</guid>
		<description><![CDATA[I just discovered the Virtual CD Control Tool from Microsoft. It is a free tool that can be downloaded from the Microsoft webpage. It is not a pretty application, but by following the README, you can easily mount an iso image without physically burning a CD. System Requirements =================== - Windows XP Home or Windows [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered the Virtual CD Control Tool from Microsoft. It is a free tool that can be downloaded from the Microsoft webpage.</p>
<p>It is not a pretty application, but by following the README, you can easily mount an iso image without physically burning a CD.</p>
<blockquote><p>System Requirements<br />
===================<br />
- Windows XP Home or Windows XP Professional</p>
<p>Installation instructions<br />
=========================<br />
1. Copy VCdRom.sys to your %systemroot%\system32\drivers folder.<br />
2. Execute VCdControlTool.exe<br />
3. Click &#8220;Driver control&#8221;<br />
4. If the &#8220;Install Driver&#8221; button is available, click it. Navigate to the %systemroot%\system32\drivers folder, select VCdRom.sys, and click Open.<br />
5. Click &#8220;Start&#8221;<br />
6. Click OK<br />
7. Click &#8220;Add Drive&#8221; to add a drive to the drive list. Ensure that the drive added is not a local drive. If it is, continue to click &#8220;Add Drive&#8221; until an unused drive letter is available.<br />
8. Select an unused drive letter from the drive list and click &#8220;Mount&#8221;.<br />
9. Navigate to the image file, select it, and click &#8220;OK&#8221;. UNC naming conventions should not be used, however mapped network drives should be OK.</p>
<p>You may now use the drive letter as if it were a local CD-ROM device. When you are finished you may unmount, stop, and remove the driver from memory using the driver control.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2010/06/install-from-an-iso-without-burning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>- bash: gcc: command not found</title>
		<link>http://www.shy.am/2010/02/gcc-command-not-found/</link>
		<comments>http://www.shy.am/2010/02/gcc-command-not-found/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 15:34:19 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1144</guid>
		<description><![CDATA[I was recently trying to use gcc from Terminal on my Mac. My path was set up properly, and I had used gcc before without any problems. When I upgraded to Snow Leopard, apparently the upgraded developer tools were not installed. To solve the problem, I had to run Xcode.mpkg in the &#8220;Optional Installs&#8221; folder [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently trying to use gcc from Terminal on my Mac. My path was set up properly, and I had used gcc before without any problems.</p>
<p>When I upgraded to Snow Leopard, apparently the upgraded developer tools were not installed. To solve the problem, I had to run Xcode.mpkg in the &#8220;Optional Installs&#8221; folder on the Snow Leopard installation cd.</p>
<p>Thanks to the following link for providing the solution: <a href="http://www.brianp.net/2009/09/05/snow-leopards-ate-my-c-compiler/" TARGET="_Blank">&#8220;Snow Leopards Ate My C Compiler&#8221;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2010/02/gcc-command-not-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EverQuest &#8211; 10 Years Later</title>
		<link>http://www.shy.am/2009/10/everquest-10-years-later/</link>
		<comments>http://www.shy.am/2009/10/everquest-10-years-later/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 14:21:04 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[everquest]]></category>
		<category><![CDATA[mmo]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1057</guid>
		<description><![CDATA[I stumbled upon an interesting journal at GameStudies.org. The current issue is titled Special Issue &#8211; EQ: 10 Years Later. (EQ aka EverQuest). The article entitled Towards a Critical Aesthetic of Virtual-World Geographies, focuses on the first few years of EverQuest, when it was still a game very much oriented towards the hard-core player. It [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon an interesting journal at <a href="http://gamestudies.org/0901/" TARGET="_Blank">GameStudies.org</a>. The current issue is titled <i><a href="http://gamestudies.org/0901" TARGET="_Blank">Special Issue &#8211; EQ: 10 Years Later</a></i>. (EQ aka <a href="http://en.wikipedia.org/wiki/EverQuest" TARGET="_Blank">EverQuest</a>).</p>
<p>The article entitled <i><a href="http://gamestudies.org/0901/articles/hayot_wesp_space" TARGET="_Blank">Towards a Critical Aesthetic of Virtual-World Geographies</a></i>, focuses on the first few years of EverQuest, when it was still a game very much oriented towards the hard-core player. It was an extremely dangerous world, with harsh and unforgiving penalties (corpse runs!). Without many of the forms of instant travel that appeared later in the development of EverQuest, the continuity and spatial layout of the world was preserved. It took a long time to get from point A to point B. Because of this, there were secluded areas that were hard to get to, and there was a real sense of a large, dynamic, and truly epic world. This brought rise to trade and economic systems that closely mimicked the real world.</p>
<p>In EverQuest and other online worlds, the game designer and the player indirectly work together to shape the geography of these virtual playgrounds. <a href="http://en.wikipedia.org/wiki/Geography" TARGET="_Blank">Geography</a>, as described by Wikipedia, is split into two main branches: <a href="http://en.wikipedia.org/wiki/Physical_geography" TARGET="_Blank">Physical Geography</a> and <a href="http://en.wikipedia.org/wiki/Human_geography" TARGET="_Blank">Human Geography</a>. In the case of EverQuest, the designers physically create the world, and are therefore responsible for the physical geography (walls, terrain, building placement, etc). The players are the inhabits of the world, and are responsible for the human geography (social, cultural, and economic aspects).</p>
<p>Through the course of the article&#8217;s analysis, I came to understand why players often established their own trading outposts in areas such as the East Commonlands Tunnel, Greater Faydark, and North Freeport. Although these locations may be very different from where the designers intended them to occur, they have a root cause that ties back to the original game design.</p>
<p>East Commonlands and Greater Faydark are both easily accessible via druid and wizard low level teleport spells. North Freeport is a little farther from it&#8217;s closest teleport location (West Commonlands), but it has a bank, and is easily accessible by both good and evil races (via the sewer system).</p>
<p>Although I am only pointing out a very specific example (ad-hoc market creation and trading in EverQuest), it sheds light on much broader concepts of migration and human interaction in the real world.</p>
<p>There is never any explicit consent or agreement from the players as to where to create these &#8216;hubs&#8217; of interaction. Creation is driven <i>unknowingly</i> by the player and the player&#8217;s necessity. This creation process is guided (also sometimes unknowingly) by the rules that the game designer has created, and which are governing the world. These ingredients serve to create a truly living and dynamic virtual world.</p>
<p><center>* * * * *</center></p>
<p>I will end, in tribute, with an extremely nostalgic video &#8211; the original EverQuest intro video.</p>
<p><center><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/yDSh6qYqxxg&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/yDSh6qYqxxg&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/10/everquest-10-years-later/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeMind</title>
		<link>http://www.shy.am/2009/09/freemin/</link>
		<comments>http://www.shy.am/2009/09/freemin/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 14:43:28 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=1088</guid>
		<description><![CDATA[I learned of a new program today, called FreeMind. FreeMind is a cross-platform, open source, mind-mapping application. It looks like a great tool for both brainstorming and conceptually solidifying ideas. It also can be used as a convincing presentation tool, visually showing the flow of data and information to the audience.]]></description>
			<content:encoded><![CDATA[<p>I learned of a new program today, called <a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page" TARGET="_Blank">FreeMind</a>. FreeMind is a cross-platform, open source, <a href="http://en.wikipedia.org/wiki/Mind_map" TARGET="_Blank">mind-mapping</a> application. It looks like a great tool for both brainstorming and conceptually solidifying ideas. It also can be used as a convincing presentation tool, visually showing the flow of data and information to the audience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/09/freemin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artemis Chronicle Tools</title>
		<link>http://www.shy.am/2009/08/artemis-chronicle-tools/</link>
		<comments>http://www.shy.am/2009/08/artemis-chronicle-tools/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 17:41:46 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=909</guid>
		<description><![CDATA[During the first semester of working on NitroX and Artemis Chronicle, our design and content pipeline was very slow. Simple things like creating a level and placing a box were arduous tasks. Placing an item involved flying the camera around the level, writing down it&#8217;s rough coordinates, hard coding the coordinates, and then tweak these [...]]]></description>
			<content:encoded><![CDATA[<p>During the first semester of working on NitroX and Artemis Chronicle, our design and content pipeline was very slow. Simple things like creating a level and placing a box were arduous tasks. Placing an item involved flying the camera around the level, writing down it&#8217;s rough coordinates, hard coding the coordinates, and then tweak these values until the box is in the desired position. (Thankfully, we were using C# which pretty much eliminated any compile time. Doing this in C++ would have been impossible).</p>
<p>This created a situation where we were unable to prototype levels quickly, and time that could be better used somewhere else was being wasted.</p>
<p>Because of this, I devoted the first few weeks of the second semester to full-time tool development. Two of the more useful tools created are described below. These tools, once created, were continuously used and refined throughout the entire life of the project.</p>
<p><strong>Level Editor</strong>:</p>
<p>Artemis Chronicle and the NitroX engine have a completely integrated level editor. The editor allows 3D navigation through the world (using Maya camera controls), object placement (translation, rotation, scale), object property exposure (including physics volumes), trigger volumes (used for scripted events), and interactive camera sequencing (allows us to create cut-scenes and cinematics in a point-and-click fashion instead of in code).</p>
<p>The editor runs on Windows and is written in C#, allowing for close integration into the XNA content pipeline. The editor data is serialized out to an XML format (which is later compressed for application deployment), sent through the content pipeline, and imported directly into the NitroX engine for use on both Windows and Xbox 360.</p>
<p><strong>Mesh Viewer</strong>:</p>
<p>The Mesh Viewer is a tool that lets our artists quickly preview their work before sending it off to be integrated into the latest build of the game. As anyone who&#8217;s used the FBX exporter knows, exporting from Maya does not always go smoothly, so this tool allows the artist to catch any errors early, thus saving time for the entire team.</p>
<p>Animations can be chained together to create sequences, and then previewed in a real-time manner. Playback speed, blending parameters, and looping can also be adjusted via the user interface.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-56-909">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-782" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/00.jpg" title="Scene navigation." class="shutterset_set_56" >
								<img title="00" alt="00" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_00.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-783" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/01.jpg" title="Camera sequence scripting and cinematics." class="shutterset_set_56" >
								<img title="01" alt="01" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_01.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-784" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/02.jpg" title="Trigger volumes and scripting." class="shutterset_set_56" >
								<img title="02" alt="02" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_02.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-785" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/03.jpg" title="Object placement." class="shutterset_set_56" >
								<img title="03" alt="03" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_03.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-786" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/04.jpg" title="Scripting." class="shutterset_set_56" >
								<img title="04" alt="04" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_04.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-787" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/05.jpg" title="Object selection." class="shutterset_set_56" >
								<img title="05" alt="05" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_05.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-788" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/07.jpg" title="Mesh Viewer." class="shutterset_set_56" >
								<img title="07" alt="07" src="http://www.shy.am/wp-content/gallery/portfolio_ac_tools/thumbs/thumbs_07.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/08/artemis-chronicle-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ray-Sphere Intersection</title>
		<link>http://www.shy.am/2009/08/ray-sphere-intersection/</link>
		<comments>http://www.shy.am/2009/08/ray-sphere-intersection/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 14:16:54 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=718</guid>
		<description><![CDATA[A ray, , where is the origin of the ray, is the direction of the ray, and is the distance along the ray: Equation of a sphere: A point on the surface of the sphere, , and the center of the sphere, : Plug in the ray and solve for : We now have a [...]]]></description>
			<content:encoded><![CDATA[<p>A ray, <img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Br%7D%28t%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{r}(t)' title='\mathbf{r}(t)' class='latex' />, where <img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bo%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{o}' title='\mathbf{o}' class='latex' /> is the origin of the ray, <img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bd%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{d}' title='\mathbf{d}' class='latex' /> is the direction of the ray, and <img src='http://s.wordpress.com/latex.php?latex=t&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t' title='t' class='latex' /> is the distance along the ray:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Br%7D%28t%29%20%3D%20%5Cmathbf%7Bo%7D%20%2B%20%5Cmathbf%7Bd%7D%20t&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{r}(t) = \mathbf{o} + \mathbf{d} t' title='\mathbf{r}(t) = \mathbf{o} + \mathbf{d} t' class='latex' /></center></p>
<p></p>
<p>Equation of a sphere:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=x%5E2%20%2B%20y%5E2%20%2B%20z%5E2%20%3D%20%5Cmathbf%7Bp%7D%20%5Ccdot%20%5Cmathbf%7Bp%7D%20%3D%20r%5E2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='x^2 + y^2 + z^2 = \mathbf{p} \cdot \mathbf{p} = r^2' title='x^2 + y^2 + z^2 = \mathbf{p} \cdot \mathbf{p} = r^2' class='latex' /></center></p>
<p></p>
<p>A point on the surface of the sphere, <img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bp%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{p}' title='\mathbf{p}' class='latex' />, and the center of the sphere, <img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bp_c%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{p_c}' title='\mathbf{p_c}' class='latex' />:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=%28%5Cmathbf%7Bp%20-%20p_c%7D%29%20%5Ccdot%20%28%5Cmathbf%7Bp%20-%20p_c%7D%29%20-%20r%5E2%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(\mathbf{p - p_c}) \cdot (\mathbf{p - p_c}) - r^2 = 0' title='(\mathbf{p - p_c}) \cdot (\mathbf{p - p_c}) - r^2 = 0' class='latex' /></center></p>
<p></p>
<p>Plug in the ray and solve for <img src='http://s.wordpress.com/latex.php?latex=t&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t' title='t' class='latex' />:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=%28%5Cmathbf%7Br%7D%28t%29%20-%20%5Cmathbf%7Bp_c%7D%29%20%5Ccdot%20%28%5Cmathbf%7Br%7D%28t%29%20-%20%5Cmathbf%7Bp_c%7D%29%20-%20r%5E2%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(\mathbf{r}(t) - \mathbf{p_c}) \cdot (\mathbf{r}(t) - \mathbf{p_c}) - r^2 = 0' title='(\mathbf{r}(t) - \mathbf{p_c}) \cdot (\mathbf{r}(t) - \mathbf{p_c}) - r^2 = 0' class='latex' /></p>
<p></p>
<img src='http://s.wordpress.com/latex.php?latex=%28t%20%5Cmathbf%7Bd%7D%20%2B%20%5Cmathbf%7Bo%20-%20p_c%7D%29%20%5Ccdot%20%28t%20%5Cmathbf%7Bd%7D%20%2B%20%5Cmathbf%7Bo%20-%20p_c%7D%29%20-%20r%5E2%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(t \mathbf{d} + \mathbf{o - p_c}) \cdot (t \mathbf{d} + \mathbf{o - p_c}) - r^2 = 0' title='(t \mathbf{d} + \mathbf{o - p_c}) \cdot (t \mathbf{d} + \mathbf{o - p_c}) - r^2 = 0' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bd%7D%20%5Ccdot%20%5Cmathbf%7Bd%7D%20t%5E2%20%2B%20%5Cmathbf%7Bd%7D%20%5Ccdot%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29t%20%2B%20%5Cmathbf%7Bd%7D%20%5Ccdot%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29t%20%2B%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29%20%5Ccdot%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29%20-%20r%5E2%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{d} \cdot \mathbf{d} t^2 + \mathbf{d} \cdot (\mathbf{o - p_c})t + \mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0' title='\mathbf{d} \cdot \mathbf{d} t^2 + \mathbf{d} \cdot (\mathbf{o - p_c})t + \mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%5Cmathbf%7Bd%7D%20%5Ccdot%20%5Cmathbf%7Bd%7D%20t%5E2%20%2B%202%5Cmathbf%7Bd%7D%20%5Ccdot%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29t%20%2B%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29%20%5Ccdot%20%28%5Cmathbf%7Bo%20-%20p_c%7D%29%20-%20r%5E2%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\mathbf{d} \cdot \mathbf{d} t^2 + 2\mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0' title='\mathbf{d} \cdot \mathbf{d} t^2 + 2\mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0' class='latex' /></center></p>
<p></p>
<p>We now have a quadratic equation of the form <img src='http://s.wordpress.com/latex.php?latex=At%5E2%20%2B%20Bt%20%2B%20C%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='At^2 + Bt + C = 0' title='At^2 + Bt + C = 0' class='latex' />, where:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=A%20%3D%20%5Cmathbf%7Bd%20%5Ccdot%20d%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='A = \mathbf{d \cdot d}' title='A = \mathbf{d \cdot d}' class='latex' />
<p></p>
<img src='http://s.wordpress.com/latex.php?latex=B%20%3D%202%5Cmathbf%7Bd%20%5Ccdot%20%28o%20-%20p_c%29%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B = 2\mathbf{d \cdot (o - p_c)}' title='B = 2\mathbf{d \cdot (o - p_c)}' class='latex' />
<p><img src='http://s.wordpress.com/latex.php?latex=C%20%3D%20%5Cmathbf%7B%28o%20-%20p_c%29%20%5Ccdot%20%28o%20-%20p_c%29%7D%20-%20r%5E2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='C = \mathbf{(o - p_c) \cdot (o - p_c)} - r^2' title='C = \mathbf{(o - p_c) \cdot (o - p_c)} - r^2' class='latex' /></center></p>
<p></p>
<p>This can be plugged into the quadratic formula:</p>
<p><center><img src='http://s.wordpress.com/latex.php?latex=%5Cfrac%7B%7B%20-%20B%20%5Cpm%20%5Csqrt%20%7BB%5E2%20%20-%204AC%7D%20%7D%7D%20%7B%7B2A%7D%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{{ - B \pm \sqrt {B^2  - 4AC} }} {{2A}}' title='\frac{{ - B \pm \sqrt {B^2  - 4AC} }} {{2A}}' class='latex' /></center></p>
<p></p>
<ul>
<li>If the determinant, <img src='http://s.wordpress.com/latex.php?latex=B%5E2%20-%204AC&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='B^2 - 4AC' title='B^2 - 4AC' class='latex' />, is negative, there exist no real roots and therefore there is no intersection.</li>
<li>If the determinant is 0, there is exactly one intersection; the ray is tangent to the sphere at this single point.</li>
<li>If the determinant is positive, there are two intersections. The ray penetrates the sphere: one point in, one point out.</li>
<li>If <img src='http://s.wordpress.com/latex.php?latex=t%20%3C%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t &lt; 0' title='t &lt; 0' class='latex' />, the intersection is 'behind' the ray starting point.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/08/ray-sphere-intersection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clear Firefox Download History</title>
		<link>http://www.shy.am/2009/08/clear-firefox-download-history/</link>
		<comments>http://www.shy.am/2009/08/clear-firefox-download-history/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 11:14:42 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=708</guid>
		<description><![CDATA[I like to have Firefox automatically clear my download history whenever a download finishes. It seems the location for this changed slightly in FF 3.0. Go to: Tools -> Options Click on the Privacy Tab From the pull-down menu (&#8220;Firefox will:&#8221;), selected: Use custom settings for history Uncheck: Remember Download History]]></description>
			<content:encoded><![CDATA[<p>I like to have Firefox automatically clear my download history whenever a download finishes. It seems the location for this changed slightly in FF 3.0.</p>
<ol>
<li>Go to: <strong>Tools -> Options</strong></li>
<li>Click on the <strong>Privacy Tab</strong></li>
<li>From the pull-down menu (&#8220;Firefox will:&#8221;), selected: <strong>Use custom settings for history</strong></li>
<li>Uncheck: <strong>Remember Download History</strong></li>
</ol>
<p><a href="http://www.shy.am/wp-content/uploads/2009/08/FirefoxDownloadHistory.jpg"><img src="http://www.shy.am/wp-content/uploads/2009/08/FirefoxDownloadHistory.jpg" alt="FirefoxDownloadHistory" title="FirefoxDownloadHistory" width="471" height="448" class="aligncenter size-full wp-image-709" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/08/clear-firefox-download-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some iPhone Grievances</title>
		<link>http://www.shy.am/2009/08/some-iphone-grievances/</link>
		<comments>http://www.shy.am/2009/08/some-iphone-grievances/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 15:05:32 +0000</pubDate>
		<dc:creator>shyam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.shy.am/?p=654</guid>
		<description><![CDATA[Overall, the iPhone is the best existing device for my needs, but of course it has it&#8217;s own faults. Below are a couple of the most irritating things (for me) about the iPhone. I have other unlisted issues with the device, but most of them are common complaints that you&#8217;ve probably read about somewhere else [...]]]></description>
			<content:encoded><![CDATA[<p>Overall, the iPhone is the best existing device for my needs, but of course it has it&#8217;s own faults. Below are a couple of the most irritating things (for me) about the iPhone. I have other unlisted issues with the device, but most of them are common complaints that you&#8217;ve probably read about somewhere else already.</p>
<ul>
<li>Screen Rotation Toggle &#8211; When trying to read something on my iPhone while lying at an odd angle in bed, it would be great to be able to disable the screen rotation. I wish there was a global option to disable this somewhere.</li>
<p></p>
<li>Touch Screen Toggle &#8211; One case is when I am trying to read a long Wikipedia entry, or a long article in Safari. When scrolling <strong>[touch + drag]</strong> through a long page in Safari, such as a long Wikipedia entry, it is too easy to accidentally click on a link <strong>[touch]</strong>. This re-directs you to another page, or even opens a new browser window. This could easily be fixed in Safari by adding another button to the bottom (near the bookmarks) to toggle the tap gesture. It still doesn&#8217;t fix the problem on an application-wide level (I have the same issue when reading from the AP News app, or even Mail).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shy.am/2009/08/some-iphone-grievances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

