<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FerretArmy: A Web Developer&#039;s Paradise</title>
	<atom:link href="http://www.ferretarmy.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ferretarmy.com</link>
	<description>Pushing the Web Forward, Since 2007</description>
	<lastBuildDate>Mon, 23 Apr 2012 22:15:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CISPA</title>
		<link>http://www.ferretarmy.com/2012/04/23/cispa/</link>
		<comments>http://www.ferretarmy.com/2012/04/23/cispa/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 22:15:47 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[CISPA]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[net neutrality]]></category>
		<category><![CDATA[PIPA]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=560</guid>
		<description><![CDATA[CISPA is the latest cyber-intelligence legislation passing through Congress. Basically, it&#8217;s goal is to legally allow companies (like Facebook, for instance) to share user information with the Federal government. Obviously, the government should be able to have access to private information online in order to prevent crimes they are reasonably certain are going to happen. [...]]]></description>
			<content:encoded><![CDATA[<p>CISPA is the latest cyber-intelligence legislation passing through Congress. Basically, it&#8217;s goal is to legally allow companies (like <a href="http://intelligence.house.gov/sites/intelligence.house.gov/files/documents/FacebookHR3523.pdf">Facebook</a>, for instance) to share user information with the Federal government.</p>
<p>Obviously, the government should be able to have access to private information online in order to prevent crimes they are reasonably certain are going to happen. This is not a new concept &#8211; we have the same needs in the physical world, where a set of checks and balances has been established to allow the needs of law enforcement while protecting a reasonable amount of our privacy. Law enforcement uses the courts to obtain permission to gather information that would be reasonably otherwise private.</p>
<p>I wanted to educate myself on CISPA &#8211; is it a reasonable piece of legislation, or does it allow an unlimited breach of privacy, as <a href="http://cyberspying.eff.org/">it&#8217;s detractors</a> have said? I took a reasonable time to look over the legislation, and there was one thing that struck me about it fairly immediately. Go <a href="http://intelligence.house.gov/hr-3523-bill-and-amendments">here</a>, to the official repository of the CISPA draft. Click on the latest version, and search for the word &#8216;warrant&#8217;. No results found.</p>
<p>What&#8217;s so bad about getting a warrant before asking private companies for information about their users? Is that too much due process? It doesn&#8217;t seem to be in the physical world. Any legislation that addresses cyber-intelligence (or, in other words, all the public and private data online) should carry with it a system of checks and balances that prevent abuse. As such, CISPA is deeply flawed and cannot be reasonably justified. FerretArmy.com stands with <a href="http://www.slashgear.com/web-inventor-berners-lee-shoots-down-cispa-18223435/">Tim Berners-Lee</a> in saying that CISPA threatens the rights of all citizens and should never be enacted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2012/04/23/cispa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Penny, a Blight Upon the Money System</title>
		<link>http://www.ferretarmy.com/2012/02/17/the-penny-a-blight-upon-the-money-system/</link>
		<comments>http://www.ferretarmy.com/2012/02/17/the-penny-a-blight-upon-the-money-system/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 14:18:53 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=555</guid>
		<description><![CDATA[There has been some recent news about the US proposing to alter the composition of the penny, to make it cheaper to produce. The US has minted the Lincoln penny coin since 1909, a little over a hundred years. This is at least a decade too long. The penny is absolutely useless, save for being [...]]]></description>
			<content:encoded><![CDATA[<p>There has been some <a href="http://moneyland.time.com/2012/02/15/obama-wants-to-make-cheaper-pennies-and-nickels/">recent news</a> about the US proposing to alter the composition of the penny, to make it cheaper to produce. The US has minted the Lincoln penny coin since 1909, a little over a hundred years. This is at least a decade too long. The penny is absolutely useless, save for being able to subdivide the nickel, another coin whose utility is somewhat in question. I can&#8217;t stand them &#8211; they they are often green and smelly from copper oxidization, and they add bulk to your pockets for no real gain. They are inefficient to produce. They don&#8217;t interact with anything &#8211; you can&#8217;t put them into vending machines or parking meters. People don&#8217;t value them &#8211; very often, they go into the charity jar or &#8216;take-a-penny&#8217; tray next to a cash register, better left behind than carried along. Rounding prices to the nearest nickel is, on average, going to net you approximately the same amount of money in your pocket, so eliminating the penny is essentially zero-sum.</p>
<p>Worried about Abraham Lincoln losing relevancy in the US if the penny goes away (Illinois)? First, that&#8217;s probably not going to happen given that he&#8217;s one of the most revered presidents, but even more so, that sounds like a problem worth solving. Take a fraction of the savings from getting rid of the penny and build (another) monument to Lincoln, or transfer his image onto the dollar coin. We send a lot of things into outer space that need names. There certainly is a solution here.</p>
<p>In summary, hate on the penny, and get rid of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2012/02/17/the-penny-a-blight-upon-the-money-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FerretArmy.com is Anti-SOPA and Anti-PIPA</title>
		<link>http://www.ferretarmy.com/2012/01/18/ferretarmy-com-is-anti-sopa-and-anti-pipa/</link>
		<comments>http://www.ferretarmy.com/2012/01/18/ferretarmy-com-is-anti-sopa-and-anti-pipa/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 14:25:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Censorship]]></category>
		<category><![CDATA[PIPA]]></category>
		<category><![CDATA[RIAA]]></category>
		<category><![CDATA[SOPA]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=550</guid>
		<description><![CDATA[I urge you to voice your opposition to SOPA and PIPA today!]]></description>
			<content:encoded><![CDATA[<p>Today is the great internet blackout day, in protest of the proposed <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:h.r.3261:" target="_blank">SOPA</a> and <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:s.968:" target="_blank">PIPA</a> laws winding their way through the US House and Senate respectively. I won&#8217;t go too far into detail on my thoughts on these bills other than to say they are destructive to the ability to grow innovative businesses on the internet. They strip due process from copyright infringement claims, which allows entrenched interests (such as the RIAA and MPAA, major backers of this legislation) to censor free speech and destroy fledgling businesses with innovative business models or that take advantage of new technologies. We&#8217;ve already seen widespread abuse of the DMCA by these interests, so there is absolutely no reason to believe they will use the new powers granted by SOPA and PIPA in a responsible manner.</p>
<p>I urge you to contact your congressional representatives today to stand in opposition to SOPA and PIPA. Let them know that you oppose these bills!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2012/01/18/ferretarmy-com-is-anti-sopa-and-anti-pipa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsFiddle: The Online Web Editor</title>
		<link>http://www.ferretarmy.com/2011/06/23/jsfiddle-the-online-web-editor/</link>
		<comments>http://www.ferretarmy.com/2011/06/23/jsfiddle-the-online-web-editor/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 19:01:48 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=547</guid>
		<description><![CDATA[I just started playing with jsFiddle, which is an online tool that allows you to test and share HTML/JavaScript fragments. It&#8217;s a really neat tool &#8211; I&#8217;m not entirely sure what it&#8217;s boundaries are quite yet, but it&#8217;s been pretty amazing so far. The interface is fairly intuitive &#8211; just three panes for HTML, JavaScript, [...]]]></description>
			<content:encoded><![CDATA[<p>I just started playing with <a href="http://jsfiddle.net/">jsFiddle</a>, which is an online tool that allows you to test and share HTML/JavaScript fragments. It&#8217;s a really neat tool &#8211; I&#8217;m not entirely sure what it&#8217;s boundaries are quite yet, but it&#8217;s been pretty amazing so far.</p>
<p>The interface is fairly intuitive &#8211; just three panes for HTML, JavaScript, and CSS, and an output pane that displays your rendered content. It also has support for a number of JavaScript frameworks (jQuery, MooTools, etc), and a number of addons for those frameworks. It&#8217;s also setup as a collaborative tool &#8211; by default, your &#8216;Fiddles&#8217; are public and accessible by URL. As a quick test of the tool, I ported the code I wrote for my &#8216;<a href="http://www.ferretarmy.com/2010/05/10/extending-jquery-selectors-between/">:between</a>&#8216; jQuery selector &#8211; check out the demo here: <a href="http://jsfiddle.net/jneal/WmnNJ/">http://jsfiddle.net/jneal/WmnNJ/</a>.</p>
<p>You can even embed your Fiddles on other websites. Next time I write a post on a coding technique, I&#8217;m planning on setting up some examples through jsFiddle. Hopefully it turns out well!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2011/06/23/jsfiddle-the-online-web-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Templating with .tmpl</title>
		<link>http://www.ferretarmy.com/2011/06/01/jquery-templating-with-tmpl/</link>
		<comments>http://www.ferretarmy.com/2011/06/01/jquery-templating-with-tmpl/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 00:27:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=544</guid>
		<description><![CDATA[A quick overview of the jQuery templating API.]]></description>
			<content:encoded><![CDATA[<p>Templating of web controls is a valuable technique that allows for code reuse. For example, if you have a repeated list of items with common attributes that need to be displayed on a web page, templating is a great solution. Templating can often be accomplished on the server side through controls such as ASP.NET repeaters. However, with the web of today, asynchronous programming is where it&#8217;s at. With AJAX data calls, you often get JSON objects back that must be turned into HTML and displayed on a web page.</p>
<p>There are a few ways of doing so &#8211; you could have an asynchronous call return an HTML fragment, for instance (done that). You could also embed placeholders in hidden HTML fragments on a page, and use a combination of jQuery&#8217;s clone/replace/append methods to push object data into them (done that too). However, there&#8217;s an even better technique available now, as a first-class citizen in the jQuery library &#8211; the <a href="http://api.jquery.com/jquery.tmpl/">.tmpl templating API</a>.</p>
<p>jQuery templating is a feature that&#8217;s currently in beta (though it is distributed with jQuery as of version 1.4.3), and is based upon an <a href="https://github.com/jquery/jquery-tmpl">existing templating plugin</a>. I&#8217;ve had the pleasure of using the jQuery templating API for a bit of time now, and I admit that it is by far the easiest, most robust templating solution I&#8217;ve found. There are template controls for repeaters (<a href="http://api.jquery.com/template-tag-each">{{each}}</a>), conditional statements (<a href="http://api.jquery.com/template-tag-if/">{{if}}</a> and <a href="http://api.jquery.com/template-tag-else">{{else}}</a>), templated HTML fragments (<a href="http://api.jquery.com/template-tag-html">{{html}}</a>), and wrapping (<a href="http://api.jquery.com/template-tag-wrap">{{wrap}}</a>). That&#8217;s a lot of functionality out of the box!</p>
<p>By far my favorite part of html templating, however, is the &lt;script type=&#8217;text/x-jquery-tmpl&#8217;&gt;&lt;/script&gt; tagging that you can wrap around your template fragments. One thing I&#8217;ve disliked with templating is that you have to embed potentially malformed HTML into your page &#8211; for instance, you might end up having to template id attributes. Malformed html is not the worst thing in the world, especially in hidden fields, but it certainly doesn&#8217;t help with search engine rankings and such. Having a way of clearly saying &#8220;I&#8217;m a template fragment&#8221; is a great thing, both for search engines and general maintainability.</p>
<p>If you haven&#8217;t gotten a chance to take a look at jQuery templating, now is certainly a great time to do so. It comes for free with jQuery, and it&#8217;s a fast, easy, and robust solution for templating needs.</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 116px; width: 1px; height: 1px; overflow: hidden;"><code>text/x-jquery-tmpl</code></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2011/06/01/jquery-templating-with-tmpl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Triple MBS Drafting</title>
		<link>http://www.ferretarmy.com/2011/02/27/triple-mbs-drafting/</link>
		<comments>http://www.ferretarmy.com/2011/02/27/triple-mbs-drafting/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 03:08:11 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[M:TG]]></category>
		<category><![CDATA[drafting]]></category>
		<category><![CDATA[Mirrodin Besieged]]></category>
		<category><![CDATA[MTGO]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=528</guid>
		<description><![CDATA[I&#8217;ve been doing a ton of triple Mirrodin Besieged drafting on Magic Online lately, and I&#8217;ve been winning my fair share of packs. Triple MBS is a limited-time draft format, so there likely won&#8217;t be much strategy written around it. Triple MBS is a great format to draft because it&#8217;s a small set (less packs [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a ton of triple Mirrodin Besieged drafting on Magic Online lately, and I&#8217;ve been winning my fair share of packs. Triple MBS is a limited-time draft format, so there likely won&#8217;t be much strategy written around it. Triple MBS is a great format to draft because it&#8217;s a small set (less packs opened) and because it has relatively more money cards than Scars of Mirrodin. Okay, onto some thoughts.</p>
<p>First, I don&#8217;t think infect is a very good strategy in triple MBS. The infect cards are spread out across too many colors, so getting a deck together is tough. Second, the best infect cards are also the best cards against infect. Blight Widow and Priests of Norn will be highly picked by everyone, so you&#8217;ll end up with the drecks, like Flensermite. Third, infect is a popular (but bad) strategy, so the cards will be that much harder to come by.</p>
<p>Fangren Marauder is first-pickable. I&#8217;ve not had any trouble picking up a full playset of these in most of my drafts, and I&#8217;ll always splash green to play them. They are the nuts against non-infect decks, and they are even great against infect. Next, anything that gives a -1/-1 counter or does one damage is playable, and probably will be awesome in your deck. Any guaranteed 2-for-1 is playable (even Myr Sire). Sword of Feast and Famine isn&#8217;t nearly as threatening as you think &#8211; it&#8217;s a mana sink in the early turns, and every deck should have an answer to it (maindecked, none the less). There are far fewer mana fixing cards to make splashing three colors easy in triple MBS than there are in Scars (no mana Myrs), so Sphere of the Suns is a great pickup, as well as Viridian Emissary.</p>
<p>So, what do I think is the most playable strategy in this format? Red-Green artifact sacrifice. The core of this deck is anything that works with artifact sacrfice &#8211; Fangren Marauder, Gnathosaur, Ichor Wellspring, Myr Sire, Kutholda Flamefiend, Myr Turbine, Spine of Ish Sah, and such. Red in general has powerful cards all along the curve, and the synergy that can be put together in with this core of cards is amazing. In general, I&#8217;m very open to also splashing white in these colors, for things like Master&#8217;s Call, Divine Offering, Priests of Norn, and Choking Fumes. If you happen to open a Spine of Ish Sah, try your hardest to get a Treasure Mage, and pick Gnathosaur high.</p>
<p>I highly recommend triple MBS drafting to anyone that has such an inclination. It&#8217;s a great format that won&#8217;t be around for long, so enjoy it while you can!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2011/02/27/triple-mbs-drafting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Zendikar Full Art Lands</title>
		<link>http://www.ferretarmy.com/2010/10/24/my-zendikar-full-art-lands/</link>
		<comments>http://www.ferretarmy.com/2010/10/24/my-zendikar-full-art-lands/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 14:40:59 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[M:TG]]></category>
		<category><![CDATA[full art lands]]></category>
		<category><![CDATA[Magic]]></category>
		<category><![CDATA[Zendikar]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=529</guid>
		<description><![CDATA[One of my more ambitious recent projects was to extend the art of all the full-art versions of all the Magic: The Gathering Zendikar lands. Zendikar lands aren&#8217;t particularly valuable, but they do lend themselves very well to having their art extended. In addition, I can always use full art lands &#8211; just about every [...]]]></description>
			<content:encoded><![CDATA[<p>One of my more ambitious recent projects was to extend the art of all the full-art versions of all the Magic: The Gathering Zendikar lands. Zendikar lands aren&#8217;t particularly valuable, but they do lend themselves very well to having their art extended. In addition, I can always use full art lands &#8211; just about every other card in Magic rotates eventually, which was a concern of mine, since I primarily play Standard (for now). In any case, check these out (the pictures aren&#8217;t the best, but nobody ever accused me of being a professional photographer):</p>

<a href="http://www.ferretarmy.com/wp-content/gallery/mtg/zen_plains.jpg" title="" class="thickbox" rel="singlepic35" >
	<img class="ngg-singlepic ngg-center" src="http://www.ferretarmy.com/wp-content/gallery/cache/35__x_zen_plains.jpg" alt="zen_plains" title="zen_plains" />
</a>


<a href="http://www.ferretarmy.com/wp-content/gallery/mtg/zen_islands.jpg" title="" class="thickbox" rel="singlepic33" >
	<img class="ngg-singlepic ngg-center" src="http://www.ferretarmy.com/wp-content/gallery/cache/33__x_zen_islands.jpg" alt="zen_islands" title="zen_islands" />
</a>


<a href="http://www.ferretarmy.com/wp-content/gallery/mtg/zen_swamps.jpg" title="" class="thickbox" rel="singlepic36" >
	<img class="ngg-singlepic ngg-center" src="http://www.ferretarmy.com/wp-content/gallery/cache/36__x_zen_swamps.jpg" alt="zen_swamps" title="zen_swamps" />
</a>


<a href="http://www.ferretarmy.com/wp-content/gallery/mtg/zen_mountains.jpg" title="" class="thickbox" rel="singlepic34" >
	<img class="ngg-singlepic ngg-center" src="http://www.ferretarmy.com/wp-content/gallery/cache/34__x_zen_mountains.jpg" alt="zen_mountains" title="zen_mountains" />
</a>


<a href="http://www.ferretarmy.com/wp-content/gallery/mtg/zen_forests.jpg" title="" class="thickbox" rel="singlepic32" >
	<img class="ngg-singlepic ngg-center" src="http://www.ferretarmy.com/wp-content/gallery/cache/32__x_zen_forests.jpg" alt="zen_forests" title="zen_forests" />
</a>

<p>I&#8217;ve got quite a few other painted cards in my collection, mostly for my cube (still a work in progress). I might add pics of those cards in the future, if people would like me to do so. In case you&#8217;re wondering, I don&#8217;t currently do any for-hire card painting. The paints I use are Citadel model paints from Games Workshop, which are pretty widely available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2010/10/24/my-zendikar-full-art-lands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cube</title>
		<link>http://www.ferretarmy.com/2010/09/13/cube/</link>
		<comments>http://www.ferretarmy.com/2010/09/13/cube/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 04:09:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[M:TG]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=526</guid>
		<description><![CDATA[I&#8217;ve always been a gamer at heart, be it video games or board games, or my absolute favorite genre, collectible card games. This month marks nearly a year into my refound romance with the card game Magic: the Gathering. A bit of background here: I used to play Magic back in 1995 or so as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been a gamer at heart, be it video games or board games, or my absolute favorite genre, collectible card games. This month marks nearly a year into my refound romance with the card game <a href="http://http://wizards.com/Magic/Multiverse/">Magic: the Gathering</a>. A bit of background here: I used to play Magic back in 1995 or so as a teen, in the &#8216;Revised&#8217; era. After finding some cards at my mom&#8217;s house over Thanksgiving last year, I got the itch for it yet again. I&#8217;m taking my hobby a bit more seriously nowadays (though it&#8217;s still just a hobby &#8211; I still try to find some balance in my life!) &#8211; I&#8217;ve take the opportunity to go to try a few professional tournaments in the area, and I&#8217;ve built up a decent collection of cards over the past ten or so months.</p>
<p>The one thing that has been bugging me lately is how to bridge the gap between my friends who know how to play Magic, but aren&#8217;t into playing  competitively like I am. To some extent, I&#8217;m sure I could convince a few friends to get together and draft, but nothing more than that, and even then on rare occasions. As a group, we are far more likely to play a good game of <a href="http://boardgamegeek.com/boardgame/40692/small-world">Smallworld</a>, <a href="http://boardgamegeek.com/boardgame/2651/power-grid">Power Grid</a>, or any other board game than we are to do anything Magic-related. Being the problem-solver I am, I decided fairly recently to create a <a href="http://http://www.cubedrafting.com/">Cube</a>.</p>
<p>Cube is an informal Magic format that is similar to Draft. Essentially, you create &#8216;packs&#8217; of fifteen cards out of an available pool of 500 or so cards, and you hold a draft tournament using those cards. I won&#8217;t go into the specifics of drafting, but essentially all the cards you need to play are going to be provided to you at the outset, though winning requires a fair amount of skill and familiarity with the rules of Magic.</p>
<p>Creating a cube is a very time consuming effort. I&#8217;m currently in the acquisition stage of my cube &#8211; I still can&#8217;t play with my cube, though it is roughly half-complete. Having a theme for your cube is somewhat essential in creating it &#8211; in my case, I&#8217;ve decided upon a hybrid of a powerful-game-state cube and a good-limited-cards cube. This means that I want to add to my cube some of the most powerful cards available in Magic, as well as to add cards that are particularly powerful in draft format. I&#8217;ve been tracking my progress in a <a href="https://spreadsheets.google.com/ccc?key=0AmntRv9woTxidHZCMmt4OEZuYmVReldaN1BaV182TWc&amp;hl=en#gid=1">Google Docs spreadsheet</a>. I&#8217;ve picked out a good portion of the cards I want in the cube, though I haven&#8217;t acquired them all to this point. My one additional caveat to this story is that I want my cube to be primarily foil cards (say 95%+ foil, and almost no non-foil-non-promo cards &#8211; if I have to put a non-foil Primeval Titan into my cube I will, but not without some regret).</p>
<p>Normally, a cube is actually surprisingly cheap to put together &#8211; were it not for the foil cards restriction I&#8217;ve self-imposed, I would be fairly near completion of my cube. I&#8217;ve been trading and buying cards at a pretty furious pace in order to get where I am now, which is about 180 cards in, with an additional 100 or so picked out but not yet acquired. Feel free to comment on my pics if you so desire, and by all means, challenge me to a cube draft when I&#8217;m complete. I&#8217;m very energized to complete this project, so I can play with some of these amazing new cards that I&#8217;ve acquired over the preceding few months!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2010/09/13/cube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending jQuery Selectors: &#8216;between&#8217;</title>
		<link>http://www.ferretarmy.com/2010/05/10/extending-jquery-selectors-between/</link>
		<comments>http://www.ferretarmy.com/2010/05/10/extending-jquery-selectors-between/#comments</comments>
		<pubDate>Mon, 10 May 2010 20:23:52 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[extending jQuery]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=516</guid>
		<description><![CDATA[There are a ton of jQuery selectors to get at just about any data imaginable on a page. Between actual selectors (such as ID and attribute selectors) and pseudo-selectors (such as :first and :checked), the bulk of HTML element selection is trivial. There are, however, a few selectors I&#8217;ve had a need for but aren&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>There are a ton of jQuery selectors to get at just about any data imaginable on a page. Between actual selectors (such as ID and attribute selectors) and pseudo-selectors (such as :first and :checked), the bulk of HTML element selection is trivial. There are, however, a few selectors I&#8217;ve had a need for but aren&#8217;t in jQuery currently &#8211; for instance, there is a <a href="http://api.jquery.com/next-adjacent-Selector/">next adjacent selector</a>, but there is no analogous &#8216;previous adjacent&#8217; selector baked in. How does one get around this? Let&#8217;s find out, after the jump.</p>
<p><span id="more-516"></span></p>
<p>There is a solution, of course &#8211; just like almost every part of jQuery, the <a href="http://sizzlejs.com/">Sizzle  selector engine</a> is extensible. That&#8217;s right &#8211; you can implement your own selectors that you can then use just like native selectors (big props to Ben Nadel for <a href="http://www.bennadel.com/blog/1457-How-To-Build-A-Custom-jQuery-Selector.htm">demonstrating this technique</a>). One of my first needs in this realm was to create a &#8216;between&#8217; selector &#8211; give me all the elements &#8216;between&#8217; selectors for element A and element B. Here&#8217;s an example of what we want the syntax to look like:</p>
<pre style="padding-left: 30px;">var rowsBetween = $('tr:between(tr:contains(Start), tr:contains(End))');
</pre>
<p>Given the selector above, we would expect it to return the following table rows:</p>
<p><a href="http://www.ferretarmy.com/wp-content/uploads/2010/05/capRows.png"><img class="alignnone size-full wp-image-517" title="Rows To Capture" src="http://www.ferretarmy.com/wp-content/uploads/2010/05/capRows.png" alt="" width="398" height="178" /></a></p>
<p>In order to implement this selector, we&#8217;re going to make a few assumptions in order to get it to work. First, we&#8217;re going to assume that both the inside selectors resolve to a single element (actually, they can resolve to any number of elements, we will just use only the first match). Next, we are going to assume that the first element actually occurs before the last element. These assumptions obviously make for a buggy implementation of a real selector, but they are perfectly acceptable for a user-driven project.<br />
So, down to it. The first thing we are going to do is setup the jQuery selector engine extension method:</p>
<pre>$.expr[':'].between = function(
    objNode,
    intStackIndex,
    arrProperties,
    arrNodeStack)
{
	// Placeholder logic...
	return false;
};
</pre>
<p>Ben Nadel has an excellent writeup on the selector engine interface in his article http://www.bennadel.com/blog/1457-How-To-Build-A-Custom-jQuery-Selector.htm, so no need to cover it again. Now, our next task is to write the guts of our selector. Here&#8217;s the algorithm we are going to be implementing:</p>
<ol>
<li>Split the arguments by &#8216;,&#8217; (comma), so that we have the start and end selectors.</li>
<li>Find the start and end elements that correspond to the start and end selectors.</li>
<li>Is the element we are currently testing between the start and end elements?
<ol>
<li>Yes -&gt; return true</li>
<li>No -&gt; return false</li>
</ol>
</li>
</ol>
<p>This is a relatively easy algorithm to implement. First, let&#8217;s do the chopping:</p>
<pre>    var args = arrProperties[3].split(",");
    var startSelector = args[0];
    var endSelector = args[1];
</pre>
<p>Now that we have the &#8216;between&#8217; selector values, let&#8217;s get the corresponding elements from the element collection.</p>
<pre> var startIndex = -1;
    var endIndex = -1;

    // Find the start and end indexes.
    for (var index = 0; index &lt; arrNodeStack.length; index++)
    {
        if ($(arrNodeStack[index]).is(startSelector) &amp;&amp; startIndex &lt; 0)
            startIndex = index;
        else if ($(arrNodeStack[index]).is(endSelector) &amp;&amp; endIndex &lt; 0)
            endIndex = index;
    }
</pre>
<p><em>$(arrNodeStack[index])</em> gives us the element that we are currently iterating over. In order to see if it matches our start/end selector, we use the jQuery <a href="http://api.jquery.com/is/">is()</a> method. We have a little handling here to keep from overwriting our values if we&#8217;ve already found a match, but it&#8217;s all pretty self-explanatory.</p>
<p>Our last task is to check to see if our selected element is between the start and end elements, and return the appropriate value. That again is pretty straightforward:</p>
<pre>    if (startIndex &gt;= 0 &amp;&amp;
        endIndex &gt; 0 &amp;&amp;
        intStackIndex &gt; startIndex &amp;&amp;
        intStackIndex &lt; endIndex)
        return true;
    else
        return false;
</pre>
<p>Putting this all together, we get the following:</p>
<pre>$.expr[':'].between = function(
    objNode,
    intStackIndex,
    arrProperties,
    arrNodeStack)
{
    var args = arrProperties[3].split(",");
    var startSelector = args[0];
    var endSelector = args[1];

    var startIndex = -1;
    var endIndex = -1;

    // Find the start and end indexes.
    for (var index = 0; index &lt; arrNodeStack.length; index++)
    {
        if ($(arrNodeStack[index]).is(startSelector) &amp;&amp; startIndex &lt; 0)
            startIndex = index;
        else if ($(arrNodeStack[index]).is(endSelector) &amp;&amp; endIndex &lt; 0)
            endIndex = index;
    }

    if (startIndex &gt;= 0 &amp;&amp;
        endIndex &gt; 0 &amp;&amp;
        intStackIndex &gt; startIndex &amp;&amp;
        intStackIndex &lt; endIndex)
        return true;
    else
        return false;
};
</pre>
<p>That&#8217;s it! We&#8217;ve now got the ability to use the &#8216;between&#8217; selector just like any other jQuery selector. Pretty simple, no? From not knowing a thing about selector engine extension to a finished product, this was only a few hours of work (mostly research, too). If you&#8217;re looking for an opportunity to try implementing a custom selector, try that &#8216;previous adjacent&#8217; selector I talked about in the opening paragraph &#8211; it should be pretty easy to implement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2010/05/10/extending-jquery-selectors-between/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who does a Non-Neutral Internet Benefit?</title>
		<link>http://www.ferretarmy.com/2010/05/03/who-does-a-non-neutral-internet-benefit/</link>
		<comments>http://www.ferretarmy.com/2010/05/03/who-does-a-non-neutral-internet-benefit/#comments</comments>
		<pubDate>Tue, 04 May 2010 02:03:47 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[net neutrality]]></category>

		<guid isPermaLink="false">http://www.ferretarmy.com/?p=513</guid>
		<description><![CDATA[Who really stands to gain if net neutrality loses? The answer is likely not as clear as one would suspect.]]></description>
			<content:encoded><![CDATA[<p>One of the greatest fights over the past few years has been over net neutrality, the fight over whether it&#8217;s okay for broadband providers to charge content providers extra for the fastest lanes on their networks. I&#8217;ll not espouse too much about the issue itself &#8211; just check <a href="http://en.wikipedia.org/wiki/Network_neutrality" target="_blank">Wikipedia</a> for a primer. The question I&#8217;m pondering is this: in the event of a non-neutral internet, who stands to win in the long run?</p>
<p>Current broadband providers (Time Warner, Rogers, AT&amp;T, etc.) believe that they can open a revenue stream by effectively charging content providers for access to the fastest pipes &#8211; basically, squeezing extra of money out of planned network upgrades by offering the fastest lane exclusively to the websites that will pay for it. This strategy assumes a few things, most notably that there is little interest in new parties entering the market. What if there were someone entering the market that didn&#8217;t rely solely on selling broadband as it&#8217;s business model?</p>
<p>There is a notable content provider who is beginning to experiment with broadband providership &#8211; <a href="http://googleblog.blogspot.com/2010/02/think-big-with-gig-our-experimental.html">Google</a>. The Google of today provides boatloads of services that consume massive amounts of bandwidth. Google has the most to lose with a non-neutral internet &#8211; that is, unless they can tip the scales in their favor. Google could enter the broadband market very simply &#8211; have themselves be their their own best customer. Under a non-neutral internet, Google would have an incentive to provide cheap, high speed networks across the US (and, even more so in the developing world). On top of offering competitive broadband, they could offer the fastest access to Gmail and YouTube, just to name a few. By owning the network that they distribute their content over, Google would be less beholden to ransoming broadband providers, and significantly undermine them at the same time through competition.</p>
<p>What would a current broadband provider be able to do to compete against that? They would have to offer some other type of content (on an aging network, probably) &#8211; that would be cost prohibitive, amongst other things. The real inequity in the broadband market is that there is a lack of competition, which has significantly contributed to the idea that net neutrality is even remotely a possibility. However, a non-neutral internet could very well backfire on those that want it most. Share your thoughts!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ferretarmy.com/2010/05/03/who-does-a-non-neutral-internet-benefit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

