<?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>What Andy is Excited About</title>
	<atom:link href="http://www.andymeneely.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andymeneely.com/blog</link>
	<description>Fascination is a gift for everyone to treasure</description>
	<lastBuildDate>Fri, 03 Sep 2010 11:43:54 +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>Fractals and Fractional Dimension… huh?</title>
		<link>http://www.andymeneely.com/blog/math-science/fractals-and-fractional-dimension%e2%80%a6-huh/</link>
		<comments>http://www.andymeneely.com/blog/math-science/fractals-and-fractional-dimension%e2%80%a6-huh/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 04:01:18 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Math & Science]]></category>
		<category><![CDATA[dimensions]]></category>
		<category><![CDATA[fractals]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=87</guid>
		<description><![CDATA[Remember dimensions? A 1D figure is a line, 2D is a plane, etc. Well it turns out that there are more than just those 3 dimensions, and that's what what we call a fractal! ]]></description>
			<content:encoded><![CDATA[<div>
<p class="subtitle">Remember your high school geometry? (Don&#8217;t worry, there won&#8217;t be  quiz.) Remember dimensions? A 1D figure is a line, 2D is a plane, and 3D  is space. Well it turns out that there are more than just those 3  dimensions&#8230;. that&#8217;s what what we call a <em>fractal! </em></p>
<p class="subtitle">What are fractals? Fractals are figures with <em>fractional dimension</em> that often exhibit self-similar properties. In this article, we&#8217;ll briefly cover how fractional dimension actually works.</p>
<p class="subtitle"><span id="more-87"></span></p>
<div class="wp-caption alignright" style="width: 208px"><img class="  " src="http://www.andymeneely.com/prog/fractal/dimension/geometricfigures.gif" alt="" width="198" height="322" /><p class="wp-caption-text">Euclid&#39;s view of geometry, with cubes in dimensions 1 through 4.</p></div>
<p>Before jumping into fractional dimensions, let&#8217;s look at what whole dimensions look like. My guess is that only three of those figures to the right are familiar to you. The hypercube is something that exists in 4D, so drawing it in two dimensions is rather difficult (hence the confusing lines that cross each other). Don&#8217;t think about it too much or you&#8217;ll get a headache &#8211; we&#8217;ll talk about hypercubes another time.</p>
</div>
<p>Notice that, in going from one dimension to the next, you take two figures of the smaller dimension and connect all the analagous &#8220;corners&#8221; . So if you take two lines and connect their endpoints, you get a square. Take two squares and connect each side with more squares and you get a cube.</p>
<p>Ok, so you can see how we <em>construct</em> an N-dimensional figure from figures with a lower dimension.</p>
<p>So far it seems like Euclid arbitrarily assigned numbers to each  dimension; it seems like there&#8217;s no reason why he said that lines had a  dimension of 1 and not 4.352. Turns out the man had a reason. Let&#8217;s take a look at the dimension of a square.</p>
<div class="wp-caption alignleft" style="width: 239px"><img class=" " src="http://www.andymeneely.com/prog/fractal/dimension/subdividesquare.gif" alt="" width="229" height="323" /><p class="wp-caption-text">Notice that the exponent in both cases is 2, so we have a 2D figure</p></div>
<p>For this example, let&#8217;s exploit self-similarity by splitting a square evenly into smaller squares. You can divide your square up lots of different ways: 4, 9, 16, 25, etc.  You might notice, though, that no matter how you divide your square, the number of squares you need is the number of squares you need for the <em>line</em> raised to the power of 2.  (this is why saying &#8220;raising to the power of 2&#8243; is the same as &#8220;squared&#8221;).</p>
<p>Huh? The dimension of the figure is the exponent when you construct your figure from a figure from smaller dimension. So if we need 3 chunks to construct a line, we need 9 chunks to construct our square. For a cube, you would need x^3 small cubes to make a big cube.</p>
<p class="normal">So how do we use what we know to calculate the fractional dimension of this snowflake figure?</p>
<div class="wp-caption aligncenter" style="width: 459px"><img src="http://www.andymeneely.com/prog/fractal/dimension/koch.gif" alt="" width="449" height="146" /><p class="wp-caption-text">The Van Koch curve</p></div>
<p>Let&#8217;s take a look at how this figure is constructed. It&#8217;s constructed iteratively, so we repeat the following steps to infinity.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.andymeneely.com/prog/fractal/dimension/kochconstruction.gif" alt="" width="350" height="266" /><br />
<img class="rightSideBar" src="http://www.andymeneely.com/prog/fractal/dimension/KochAnim.gif" alt="" width="244" height="74" /></p>
<p>The scale of each small piece to a large piece to a large piece is 3, and at each step you use 4 figures. So, even though the size is 1/3 the size, you need four figures to construct the larger figure. Below is the calculation for the dimension of Van Koch curve.</p>
<p class="rightSideBar" style="text-align: center;"><img class="aligncenter" src="http://www.andymeneely.com/prog/fractal/dimension/calckoch.gif" alt="" width="358" height="213" /></p>
<p class="rightSideBar" style="text-align: center;">Where S is the size of the line, N is the number of figures needed to construct the whole figure and d is the dimension we are calculating.</p>
<p>So our Van Koch figure is somewhere <em>between</em> 1-dimensional and 2-dimensional. Also, figures like this have weird mathematical properties, like having infinite surface area and finite volume.</p>
<p>Cool, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/math-science/fractals-and-fractional-dimension%e2%80%a6-huh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet Another Geeky Comic: Todo List</title>
		<link>http://www.andymeneely.com/blog/comics/todo-list/</link>
		<comments>http://www.andymeneely.com/blog/comics/todo-list/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 04:01:40 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Comics]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[grad school]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=390</guid>
		<description><![CDATA[Yet another silly comic&#8230;]]></description>
			<content:encoded><![CDATA[<p>Yet another silly comic&#8230;<br />
<span id="more-390"></span></p>
<p style="text-align: center;"><a href="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/todo-list.png"><img class="aligncenter size-full wp-image-391" title="Todo list comic" src="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/todo-list.png" alt="" width="420" height="2013" /></a></p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fcomics%2Ftodo-list%2F&amp;via=andymeneely&amp;text=I+just+read+Yet+Another+Geeky+Comic%3A+Todo+List+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fcomics%2Ftodo-list%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/comics/todo-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hashing Part 1: Not just for potatoes!</title>
		<link>http://www.andymeneely.com/blog/math-science/hashing-pt1/</link>
		<comments>http://www.andymeneely.com/blog/math-science/hashing-pt1/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 04:01:00 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Math & Science]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=102</guid>
		<description><![CDATA[What is hashing? Is it for cryptography? Faster software? Reliability? All of the above. Come find out why.]]></description>
			<content:encoded><![CDATA[<div id="attachment_133" class="wp-caption alignright" style="width: 310px"><a href="http://www.andymeneely.com/blog/wp-content/uploads/2008/08/hashbrown.jpg"><img class="size-medium wp-image-133" title="Hash Browns" src="http://www.andymeneely.com/blog/wp-content/uploads/2008/08/hashbrown-300x226.jpg" alt="Mmmm... hash browns." width="300" height="226" /></a><p class="wp-caption-text">Mmmm... hash browns.</p></div>
<p>Hash functions are an often-overlooked staple of good software. Hidden deep within code that you rely on every day are these mathematical gems that tell us what to trust and what to investigate.</p>
<p>The need for hash functions come up pretty often in software, lending themselves to a variety of uses like cryptography, speed, and reliability.</p>
<p>In this 2-part article, we&#8217;ll talk about how hash functions can be used in all sorts of ways.</p>
<p><span id="more-102"></span></p>
<p>The basic definition of a hash function is straightforward: given some  data, calculate a number. The data can be of any size, from a few characters (like a password) to gigabytes and gigabytes of data. Because these algorithms can swallow so much data, they&#8217;re often called &#8220;digests&#8221;.</p>
<p>A good hash function creates a number that is &#8220;very unique&#8221;. That is, for two similar data sets, two <em>different</em> numbers are generated. The idea is that if you get two pieces of data with the same hash, you are <em>very </em>sure (but not completely sure) that those two pieces of data are exactly the same.</p>
<h3>Some Real Examples</h3>
<p>As one might be able to tell from the <a href="http://en.wikipedia.org/wiki/Hash_function">Wikipedia</a> article, there are tons of hashing algorithms out there. Perhaps the most commonly known hash algorithms are MD5 and SHA256. In both cases of MD5 and SHA256, the number outputted is extremely large.</p>
<p>For example, the MD5 hash of the phrase &#8220;Hello, World!&#8221; is 6cd3556deb0da54bca060b4c39479839. For those keeping score at home, that&#8217;s a base 16 number with 32 digits!  (Or should they be called hexits?) That&#8217;s somewhere around 3 * 10^38 power (see <a href="http://www.wolframalpha.com/input/?i=16^32">this link</a> for the exact number).</p>
<p>Is it possible to two pieces of data that compute to the same hash? Sure &#8211; it&#8217;s called a &#8220;collision&#8221;. Collisions are astronomically unlikely (well&#8230; unless you&#8217;ve cracked the function &#8211; more on that in Part 2).</p>
<h3>Hashing for Speed</h3>
<p>So what does all this have to do with speed? Let&#8217;s start with a common programming problem: comparing two pieces of data. Suppose we have:</p>
<ul>
<li>100 very large movie files, and</li>
<li>we want to know if any two of those files are <em>exactly </em>the same file.</li>
</ul>
<p>No matter what, you will have make lots of comparisons to complete this problem. But, comparing two files byte-by-byte is rather slow. Sure, if the two files are different by only one byte, you could stop the comparison short. But what if lots of the files are the same? That would be quite slow.</p>
<p>What if we could reduce the <em>speed</em> of a comparison down to something negligble&#8230; like instead of comparing gigabytes upon gigabytes of data, we just compare two 32-digit (4-byte) numbers. Enter the hash function! Just run each file through your hash function, storing all of those numbers (also called &#8220;hashes&#8221;), and compare those hashes. If the hashes are different, you know the files are different. If the hashes are the same, then then you <em>almost positive </em>that the two files are the same (e.g. for Md5, there&#8217;s a 1 in 1,00000 chance that you&#8217;re wrong).</p>
<p>That reduces your comparison time way down. Sure, you have to read through the file byte-by-byte once to calculate the hash, but after that, you can just use the hash for all your comparisons.</p>
<p>One common example of a system that does this exact kind of speedup is the <a href="http://git-scm.com/">Git</a> version control system. See? I&#8217;m not making this up!</p>
<p><strong>Stay tuned!</strong></p>
<p>Now hashing can be much more useful beyond speedy file comparisons. In our next article, we&#8217;ll talk about how hashing is used in computer security &#8211; stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/math-science/hashing-pt1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Top 8 Reasons to love a Good Discussion</title>
		<link>http://www.andymeneely.com/blog/all-encompassing/good-discussion/</link>
		<comments>http://www.andymeneely.com/blog/all-encompassing/good-discussion/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 04:01:59 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[All Encompassing Ideas]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[discussion]]></category>
		<category><![CDATA[ideas]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=320</guid>
		<description><![CDATA[If you&#8217;ve ever met me, you know that I love a good discussion. If you haven&#8217;t met me (and want to&#8230;), then go buy me a cup of coffee and get ready to talk. Because we will talk&#8230; And don&#8217;t try to fake me out with your internet forums or your email chains. I&#8217;ll take [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_321" class="wp-caption alignright" style="width: 220px"><a href="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/coffee-graphic.png"><img class="size-medium wp-image-321" title="coffee-graphic" src="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/coffee-graphic-300x291.png" alt="" width="210" height="204" /></a><p class="wp-caption-text">Don&#39;t forget the fuel!</p></div>
<p>If you&#8217;ve ever met me, you know that I love a good discussion. If you haven&#8217;t met me (and want to&#8230;), then go buy me a cup of coffee and get ready to talk. Because we <em>will</em> talk&#8230;</p>
<p>And don&#8217;t try to fake me out with your internet forums or your email chains. I&#8217;ll take my face-to-face interaction, thank you. You can have your texting, give me the ol&#8217; analog dialog.</p>
<p>You know what? I think discussions are so awesome that they deserve capital letters for this post. So here you go: the top 8 reasons that I love a Good Discussion.</p>
<p><span id="more-320"></span></p>
<p><strong>8. Good Discussions usually involve good coffee.</strong></p>
<p>I&#8217;m pretty sure it&#8217;s a scientific truth that the best sweetener for a good cup of coffee is the Good Discussion. And caffeine is the fuel for a Good Discussion. It&#8217;s a symbiotic relationship. Or is it a perpetual motion machine?</p>
<p><strong>7. Good Discussions create a safe place.</strong></p>
<p>To me, a Good Discussion creates an safe environment for people. I can try out new ideas that I&#8217;m having. I  can help people with their ideas. Nobody is under pressure. We&#8217;re all in this  together.</p>
<p><strong>6. Good Discussions can<em> </em>stretch my thinking</strong></p>
<p>I have learned more wisdom and perspective from the Good Discussion than any book or class. Period. There&#8217;s something about that interaction that takes your brain to the next level.<strong><br />
</strong></p>
<p><strong>5. Good Discussions don&#8217;t have to stretch my thinking</strong></p>
<p>You know, if I just want to sit back and listen to someone else, I&#8217;ll do just that. No expectations. In a Good Discussion, nobody is needs to perform. Nobody is being judged here.</p>
<p><strong>4. Good Discussions teach me to articulate myself better</strong></p>
<p>Sometimes ideas just sound so much better in my head. And sitting down at a discussion is the best place to figure out how to get that neat idea out of my brain. Or just realize that the idea wasn&#8217;t as good as I hoped. Either way &#8211; the Good Discussion always helps me tell better stories and explain ideas better.</p>
<p><strong>3. Good Discussions teach me to listen</strong></p>
<p>I&#8217;m pretty sure that nobody would disagree that we all need to kick back and listen sometimes. Discussions are great for this. They give you a chance to chill, yet motivate you to come up with your next thing to say.</p>
<p><strong>2. Good Discussions can be hilarious</strong></p>
<p>Have you ever tried to re-tell a hilarious joke from a Good Discussion to someone else later? It never makes sense. But it sure is funny at the time!</p>
<p><strong>1. Good Discussions are relaxing</strong></p>
<p>Have you ever come away from a Good Discussion feeling recharged and ready to take on the world! I love that. Sometimes my toughest and most stressful moments are immediately alleviated by a Good Discussion.</p>
<p>I&#8217;m sure I&#8217;m missing a few other good reasons. If you feel like discussing this topic more &#8211; you know how to find me <img src='http://www.andymeneely.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fall-encompassing%2Fgood-discussion%2F&amp;via=andymeneely&amp;text=I+just+read+Top+8+Reasons+to+love+a+Good+Discussion+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fall-encompassing%2Fgood-discussion%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/all-encompassing/good-discussion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Espresso: Coffee’s Delicious Cyborg Cousin</title>
		<link>http://www.andymeneely.com/blog/coffee/espresso-is-a-cyborg/</link>
		<comments>http://www.andymeneely.com/blog/coffee/espresso-is-a-cyborg/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 16:01:17 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Coffee]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[espresso]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=206</guid>
		<description><![CDATA[Espresso machines brew at enormous pressure &#8211; about 13 atmospheres. That means the pressure in your espresso machine is 13 times the pressure of our current atmosphere. To give you a sense of just how much pressure we&#8217;re talking about, your car tires are at about 2.4 atmospheres. Prior to the industrial revolution, it&#8217;s was [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/DSCN0808.jpg"><img class="alignright size-medium wp-image-230" title="DSCN0808" src="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/DSCN0808-225x300.jpg" alt="" width="225" height="300" /></a>Espresso machines brew at enormous pressure &#8211; about 13 atmospheres. That means the pressure in your espresso machine is 13 times the pressure of our current atmosphere. To give you a sense of just how much pressure we&#8217;re talking about, your car tires are at about 2.4 atmospheres.</p>
<p>Prior to the industrial revolution, it&#8217;s was never practical to mass-produce a machine with such high pressure, so the idea of espresso never really occurred to anybody. Once steam powered machines became more prevalent, however, people discovered that brewing coffee under such high pressure extracted more oils from the grounds.</p>
<p>Now coffee itself has been around for thousands of years. So, relative to the whole history of coffee itself, espresso is quite a recent innovation in coffee technology. That&#8217;s why I call it &#8220;Coffee&#8217;s Delicious Cyborg Cousin&#8221;.</p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fcoffee%2Fespresso-is-a-cyborg%2F&amp;via=andymeneely&amp;text=I+just+read+Espresso%3A+Coffee%E2%80%99s+Delicious+Cyborg+Cousin+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fcoffee%2Fespresso-is-a-cyborg%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/coffee/espresso-is-a-cyborg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P vs. NP: The Problem Showdown</title>
		<link>http://www.andymeneely.com/blog/math-science/p-vs-np-the-problem-showdown/</link>
		<comments>http://www.andymeneely.com/blog/math-science/p-vs-np-the-problem-showdown/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 18:00:24 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Math & Science]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[proof]]></category>
		<category><![CDATA[unsolved]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=294</guid>
		<description><![CDATA[Mathematics is chock full of unsolved problems. Sometimes a problem can last for centuries before the next genius comes along and solves it. P vs. NP is one of those problems. However, unlike many other unsolved problems, P vs. NP has gotten special attention from educators and the media in recent years. In this article, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_526" class="wp-caption alignright" style="width: 310px"><a href="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/p-vs-np.jpg"><img class="size-medium wp-image-526" title="p vs np" src="http://www.andymeneely.com/blog/wp-content/uploads/2010/08/p-vs-np-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">P vs. NP: The battle of the new millenium</p></div>
<p>Mathematics is chock full of unsolved problems. Sometimes a problem can last for centuries before the next genius comes along and solves it. <a href="http://en.wikipedia.org/wiki/P_versus_NP_problem">P vs. NP</a> is one of <a href="http://en.wikipedia.org/wiki/Millenium_problems">those problems</a>. However, unlike many other unsolved problems, P vs. NP has gotten special attention from educators and the media in recent years.</p>
<p>In this article, we&#8217;ll briefly talk about the most popular of unsolved mysteries of theoretical computer science: P vs. NP.</p>
<h3><span id="more-294"></span></h3>
<h3>Algorithms: Not Just for Making Food</h3>
<p>P vs. NP is a problem <em>about</em> <em>problems.</em> More specifically, P and NP are certain types of problems, classified by their types of solutions. The solutions to these problems are what we call <em>algorithms. </em>An algorithm is really just a fancy word for a well-defined procedure or protocol &#8211; like a recipe or driving directions. The field of P vs. NP is from <em>algorithm analysis</em>, which (among many other things) studies how <em>fast</em> a given algorithm runs.</p>
<p>Let&#8217;s do an example. Suppose you need to go through a shuffled deck of cards to find the Ace of Spades. How would you go about it? Me, I would look at each individual card of the deck until I found the Ace of Spades. How long would that take me? My algorithm could take up to 52 glances at a card until I find the Ace. Likewise, if the deck had 1,000 cards, then I might have to look at up to 1,000 cards before I found a solution. In algorithm analysis, we say that the <em>runtime</em> of my algorithm in terms of glances has a linear relationship to the number of cards in the deck.</p>
<h3>Polynomial vs. Non-Polynomial Time</h3>
<p>So can all problems be solved in linear time? Not by a long shot. For example, you cannot provide an algorithm that sorts a deck of cards in linear time every time (the optimal is n*log n for sorting, in case you&#8217;re wondering).</p>
<p>Furthermore, some problems take quadratic (i.e. n^2) time to solve &#8211; these are called <em>polynomial time</em> problems. The set of problems that can be solved in polynomial time is called P. This includes problems like sorting cards and finding the Ace of Spades in an arbitrarily large deck of cards. And there are even more difficult problems out there &#8211; the <em>exponential</em> problems. Exponential algorithms usually take the &#8220;try every single possibility until you find the solution&#8221; approach (a.k.a. &#8220;brute force&#8221;).</p>
<p>Now, mathematicians have found that there is this class of problems &#8211; called NP &#8211; where <em>verifying</em> that a given solution is correct can be done in polynomial time. However, nobody has ever come up with a algorithm for <em>finding</em> the solution in polynomial time.</p>
<p>One of the most famous examples is the Traveling Salesman problem. Suppose I gave you a huge roadmap of cities and roads. And then I asked you to find if there was a way to travel to each city <em>exactly </em>once (no skipping, no double-visits). If you find me a solution, I can check it in polynomial time by just trying out your path and checking off cities. But can you come up with an algorithm that finds the path without brute-forcing (which happens to be exponential)? Or, can you prove that no such path exists?</p>
<p>That&#8217;s the P vs. NP problem. Either come up with a way to solve NP problems in polynomial time (which means that P=NP), <em>or</em> prove that it&#8217;s impossible to come up with such an algorithm (which means P does not equal NP). Oh, and by the way, if P <em>does</em> equal NP, then our best encryption would be easily solvable and the whole internet would buckle. But don&#8217;t worry or anything, we&#8217;re pretty sure P is <em>not</em> the same as NP.</p>
<p>Now just like most articles here, I&#8217;ve cut out a lot of the story. A lot of progress has been made in P vs. NP, such as the development of these special <em>NP-complete</em> problems. Maybe that&#8217;s a topic for another day <img src='http://www.andymeneely.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fmath-science%2Fp-vs-np-the-problem-showdown%2F&amp;via=andymeneely&amp;text=I+just+read+P+vs.+NP%3A+The+Problem+Showdown+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fmath-science%2Fp-vs-np-the-problem-showdown%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/math-science/p-vs-np-the-problem-showdown/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting Excited About Things</title>
		<link>http://www.andymeneely.com/blog/all-encompassing/getting-excited-about-things/</link>
		<comments>http://www.andymeneely.com/blog/all-encompassing/getting-excited-about-things/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:55:02 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[All Encompassing Ideas]]></category>
		<category><![CDATA[geekiness]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=182</guid>
		<description><![CDATA[Many years ago, I started something like this blog. I had begun to learn a lot about the world around me that I wanted a place where I could write about it. That child-like wonder led me to begin writing long, detailed articles about cool (often Computer Science-related) things that I was learning about. I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andymeneely.com/blog/wp-content/uploads/2012/08/hiker-silhouette.jpg"><img class="alignright size-medium wp-image-399" title="Hiker Silhouette" src="http://www.andymeneely.com/blog/wp-content/uploads/2012/08/hiker-silhouette-208x300.jpg" alt="" width="208" height="300" /></a>Many years ago, I started something like this blog. I had begun to learn a lot about the world around me that I wanted a place where  I could write about it. That child-like wonder led me to begin writing  long, detailed articles about cool (often Computer Science-related)  things that I was learning about. I had high hopes for this site as  being one of the most interesting sites on the web for cool facts and  neat concepts.</p>
<p>Then I found Wikipedia and my heart sank. Who knew that millions  of people editing a website 24 hours a day would be able to put out  more information than my measly website? Defeated, I hung up my spurs. I almost came back to my writing, then a little thing called  &#8220;grad school&#8221; crept into my life and sucked every ounce of energy I  once had for writing about cool and interesting things.</p>
<p><span id="more-182"></span>After several years of grad school, however, I have learned  one very valuable lesson: that fascination is a gift everyone should  treasure, yet few people do. Amidst all of the trials and tribulations  that face a young PhD student &#8211; finding a dissertation topic, honing my research skills, and articulating my findings to anyone who would listen &#8211; I learned that the best gift I  ever had was a genuine sense of awe and respect for whatever I was studying.</p>
<p>I started applying my exuberant fascination to my attitude toward my PhD work and, somehow, those super-stressful moments of &#8220;defending&#8221; my ideas became  a dialog of exciting perspectives and questions. I was no longer fighting people, but participating in a shared exploration of the messy, complex truth. Without fascination, I would have become a burned-out  automaton driven by fear of rejection.</p>
<p>All that said, I think fascination is what this blog should be about. Excitement. Concepts. Elegant simplicity. Learning about God&#8217;s big world. And maybe some bad geek humor now and then.</p>
<p>So go to Wikipedia if you want a bunch of facts linked together. Come  here if you want to share in my fascination.</p>
<p>Welcome to what I am excited about.</p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fall-encompassing%2Fgetting-excited-about-things%2F&amp;via=andymeneely&amp;text=I+just+read+Getting+Excited+About+Things+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fall-encompassing%2Fgetting-excited-about-things%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/all-encompassing/getting-excited-about-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a Blog</title>
		<link>http://www.andymeneely.com/blog/welcome/making-a-blog/</link>
		<comments>http://www.andymeneely.com/blog/welcome/making-a-blog/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:50:08 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Welcome]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://www.andymeneely.com/blog/?p=518</guid>
		<description><![CDATA[Welcome to the new blog! As you might have guessed, I am pretty excited about this whole project. This is actually a re-boot of several old writing projects I started way back in college. Now I&#8217;m revising, re-writing, and re-scoping everything into a fancy-schmancy WordPress blog. Over the next several days, I&#8217;ll be releasing several [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the new blog! As you might have guessed, I am pretty excited about this whole project. This is actually a re-boot of several old writing projects I started way back in college. Now I&#8217;m revising, re-writing, and re-scoping everything into a fancy-schmancy WordPress blog.</p>
<p>Over the next several days, I&#8217;ll be releasing several blog posts to give everyone a feel for what this project is all about. After that, the posts will (hopefully) show up weekly on Friday mornings.</p>
<p>In the meantime, please feel free to register for comments, and read about <a href="http://www.andymeneely.com/blog/why-am-i-doing-this/">why I&#8217;m doing this</a>.</p>
<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fwelcome%2Fmaking-a-blog%2F&amp;via=andymeneely&amp;text=I+just+read+Making+a+Blog+from+What+Andy+is+Excited+About&amp;lang=en&amp;count=none&amp;counturl=http%3A%2F%2Fwww.andymeneely.com%2Fblog%2Fwelcome%2Fmaking-a-blog%2F"  class="twitter-share-button">Tweet</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.andymeneely.com/blog/welcome/making-a-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
