<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>SectorFej</title>
	
	<link>http://www.sectorfej.net</link>
	<description>My tiny corner of the internet</description>
	<lastBuildDate>Sun, 29 Aug 2010 04:15:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sectorfej" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="sectorfej" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Communism, Anarchism, and Minarchism</title>
		<link>http://www.sectorfej.net/2010/08/28/communism-anarchy-and-minarchy/</link>
		<comments>http://www.sectorfej.net/2010/08/28/communism-anarchy-and-minarchy/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 01:58:38 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[anarchy]]></category>
		<category><![CDATA[communism]]></category>
		<category><![CDATA[minarchy]]></category>
		<category><![CDATA[political]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1364</guid>
		<description><![CDATA[I recently had a short discussion with a friend that illuminated a discrepancy in his interpretation of my political views and my own interpretation of them. Or, more simply, I discovered that he thought I believed something that I don&#8217;t actually believe. It was an honest mistake on his part, due mostly to a lack [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I recently had a short discussion with a friend that illuminated a discrepancy in his interpretation of my political views and my own interpretation of them. Or, more simply, I discovered that he thought I believed something that I don&#8217;t actually believe. It was an honest mistake on his part, due mostly to a lack of communication on my part, but it got me thinking about how I might be more clear in the future.</p>
<p>Part of the lack of clarity comes from my own lack of complete understanding about politics and economics, something which I am slowly but surely trying to fix as the days go by. But part of it could be helped by simply stating what I believe at this point, since (at least on a foundational level) it is quite simple to explain.</p>
<p>People who know me know that I tend to lean towards what is currently known as <em>Libertarianism</em>. I say &#8220;currently&#8221; because that label could easily change in the next decade; it certainly has over the last few. However, even that term has so many different variations that it leaves a lot of room for error. To some, it means &#8220;liberal&#8221; in the old sense; to some, it is almost synonymous with &#8220;anarchism.&#8221; Take the following helpful (read: <em>confusing</em>) bit of clarification from Wikipedia on anarchism, socialism, and libertarianism:</p>
<blockquote><p>There is some ambiguity with the use of the terms &#8220;libertarianism&#8221; and &#8220;libertarian&#8221; in writings about anarchism. Since the 1890s from France, the term &#8220;libertarianism&#8221; has often been used as a synonym for anarchism and was used almost exclusively in this sense until the 1950s in the United States; its use as a synonym is still common outside the United States. Accordingly, &#8220;libertarian socialism&#8221; is sometimes used as a synonym for socialist anarchism, to distinguish it from &#8220;individualist libertarianism&#8221; (individualist anarchism). On the other hand, some use &#8220;libertarianism&#8221; to refer to individualistic free-market philosophy only, referring to free-market anarchism as &#8220;libertarian anarchism&#8221;.</p></blockquote>
<p>Good grief! This is exactly why I am so hesitant to ascribe to any kind of label whatsoever. Granted, political labels are more prone to misinterpretation than others (&#8220;programmer&#8221; for example), but even so, it is obviously dangerous to employ the use of such terms when they are so arbitrary and malleable.</p>
<p>So, let&#8217;s set the record straight for me. As far as government is concerned, the closest thing I have found to what I currently believe is: <strong>Minarchism</strong>.</p>
<p>You very well may not have heard of minarchism before. I hadn&#8217;t either until a week ago, and upon learning about it, I discovered that it was most accurately represents how I feel about government. Now, before going further, I want to give you a few term definitions, courtesy of Wikipedia:</p>
<h3>Communism</h3>
<blockquote><p>Communism is a sociopolitical movement that aims for a classless and stateless society structured upon communal ownership of property. It advocates a classless, stateless society, one where decisions on what to produce and what policies to pursue are made in the best interests of the collective society with the interests of every member of society given equal weight in the practical decision-making process in both the political and economic spheres of life.</p></blockquote>
<h3>Anarchism</h3>
<blockquote><p>Anarchism is a political philosophy which considers the state undesirable, unnecessary and harmful, and instead promotes a stateless society, or anarchy. It seeks to diminish or even abolish authority in the conduct of human relations.</p></blockquote>
<h3>Minarchism</h3>
<blockquote><p>In civics, minarchism refers to a political ideology which maintains that the state&#8217;s only legitimate function is the protection of individuals from aggression, theft, breach of contract and fraud. (Such states are sometimes called night watchman states.) Minarchists defend the existence of the state as a necessary evil, but assert that it may only act to protect the life, liberty, and property of each individual.</p></blockquote>
<p>Okay. Why include the first two terms, you might ask? Mainly for comparison.</p>
<p>Communism and anarchism are similar in many ways, but very different in others. Communism is anarchism with a concern for collective social benefit. Instead of individuals making all their own decisions, groups do it instead. Put into practice, communism is effectively democracy without a state.</p>
<p>Now I will say something that may shock you: I believe communism is an excellent idea. Yes, honestly.</p>
<p>However, it fails to account for one single major flaw that means it can never succeed: <em>human nature</em>. Mankind is not &#8220;basically good,&#8221; as so many people assume or even proclaim. Mankind is basically <em>selfish</em>. Much of the time, this translates into at least nominal cooperation between people, because that&#8217;s the approach that tends to get people what they want. But this is not always the case. History is full of innumerable accounts of people who took a different approach because it appeared better to them&mdash;an approach that aimed to achieve great gains at the unfair expense of hundreds, thousands, or even millions of others.</p>
<p>In the absence of consequences and whether as individuals or as groups, almost without fail and barring (some types of) religious influences, humans disregard the welfare of others just so they can gain something more for themselves. This is why pure communism can never work. It is the also the downfall of many governments, communist or otherwise, even when there are so-called &#8220;checks and balances&#8221; put into place. Our own government here in the US was created specifically to combat corruption. The three branches&mdash;judicial, legislative, and executive&mdash;were given different powers and competing interests precisely to create a deadlock situation rather than let something nefarious happen. The governmental architects knew what political power does to men, and built a government accordingly. As a result, even according to critics, our Constitution is one of the most well-crafted and outstanding foundational government documents in history.</p>
<p>But, as is painfully apparent, it&#8217;s not perfect, and it&#8217;s suffered many setbacks and alterations for the worse throughout its existence. The lust for power is very, very strong, and those who seek it always seem to find ways to circumvent the limits put in place to stop them.</p>
<p>Communism is extremely susceptible to this. Anarchism is less so, because it doesn&#8217;t assume that multiple people will act for their common benefit, but it still completely ignores human nature and assumes that everything will turn out okay since everyone is striving for the same level of control, and it will balance out on the whole. But people form cliques with dominating leaders, leading to factions and mini-dictatorships within the system (if indeed you can call anarchy a system).</p>
<p>So, why minarchy? How is it better?</p>
<p>As I&#8217;ve mentioned before, my current understanding of government is that it should adhere to (and enforce) what <a href="http://www.chaostan.com">Richard Maybury</a> calls <strong>the Two Laws</strong>: (1) Do all you have agreed to do, and (2) do not encroach on other persons or their property. These fundamental laws come from old English Common Law and form the basis for contract law and some criminal and tort law.</p>
<p><strong>Government should exist solely and primarily to enforce these two laws.</strong> It should not exist for any other reason, and its power should be limited to the minimum necessary to accomplish this goal.</p>
<p>This is what minarchism is. From the summary definition, it says that &#8220;the state&#8217;s only legitimate function is the protection of individuals from aggression, theft, breach of contract and fraud.&#8221; Also, it &#8220;defend[s] the existence of the state as a necessary evil, but assert[s] that it may only act to protect the life, liberty, and property of each individual.&#8221;</p>
<p>It defends ultimate personal liberty as long as you are not breaking one of the Two Laws, and it provides for defense (not excluding a trained army and, if necessary, wars of defense). But that&#8217;s all.</p>
<p>No public education.<br />
No public healthcare.<br />
No Social Security.<br />
No government welfare.<br />
No government-mandated currency.<br />
No socialized banks.<br />
No FDA, FAA, or FCC.<br />
No bailouts.</p>
<p>All of those areas that we have become accustomed to having Federal hands in&mdash;appreciated or otherwise&mdash;would be handled by the private sector instead, in a true free-market system. Such a government (or economy) has as far as I know never really been tried in all of history. But it sure makes for a good target.</p>
<p>The existence of the state is a necessary evil precisely because of human nature. Consider this: let&#8217;s say that 98% of humans would cooperate on their own without the existence of a state, simply because it&#8217;s the easiest way to get at least most of what they want out of life. Without a state, the remaining 2% will fill the power vacuum at the earliest opportunity, and nothing would be in place to stop them unless the 98% recognize what is going on and band together (i.e. into a pseudo-state) to stop them.</p>
<p>If those 98% recognize that the 2% are a dangerous wildcard and potential threat, then they can create a minimal state to establish defense mechanisms against such a power grab. The state requires minimal participation (except by a relative few) and some funding through taxes or contracted payments to keep it running and effective. The government is there for protection, and incapable of anything else. It is effectively a social insurance policy against economic, political, and physical disruption.</p>
<p>What about our beloved republic? Especially the constitutional republic that has managed to withstand so much over the last 220 years&mdash;despite taking a significant beating? Well, actually, you can certainly have a constitutional minarchist republic. In it&#8217;s purest sense, there is nothing mutually exclusive about these two political ideas. Here&#8217;s Wikipedia&#8217;s intro definition of a republic:</p>
<blockquote><p>A republic is a form of government in which the people or some portion thereof retain supreme control over the government, and in which the head of government is not a monarch. The word &#8220;republic&#8221; is derived from the Latin phrase res publica, which can be translated as &#8220;a public affair&#8221;.</p></blockquote>
<p>In fact, I&#8217;d go so far as to say that a minarchy is a very pure, minimal version of a republic! The people would have to retain supreme control over the government to ensure its efficiency keep the inner workings transparent.</p>
<p>The minarchist government I described a few paragraphs above could be very similar to the government we have now, with one exception: the Constitution defining such a government would need to be considerably more limited than ours. It is quite obvious how often and through which loopholes our current governing document has been taken advantage of. To revise it and start over would be one heck of a social experiment, that&#8217;s for sure.</p>
<p>So there you have it. I am a minarchist. I am not fundamentally against government, or taxes, or even war. I am just for something much, much more limited in power than what we have.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F&amp;title=Communism%2C+Anarchism%2C+and+Minarchism" title="Bookmark this post : Communism, Anarchism, and Minarchism on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F&amp;title=Communism%2C+Anarchism%2C+and+Minarchism&amp;bodytext=I+recently+had+a+short+discussion+with+a+friend+that+illuminated+a+discrepancy+in+his+interpretation+of+my+political+views+and+my+own+interpretation+of+them.+Or%2C+more+simply%2C+I+discovered+that+he+thought+I+believed+something+that+I+don%27t+actually+believe.+It+was+an+honest+mistake+on+his+part%2C+due+mostly+to+a+lack+of+co" title="Digg this post : Communism, Anarchism, and Minarchism"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F&amp;t=Communism%2C+Anarchism%2C+and+Minarchism" title="Recommend this post : Communism, Anarchism, and Minarchism on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F&amp;title=Communism%2C+Anarchism%2C+and+Minarchism" title="Share this post : Communism, Anarchism, and Minarchism on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F&amp;title=Communism%2C+Anarchism%2C+and+Minarchism" title="Share this post : Communism, Anarchism, and Minarchism with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F28%2Fcommunism-anarchy-and-minarchy%2F" title="Tweet this post : Communism, Anarchism, and Minarchism on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/08/28/communism-anarchy-and-minarchy/feed" title="Follow this post : Communism, Anarchism, and Minarchism comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/08/28/communism-anarchy-and-minarchy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDOQuery: jQuery Style Database Access and Manipulation</title>
		<link>http://www.sectorfej.net/2010/08/21/pdoquery-jquery-style-database-access-and-manipulation/</link>
		<comments>http://www.sectorfej.net/2010/08/21/pdoquery-jquery-style-database-access-and-manipulation/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 23:33:23 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pdoquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1360</guid>
		<description><![CDATA[I&#8217;ve been working on a new database library recently. It&#8217;s written in PHP, since that&#8217;s what I need, but nothing says it couldn&#8217;t be ported to other languages (possibly Java, Python, or Ruby). I&#8217;ve had a de-facto library that I&#8217;ve used for my projects for nearly six years, but it just isn&#8217;t cutting it anymore. [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I&#8217;ve been working on a new database library recently. It&#8217;s written in PHP, since that&#8217;s what I need, but nothing says it couldn&#8217;t be ported to other languages (possibly Java, Python, or Ruby). I&#8217;ve had a de-facto library that I&#8217;ve used for my projects for nearly six years, but it just isn&#8217;t cutting it anymore.</p>
<p>My old one is a relatively simple generic class with standard CRUD functions for batch and single primary-key-based operations. I wrote it myself when I first learned about object-oriented programming, and I&#8217;ve made a few tweaks here and there through the years. It&#8217;s just too heavy though, and not very intuitive. Anyone unfamiliar with my code would really have to study the library for a long time to figure out how to use certain parts&mdash;I am sure of this because even I have to really study it sometimes to refresh my memory. That&#8217;s a bad sign when the library in question is a simple database access layer.</p>
<div style="background-color: #000; width: 300px; height: 89px; float: right; margin: 0 0 8px 16px;"><img src="http://www.sectorfej.net/wp-content/uploads/2010/08/logo-text-300x89.png" alt="" title="logo-text" width="300" height="89" class="alignright size-medium wp-image-1361" /></div>
<p>Enter <strong>PDOQuery</strong>. PDOQuery is my new library. It&#8217;s modeled to a limited extent after <strong><a href="http://jquery.com">jQuery</a></strong> syntax, though obviously not all the same kinds of functionality apply, and the language difference (PHP vs. Javascript) means that PDOQuery uses <code>-&gt;</code> for chaining instead of a period. The query language is built in a similar fashion, only PDOQuery selects and manipulates a database instead of DOM elements.</p>
<p>It&#8217;s also meant to give you as much power as possible with as little pain as possible. Query modifications are built to return a PDOQuery object, just like jQuery, so you can link modifications together or apply a new selector to an existing object. The library takes full advantage of PHP to provide powerful object integration, making it extremely simple (and mostly automatic) to create a PHP class that directly represents a database table row. It also supports table references, so with a single line of PHP, you can select a user and all related tasks, for example.</p>
<p>Consider the following implementation code:</p>
<pre><code>include 'PDOQuery.class.php';
PQ() -> connect("mysqli:dbname=testdatabase", "testuser", "testpass");</code></pre>
<p>The <code>PQ()</code> function is a shortcut to the main PDOQuery class. It takes an optional selector argument and returns an instance of the class. Note that this single <code>include</code> and call to the <code>connect()</code> method are the only bits of code necessary to start using the library. Now for some usage:</p>
<pre><code>$s = PQ("users.join:permissions[UserID]");
$users = $s -> select();</code></pre>
<p>The first line above creates a PDOQuery object that parses the selector into appropriate MySQL query, but it doesn&#8217;t actually run the query. The second line is what runs it and stores the result. For the MySQL database type (the only one coded at this point), the default result returned is a native MySQL result. You can optionally request a numerically indexed array of rows, an associative array of rows, a numerically and associatively indexed array of rows, or an array of objects. The native result is the default because it has the smallest memory requirement.</p>
<p>You could also run the following code:</p>
<pre><code>$s -> delete();</code></pre>
<p>&#8230;though I wouldn&#8217;t recommend it. Because the selector in the <code>$s</code> object is parsed and stored in individual pieces (table name, criteria, joins, etc.), it doesn&#8217;t assume you&#8217;re going to just be selecting. The line above would use all of the selector parts applicable to a <code>DELETE</code> query (just the table name, in this case), ignoring all the rest (the JOIN option), and run the following MySQL query:</p>
<pre><code>DELETE FROM `users`</code></pre>
<p>You could also do the following:</p>
<pre><code>$s2 = $s -> where("UserID=3");
$s2 -> delete();</code></pre>
<p>This would delete only the user whose <code>UserID</code> is equal to 3. Much safer.</p>
<p>Currently, the PDOQuery library supports the following database-related methods:</p>
<p><code><strong>
<ul>
<li>query()</li>
<li>select()</li>
<li>selectRow()</li>
<li>selectColumn()</li>
<li>selectValue()</li>
<li>insert()</li>
<li>update()</li>
<li>delete()</li>
</ul>
<p></strong></code></p>
<p>The <code>query()</code> method is used by all the others, and can be used by you to run a raw query if you cannot accomplish it using other methods. It returns a native database result. The <code>selectRow()</code> method returns a single row, <code>selectColumn()</code> returns an array of values from a single column and multiple rows, and <code>selectValue()</code> returns the value of one column&#8217;s content from within a single row.</p>
<p>PDOQuery also has these chainable selection methods:</p>
<p><code><strong>
<ul>
<li>join()</li>
<li>naturaljoin()</li>
<li>leftjoin()</li>
<li>rightjoin()</li>
<li>outerjoin()</li>
<li>leftouterjoin()</li>
<li>rightouterjoin()</li>
<li>where()</li>
<li>groupby()</li>
<li>orderby()</li>
<li>having()</li>
<li>limit()</li>
</ul>
<p></strong></code></p>
<p>The <code>outerjoin()</code> method is a the exact same as <code>leftouterjoin()</code>. All of these return a PDOQuery object for further chaining or manipulation.</p>
<p>However, while this stuff is all important, it isn&#8217;t the best feature of the library. PDOQuery includes a <code>discover()</code> method which creates a map of fields, data types, and indexes of tables in the database. This information can then be used to generate code for you to inject into your object classes to enable many convenient shortcuts. You can add just a bit more information yourself to establish relationships between tables for even greater conveniences.</p>
<p>Consider a database with a <strong><code>users</code></strong> table and a <strong><code>projects</code></strong> table. A user may have zero or more projects. The following code is mostly generated by PDOQuery, except for the class names and the <code>references</code> index keys:</p>
<pre><code>class User extends PDOQueryObject {

    public static $PDOQueryTable = "users";
    public static $PDOQueryStructure = array(
        "timestamp"=>"Fri, 25 Jun 2010 10:27:02 -0600",
        "fields"=>array(
            "UserId"=>array("type"=>"int(10) unsigned", "simpletype"=>"int", "null"=>false, "key"=>"PRI", "default"=>null, "ai"=>true, "indexes"=>array("PRIMARY"), "extra"=>"auto_increment"),
            "EmailAddress"=>array("type"=>"varchar(128)", "simpletype"=>"text", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "Password"=>array("type"=>"varchar(32)", "simpletype"=>"text", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "FirstName"=>array("type"=>"varchar(32)", "simpletype"=>"text", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "LastName"=>array("type"=>"varchar(32)", "simpletype"=>"text", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "LastLogin"=>array("type"=>"datetime", "simpletype"=>"datetime", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "Deleted"=>array("type"=>"tinyint(4)", "simpletype"=>"int", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>"")
            ),
        "indexes"=>array(
            "PRIMARY"=>array("unique"=>"", "collation"=>"A", "cardinality"=>"1", "fields"=>array("UserId")),
            ),
        "primarykey"=>"UserId",
        /* USER-SUPPLIED SETTINGS */
        "references"=>array(
            "projects"=>array("key"=>"UserId", "autojoin"=>false, "relationship"=>"multiple", "class"=>"Project", "local"=>"Projects"),
            )
        );
}

class Project extends PDOQueryObject {

    public static $PDOQueryTable = "projects";
    public static $PDOQueryStructure = array(
        "timestamp"=>"Fri, 25 Jun 2010 10:27:02 -0600",
        "fields"=>array(
            "ProjectId"=>array("type"=>"int(10) unsigned", "simpletype"=>"int", "null"=>false, "key"=>"PRI", "default"=>null, "ai"=>true, "indexes"=>array("PRIMARY"), "extra"=>"auto_increment"),
            "UserId"=>array("type"=>"int(10) unsigned", "simpletype"=>"int", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "Name"=>array("type"=>"varchar(64)", "simpletype"=>"text", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>""),
            "Deleted"=>array("type"=>"tinyint(4)", "simpletype"=>"int", "null"=>false, "key"=>"", "default"=>null, "ai"=>false, "indexes"=>array(), "extra"=>"")
            ),
        "indexes"=>array(
            "PRIMARY"=>array("unique"=>true, "collation"=>"A", "cardinality"=>"0", "fields"=>array("ProjectId"))
            ),
        "primarykey"=>"ProjectId",
        /* USER-SUPPLIED SETTINGS */
        "references"=>array(
            "users"=>array("key"=>"UserId", "autojoin"=>true, "relationship"=>"single", "class"=>"User", "local"=>"User")
            )
        );
}</code></pre>
<p>Notice the extended <code>PDOQueryObject</code> class, which provides most of the convenience functions. Also notice the <code>references</code> key down at the bottom of each class definition. For each of these:</p>
<ul>
<li><code>key</code> is the correlating field name</li>
<li><code>autojoin</code> determines whether to select this related information automatically</li>
<li><code>relationship</code> is either &#8220;single&#8221; or &#8220;multiple&#8221; depending on whether it is 1-to-1 or 1-to-many</li>
<li><code>class</code> is the name of the class that represents the joined table rows</li>
<li><code>local</code> is the name of the local variable to assign the joined data</li>
</ul>
<p>This allows us to do something like this:</p>
<pre><code>$user = new User(1);</code></pre>
<p>Now, <code>$user</code> is an object that contains a copy of the data row from the <code>users</code> table that has <code>UserID</code> equal to 1. The fields are stored in respective member variables: <code>UserID</code>, <code>EmailAddress</code>, <code>Password</code>, etc. These can be modified directly, since they are public. If you want to make changes, simple assign new values to the fields, then run the following code:</p>
<pre><code>$user -> update();</code></pre>
<p>Voila! Because that <code>update()</code> method is running on an instance of a single <code>User</code> class, it knows to treat it as a database row, and it already has all of the table structure and primary key information handy. It even performs automatic data validation and formatting (most conveniently for DATE, TIME, and DATETIME fields). You could even assign a new UserID value (or set it to NULL) to your <code>$user</code> object and then run:</p>
<pre><code>$newID = $user -> insert();</code></pre>
<p>&#8230;and you&#8217;ve got a new row inserted, just like that. But wait, there&#8217;s more! Because of the <code>references</code> array value, we can also do this:</p>
<pre><code>$user -> loadReference("projects");</code></pre>
<p>&#8230;and now you have a new <code>Projects</code> member variable which contains an array of objects pulled from the database and instantiated using the <code>PDOQueryObject</code> child <code>Project</code> class. If the <code>autojoin</code> value had been set to <code>true</code>, this would have been done for us automatically. Now <em>that</em> is convenient.</p>
<p>I&#8217;m still working on a few more convenience functions (data table and entry form displays, and lambda functions for automating per-row operations), and I still have to finish the documentation. It&#8217;s going to be really, really useful at least for me, and hopefully for many others. I&#8217;ll release the code as soon as I&#8217;m satisfied with it.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F&amp;title=PDOQuery%3A+jQuery+Style+Database+Access+and+Manipulation" title="Bookmark this post : PDOQuery: jQuery Style Database Access and Manipulation on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F&amp;title=PDOQuery%3A+jQuery+Style+Database+Access+and+Manipulation&amp;bodytext=I%27ve+been+working+on+a+new+database+library+recently.+It%27s+written+in+PHP%2C+since+that%27s+what+I+need%2C+but+nothing+says+it+couldn%27t+be+ported+to+other+languages+%28possibly+Java%2C+Python%2C+or+Ruby%29.+I%27ve+had+a+de-facto+library+that+I%27ve+used+for+my+projects+for+nearly+six+years%2C+but+it+just+isn%27t+cutting+it+anymore.%0D%0A%0D%0AMy+ol" title="Digg this post : PDOQuery: jQuery Style Database Access and Manipulation"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F&amp;t=PDOQuery%3A+jQuery+Style+Database+Access+and+Manipulation" title="Recommend this post : PDOQuery: jQuery Style Database Access and Manipulation on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F&amp;title=PDOQuery%3A+jQuery+Style+Database+Access+and+Manipulation" title="Share this post : PDOQuery: jQuery Style Database Access and Manipulation on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F&amp;title=PDOQuery%3A+jQuery+Style+Database+Access+and+Manipulation" title="Share this post : PDOQuery: jQuery Style Database Access and Manipulation with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F21%2Fpdoquery-jquery-style-database-access-and-manipulation%2F" title="Tweet this post : PDOQuery: jQuery Style Database Access and Manipulation on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/08/21/pdoquery-jquery-style-database-access-and-manipulation/feed" title="Follow this post : PDOQuery: jQuery Style Database Access and Manipulation comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/08/21/pdoquery-jquery-style-database-access-and-manipulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>History and Economics Like You’ve Never Seen It</title>
		<link>http://www.sectorfej.net/2010/08/14/history-and-economics-like-youve-never-seen-it/</link>
		<comments>http://www.sectorfej.net/2010/08/14/history-and-economics-like-youve-never-seen-it/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 03:05:54 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[maybury]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1358</guid>
		<description><![CDATA[I&#8217;ve recently re-developed interest in Richard Maybury&#8216;s book series on history, law, politics, and economics. I say &#8220;re-developed&#8221; because I&#8217;ve always been interested ever since I first heard of them&#8212;sometimes more and sometimes less&#8212;but I never actually made time to read them. I know that they are an incredible resource of clear and concise knowledge. [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I&#8217;ve recently re-developed interest in <a href="http://www.chaostan.org">Richard Maybury</a>&#8216;s book series on history, law, politics, and economics. I say &#8220;re-developed&#8221; because I&#8217;ve always been interested ever since I first heard of them&mdash;sometimes more and sometimes less&mdash;but I never actually made time to read them. I know that they are an incredible resource of clear and concise knowledge. Richard Maybury always succeeds in presenting a logical thought process from start to finish using language and analogies that are a pleasure to read and not difficult to understand. While I wouldn&#8217;t say he makes history and economics <em>fun</em>, his delivery is the best and most honest I&#8217;ve seen so far.</p>
<p>I don&#8217;t get any kind of kickback from recommending these, but I&#8217;m going to do it anyway. The following summaries come from the books themselves. The order is a little bit arbitrary, as the actual series is not numbered, but this is the recommended order. The 2nd one in the series (<em>Penny Candy</em>) is the one to get for a basic intro to economic principles.</p>
<p>All of these books are suitable for junior high students. They are written as a series of short letters from &#8220;Uncle Eric&#8221; to his nephew/niece Chris. The books include a glossary of potentially unknown terms. All of these are worth reading. You will not find another resource quite like them.</p>
<h3>#1: Uncle Eric Talks About Personal Career and Financial Security</h3>
<blockquote><p>Uncle Eric&#8217;s Model introduced. Models (or paradigms) are how people think; they are how we understand our world. To achieve success in our careers, investments, and every other part of our lives, we need sound models. These help us recognize and use the information that is important and bypass that which is not. In this book, Mr. Maybury introduces the model he has found most useful. These are explained in WHATEVER HAPPENED TO PENNY CANDY?, WHATEVER  HAPPENED TO JUSTICE?, and THE CLIPPER SHIP STRATEGY.</p></blockquote>
<h3>#2: Whatever Happened to Penny Candy?</h3>
<blockquote><p>The economic model explained. The clearest and most interesting explanation of economics aound. Learn about investment cycles, velocity, business cycles, recessions, inflation, money demand, and more. Contains &#8220;Beyond the Basics,&#8221; which supplements the basic ideas and is included for readers who choose to tackle more challenging concepts. Recommended by former U.S. Treasury Secretary William Simon and many others.</p></blockquote>
<h3>#3: Whatever Happened to Justice?</h3>
<blockquote><p>The legal model explained. Explores America&#8217;s legal heritage. Shows what is wrong with our legal system and economy, and how to fix it. Discusses the difference between higher law and man-made law, and the connection between rational law and economic prosperity. Introduces the Two Laws: 1) Do all you have agreed to do. 2) Do not encroach on other persons or their property.</p></blockquote>
<h3>#4: Are You Liberal? Conservative? or Confused?</h3>
<blockquote><p>Political labels. What do they mean? Liberal, conservative, left, right, democrat, republican, moderate, socialist, libertarian, communist &#8211; what are their economic policies, and what plans do their promoters have for your money?  Clear, concise explanations. Facts and fallacies.</p></blockquote>
<h3>#5: Ancient Rome: How It Affects You Today</h3>
<blockquote><p>This book explains what happens when a society ignores the model. Are we heading for fascism like ancient Rome? Mr. Maybury uses historical events to explain curent events, includng the wars in the former Soviet Empire, and the legal and economic problems of America today. With the turmoil in Russia and Russia&#8217;s return to fascism, you must read this book to understand your future. History does repeat.</p></blockquote>
<h3>#6: Evaluating Books: What Would Thomas Jefferson Think About This?</h3>
<blockquote><p>Most books, magazines, and news stories are slanted against the principles of America&#8217;s Founders. Often the writers are not aware of it, they simply write as they were taught. Learn how to identify the bias so you can make informed reading, listening, and viewing choices.</p></blockquote>
<h3>#7: The Money Mystery</h3>
<blockquote><p>The first sequel to WHATEVER HAPPENED TO PENNY CANDY? Some economists refer to velocity, others to money demand. However it is seen, it is one of the least understood forces affecting our businesses, careers, and investments &#8211; it is the financial tigger. This book discusses precautions you should take and explains why Federal Reserve officials remain so afraid of inflation. THE MONEY MYSTERY prepares you to understand and avoid pitfalls in your career, business, and investments.</p></blockquote>
<h3>#8: The Clipper Ship Strategy</h3>
<blockquote><p>The second sequel to WHATEVER HAPENED TO PENNY CANDY? Conventional wisdom says that when the government expands the money supply, the money descends on the economy  in  a uniform blanket. This is wrong. The money is injected into specific locations causing hot spots or &#8220;cones&#8221; such as the tech bubble of the 1990s. Mr. Maybury explains his system for tracking and profiting from these cones. Practical nuts-and-bolts strategy for prospering in our turbulent economy.</p></blockquote>
<h3>#9: The Thousand Year War in the Mideast: How It Affects You Today</h3>
<blockquote><p>Mr. Maybury shows that events on the other side of the world a thousand years ago can affect us more than events in our hometowns today. This book explains the ten-century battle the U.S. has entered against the Islamic world. It predicted the events that began unfolding on September 11, 2001. It helps you understand the thinking of the Muslims in the Mideast, and why the coming oil war will affect investment markets around the globe.  In the last three decades this war has been the cause of great shocks to the economy and investment markets, including the oil embargoes, the Iranian hostage crisis, the Iraq-Kuwait war, the Caucasus Wars over the Caspian Sea oil basin, and the September 11th attack&#8211;and it is likely to remain so for decades to come. Forewarned is forearmed. To successfully manage your career, business, and investments, you must understand this war.</p></blockquote>
<h3>#10: World War I: The Rest of the Story Story and How It Affects You Today</h3>
<blockquote><p>The explosion of the battleship Maine in Havana Harbor in 1898 was the beginning of a chain reaction that continues today. Mr. Maybury presents an idea-based explanation of the First World War. He focuses on the ideas and events that led to World War I, events during the war, and how they led to World War II. Includes the ten deadly ideas that lead to war.</p></blockquote>
<h3>#11: World War II: The Rest of the Story and How It Affects You Today</h3>
<blockquote><p>An idea-based explanation of the war. Focuses on events in the Second World War and how our misunderstanding of this war led to America&#8217;s subsequent wars, including the Korean and Vietnam Wars, the Iraq-Kuwait War, and the &#8220;War on Terror&#8221; that began September 11, 2001.</p></blockquote>
<p>You can <a href="http://www.bluestockingpress.com/uncle-eric-model.htm">buy these books as a set</a> for $164.95 shipped, or individually from the same page. Again, I get nothing from recommending this, but I wholeheartedly do so anyway. I only wish there were electronic and audiobook versions available for sale as well.</p>
<p>Maybury also has a <a href="http://chaostan.com/subscriptionsA.html">monthly financial/economic newsletter called the <em>Early Warning Report</em></a> for $160/yr. That seems like a lot for the newsletter, but it gives investment advice (historically reliable through multiple decades <em>and</em> wars), and is highly reviewed by many subscribers.</p>
<p>If you get any of these books, and you actually read them, you will not be sorry.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F&amp;title=History+and+Economics+Like+You%26%238217%3Bve+Never+Seen+It" title="Bookmark this post : History and Economics Like You&#8217;ve Never Seen It on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F&amp;title=History+and+Economics+Like+You%26%238217%3Bve+Never+Seen+It&amp;bodytext=I%27ve+recently+re-developed+interest+in+Richard+Maybury%27s+book+series+on+history%2C+law%2C+politics%2C+and+economics.+I+say+%22re-developed%22+because+I%27ve+always+been+interested+ever+since+I+first+heard+of+them%26mdash%3Bsometimes+more+and+sometimes+less%26mdash%3Bbut+I+never+actually+made+time+to+read+them.+I+know+that+they+are+an+incr" title="Digg this post : History and Economics Like You&#8217;ve Never Seen It"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F&amp;t=History+and+Economics+Like+You%26%238217%3Bve+Never+Seen+It" title="Recommend this post : History and Economics Like You&#8217;ve Never Seen It on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F&amp;title=History+and+Economics+Like+You%26%238217%3Bve+Never+Seen+It" title="Share this post : History and Economics Like You&#8217;ve Never Seen It on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F&amp;title=History+and+Economics+Like+You%26%238217%3Bve+Never+Seen+It" title="Share this post : History and Economics Like You&#8217;ve Never Seen It with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F14%2Fhistory-and-economics-like-youve-never-seen-it%2F" title="Tweet this post : History and Economics Like You&#8217;ve Never Seen It on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/08/14/history-and-economics-like-youve-never-seen-it/feed" title="Follow this post : History and Economics Like You&#8217;ve Never Seen It comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/08/14/history-and-economics-like-youve-never-seen-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Music to Boost Productivity</title>
		<link>http://www.sectorfej.net/2010/08/07/using-music-to-boost-productivity/</link>
		<comments>http://www.sectorfej.net/2010/08/07/using-music-to-boost-productivity/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 02:42:33 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1351</guid>
		<description><![CDATA[I often enjoy listening to music while I work. I don&#8217;t just mean physical labor like laundry or dishes; I am talking about the programming work I do for my job. While I was still in college, I would also listen while I studied. I realize that many, many people like to do the same [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I often enjoy listening to music while I work. I don&#8217;t just mean physical labor like laundry or dishes; I am talking about the programming work I do for my job. While I was still in college, I would also listen while I studied.</p>
<p>I realize that many, many people like to do the same thing. The idea of using music to boost productivity is not new, and I certainly didn&#8217;t come up with it. What interests me the most about the whole idea is that everyone has a different preference about precisely what music is the best. I bet that most people have at least a semi-good reason for their own preferences, whether or not they&#8217;ve actually thought about it.</p>
<p>Most people don&#8217;t know that I didn&#8217;t start listening to the radio until I was about 12. It wasn&#8217;t that I <em>couldn&#8217;t</em>, but I never really had the desire to do so, and I wasn&#8217;t around others who did either&mdash;I was home-schooled through high school (and no, I&#8217;m not socially inept). Most of the music I heard during my younger years was either 60&#8242;s and 70&#8242;s hits that my dad had cassette tapes and records of, or else piano music which I had to learn during my six years of on-and-off piano lessons.</p>
<p>I developed a taste for classical music in general, piano music specifically, and a random selection of oldies. The earliest I can remember making use of these preferences is when I would pop the <a href="http://www.amazon.com/gp/product/B00122FWRG?ie=UTF8&#038;tag=elderwnet-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00122FWRG">Scott Joplin Piano Rags</a> CD by Joshua Rifkin in at 4pm every weekday and spend 45 minutes working on my algebra homework. I listened to that CD probably a hundred times at least during the course of one school year, and I still rank it among my favorites. I instantly recognize any of the songs, though I can&#8217;t actually <em>name</em> them even though I can hum them all.</p>
<p>I started listening to online streaming radio stations about the same time I started listening to the radio, and so I developed a very eclectic taste in music. While I can&#8217;t pin down a favorite style, I learned to enjoy at least some classical, classic rock, 80&#8242;s rock, contemporary rock, folk music, oldies, techno, country, and even some rap. I know each of those are comprised of dozens of subgenres, and I couldn&#8217;t begin to really differentiate between most of them. Basically, I listened to a lot of very different music.</p>
<p>More to the point, here is what I&#8217;ve discovered about myself and how I </em>use</em> music: (links take you to Grooveshark to listen free)</p>
<ul>
<li>I prefer piano solos or concertos while I&#8217;m learning something new. (Examples: <a target="_blank" href="http://listen.grooveshark.com/#/s/Celes/2FjdK5">Celes (FF6)</a> by Nobuo Uematsu, <a target="_blank" href="http://listen.grooveshark.com/#/s/Eternal+Harvest/kSeft">Eternal Harvest (FF9)</a> by Nobuo Uematsu)</li>
<li>I prefer heavy, melodic, rhythmic, bass-infused rock music while I&#8217;m using knowledge I already have to build something. (Examples: <a target="_blank" href="http://listen.grooveshark.com/#/s/Last+Of+The+Wilds/238Tvn">Last of the Wilds</a> by Nightwish, <a target="_blank" href="http://listen.grooveshark.com/#/s/Amaranth/2gJabq">Amaranth</a> by Nightwish, <a target="_blank" href="http://listen.grooveshark.com/#/s/Prepare+For+Battle/2g3c3z">Prepare for Battle</a> by Frank Klepacki</li>
<li>I prefer silence if I am working on something extremely complex. (No examples, ha!)</li>
<li>I prefer music that I know to music that I don&#8217;t know.</li>
<li>I prefer lyric-free music (though I can work with the alternative).</li>
</ul>
<p>The second point is perhaps the most surprising. I don&#8217;t generally just listen to heavy rock music. Actually, other than that situation (programming, typically), I just about never do. But there&#8217;s something about the full sound, the solid beat, and the pounding, pushing rhythm and complex harmonies that make a huge difference in my concentration and enjoyment. It&#8217;s just so&#8230;<em>motivating</em>.</p>
<p>The first point is probably common to a lot of people, though I know some others who couldn&#8217;t possibly concentrate with classical music playing. Then, my need for silence illustrates that, at least for me, there is a limit to how music helps me think. If I need every analytical aspect of my brain available, I can&#8217;t be subconsciously distracted by anything. I can function at 90% efficiency with heavy rock music playing while I only need to use 50% of my analytical capabilities, but if I try to push that analytical throughput above 80% or so, my efficiency drops through the floor unless I remove all other activity. (Yes, I totally made those numbers up, but they are just supposed to illustrate the point.)</p>
<p>The last two points is where I see the most odd variation. Musical tastes are different enough that it&#8217;s easy to see how people work best with different genres. However, why would there be such variation on known vs. unknown music, and lyrics vs. no lyrics?</p>
<p>I like music that I know because I actually concentrate on it <em>less</em>. The many years of piano lessons I took included a lot music theory, and so I am constantly analyzing music. I hear a song and take it apart mathematically: time signature, accented beats, syncopation, chord progressions (oh I love chord progressions!), key changes, anomalies, patterns, similarities to other songs, anything I can hear. I can&#8217;t just listen to a song that I haven&#8217;t heard before; I have to <em>discover</em> it. But if I&#8217;ve heard it before and I know how it goes, then I&#8217;ve already done all that. I know what to expect, and therefore it demands less attention.</p>
<p>Some people like prefer music that they don&#8217;t really know because they take it in differently from the way I do. For those people, hearing music they know demands more of their attention because they want to sing or hum along, whether out loud or not. Music they don&#8217;t know becomes something more like background noise.</p>
<p>I like music that doesn&#8217;t have lyrics, whether or not I know it, because it&#8217;s one fewer element to distract me. If I don&#8217;t know the song, then in the discovery process, I&#8217;m not just analyzing the music, I&#8217;m also trying to take in the words and whole story (if the story is intelligible and/or not a boring load of repetition). If I do know the song, then the story separates itself from the music, and I can&#8217;t subconsciously take it in the same way. I repeat (or sing along with) the words in my head. It&#8217;s not a huge distraction if I already know the words, but I still prefer songs without words.</p>
<p>On the other hand, my wife likes music with words, because <a href="http://www.courtneyrowberg.com">she loves to sing</a>. Music without words becomes a glaring invitation for her to substitute her own words, or those of another song, and that is immensely distracting. Her mind is so in tune with singing that she can concentrate better if she has something to sing along to (again, whether out loud or not).</p>
<p>Music strikes everyone differently. Some people relax best while listening to speed metal. Some need the Nutcracker Suite. Some need silence. I don&#8217;t know if it has anything to do with personality type, since sometimes people have musical tastes that are completely not what you would expect. I think (though I don&#8217;t know) that tastes are probably defined more by your birth year than by your age&mdash;it will be very interesting to see if the 90-year-olds in 2080 are still listening to Eminem because it&#8217;s &#8220;their music.&#8221; I can&#8217;t imagine that it will still be &#8220;young people music&#8221; by then.</p>
<p>But musical tastes are also defined simply by what you listen to most. I have seen many people (including myself) learn to like something new, even something they never would have thought they could ever appreciate, just because they hung around places where that new something was played all the time. We become acclimated, and then hooked. It&#8217;s very much like a drug in that way.</p>
<p>How do you use music? Not just <em>consume</em> it, but actually <em>use</em> it?</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F&amp;title=Using+Music+to+Boost+Productivity" title="Bookmark this post : Using Music to Boost Productivity on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F&amp;title=Using+Music+to+Boost+Productivity&amp;bodytext=I+often+enjoy+listening+to+music+while+I+work.+I+don%27t+just+mean+physical+labor+like+laundry+or+dishes%3B+I+am+talking+about+the+programming+work+I+do+for+my+job.+While+I+was+still+in+college%2C+I+would+also+listen+while+I+studied.%0D%0A%0D%0AI+realize+that+many%2C+many+people+like+to+do+the+same+thing.+The+idea+of+using+music+to+bo" title="Digg this post : Using Music to Boost Productivity"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F&amp;t=Using+Music+to+Boost+Productivity" title="Recommend this post : Using Music to Boost Productivity on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F&amp;title=Using+Music+to+Boost+Productivity" title="Share this post : Using Music to Boost Productivity on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F&amp;title=Using+Music+to+Boost+Productivity" title="Share this post : Using Music to Boost Productivity with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F08%2F07%2Fusing-music-to-boost-productivity%2F" title="Tweet this post : Using Music to Boost Productivity on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/08/07/using-music-to-boost-productivity/feed" title="Follow this post : Using Music to Boost Productivity comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/08/07/using-music-to-boost-productivity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Non-Working Vacation</title>
		<link>http://www.sectorfej.net/2010/07/31/a-non-working-vacation/</link>
		<comments>http://www.sectorfej.net/2010/07/31/a-non-working-vacation/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 03:27:16 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1347</guid>
		<description><![CDATA[As mentioned in my post a week ago, Courtney and I had a chance to take a much-appreciated week-long vacation to celebrate our anniversary. We visited Colonial Williamsburg, the Jamestown Settlement, the Yorktown Victory Center, and of course the nearby Busch Gardens. It was my first time visiting any of those places, and I had [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>As mentioned in my post a week ago, Courtney and I had a chance to take a much-appreciated week-long vacation to celebrate our anniversary. We visited Colonial Williamsburg, the Jamestown Settlement, the Yorktown Victory Center, and of course the nearby Busch Gardens. It was my first time visiting any of those places, and I had a great time at all of them, with the possible exception of the record heat in the area that occurred on a few of those days.</p>
<p>The best part about the trip&mdash;besides the fact we were celebrating our anniversary, of course&mdash;was the fact that I actually got to disconnect myself completely from work.</p>
<p>Because I work from home doing web application programming, I can literally work from anywhere with a decent internet connection. If I have that and my laptop, I can do everything I need. In reality, this means that I am never far from work. With occasional side jobs on top of my official full-time position, some kind of work often finds its way into my evenings or weekends as well.</p>
<p>Now, honestly, I really like what I do for work. My answer to the &#8220;What if you had a million dollars?&#8221; life purpose test is that I&#8217;d actually want to be doing exactly the same thing, though perhaps a bit less of it. Programming is creatively invigorating and immensely satisfying to me. But that doesn&#8217;t mean I want to do it all the time. I have been burned out on multiple occasions, and I am quite sure it&#8217;s no fun.</p>
<p>However, my high availability makes it easy for me to work, and as I said before, also difficult to fully disconnect myself for any length of time. Being able to work from anywhere gives me a huge amount of flexibility, but whenever I travel, I usually end up bringing work with me out of necessity&mdash;making sure I put in enough hours, or making sure I&#8217;m available should something immediate and critical arise.</p>
<p>For this trip though, I covered all of the bases, let everyone know I was going to be unavailable, and even setup some email filters so I wouldn&#8217;t see any new items that might arrive during the trip. By the time Courtney and I left, everyone knew what to expect of me (namely nothing), and I was fully prepared to live up to that expectation.</p>
<p>It was one of the most restful weeks I have had in a long time.</p>
<p>Don&#8217;t get me wrong, it was physically exhausting just about every day. Everywhere we went involved a whole lot of heat and a whole lot of walking around. It was not rejuvenating in that sense. But being able to suspend that part of my brain for a week and to feel free from outside responsibility even for just that long gave me a great feeling of relief.</p>
<p>Non-working vacations are definitely the best kind.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F&amp;title=A+Non-Working+Vacation" title="Bookmark this post : A Non-Working Vacation on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F&amp;title=A+Non-Working+Vacation&amp;bodytext=As+mentioned+in+my+post+a+week+ago%2C+Courtney+and+I+had+a+chance+to+take+a+much-appreciated+week-long+vacation+to+celebrate+our+anniversary.+We+visited+Colonial+Williamsburg%2C+the+Jamestown+Settlement%2C+the+Yorktown+Victory+Center%2C+and+of+course+the+nearby+Busch+Gardens.+It+was+my+first+time+visiting+any+of+those+places%2C+" title="Digg this post : A Non-Working Vacation"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F&amp;t=A+Non-Working+Vacation" title="Recommend this post : A Non-Working Vacation on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F&amp;title=A+Non-Working+Vacation" title="Share this post : A Non-Working Vacation on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F&amp;title=A+Non-Working+Vacation" title="Share this post : A Non-Working Vacation with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F31%2Fa-non-working-vacation%2F" title="Tweet this post : A Non-Working Vacation on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/07/31/a-non-working-vacation/feed" title="Follow this post : A Non-Working Vacation comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/07/31/a-non-working-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Anniversary</title>
		<link>http://www.sectorfej.net/2010/07/24/first-anniversary/</link>
		<comments>http://www.sectorfej.net/2010/07/24/first-anniversary/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 02:24:46 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1344</guid>
		<description><![CDATA[No technical post from me today, everyone! I get a free pass this week. Courtney and I are celebrating our first anniversary&#8212;one year of absolutely excellent marriage. Exactly one year ago, we were standing at Salt Creek Beach in Dana Point, CA in front of family and friends pledging our love for each other. This [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>No technical post from me today, everyone! I get a free pass this week. Courtney and I are celebrating our first anniversary&mdash;one year of absolutely excellent marriage. Exactly one year ago, we were standing at Salt Creek Beach in Dana Point, CA in front of family and friends pledging our love for each other. This last year has been exciting in all of the best ways, and without any significant negative experiences. I don&#8217;t think I could have asked for a better first year.</p>
<p>Thanks for all that you are, Courtney! I love you.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F&amp;title=First+Anniversary" title="Bookmark this post : First Anniversary on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F&amp;title=First+Anniversary&amp;bodytext=No+technical+post+from+me+today%2C+everyone%21+I+get+a+free+pass+this+week.+Courtney+and+I+are+celebrating+our+first+anniversary%26mdash%3Bone+year+of+absolutely+excellent+marriage.+Exactly+one+year+ago%2C+we+were+standing+at+Salt+Creek+Beach+in+Dana+Point%2C+CA+in+front+of+family+and+friends+pledging+our+love+for+each+other.+This" title="Digg this post : First Anniversary"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F&amp;t=First+Anniversary" title="Recommend this post : First Anniversary on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F&amp;title=First+Anniversary" title="Share this post : First Anniversary on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F&amp;title=First+Anniversary" title="Share this post : First Anniversary with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F24%2Ffirst-anniversary%2F" title="Tweet this post : First Anniversary on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/07/24/first-anniversary/feed" title="Follow this post : First Anniversary comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/07/24/first-anniversary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Importance of Multiple Options</title>
		<link>http://www.sectorfej.net/2010/07/17/the-importance-of-multiple-options/</link>
		<comments>http://www.sectorfej.net/2010/07/17/the-importance-of-multiple-options/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 03:11:18 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1341</guid>
		<description><![CDATA[I recently finished up an article summarizing the differences between a few of the mobile application development frameworks that are in existence today. I covered three major players, two individual platform-specific tools, one per-device shortcut approach, and my own fledgling project, AML. After researching and writing, here&#8217;s what I concluded: There are a lot of [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I recently finished up an article <a href="http://www.amlcode.com/2010/07/16/comparison-appinventor-rhomobile-phonegap-appcelerator-webview-and-aml/">summarizing the differences between a few of the mobile application development frameworks</a> that are in existence today. I covered three major players, two individual platform-specific tools, one per-device shortcut approach, and <a href="http://www.amlcode.com/">my own fledgling project, AML</a>. After researching and writing, here&#8217;s what I concluded:</p>
<ol>
<li><strong>There are a lot of people trying to accomplish the same goal in different ways.</strong></li>
<li><strong>That&#8217;s really great.</strong></li>
</ol>
<p>Now, honestly, the first point was already assumed. Anyone who&#8217;s done a simple web search on the topic would realize that. But what about the second point? More directly relevant in my case, what about my AML project, which is entering a field that already has a lot of competition and projects which have a great big head start over mine? Why would it be great for my project to have a lot of competition?</p>
<p>Well, first of all, I didn&#8217;t look at the playing field and think, &#8220;How can I do what they are doing, only better?&#8221; No, I started with a specific personal need. I have a problem that I need to solve, and I thought up what I believe is a great way to solve it. Then I searched for something that did what I needed, and came up empty. There were some things that were similar, of course, but nothing that did <em>exactly</em> what I wanted. So, I decided to build my own tool. Even if it ends up being similar to the other ones, I am still going to build it because it will solve my problem perfectly, and there are probably other developers out there who will need to solve the same kind of problem who will benefit from my project.</p>
<p><em>That</em> is why having all of those different options is so great. If I were trying to solve a slightly different problem, I could use an existing tool, because somebody else already did the same thing I did, only they had a different problem to solve. Instead of everyone needing to bend a universal tool to fit their criteria, we have a multitude of choices, each with its own strengths and weaknesses.</p>
<p>In the case of mobile platform development frameworks, this is excellent. I wouldn&#8217;t want to have only one of them to choose from, since I can easily come up with a problem for each framework that would be a pain to solve completely if that was the only one available. Everyone has their own idea of what is best, and this creates a competitive arena. They each build what they need or want, taking inspiration from other designs, and come up with a solution. Sometimes the products converge into a single product, and sometimes they remain separate, but they continue to give developers different options to choose from.</p>
<p>This is really just the principle of the free market applied to software development, which explains why I appreciate it so much.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F&amp;title=The+Importance+of+Multiple+Options" title="Bookmark this post : The Importance of Multiple Options on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F&amp;title=The+Importance+of+Multiple+Options&amp;bodytext=I+recently+finished+up+an+article+summarizing+the+differences+between+a+few+of+the+mobile+application+development+frameworks+that+are+in+existence+today.+I+covered+three+major+players%2C+two+individual+platform-specific+tools%2C+one+per-device+shortcut+approach%2C+and+my+own+fledgling+project%2C+AML.+After+researching+and+writ" title="Digg this post : The Importance of Multiple Options"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F&amp;t=The+Importance+of+Multiple+Options" title="Recommend this post : The Importance of Multiple Options on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F&amp;title=The+Importance+of+Multiple+Options" title="Share this post : The Importance of Multiple Options on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F&amp;title=The+Importance+of+Multiple+Options" title="Share this post : The Importance of Multiple Options with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F17%2Fthe-importance-of-multiple-options%2F" title="Tweet this post : The Importance of Multiple Options on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/07/17/the-importance-of-multiple-options/feed" title="Follow this post : The Importance of Multiple Options comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/07/17/the-importance-of-multiple-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rapid Android Development with AML</title>
		<link>http://www.sectorfej.net/2010/07/10/rapid-android-development-with-aml/</link>
		<comments>http://www.sectorfej.net/2010/07/10/rapid-android-development-with-aml/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 02:42:16 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[aml]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1304</guid>
		<description><![CDATA[7/13/2010 update: Thanks to the great response (and many hundreds of visits to this page over the last two days), I&#8217;ve gone ahead and created a real project website for AML at http://www.amlcode.com, as well as the @amlcode Twitter account. If you&#8217;re interested in more updates, check those out. Thanks for all the comments and [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><div style="border: 1px solid #CCC; padding: 12px; background-color: #EEF; margin: 0 0 16px; clear: both;">
<h3 style="margin: 0 0 12px;">7/13/2010 update:</h3>
<p>Thanks to the great response (and many hundreds of visits to this page over the last two days), I&#8217;ve gone ahead and created a real project website for AML at <a href="http://www.amlcode.com">http://www.amlcode.com</a>, as well as the <a href="http://twitter.com/amlcode">@amlcode</a> Twitter account. If you&#8217;re interested in more updates, check those out. Thanks for all the comments and ideas! Keep them coming!</p>
<p>This post still has some good info and some great comments, so don&#8217;t neglect it completely. It might get lonely.</p></div>
<p>I gave myself a crash course in Android development over the last few days. I&#8217;d officially been part of an Android team as part of a project management class in my last quarter at Cal Poly Pomona, but some of the other members on the team ended up doing most of the actual development, so my instructive coding experience was pretty minimal. I knew enough to get the Android SDK installed in Eclipse (which is painfully slow, by the way!), but that was all. Everything else was new to me.</p>
<p>Now, I am very familiar with C, C++, and Java, even though most of my coding for my job is done in PHP, so picking up the Android vocabulary within Java was much easier for me than it would have been if I had no programming experience at all.</p>
<p>I don&#8217;t have a specifically defined project to work on yet, but I do have some general requirements for the Android app(s) I&#8217;m sure I will be developing in the near future. Specifically, I know I will need these features:</p>
<ol>
<li><strong>Native implementation (Android UI, not HTML5)</strong></li>
<li><strong>Dynamic externally generated content and navigation</strong></li>
</ol>
<p>Both of those two features together are, I believe, not an common combination. It&#8217;s simple to have dynamic externally generated content and navigation, if you use HTML and a browser. It&#8217;s also simple to have a native UI support externally generated content, if that content always fits into a pre-defined structure which you build into your app. But what if you want an app that supports a system with very little known ahead of time—just an email address and password, for instance—and the rest of it need is determined based on parameters, permissions, and a web service API?</p>
<p><em>Then</em>, I thought, <em>why not write a native Android library that will accommodate that very thing?</em></p>
<p>And that&#8217;s what I did.</p>
<p>I even had the presumptuous audacity to give it an official-sounding name, though it is by no means official (or truly useful) just yet. There is no W3C specification for it. And for all I care, it may never become official, but even if I&#8217;m the only one who uses it, this library it will certainly make things easier for me. And on top of that, it&#8217;s been a great learning experience over the last four days.</p>
<h3>Ladies and gentlemen, I introduce to you <strong>AML</strong>, the <strong>App Markup Language</strong>, a simple XML-based language that allows you to easily build a clean, functional application for your mobile device.</h3>
<p>It resembles HTML in some ways, but it is not a subset of HTML. It is designed to be intuitive and easy, and while it does not implement every possible feature achievable with native Android code, the goal is for it to cover the vast majority of what is necessary for information-based apps, and leave the rest up to you to implement as you desire. It probably won&#8217;t help out much with games, but it&#8217;s perfect for mobile implementations of websites. It can even be used as part of a local-only application to quickly build the UI instead of using Java code or Android&#8217;s layout XML structure.</p>
<p>Additionally, I would love at some point to extend AML in two directions: one, to have it support other devices (namely the iPhone and iPad), and two, to support different languages for the markup (namely JSON, perhaps YAML). While I don&#8217;t need these right now and may not actually <em>need</em> them for some time, there is nothing really Android-specific or XML-specific about the language. I have never written code for iOS, so I don&#8217;t know if the behavior is inherently different enough to cause a problem, but I bet it isn&#8217;t. You should be able to use the same AML markup to generate nearly identical experiences on Android and on iOS.</p>
<p>So, why is AML so cool? Why would anyone want to use it? Check this out.</p>
<p><a href="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testinput.png"><img class="alignright size-medium wp-image-1305" title="AML Test - Inputs" src="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testinput-168x300.png" alt="" width="168" height="300" /></a>The images on the right shows a set of different input objects in an Android app. It&#8217;s just an example, obviously—an app in the Market that looked like this would be odd indeed. However, it does illustrate a very basic layout with a few different objects.</p>
<p>Now, anyone who has done any Android development know that there isn&#8217;t anything truly <em>difficult</em> about building something like this. If you write your own &#8220;main.xml&#8221; layout file and use it for your Activity object&#8217;s content view though, it can be a little tedious. You can use a tool like <a href="http://www.droiddraw.org/tutorial1.html">DroidDraw</a> to speed things up (which is an excellent idea if you need a static layout), but with both of these approaches, your design will be hard-coded into your app. You can only make changes on the fly through clever uses of the <a href="http://developer.android.com/reference/android/view/LayoutInflater.html">LayoutInflater</a> service.</p>
<p>Your other option is to build the layout using only code. This allows for more dynamic design, for sure, but doing this manually is still tedious. <strong>AML</strong> bridges the gap between an external data source and the native application, so that the external source can very simply instruct the app what to build and how it should behave.</p>
<p>This is the Android layout XML necessary to create the layout shown above in the screenshot on the right:</p>
<div style="border: 1px solid #CCC; background-color: #fee; margin-bottom: 16px;">
<pre><code>&lt;LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"&gt;
    &lt;Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Test Button" /&gt;
    &lt;CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Test Checkbox" /&gt;
    &lt;ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon" /&gt;
    &lt;ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true" /&gt;
    &lt;EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Test Text"
        android:singleLine="true" /&gt;
    &lt;EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Test Password"
        android:password="true"
        android:singleLine="true" /&gt;
    &lt;RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"&gt;
        &lt;RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="Radio Button 1" /&gt;
        &lt;RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Radio Button 2" /&gt;
        &lt;RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Radio Button 3" /&gt;
    &lt;/RadioGroup&gt;
&lt;/LinearLayout&gt;</code></pre>
</div>
<p>Keep in mind that the above code is basically fixed, and cannot really be customized at runtime on a large scale. Now, for comparison, here is the AML necessary to create the layout above:</p>
<div style="border: 1px solid #CCC; background-color: #eef; margin-bottom: 16px;">
<pre><code>&lt;aml&gt;
  &lt;input type="button"&gt;Test Button&lt;/input&gt;
  &lt;input type="checkbox"&gt;Test CheckBox&lt;/input&gt;
  &lt;input type="togglebutton" checked="yes" /&gt;
  &lt;input type="imagebutton" image="drawable/icon" /&gt;
  &lt;input type="text"&gt;Test Text&lt;/input&gt;
  &lt;input type="password"&gt;Test Password&lt;/input&gt;
  &lt;radiogroup&gt;
    &lt;input type="radiobutton" checked="yes"&gt;Radio Button 1&lt;/input&gt;
    &lt;input type="radiobutton"&gt;Radio Button 2&lt;/input&gt;
    &lt;input type="radiobutton"&gt;Radio Button 3&lt;/input&gt;
  &lt;/radiogroup&gt;
&lt;/aml&gt;</code></pre>
</div>
<p>It&#8217;s that simple. Additionally, for my tests, this layout info was actually being pulled from a web service, just so I could prove to myself that I could do it. The web service dynamically built that layout.</p>
<div style="clear: both; margin-bottom: 16px; overflow: hidden;"><a href="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testlist.png"><img class="alignright size-medium wp-image-1309" title="AML Test: List" src="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testlist-168x300.png" alt="" width="168" height="300" style="margin-left: 16px;" /></a>Here is a sample Android ListView constructed with the following AML:</p>
<div style="height: 240px; overflow: scroll; border: 1px solid #CCC; background-color: #eef; margin-bottom: 16px;">
<pre style="overflow: visible;"><code>&lt;aml&gt;
  &lt;list&gt;
    &lt;item&gt;Sample Test List Item A&lt;/item&gt;
    &lt;item&gt;Sample Test List Item B&lt;/item&gt;
    &lt;item&gt;Sample Test List Item C&lt;/item&gt;
    &lt;item&gt;Sample Test List Item D&lt;/item&gt;
    &lt;item&gt;Sample Test List Item E&lt;/item&gt;
    &lt;item&gt;Sample Test List Item F&lt;/item&gt;
    &lt;item&gt;Sample Test List Item G&lt;/item&gt;
    &lt;item&gt;Sample Test List Item H&lt;/item&gt;
    &lt;item&gt;Sample Test List Item I&lt;/item&gt;
    &lt;item&gt;Sample Test List Item J&lt;/item&gt;
    &lt;item&gt;Sample Test List Item K&lt;/item&gt;
    &lt;item&gt;Sample Test List Item L&lt;/item&gt;
    &lt;item&gt;Sample Test List Item M&lt;/item&gt;
    &lt;item&gt;Sample Test List Item N&lt;/item&gt;
    &lt;item&gt;Sample Test List Item O&lt;/item&gt;
    &lt;item&gt;Sample Test List Item P&lt;/item&gt;
    &lt;item&gt;Sample Test List Item Q&lt;/item&gt;
    &lt;item&gt;Sample Test List Item R&lt;/item&gt;
    &lt;item&gt;Sample Test List Item S&lt;/item&gt;
    &lt;item&gt;Sample Test List Item T&lt;/item&gt;
    &lt;item&gt;Sample Test List Item U&lt;/item&gt;
    &lt;item&gt;Sample Test List Item V&lt;/item&gt;
    &lt;item&gt;Sample Test List Item W&lt;/item&gt;
    &lt;item&gt;Sample Test List Item X&lt;/item&gt;
    &lt;item&gt;Sample Test List Item Y&lt;/item&gt;
    &lt;item&gt;Sample Test List Item Z&lt;/item&gt;
  &lt;/list&gt;
&lt;/aml&gt;</code></pre>
</div>
</div>
<div style="clear: both; margin-bottom: 16px; overflow: hidden;"><a href="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testtable.png"><img class="alignright size-medium wp-image-1310" title="AML Test: Table" src="http://www.sectorfej.net/wp-content/uploads/2010/07/aml-testtable-168x300.png" alt="" width="168" height="300" style="margin-left: 16px;" /></a>And another sample TableLayout that uses alignment and column spanning, generated by the following AML:</p>
<div style="height: 240px; overflow: scroll; border: 1px solid #CCC; background-color: #eef; margin-bottom: 16px;">
<pre style="overflow: visible;"><code>&lt;aml&gt;
  &lt;table expand="2"&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;This is a block of text contained within a single table cell. This cell has a colspan of 2 so that it looks good on top of the label/field pairs below.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align="right"&gt;Email:&lt;/td&gt;
      &lt;td&gt;&lt;input type="text" width="fill" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align="right"&gt;Password:&lt;/td&gt;
      &lt;td&gt;&lt;input type="password" width="fill" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;Here's another 2-column cell. Is this awesome or what?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;Notice the slight visual break from the text above. This text is in yet another row. The field labels above on the left are aligned to the right, and the table is instructed to make the 2nd column expandable (like an &quot;auto-width&quot; kind of thing).&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;Additionally, the fields have their widths set to &quot;auto&quot; so that even though they are empty, they fill their parent cells.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/aml&gt;</code></pre>
</div>
</div>
<p>Seriously, can it get any easier than that? You can store this kind of layout definition in your app code and reference it directly from there, or you can use a web service to build this stuff on the fly and send it to your app (though you might want to implement some sort of caching mechanism in that case, for efficiency). The AML library is in its own package, and doesn&#8217;t require any imports from your package to work. You do need to put the template layout XML files into your <em><code>/res/layout</code></em> folder, but that&#8217;s all. AML doesn&#8217;t require you or your web service to know the details of how Android builds its views. It doesn&#8217;t depend on some extra plugin installed on your device, and it isn&#8217;t passing your app code through another service. You probably still have to write some Java code to accomplish your goal, but this makes the whole thing easier.</p>
<p>So far, what I have written only supports layouts, but no actions. Many objects support attributes like <em><code>align</code></em>, <em><code>valign</code></em>, <em><code>fontsize</code></em>, <em><code>padding</code></em>, <em><code>color</code></em>, and <em><code>bgcolor</code></em>, to name a few. The rest of the code just isn&#8217;t there yet. I have been building the <em><code>tap</code></em> and <em><code>hold</code></em> attributes into buttons and other clickable objects, but I&#8217;m not done. I haven&#8217;t done a date picker, time picker, or spinner (Android&#8217;s version of an HTML <em><code>&lt;select&gt;</code></em> element). But it&#8217;s coming together very quickly—a lot faster than I thought it might. It&#8217;s been an awesome learning experience so far though.</p>
<p>I&#8217;m writing this for me, honestly, but I&#8217;m really interested in any kind of outside interest. Any questions, comments, or recommendations? Has anyone else done this? Would you be excited to get your hands on this code? If you used it, what would you need it to be able to do?</p>
<p>Let me know in the comments!</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F&amp;title=Rapid+Android+Development+with+AML" title="Bookmark this post : Rapid Android Development with AML on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F&amp;title=Rapid+Android+Development+with+AML&amp;bodytext=%0D%0A7%2F13%2F2010+update%3A%0D%0AThanks+to+the+great+response+%28and+many+hundreds+of+visits+to+this+page+over+the+last+two+days%29%2C+I%27ve+gone+ahead+and+created+a+real+project+website+for+AML+at+http%3A%2F%2Fwww.amlcode.com%2C+as+well+as+the+%40amlcode+Twitter+account.+If+you%27re+interested+in+more+updates%2C+check+those+out.+Thanks+for+all+the+co" title="Digg this post : Rapid Android Development with AML"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F&amp;t=Rapid+Android+Development+with+AML" title="Recommend this post : Rapid Android Development with AML on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F&amp;title=Rapid+Android+Development+with+AML" title="Share this post : Rapid Android Development with AML on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F&amp;title=Rapid+Android+Development+with+AML" title="Share this post : Rapid Android Development with AML with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F10%2Frapid-android-development-with-aml%2F" title="Tweet this post : Rapid Android Development with AML on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/07/10/rapid-android-development-with-aml/feed" title="Follow this post : Rapid Android Development with AML comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/07/10/rapid-android-development-with-aml/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Getting Rid of Stuff, Revisited</title>
		<link>http://www.sectorfej.net/2010/07/03/getting-rid-of-stuff-revisited/</link>
		<comments>http://www.sectorfej.net/2010/07/03/getting-rid-of-stuff-revisited/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 02:19:14 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=1299</guid>
		<description><![CDATA[I&#8217;ve had some good feedback on the How to Get Rid of Stuff post that I wrote a couple of weeks ago. I wanted to update everyone to let you all know that I do indeed follow my own advice. This weekend, Courtney and I finished going through our own stuff in a very quick [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I&#8217;ve had some good feedback on the <a href="http://www.sectorfej.net/2010/06/19/how-to-get-rid-of-stuff/">How to Get Rid of Stuff</a> post that I wrote a couple of weeks ago. I wanted to update everyone to let you all know that I do indeed follow my own advice.</p>
<p><a href="http://www.sectorfej.net/wp-content/uploads/2010/07/IMG_6204.jpg"><img src="http://www.sectorfej.net/wp-content/uploads/2010/07/IMG_6204-300x200.jpg" alt="" title="July 2010 Stuff" width="300" height="200" class="alignright size-medium wp-image-1300" /></a>This weekend, Courtney and I finished going through our own stuff in a very quick clean-up process. It was Courtney&#8217;s idea originally&mdash;not that I wasn&#8217;t thinking about it, but I wasn&#8217;t going to make a point to do it <em>now</em>. She initiated it and did most of the work, actually. I mainly provided some input here and there on items that were mine. We digitized some cassettes and made a trip to the local Goodwill earlier this afternoon, and the few things that remain will be going on eBay soon or else to Goodwill too, if we decide it isn&#8217;t worth the time to sell them online. Our small closet dedicated to storage has returned to a more organized state, and we&#8217;ve both been encouraged and emotionally liberated by the whole event.</p>
<p>It&#8217;s just so darned <em>nice</em> to get rid of stuff.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F&amp;title=Getting+Rid+of+Stuff%2C+Revisited" title="Bookmark this post : Getting Rid of Stuff, Revisited on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F&amp;title=Getting+Rid+of+Stuff%2C+Revisited&amp;bodytext=I%27ve+had+some+good+feedback+on+the+How+to+Get+Rid+of+Stuff+post+that+I+wrote+a+couple+of+weeks+ago.+I+wanted+to+update+everyone+to+let+you+all+know+that+I+do+indeed+follow+my+own+advice.%0D%0A%0D%0AThis+weekend%2C+Courtney+and+I+finished+going+through+our+own+stuff+in+a+very+quick+clean-up+process.+It+was+Courtney%27s+idea+origina" title="Digg this post : Getting Rid of Stuff, Revisited"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F&amp;t=Getting+Rid+of+Stuff%2C+Revisited" title="Recommend this post : Getting Rid of Stuff, Revisited on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F&amp;title=Getting+Rid+of+Stuff%2C+Revisited" title="Share this post : Getting Rid of Stuff, Revisited on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F&amp;title=Getting+Rid+of+Stuff%2C+Revisited" title="Share this post : Getting Rid of Stuff, Revisited with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F07%2F03%2Fgetting-rid-of-stuff-revisited%2F" title="Tweet this post : Getting Rid of Stuff, Revisited on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/07/03/getting-rid-of-stuff-revisited/feed" title="Follow this post : Getting Rid of Stuff, Revisited comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/07/03/getting-rid-of-stuff-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Political Labels and Logical Fallacies</title>
		<link>http://www.sectorfej.net/2010/06/26/political-labels-and-logical-fallacies/</link>
		<comments>http://www.sectorfej.net/2010/06/26/political-labels-and-logical-fallacies/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 02:58:35 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://www.sectorfej.net/?p=53</guid>
		<description><![CDATA[What do you think when you hear the term &#8220;Left-wing Liberal&#8221;? How about &#8220;tea party&#8221;? &#8220;Right-wing extremist&#8221;? &#8220;Die-hard Republican&#8221;? &#8220;Card-carrying member of the NRA&#8221;? &#8220;Reactionary&#8221;? &#8220;Obstructionist&#8221;? &#8220;Moderate&#8221;? &#8220;Libertarian&#8221;? &#8220;Independent&#8221;? &#8220;Neocon&#8221;? No matter what you believe, or what your personal political affiliation is (if you have one), the odds are good that those terms conjure up [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=a8e9b60d26c8b64f3b639961c76124ab&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>What do you think when you hear the term &#8220;Left-wing Liberal&#8221;? How about &#8220;tea party&#8221;? &#8220;Right-wing extremist&#8221;? &#8220;Die-hard Republican&#8221;? &#8220;Card-carrying member of the NRA&#8221;? &#8220;Reactionary&#8221;? &#8220;Obstructionist&#8221;? &#8220;Moderate&#8221;? &#8220;Libertarian&#8221;? &#8220;Independent&#8221;? &#8220;Neocon&#8221;? No matter what you believe, or what your personal political affiliation is (if you have one), the odds are good that those terms conjure up quite a few different images, some of which are bad.</p>
<p>While some of these kinds of labels are meant to be derogatory caricatures of the people we disagree with, many of them are not. The problem is that even the more &#8220;harmless&#8221; of these words mean significantly different things to the people who use them regularly. A self-identifying Republican thinks &#8220;Republican&#8221; is a good thing, while a self-identifying Democrat thinks &#8220;Republican&#8221; is a bad thing. Say the word in front of both of them, and two very different mental pictures will form in their respective heads. From a linguistic and logical standpoint this means that these words are fundamentally useless for worthwhile communication because their meanings have become arbitrary&mdash;not depending on context, which would still allow usefulness, but instead depending only on the personal meaning ascribed by the one using it.</p>
<p>I subscribe to many different political or environmental email newsletters. I don&#8217;t agree with most of them, but I like to read through the agendas of different organizations just so I get a well-rounded idea of what&#8217;s going on around the country. It&#8217;s saddening to me that the content from the organization I <em>disagree</em> with most (MoveOn) is usually the least full of distracting propaganda. Don&#8217;t get me wrong, they do have many other more subtle forms of propaganda. But the most blatant name-callers of all of them are often the ones that I agree with in principle. I just can&#8217;t stand their method of delivery, and I doubt their credibility because they resort to that kind of communication.</p>
<p>Political labels allow for an easy way for group members to identify themselves. However, I am virtually certain that most of the people who consider themselves part of a large group (such as MoveOn or, say, the Tea Party) either don&#8217;t agree with 100% of the agenda, or more likely don&#8217;t know 100% of the agenda and so cannot truly agree or disagree across the board. It is challenging even among <em>family members</em> to find someone who completely agrees with everything you believe.</p>
<p>Labels create a simple but inaccurate group identity among ideological subscribers, while at the same time they create a shallow but intense divisiveness between &#8220;believers&#8221; and &#8220;non-believers.&#8221; People often treat their own political beliefs like religious dogma and use opposite labels on their opponents as spiteful, condescending pejoratives. This makes it easy to fall prey to a logical fallacy commonly known as a <em>straw-man argument</em>. A straw-man argument entails the misrepresentation of the position of our opponent for the purpose of easily shooting it down. Such a position is easy to defeat, but it is not a true victory because we have ascribed viewpoints that the opponent does not really hold. The reality is that people that identify with an opposing group often have worthwhile points, and they are rarely as idiotic as they are made out to be either in our minds or our conversation.</p>
<p>Corruption, deception, and ignorance admittedly run rampant among politicians and their constituents. But when you listen to or talk to others about politics, try to keep in mind what effect some of those seemingly benign labels have, and remember that just because they call themselves something else doesn&#8217;t automatically mean they are less than you in any way.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F&amp;title=Political+Labels+and+Logical+Fallacies" title="Bookmark this post : Political Labels and Logical Fallacies on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F&amp;title=Political+Labels+and+Logical+Fallacies&amp;bodytext=What+do+you+think+when+you+hear+the+term+%22Left-wing+Liberal%22%3F+How+about+%22tea+party%22%3F+%22Right-wing+extremist%22%3F+%22Die-hard+Republican%22%3F+%22Card-carrying+member+of+the+NRA%22%3F+%22Reactionary%22%3F+%22Obstructionist%22%3F+%22Moderate%22%3F+%22Libertarian%22%3F+%22Independent%22%3F+%22Neocon%22%3F+No+matter+what+you+believe%2C+or+what+your+personal+political+affiliat" title="Digg this post : Political Labels and Logical Fallacies"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F&amp;t=Political+Labels+and+Logical+Fallacies" title="Recommend this post : Political Labels and Logical Fallacies on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F&amp;title=Political+Labels+and+Logical+Fallacies" title="Share this post : Political Labels and Logical Fallacies on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F&amp;title=Political+Labels+and+Logical+Fallacies" title="Share this post : Political Labels and Logical Fallacies with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.sectorfej.net%2F2010%2F06%2F26%2Fpolitical-labels-and-logical-fallacies%2F" title="Tweet this post : Political Labels and Logical Fallacies on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://www.sectorfej.net/2010/06/26/political-labels-and-logical-fallacies/feed" title="Follow this post : Political Labels and Logical Fallacies comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sectorfej.net/2010/06/26/political-labels-and-logical-fallacies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
