<?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>Engineerography Blog &#187; Computers</title>
	<atom:link href="http://engineerography.com/tag/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://engineerography.com</link>
	<description>Studying and writing about everyday engineering, since 2009.</description>
	<lastBuildDate>Mon, 16 Aug 2010 19:48:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Managing Large Software Projects</title>
		<link>http://engineerography.com/2009/08/managing-large-software-projects/</link>
		<comments>http://engineerography.com/2009/08/managing-large-software-projects/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 13:00:32 +0000</pubDate>
		<dc:creator>Hans F.</dc:creator>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://engineerography.com/?p=820</guid>
		<description><![CDATA[Have you ever wondered how teams of computer programmers create large-scale programs successfully without hindering other people&#8217;s work? There are rather simple tools that keep track of versions of code being developed. This is known as version control, and one popular version control software is Subversion. There are several features in version control software that [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered how teams of computer programmers create large-scale programs successfully without hindering other people&#8217;s work? There are rather simple tools that keep track of versions of code being developed. This is known as <em>version control</em>, and one popular version control software is <em>Subversion</em>. There are several features in version control software that help keep track of changes as code evolves, as well as instances where more than one person works on a particular component of a project.</p>
<p>There are three main components to version control: branches, tags, and the trunk. The trunk can be thought of the main sector of a software project: most of the development work stems from the trunk. Tags are for special milestones in a project. Branches are what they sound like: they branch off from the trunk like a tree. All versions of each file in the project, old and new, are stored in what is known as a <em>repository</em>, with version numbers denoting how old a particular revision is.</p>
<p>There are many ways to utilize the branch-tag-trunk combination, but here&#8217;s an example. Say you have a team of software engineers working on a project. The trunk would be where known good code lives &#8211; code that isn&#8217;t broken nor has bugs. When someone wants to modify the code in the trunk (perhaps to make enhancements or add features), they would create a branch in the project and do their work in the branch. After they are done making code modifications in their branch, they would <em>merge </em>their branch back into the trunk. Most of the time, version control software is smart enough to figure out which parts of a particular file were modified, and incorporate those changes when two versions of the same file are merged together. Merging can also occur when two or more people modify one file at the same time, and later on decide to commit their individual changes to the repository. This way, you can have teams of more than one person working on particular parts of a project without the hassle of figuring out who changed what when combining everyone&#8217;s contributions into one &#8211; that&#8217;s what the version control software is there for.</p>
<p style="text-align: center;">
<div id="attachment_822" class="wp-caption aligncenter" style="width: 658px"><a href="http://en.wikipedia.org/wiki/File:Subversion_project_visualization.svg"><img class="size-full wp-image-822  " title="Subversion Diagram" src="http://engineerography.com/files/2009/08/800px-Subversion_project_visualization.svg.png" alt="A simple diagram showing how version control works." width="648" height="167" /></a><p class="wp-caption-text">A simple diagram showing how version control works.</p></div>
<p>Continuing with the above example, let&#8217;s imagine a major milestone for the project has been attained (perhaps Version 1.0 of the software is complete and ready for release). The code would then be <em>tagged </em>as a tag, and would sit as that particular tagged version in the repository. This is an example of how all three components of version control software is used, and hopefully this article sheds some light onto the underworkings of large-scale software projects.</p>
<p>(Image from <a href="http://en.wikipedia.org/wiki/Subversion_%28software%29">Wikipedia</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://engineerography.com/2009/08/managing-large-software-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fins for Transferring Heat</title>
		<link>http://engineerography.com/2009/07/fins-for-transferring-heat/</link>
		<comments>http://engineerography.com/2009/07/fins-for-transferring-heat/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 13:00:16 +0000</pubDate>
		<dc:creator>Hans F.</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[In-Depth Articles]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Cooling]]></category>
		<category><![CDATA[Heat Transfer]]></category>

		<guid isPermaLink="false">http://engineerography.com/?p=619</guid>
		<description><![CDATA[Have you ever looked at a car&#8217;s radiator or a computer&#8217;s cooling mechanism and wondered why they consist of several thin protruding surfaces? These protruding surfaces are known as fins, and they are key elements in effective heat transfer for components such as a radiator or a computer that require effective cooling.
What makes fins so [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever looked at a car&#8217;s radiator or a computer&#8217;s cooling mechanism and wondered why they consist of several thin protruding surfaces? These protruding surfaces are known as <em>fins</em>, and they are key elements in effective heat transfer for components such as a radiator or a computer that require effective cooling.</p>
<div id="attachment_620" class="wp-caption alignleft" style="width: 235px"><a href="http://en.wikipedia.org/wiki/File:Harumphy.dg965.heatsink.jpg"><img class="size-medium wp-image-620 " title="Fins in a Computer" src="http://engineerography.com/files/2009/07/450px-Harumphy.dg965.heatsink-225x300.jpg" alt="Fins are efficient for heat transfer purposes, like in this computer." width="225" height="300" /></a><p class="wp-caption-text">Fins are efficient for heat transfer purposes, like in this computer.</p></div>
<p>What makes fins so ubiquitous in heat transfer applications? First, it is helpful to understand that the amount of heat an object can transfer is directly related to the surface area of the object that is in contact with ambient surroundings, such as air here on Earth. Two other factors that affect heat transfer are temperature difference and type of material (some materials conduct heat better than others: think metal versus cloth, like an oven mitt). So, imagine that we have a flat sheet of metal and a small cube of the same metal. Both are at the same temperature, have the same volume (consist of the same amount of metal), and are in the same room (so the ambient air temperature is the same for both). If the sheet has twice as much exposed surface area to ambient air as compared to the small cube, then the sheet has the capability of transferring twice as much heat as the cube, even though they have the same physical volume in our example.</p>
<p>Second, businesses like to get as much &#8220;bang for the buck,&#8221; just like consumers. This means a company that needs to design a cooling mechanism for a computer processor would want to maximize cooling ability while minimizing cost for raw materials in their mechanism. Trying to increase the amount of heat transfer by increasing the temperature difference (such as actively cooling the surrounding air) or using a better heat-conducting metal can drive up costs significantly. This leaves the option of increasing exposed surface area for increasing heat transferring capability, and this is where fins come into play.</p>
<p>Fins essentially increase the surface area of an object in need of cooling, which increases the rate at which heat is transferred away from it. By making fins long and slender, like what we see on chipsets inside computers, businesses attain their desired heat transfer capability while keeping the amount of raw material required at a minimum. In the end, we have a win-win situation by using fins: businesses cut down on costs while consumers have devices that don&#8217;t overheat and fail.</p>
<p>(Image from <a href="http://en.wikipedia.org/wiki/File:Harumphy.dg965.heatsink.jpg">Wikipedia</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://engineerography.com/2009/07/fins-for-transferring-heat/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
