<?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>Cory Hardman&#039;s Blog &#187; Thoughts</title>
	<atom:link href="http://www.coryhardman.com/category/thoughts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coryhardman.com</link>
	<description></description>
	<lastBuildDate>Fri, 23 Jul 2010 22:32:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=8678</generator>
		<item>
		<title>Code Reviews, the Lost Art</title>
		<link>http://www.coryhardman.com/2010/07/code-reviews-the-lost-art/</link>
		<comments>http://www.coryhardman.com/2010/07/code-reviews-the-lost-art/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 04:45:25 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=154</guid>
		<description><![CDATA[Most matured developers tend to like the idea of code reviews but given the choice, on there next commit they would likely opt to not send their code for code review. The reason why is simple, code reviews can delay the forward progress of the software and they take time. ]]></description>
			<content:encoded><![CDATA[<p>Nearly every software development shop worth its salt has some form of what is known as a code review and nearly every developer dislikes them.  Most matured developers tend to like the idea of code reviews but given the choice, on there next commit they would likely opt to not send their code for code review. The reason why is simple, code reviews can delay the forward progress of the software and they take time. When you have other developers needing access to the library you just wrote it is hard to say we need to take a few hours to a week of our time to look over my code. I think we should be able to make code reviews better and into something everyone wants to do.</p>
<p>After a code review I often finding myself wondering was what was found worth my time and the reviewers time? Most of the code reviews that I have been apart of have had minor suggestions or more commonly code standards compliance problems. When you rummage through several hundred or a few thousand lines of code during a code review and all that is found is that you have a few extra blank lines or should change the name of a variable, it does seem like a bit of a wast.</p>
<p>I&#8217;m not saying that we should not care about those extra lines or any code standard for that matter. I&#8217;m a big fan of code standards, I think they help in the readability of code. I&#8217;m saying that there is a cost to code reviews, we have to weigh those costs against the rewards. When a reviewer only finds a few compliance issues, things that could be fixed by anyone that is reading through the code, it was not worth the time the reviewer spent reviewing.</p>
<p>So how do we make code reviews worth everyone&#8217;s time? Simple, we change the intent of a code review back to what the actual intent was. Code reviews are put into place to find bugs. Bugs that would show up to an end user or other developers that are trying to use the code.</p>
<p>You may say, “well Cory that is what every code reviewer is doing, they are looking for bugs.” However that is not true, sure they are looking for obvious bugs like unassigned variables being referenced, but they are not looking for deep bugs. One of the most common bugs comes from input validation, and yet it is a bug that is often over looked in code reviews. This is because it is often difficult to tell exactly where input to a function is coming from and how much it should be trusted. Detecting  multi-level bugs requires a reviewer to see how the multiple levels interact and the path of the code in correct and error states. This kind of review takes a lot of time and drastically increases the complexity of a code review. The sharp increase is due to the fact that we are moving a code review from a mostly passive practice to a very active process.</p>
<p>Obviously code reviews could not detect all bugs and there will be times when a code review will not find any bugs. From this active process of a code review you get a new found level of confidence. Bug counts will be decrease and actual development should increase. This confidence is how a code review pay for themselves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2010/07/code-reviews-the-lost-art/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Examining Security Of Open Source and Closed Source</title>
		<link>http://www.coryhardman.com/2010/05/examining-security-of-open-source-and-closed-source/</link>
		<comments>http://www.coryhardman.com/2010/05/examining-security-of-open-source-and-closed-source/#comments</comments>
		<pubDate>Sun, 02 May 2010 16:45:25 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=128</guid>
		<description><![CDATA[I recently just completed a research paper, with two of my colleagues: Clint Caywood and Matt Strayhall, on the security of Open Source Software. The paper went very in depth and I feel helped fill a void of the lack of credible information in this hotly debated topic. Here is the abstract: In this paper, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently just completed a research paper, with two of my colleagues: Clint Caywood and Matt Strayhall, on the security of Open Source Software. The paper went very in depth and I feel helped fill a void of the lack of credible information in this hotly debated topic. Here is the abstract:</p>
<blockquote><p>In this paper, we examine the security of open source software versus that of closed source software. Facets examined include a brief history of the growing need for security in software, a comparison of the different philosophies driving the development of security in open and closed source software, arguments for obscurity in closed source versus the “many eyeballs” theory in open source, and the pros and cons involved with both development processes. We also look at the two approaches in practice, focusing on competing software like Linux and Windows, OpenOffice.org and Microsoft Office, and Apache and Windows IIS Server. Finally, we examine the impacts on society from software security, as well as who is responsible for maintaining secure software.</p></blockquote>
<p>You can find more, including download links, if you visit my <a href="http://www.coryhardman.com/projectsresearch/security-of-opensource-softwar/">Research</a> section of this website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2010/05/examining-security-of-open-source-and-closed-source/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>No NoSQL</title>
		<link>http://www.coryhardman.com/2010/03/no-nosql/</link>
		<comments>http://www.coryhardman.com/2010/03/no-nosql/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 16:45:06 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Development Links]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=116</guid>
		<description><![CDATA[I&#8217;ve recently seen major websites start to move their database back-ends from MySQL to a NoSQL solution. NoSQL for those that have not yet heard of it is way to story data in a loose manner without a rigid scheme defined in a non relational way. The claim is that it these newer technologies can [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently seen <a href="http://about.digg.com/blog/saying-yes-nosql-going-steady-cassandra">major</a> websites start to move their database back-ends from MySQL to a NoSQL solution. NoSQL for those that have not yet heard of it is way to story data in a loose manner without a rigid scheme defined in a non relational way. The claim is that it these newer technologies can scale better than other relational based methods.</p>
<p>Which is fine and dandy for certain projects and if it works it works. However, a recent <a href="http://teddziuba.com/2010/03/i-cant-wait-for-nosql-to-die.html">article</a> underscores a feeling I have had with this trend. What is wrong with MySQL? The recent move to NoSQL would make one wonder how did we ever manage  to store this information in the past? I&#8217;d have to guess that over 99% of all projects are not large enough to every be concerned with scale issues. By scale issues I mean trying to store Google&#8217;s search information. MySQL or some other relational database back-end is being used by nearly every large cooperation in the world to store and manage tons of information.</p>
<p>Relational storage based solutions are still perfectly fine for nearly every project and they are often much easy to use. Be sure to think carefully before trying to decide which direction to head down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2010/03/no-nosql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Risks of Modern Life</title>
		<link>http://www.coryhardman.com/2010/02/risks-of-modern-life/</link>
		<comments>http://www.coryhardman.com/2010/02/risks-of-modern-life/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 04:11:44 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=112</guid>
		<description><![CDATA[According to Confused using social websites such as Twitter or Facebook can increase your risk of being robbed. It is even being said that using Facebook or Twitter may soon increase your home owners insurance. At first glance this seems pretty scary and is something that most people likely never considered. Robbers want to rob [...]]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://confused.com/">Confused</a> using social websites such as Twitter or Facebook can <a href="http://www.confused.com/featured-articles/household/home-insurance/how-tweeting-can-put-your-home-at-risk-3551008159">increase your risk of being robbed</a>. It is even being <a href="http://www.telegraph.co.uk/finance/personalfinance/insurance/7269543/Using-Facebook-or-Twitter-could-raise-your-insurance-premiums-by-10pc.html">said</a> that using Facebook or Twitter may soon increase your home owners insurance. At first glance this seems pretty scary and is something that most people likely never considered.</p>
<p>Robbers want to rob a house when they will have the greatest chance of not getting caught. That means they do not want anyone to be home. These articles point out that when you post your ware abouts online, you are informing robbers. They could use the information that you are not home to go to your house and rob it. The first assumption is that your address is freely available. After doing a quick check of my computer illiterate friends on Facebook, I didn&#8217;t find any with that information available. However, the robber could use your name and a phone book to look you up.</p>
<p>The other problem is robbers already have tons of ways to find people that are not home. Simply picking up a phone book and calling numbers in order and going to the houses that do not pick up. In fact the robber could get lucky and they home owner would have put a message on their voice mail saying they will be out of town. Robbers also know that nearly everyone works during the day. So they can simply go up to a house during the day and knock to see if someone answers the door.</p>
<p>If we look at someone who can guarantee is not home during a certain time, such as a news anchor who is live on air at a certain time each day. We do not see an increase in the likelihood of robber for news anchors versus the average person.</p>
<p>I&#8217;m not saying its perfectly fine to post your ware abouts online. I just want to point out that it is very doubtful it increases your likelihood of being robbed. I hope the smart people at the insurance companies actually look at some data and not just jump on the chance to charge more money.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2010/02/risks-of-modern-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Future of AI</title>
		<link>http://www.coryhardman.com/2010/02/future-of-ai/</link>
		<comments>http://www.coryhardman.com/2010/02/future-of-ai/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 01:18:00 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=108</guid>
		<description><![CDATA[AI has always intrigued me. The idea of recreating human or at least intelligent behavior with software is an amazing idea. Unfortunately modern AI is nothing like the dream of creating human behavior. Sure the current solutions can solve some pretty cool problems, but its not the types of problems that people think of when [...]]]></description>
			<content:encoded><![CDATA[<p>AI has always intrigued me. The idea of recreating human or at least intelligent behavior with software is an amazing idea. Unfortunately modern AI is nothing like the dream of creating human behavior. Sure the current solutions can solve some pretty cool problems, but its not the types of problems that people think of when they dream of AI. At h+ Magazine an <a href="http://hplusmagazine.com/articles/ai/how-long-till-human-level-ai">article</a> was posted discussing what the experts of the AI field predict to happen over the next century. Most seem to think we are a long way off from even being able to pass a 3rd grade exam and possibly 100 years off from making smarter than human AI.</p>
<p>The thing about most AI style problems is that we can solve them in a much easier ways without AI. Passing a 3rd grade exam could be done with advances in natural language processing and some clever Internet searching. It turns out to be very difficult to find ways to test AI. Even the famous Turing Test may not be as satisfactory as one might think. Its hard for a human to tell even if they are talking to another human even if they are, in fact, talking to another human.</p>
<p>The reason why it is so hard to identify another human during the Turing Test is because we don&#8217;t know what we expect from another human. It comes down to the fact that we have no idea what makes us human. Its nearly impossible to describe a humans intelligence and identify the intelligent parts. So it would be very difficult to quantify how an AI system is better than a human, let alone equal.</p>
<p>I think before we are able to make any true AI system we first need to figure out how the human mind works. Which is turning out to be much easier said than done. Every time we figure something out about the brain, it creates at least ten more questions about the brain. To put this problem in some sort of perspective: We had a theory of computation decades before the first computer hardware and we had predictive models of space centuries before we had the ability to test them. However we have the hardware to run our AI systems on, but no theory as to how to do it. So I think we are at least half a century away from having anything near what we dream AI to become.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2010/02/future-of-ai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Walk Through the Human Mind</title>
		<link>http://www.coryhardman.com/2009/11/a-walk-through-the-human-mind/</link>
		<comments>http://www.coryhardman.com/2009/11/a-walk-through-the-human-mind/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 18:18:41 +0000</pubDate>
		<dc:creator>Cory Hardman</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.coryhardman.com/?p=95</guid>
		<description><![CDATA[I wrote the following paper for a Philosophy class that I am enrolled in. The paper mostly deals with dualism versus naturalism and focuses on some common arguments for both sides. I do a bit of a critical review of each side and attempt to conclude with my own views. Whether Dualism or Naturalism is [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote the following paper for a Philosophy class that I am enrolled in. The paper mostly deals with dualism versus naturalism and focuses on some common arguments for both sides. I do a bit of a critical review of each side and attempt to conclude with my own views.</p>
<blockquote><p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<p style="background: transparent none repeat scroll 0% 0%; margin-bottom: 0in; line-height: 100%;">Whether Dualism or Naturalism is true hangs on more than just general philosophical debate. As would run contrary to the first glance, dualism would make the humans mind off limits to science, while naturalism gives science complete control. Both describe where the soul of a person is contained, but use radically different belief systems to come to their conclusions</p>
<p style="margin-bottom: 0in; line-height: 100%;">The first question that would be asked is what is a soul? Webster gives the following definition: “the immaterial essence, animating principle, or actuating cause of an individual life.” At first glance this seems very well defined. As a human being I notice that I am radically different from any of my animal counterparts, however what exactly is it that makes me so different? On the physical side I obviously look different from any animal, but most animals look different compared to other animals. Also most dualists believe that only humans have souls, thus it cannot be physical traits that set me and the animal world apart. Is it intelligence, language, or reasoning? Well all three can be seen in some form or another in the animal kingdom. It is not so easy to find exactly what it is that makes us human and everything else not human.</p>
<p style="margin-bottom: 0in; line-height: 100%;">To give a partially complete answer of what makes us human it would be in the way humans constantly reevaluate their thoughts and actions. We do more than low level reasoning to solve simple logic problems, we use high level reasoning that allows us to gain knowledge from little to no actual experience.  For example, the ability to reason about the existence of a soul is a high-level reasoning problem that no animal is able to do. This seems like a huge leap from the most intelligent, non human animal but it is the next logical step after low level reasoning. While, most low level reasoning requires a single pass through of all of the information at hand to yield a result, high-level reasoning requires multiple passes, taking what we have previously decided to be true and using that as part of our input for the next round of reasoning to gain new meaningful information.  So to be human means to have the ability to do high level reasoning and gain knowledge from no experience.</p>
<p style="margin-bottom: 0in; line-height: 100%;">Now that we understand what the soul is, we must examine where the soul is. This is the heart of the debate between dualism and naturalism. In dualism it is believed that the soul is an immaterial object that is physically separate from the brain. Naturalism takes the stance that the soul, commonly referred to as the mind, is simply part of the brain.  Which one is correct?</p>
<p style="margin-bottom: 0in; line-height: 100%;">Descartes argues that dualism is the correct answer. He takes his arguments against scepticism and turns them into an argument for dualism. The argument often takes the form: I can imagine that my body does not exist, but I cannot imagine that I myself do not exist therefore I must be entirely distinct from my body. The two premises nearly follow directly from Descartes&#8217; own arguments and the arguments of scepticism, however, the conclusion tends to be a bit of jump. Descartes does show that I myself and my body can be two separate things in this argument but he does not show that it is necessarily true. In fact the only way that it be necessarily true would be if the sceptical argument was correct, something that even Descartes has argued against.</p>
<p style="margin-bottom: 0in; line-height: 100%;">It is a bit ironic that Descartes argues for dualism while he argues against scepticism. By forcing the mind to be separate from the body, as it is in dualism, he is creating a world in which nothing has to exist except for the soul. If souls are what make us human than we could simply be brains in a vat, or in the case of dualism, non-physical entities that either simulate a physical world or are actually connected to a physical body. Both cases would make the sceptical arguments virtually true.</p>
<p style="margin-bottom: 0in; line-height: 100%;">Other arguments for dualism turn out to be a bit of a let down as well. Descartes attempts to argue for the connection between the human mind and the soul, but it doesn&#8217;t appear to be scientifically possible to transfer the information from our physical world to the non-physical world of souls. One could then argue that perhaps souls are part of this physical world and we have not yet found a way to measure their existence. If this were true, it seems scientifically silly to think the soul has to be outside of the brain.</p>
<p style="margin-bottom: 0in; line-height: 100%;">With so many strikes building against arguments for dualism it seems like it  cannot be correct.  However, no matter how many individual arguments for a topic are proven to false, the topic, itself, could still be true until someone proves that it is not. In order to disprove dualism we must examine dualism itself and see what it implies, and see if these implications fit our model of the world or not.</p>
<p style="margin-bottom: 0in; line-height: 100%;">Modern science believes that humans came from creatures that evolved over a very long period of time here on earth. At some point two creatures that where very human-like mated to give birth to a human child. Now starting with the assumption that evolution is correct, at what point did the soul come about? Well there are two answers: the first is that the souls were there prior to the existence of humans; the second is that they existed upon the creation of the first human child.</p>
<p style="margin-bottom: 0in; line-height: 100%;">The first argument would imply that every creature has a soul. This argument doesn&#8217;t exactly make sense because we have already defined the soul to be what makes us human. It is possible that we ill-defined the soul, but most modern dualists do not believe that every creature has a soul. This isn&#8217;t exactly a satisfactory reason to discredit the argument. The idea of the soul is generally believed to stem from religion. Which says that the soul is what lives on after we have died in this physical world. From this it seems strange to believe that a god would make animals live on after they have died.</p>
<p style="margin-bottom: 0in; line-height: 100%;">This leaves us with the second argument, which is that when the first child was born, a soul was either created or assigned for this first human. What was it that the parents of the first human didn&#8217;t have but the child did have? From evolution it is known that very subtle changes are the only ones that are made from parents to offspring. So the parents likely had pretty similar DNA and physical traits compared to the first human. It is hard to imagine that such a small change could have such a dramatic change on this world. Again, however, this isn&#8217;t exactly a fulfilling proof that the soul couldn&#8217;t have been attached at the first birth. Let&#8217;s assume that the first human did get a soul when it was created. How did this child mate to create new humans? Well, other non-human creatures could have created human offspring which had the exact same change from the non-humans that allowed the soul to be attached. These offspring would need to have been created fairly close together so that they could eventually meet and mate. This seems very unlikely, as the probability of this happening is very low. Another option is that the first human mated with other non-humans and again created a human. This seems to take away what makes a human special, the human offspring could be more like its non-human parent than its human one. Why would a soul attach to a slightly human creature and not other non-human creatures? The final option is that the first human had a sibling of the opposite sex who was also born with the unique set of traits that made it human. Then the siblings mated to create more humans. This seems unlikely because the only universal law of humanity is that siblings should not mate. That rule appears in every culture in some form or another. Why would the first generation of human violate what appears to be an inherent law of human nature?</p>
<p style="margin-bottom: 0in; line-height: 100%;">Thus it appears that the dualist argument has been defeated given that evolution is true. It would be nice if we could get rid of the condition of evolution being true. There are arguments that attempt to do just that, but they tend to involve a lot of other assumptions and are not completely satisfactory proofs.</p>
<p style="margin-bottom: 0in; line-height: 100%;">Let&#8217;s now turn our attention to that of naturalism. It seems natural to feel that you exist separate from your body. This part that we feel is separate we generally call the mind. The brain is not the same as the mind, but rather the physical vehicle for our mind. We can consider our brain as a black box; by this we mean that lots of input goes into our brain and a lot of output comes out of our brain. Our brain cannot directly interact with the world around it, all it can do is use the inputs from our senses to gather information and use our body to express information. Using this view of the brain it is natural to see where the mind comes from. The mind is an emergent property of our brain attempting to exist outside of itself. The brain must place itself outside of our bodies to be able to interact with the world around us. Thus our mind is created to be that imaginary thing outside our body.</p>
<p style="margin-bottom: 0in; line-height: 100%;">So it appears that our belief in dualism is a natural side effect of the way our brain attempts to make sense of the input it receives in order to interact with the world. It is important to remember that disproving dualism does not disprove religion or cheapen the value of a human life. Religion sits in a different domain than science it answers what happens after this life, while science answers how this life works.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.coryhardman.com/2009/11/a-walk-through-the-human-mind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
