<?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>that.dork.jordan &#187; Tech</title>
	<atom:link href="http://www.thatdorkjordan.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thatdorkjordan.com</link>
	<description>The daily life of a dork in Chicago.</description>
	<lastBuildDate>Mon, 02 May 2011 14:03:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Changing the way we teach math</title>
		<link>http://www.thatdorkjordan.com/2010/11/15/changing-math-instruction/</link>
		<comments>http://www.thatdorkjordan.com/2010/11/15/changing-math-instruction/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 03:46:26 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[Conrad Wolfram]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[TED]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=1003</guid>
		<description><![CDATA[Conrad Wolfram thinks math education needs a major refresh. He asserts that the way we teach math to children today in no way matches the ways it needs to be practically applied once you&#8217;ve moved into the job sphere. To change that, he suggests that we start teaching math by way of programming. I am [...]]]></description>
			<content:encoded><![CDATA[<p>Conrad Wolfram thinks math education needs a major refresh. He asserts that the way we teach math to children today in no way matches the ways it needs to be practically applied once you&#8217;ve moved into the job sphere. To change that, he suggests that we start teaching math by way of programming.</p>
<p>I am happily biased on this topic and I agree wholeheartedly. My interest in math wasn&#8217;t sparked until I discovered the programming features of my TI-83 calculator. I haven&#8217;t reflected on my math education in many years, but I am now angry at the disservice my educators did for me. Once they learned that I knew how to write these tiny programs, they wouldn&#8217;t allow me to use the calculator during class or during tests. Every other student sat there with the same TI-83, the same access to utility, and I was forced to use a 10-key calculator and show all of my work on paper. The sad truth is, because I wrote the program, I knew more about the actual mathematic problem at hand than anyone else in the room.</p>
<p>I&#8217;m happy to say that I wasn&#8217;t discouraged. I still followed my fascination with being able to make real world problems more simple not only for me, but for everyone. I followed that path right into my current position, where making software is my full time job, and I love it.</p>
<p>We should be teaching children how to solve real world problems as much as possible.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="446" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/ConradWolfram_2010G-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ConradWolfram-2010G.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1007&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=conrad_wolfram_teaching_kids_real_math_with_computers;year=2010;theme=how_we_learn;theme=unconventional_explanations;theme=what_s_next_in_tech;theme=design_like_you_give_a_damn;event=TEDGlobal+2010;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="bgcolor" value="#ffffff" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="446" height="326" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" flashvars="vu=http://video.ted.com/talks/dynamic/ConradWolfram_2010G-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ConradWolfram-2010G.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1007&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=conrad_wolfram_teaching_kids_real_math_with_computers;year=2010;theme=how_we_learn;theme=unconventional_explanations;theme=what_s_next_in_tech;theme=design_like_you_give_a_damn;event=TEDGlobal+2010;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" bgcolor="#ffffff" wmode="transparent" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2010%2F11%2F15%2Fchanging-math-instruction%2F&amp;title=Changing%20the%20way%20we%20teach%20math"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2010/11/15/changing-math-instruction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django CSRF headaches?</title>
		<link>http://www.thatdorkjordan.com/2010/09/16/django-csrf-headaches/</link>
		<comments>http://www.thatdorkjordan.com/2010/09/16/django-csrf-headaches/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 22:13:35 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tornado]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=973</guid>
		<description><![CDATA[I spent hours upon hours today trying to figure out why the Django 1.2 CSRF system was not working for me. There are obviously a lot of struggles with existing Django installs in converting to 1.2 because of the CSRF protection, but none of my searches turned up a useful resolution for my particular problem. [...]]]></description>
			<content:encoded><![CDATA[<p>I spent hours upon hours today trying to figure out why the Django 1.2 CSRF system was not working for me. There are obviously a lot of struggles with existing Django installs in converting to 1.2 because of the CSRF protection, but none of my searches turned up a useful resolution for my particular problem. What I saw was the typical &#8220;<em>CSRF</em> verification failed&#8221; message but I&#8217;d installed the middleware and inserted the token and passed in RequestContext so it should have worked. Then I switched off my tornado server and tried it via Django&#8217;s built-in server and voila! It worked.</p>
<p>Django 1.2 works with the latest versions of Tornado (I&#8217;m now running 1.1) but if you have a very old version I suspect you may run into the same problem I did. Save yourself the headache and make sure tornado is up to date and you don&#8217;t have any old versions installed.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2010%2F09%2F16%2Fdjango-csrf-headaches%2F&amp;title=Django%20CSRF%20headaches%3F"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2010/09/16/django-csrf-headaches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hypes, gripes, and likes: The T-Mobile Vibrant (Samsung Galaxy-S)</title>
		<link>http://www.thatdorkjordan.com/2010/07/30/hypes-gripes-and-likes-the-t-mobile-vibrant-samsung-galaxy-s/</link>
		<comments>http://www.thatdorkjordan.com/2010/07/30/hypes-gripes-and-likes-the-t-mobile-vibrant-samsung-galaxy-s/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 23:01:30 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[galaxy]]></category>
		<category><![CDATA[galaxy-s]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[t-mobile]]></category>
		<category><![CDATA[tmobile]]></category>
		<category><![CDATA[vibrant]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=952</guid>
		<description><![CDATA[#VIBRANTRAGE It&#8217;s the hashtag I tweeted just a couple days after buying a new Samsung Galaxy-S for T-Mobile (also known as the Vibrant.) I was frustrated with the clunky interface, faced with incredible amounts of lag when flipping between screens, and the audio processor was causing tons of snaps, cracks, and popples. Not exactly what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/me-and-vibrant.jpg"><img class="alignleft size-medium wp-image-956" title="T-Mobile Vibrant" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/me-and-vibrant-224x300.jpg" alt="T-Mobile Vibrant" width="224" height="300" /></a><strong>#VIBRANTRAGE</strong></p>
<p>It&#8217;s the hashtag I tweeted just a couple days after buying a new Samsung Galaxy-S for T-Mobile (also known as the Vibrant.) I was frustrated with the clunky interface, faced with incredible amounts of lag when flipping between screens, and the audio processor was causing tons of snaps, cracks, and popples. Not exactly what I want from a phone that cost me $660 (I always buy phones at full face value.)</p>
<p>Well, I&#8217;m ready to erase that moniker, at least partially. I returned the phone to Radio Shack where I initially bought it and picked up a new one from T-Mobile for $110 less after tax. The new phone is snappier and the audio problems are gone. I still have some gripes, though I won&#8217;t bore you with another lengthy review. Instead let me give you my hypes, gripes, and tips:</p>
<p><strong>Hypes</strong><br />
- The Galaxy-S really does have the best screen on a smartphone. Yes, it is better than the iPhone 4. The AMOLED screen is very close to the glass, so it feels like you are touching the image. The glass is smooth, and the image is incredibly vivid. There&#8217;s no other screen that can produce this level of brightness and contrast while remaining sharp and maintaining perfectly black blacks.<br />
- It IS very fast. Other phones have a 1ghz processor, but they lack the graphics power the Galaxy-S has. Scroll in your browser, or open up The Sims and you&#8217;ll see what I mean. On par with the iPhone 4 as far as 3d strength goes.<br />
- It&#8217;s tiny and light. I am impressed they fit hardware this powerful into something so tiny. Some people claim it feels cheap. If you want weight to convince you that something is well made, I suggest a cement brick. Meanwhile, I&#8217;ll be freaking out every 10 minutes wondering where I lost my phone because I can&#8217;t feel it in my pocket.</p>
<p><strong><a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/vibrant-tmobile-samsung.png"><img class="alignright size-medium wp-image-958" title="Samsung Galaxy-S for T-Mobile" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/vibrant-tmobile-samsung-300x219.png" alt="" width="300" height="219" /></a>Gripes</strong><br />
- HOLY HELL WTF DID SAMSUNG DO TO THE UI!? Coming from Nexus 2.2-land where everything is beautiful and makes sense, this thing is a clusterfuck. Why does it look like a children&#8217;s toy? Why are they trying so hard to make it look like an iPhone. Android has a LOT of strong suits, don&#8217;t ruin it by trying to mimic a competitor. Instead, I suggest manufacturers spend their development time adding new widgets or applications. (Note Android 1.x users, life is much better on the other side of 2.)<br />
- I&#8217;m seriously perplexed as to why there is no notification light. I&#8217;m constantly turning on the screen to see if I missed anything.<br />
- No flash on the camera. Blah, blah, blah &#8220;night mode&#8221; blah, blah, blah. Night mode is crap unless you are on a ghost hunt and want to photograph some orbs. My friends are attractive. I want to remember them fully lit.<br />
- I REALLY miss the trackball from my Nexus One. One thing Android does NOT do well is inserting the cursor where you want it; you really need something to help with fine-tuning. If you see me poking my phone, I am not tickling it, I&#8217;m just trying to copy some text.</p>
<p><strong><a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5287.jpg"><img class="alignleft size-medium wp-image-960" title="Vibrant playing Avatar" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5287-300x225.jpg" alt="" width="300" height="225" /></a>Tips</strong><br />
- Mac users will want to know this: In order to mount the mass storage, you need to turn on USB Debugging under Settings &gt; Applications &gt; Development. After that you&#8217;ll get two mounted file systems- one for the built-in 16gb SD card and another for the removable SD.<br />
- Install LauncherPro to undo some of the horrid things Samsung did to Android&#8217;s beautiful 2.x GUI. You&#8217;ll get back the regular home screen, app drawer, and a few extra features.<br />
- Keep your USB door closed when it isn&#8217;t plugged in. The little widget on the inside is fragile and I&#8217;ve seen many people break them on other phones. Samsung did a wonderful thing in giving you a hard plastic door. Those rubber stoppers that other manufacturers include are crap.</p>
<p>Let me know your impressions, or ask me a question if you are interested in the Vibrant, or Android. I&#8217;ve been through the G1, Cliq, and Nexus prior to this, I can probably help ya <img src='http://www.thatdorkjordan.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5291.jpg"><img class="alignnone size-medium wp-image-961" title="Avatar on the Galaxy-S" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5291-300x225.jpg" alt="" width="300" height="225" /></a> <a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5292.jpg"><img class="alignnone size-medium wp-image-962" title="Avatar on the Galaxy-S AMOLED screen" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/07/IMG_5292-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2010%2F07%2F30%2Fhypes-gripes-and-likes-the-t-mobile-vibrant-samsung-galaxy-s%2F&amp;title=Hypes%2C%20gripes%2C%20and%20likes%3A%20The%20T-Mobile%20Vibrant%20%28Samsung%20Galaxy-S%29"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2010/07/30/hypes-gripes-and-likes-the-t-mobile-vibrant-samsung-galaxy-s/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why I agree, then disagree with Steve Jobs and Apple</title>
		<link>http://www.thatdorkjordan.com/2010/04/29/why-i-agree-then-disagree-with-steve-jobs-and-apple/</link>
		<comments>http://www.thatdorkjordan.com/2010/04/29/why-i-agree-then-disagree-with-steve-jobs-and-apple/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 17:44:16 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[BOOV]]></category>
		<category><![CDATA[Journal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=927</guid>
		<description><![CDATA[Once upon a time I loved Apple, then I couldn&#8217;t stand them, then they embraced unix and I loved them again, and now I&#8217;m starting to really dislike them again. The trouble isn&#8217;t that they don&#8217;t make products that people find useful, the fact that Apple&#8217;s market cap recently surpassed that of Microsoft would suggest [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-928" title="Steve Jobs is a pompous jerk these days" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/04/jobs-232x300.jpg" alt="" width="232" height="300" /></p>
<p>Once upon a time I loved Apple, then I couldn&#8217;t stand them, then they embraced unix and I loved them again, and now I&#8217;m starting to really dislike them again.</p>
<p>The trouble isn&#8217;t that they don&#8217;t make products that people find useful, the fact that <a href="http://www.macworld.com/article/150809/2010/04/apple_marketcap.html">Apple&#8217;s market cap recently surpassed that of Microsoft</a> would suggest quite the opposite. Actually the reason is they are becoming increasingly more like the Office and Windows giant.</p>
<p>I agree fully with <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Jobs&#8217;s notion that HTML 5 and open standards are the future of computing</a>, especially on mobile devices. I&#8217;m immersed in the world of development and design and trust me when I say there are few things that anyone in my line of work would enjoy more than never having to consider cross platform compatibility again. Open platforms are beneficial to all involved: end users have a wider range of choice in devices; creators spend more time making great products and less time working around incompatibility problems; and platform developers, knowing the next big thing is a click away, work to make their implementation the most desirable to all parties involved. This isn&#8217;t some new idea, it&#8217;s the same model that has made the United States one of history&#8217;s greatest and most successful countries.</p>
<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2010/04/Photo-42.jpg"><img class="alignright size-medium wp-image-930" title="Oh yes, I did" src="http://www.thatdorkjordan.com/wp-content/uploads/2010/04/Photo-42-300x225.jpg" alt="" width="300" height="225" /></a>My disagreement lies in the closed platform that Apple has built with their iPhone OS. Apple&#8217;s customers (perhaps unwittingly through lock-in contracts) pay between $500 and $700 for their mobile device, and yet they are consistently thwarted in attempts to use the hardware the way they choose. From the App Store lockdown that keeps people from having access to applications like <a href="http://news.cnet.com/8301-30684_3-10356432-265.html">Google Voice</a> and <a href="http://gawker.com/5526475/apple-rejects-gay+sightseeing-app-over-gay-sights">Gay New York 101</a>, to preventing users from installing other OSes on the phone, Apple has blocked users at every turn from doing things that they want to do with a device that the user technically owns.</p>
<p>While I respect Apple&#8217;s decision to create an experience that is easy to use, well designed, and (mostly) devoid of poorly designed or malicious applications; I can&#8217;t say that I agree with the way they&#8217;ve implemented it or in how they pompously tell their customers what is best. I&#8217;m a firm believer that a good product can stand on it&#8217;s own, and doesn&#8217;t need a closed marketplace to survive. Hey Apple,<a href="http://www.android.com/"> what are you afraid of</a>?</p>
<p>Footnote: The majority of this was written using a drop in replacement keyboard (<a href="http://www.swypeinc.com/">Swype</a>) on an <a href="http://www.cyanogenmod.com/">open source build of the Android operating system</a> that I installed on my <a href="http://www.google.com/phone">Google Nexus One</a>. Forgive me for any spelling/grammar errors, but I think this came out pretty good for something written <a href="http://yourcta.com">on a train</a>â€¦ I&#8217;ll get around to editing it when I&#8217;m not <a href="http://www.analytemedia.com/">in the middle of work</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2010%2F04%2F29%2Fwhy-i-agree-then-disagree-with-steve-jobs-and-apple%2F&amp;title=Why%20I%20agree%2C%20then%20disagree%20with%20Steve%20Jobs%20and%20Apple"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2010/04/29/why-i-agree-then-disagree-with-steve-jobs-and-apple/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting off Google</title>
		<link>http://www.thatdorkjordan.com/2010/01/05/getting-off-google/</link>
		<comments>http://www.thatdorkjordan.com/2010/01/05/getting-off-google/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 17:46:15 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=852</guid>
		<description><![CDATA[Being a former Googler, one question I get asked a lot by my friends is &#8220;How can I get a page about me removed from Google?&#8221; Almost always, my response is &#8220;don&#8217;t get published&#8221;. Seriously. Google will make available any content that they know how to get to. &#8220;They&#8221; being the Googlebot, a tool that [...]]]></description>
			<content:encoded><![CDATA[<p>Being a former Googler, one question I get asked a <strong>lot </strong>by my friends is &#8220;How can I get a page about me removed from Google?&#8221;</p>
<p>Almost always, my response is &#8220;don&#8217;t get published&#8221;.</p>
<p>Seriously. Google will make available any content that they know how to get to. &#8220;They&#8221; being the Googlebot, a tool that Google uses to find pages on the internet and make those pages available as a result when you search. So if you don&#8217;t want to be on Google, then simply don&#8217;t affect the world in a way that you would be notable at all.</p>
<p>Now that&#8217;s a sad lifestyle, when you really think about it. You should be happy to be in Google&#8217;s index! But if something about you is published, and that information makes its way online, and you really don&#8217;t want it to be there, you do have hope. You just have to get that information removed or have the author block Google from indexing that page. If you are nice enough about it, most webmasters will at least remove your name from the page(s) in question. Â Then give it a few weeks for Google to re-index the page and you&#8217;ll be fine.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2010%2F01%2F05%2Fgetting-off-google%2F&amp;title=Getting%20off%20Google"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2010/01/05/getting-off-google/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>No default application to open Desktop!?</title>
		<link>http://www.thatdorkjordan.com/2009/12/08/no-default-application-to-open-desktop/</link>
		<comments>http://www.thatdorkjordan.com/2009/12/08/no-default-application-to-open-desktop/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 02:19:13 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[permissions]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=836</guid>
		<description><![CDATA[I came across this issue on my laptop the other day where OS X thought my Desktop was actually a package. If you&#8217;re unfamiliar with packages (or bundles), they are really just directories containing more files and directories, but by default they open with an application or they are themselves an application. In fact, if [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2009/12/Picture-4.png"><img class="alignleft size-medium wp-image-835" title="No default application for Desktop?!" src="http://www.thatdorkjordan.com/wp-content/uploads/2009/12/Picture-4-300x122.png" alt="No default application for Desktop?!" width="300" height="122" /></a>I came across this issue on my laptop the other day where OS X thought my Desktop was actually a package. If you&#8217;re unfamiliar with packages (or bundles), they are really just directories containing more files and directories, but by default they open with an application or they are themselves an application. In fact, if you right click on almost any Mac application, there is an option to &#8220;Show Package Contents.&#8221; That&#8217;s all great and wonderful, but the Desktop is not supposed to be a package. So how the heck do I fix this? Well, my normal *nix intuition was that it was a permission, but I couldn&#8217;t turn anything up. <a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/SetFile.1.html#//apple_ref/doc/man/1/SetFile">After a bit of digging, I found a ManPage with all the details on these extra file/directory attributes.</a></p>
<p>Here&#8217;s how I fixed it:</p>
<ol>
<li>Open Terminal (Located in your /Applications/Utilities directory)</li>
<li>setFile -a b Desktop/ (by default a new terminal will be in your users directory)</li>
</ol>
<p>Well, I&#8217;m happy because I have access to my Desktop again. I&#8217;ll stop nerding out now and let you back to your life!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2009%2F12%2F08%2Fno-default-application-to-open-desktop%2F&amp;title=No%20default%20application%20to%20open%20Desktop%21%3F"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2009/12/08/no-default-application-to-open-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Forms: Add to validation, don&#8217;t override. And how to require fields conditionally.</title>
		<link>http://www.thatdorkjordan.com/2009/08/03/django-forms-add-to-validation-dont-override-and-how-to-require-fields-conditionally/</link>
		<comments>http://www.thatdorkjordan.com/2009/08/03/django-forms-add-to-validation-dont-override-and-how-to-require-fields-conditionally/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 21:54:42 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dork]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[super]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=682</guid>
		<description><![CDATA[I&#8217;ve spent the past six months working on a lot of different projects but one of the biggest projects I&#8217;ve been working on is a back-end system for the company I work for. If you ever want a sure-fire way to begin eating, breathing, and sleeping in Python, try joining a start-up and building something [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2009/08/Photo-19.jpg"><img class="alignleft size-medium wp-image-683" title="This picture of me is not at all relevant but often times the pictures I post are not..." src="http://www.thatdorkjordan.com/wp-content/uploads/2009/08/Photo-19-300x225.jpg" alt="This picture of me is not at all relevant but often times the pictures I post are not..." width="300" height="225" /></a>I&#8217;ve spent the past six months working on a lot of different projects but one of the biggest projects I&#8217;ve been working on is a back-end system for the <a href="http://www.analytemedia.com" target="_blank">company I work for</a>. If you ever want a sure-fire way to begin eating, breathing, and sleeping in <a href="http://www.python.org" target="_blank">Python</a>, try joining a start-up and building something like this from the ground up. Lucky for us, <a href="http://www.djangoproject.com" target="_blank">Django</a> is around to make this sort of thing far less difficult.</p>
<p>One of the greatest features of Django is the built in <a href="http://docs.djangoproject.com/en/dev/topics/forms/#topics-forms-index" target="_blank">form handling functionality</a>. Define some fields, throw a variable at the template, and add a form tag and submit button and you are pretty much done. It even does all the validation for you. Well, sort of&#8230;</p>
<p>As all generic things go, the validation that Django does is, well, generic. It&#8217;s easy to override the methods that do the validation, but then you lose the original validation provided by Django. So what do you do when you want to <strong>add </strong>to the existing validation instead of replace it? It isn&#8217;t exactly documented but it is possible&#8230;</p>
<p>In this example we have a form with a field that is only required in certain circumstances. Everything else about the validation needed to be the same.</p>
<p>Define the form:</p>
<pre>class CreditCardPaymentForm(forms.Form):
    mark_paid_in_full = forms.BooleanField(required=False)
    payment_note = forms.CharField(required=False)</pre>
<p>In this form you will have a checkbox to mark the payment &#8220;paid in full.&#8221; What we want is to require a note when that checkbox is selected. I&#8217;ve omitted the rest of the form as it&#8217;s irrelevant for the example.</p>
<p>This is where the trickery comes in. We are going to override the clean() method, check if mark_paid_in_full is selected, and change payment_note to required if it is, then run the existing validation.</p>
<pre>def clean(self):
if self.cleaned_data['mark_paid_in_full']:
    payment_note_field = self.fields['payment_note']
    payment_note_field.required = True

    try:
        super(forms.CharField, payment_note_field).clean(
                self.data['payment_note'])
        except forms.ValidationError, error:
            self._errors['payment_note'] = error.messages

    return self.cleaned_data</pre>
<p>As you can see a few things happen here. First it&#8217;s important to know that self.fields will contain all the field objects. Then we try to call the CharField&#8217;s clean method. I won&#8217;t delve into the specifics of how super works as there are already many articles covering that topic but if you aren&#8217;t familiar with super, it&#8217;s worth reading about. Then if the clean method raises a ValidationError, catch it and put it in the _errors property. You could just as easily leave the ValidationError raised and Django would print the error message&#8230; albeit at the top of the form. In some cases this might be desirable, but here we want to actually tie those errors to the appropriate field. Finally, you should always return self.cleaned_data or you will get some truly bizarre results <img src='http://www.thatdorkjordan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>if this is something you are trying to do I hope this saved some time.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2009%2F08%2F03%2Fdjango-forms-add-to-validation-dont-override-and-how-to-require-fields-conditionally%2F&amp;title=Django%20Forms%3A%20Add%20to%20validation%2C%20don%26%238217%3Bt%20override.%20And%20how%20to%20require%20fields%20conditionally."><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2009/08/03/django-forms-add-to-validation-dont-override-and-how-to-require-fields-conditionally/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chromium (chrome) for Mac</title>
		<link>http://www.thatdorkjordan.com/2009/06/05/chromium-chrome-for-mac/</link>
		<comments>http://www.thatdorkjordan.com/2009/06/05/chromium-chrome-for-mac/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 18:26:22 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=518</guid>
		<description><![CDATA[So I&#8217;ve been on and off playing with some of the developer builds of Chromium on Mac. For folks who don&#8217;t know, Chromium is the name of the open source browser that Google builds Chrome from. There isn&#8217;t an official Chrome for Mac yet but the source for Chromium has been in a state such [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2009/06/picture-61.png"><img class="alignright size-medium wp-image-521" title="Chromium" src="http://www.thatdorkjordan.com/wp-content/uploads/2009/06/picture-61-300x238.png" alt="Chromium" width="300" height="238" /></a>So I&#8217;ve been on and off playing with some of the developer builds of Chromium on Mac. For folks who don&#8217;t know, Chromium is the name of the open source browser that Google builds Chrome from. There isn&#8217;t an official Chrome for Mac yet but the source for Chromium has been in a state such that you can build the browser for a few months now. Well I just found out that I&#8217;ve been wasting my time doing my own builds because there is a buildbot up now.</p>
<p>Trust me, the browser is still far from prime time. Things like plugins don&#8217;t work yet &#8211; so you won&#8217;t be watching any Single Ladies videos quite yet, but it is still fun to play around with and wonderful to see that even in it&#8217;s early stages it is QUITE snappy at rendering web pages!</p>
<p>To download a copy go toÂ <a href="http://build.chromium.org/buildbot/snapshots/sub-rel-mac/" target="_blank">http://build.chromium.org/buildbot/snapshots/sub-rel-mac/</a> and then select the most recent build number and download the zip. Enjoy!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2009%2F06%2F05%2Fchromium-chrome-for-mac%2F&amp;title=Chromium%20%28chrome%29%20for%20Mac"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2009/06/05/chromium-chrome-for-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best talk from PyCon: Batteries Included!</title>
		<link>http://www.thatdorkjordan.com/2009/04/03/best-talk-from-pycon-batteries-included/</link>
		<comments>http://www.thatdorkjordan.com/2009/04/03/best-talk-from-pycon-batteries-included/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 06:05:22 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Media]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=309</guid>
		<description><![CDATA[This talk blew me away. It was presented by David Ewing from Synapse Wireless and shows how they put together an RF engine that runs python right on it. How great is it to be able to write code for embedded hardware using such a high level language!? Really the technology is interesting enough but [...]]]></description>
			<content:encoded><![CDATA[<p>This talk blew me away. It was presented by David Ewing from Synapse Wireless and shows how they put together an <a href="http://www.synapse-wireless.com/?mainID=3&#038;subID=3&#038;type=product&#038;prodID=3" target="_blank">RF engine</a> that runs python right on it. How great is it to be able to write code for embedded hardware using such a high level language!? Really the technology is interesting enough but you have to watch the video for the live demos. Unfortunately the first couple minutes didn&#8217;t get recorded because of technical difficulties but you can jump in pretty easily and besides, it gets you closer to the good stuff.</p>
<p><object width="720" height="510" data="http://blip.tv/play/Afe7LQA" type="application/x-shockwave-flash"><param name="src" value="http://blip.tv/play/Afe7LQA" /><param name="allowfullscreen" value="true" /></object></p>
<p>I&#8217;ll definitely be buying some of their modules to play with! (and maybe even an easy button)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2009%2F04%2F03%2Fbest-talk-from-pycon-batteries-included%2F&amp;title=Best%20talk%20from%20PyCon%3A%20Batteries%20Included%21"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2009/04/03/best-talk-from-pycon-batteries-included/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Longer Django usernames (using email addresses)</title>
		<link>http://www.thatdorkjordan.com/2009/03/10/longer-django-usernames-using-email-addresses/</link>
		<comments>http://www.thatdorkjordan.com/2009/03/10/longer-django-usernames-using-email-addresses/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 16:04:54 +0000</pubDate>
		<dc:creator>Jordan</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.thatdorkjordan.com/?p=270</guid>
		<description><![CDATA[My new job involves a whole lot of Django development. While we were testing the first version of our new site just before launch we stumbled across an interesting limitation of Django: The included django.contrib.auth package limits usernames to 30 characters and this can not be over-ridden easily. Thirty characters may seem like a lot [...]]]></description>
			<content:encoded><![CDATA[<p>My new job involves a whole lot of Django development. While we were testing the first version of our new site just before launch we stumbled across an interesting limitation of Django: The included django.contrib.auth package limits usernames to 30 characters and this can not be over-ridden easily. Thirty characters may seem like a lot for a username but if you want to use email addresses as your login identifier it can easily become a problem.Â </p>
<p>So I found myself in the office at 8pm digging through Django&#8217;s source code to find all the locations where the character limit is hardcoded in such a manner that it can not be overridden. There aren&#8217;t many but there are a few and it is honestly quite annoying that these values are hard coded. Eventually I&#8217;d like to contribute changes to the project that will allow you to change the limit more easily but for now I&#8217;ve attached a patch that can be used against Django 1.02 and will allow for up to 75 characters in the username.Django 75 character username limit patch</p>
<p>Applying is as simple as dropping the diff in the django/contrib/auth directory and running patch -R &lt; django-75-char-username.diff</p>
<p><a href="http://www.thatdorkjordan.com/wp-content/uploads/2009/03/django-75-char-username.diff">Django 75 character username limit patch</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.thatdorkjordan.com%2F2009%2F03%2F10%2Flonger-django-usernames-using-email-addresses%2F&amp;title=Longer%20Django%20usernames%20%28using%20email%20addresses%29"><img src="http://www.thatdorkjordan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.thatdorkjordan.com/2009/03/10/longer-django-usernames-using-email-addresses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.thatdorkjordan.com/category/tech/feed/ ) in 0.34941 seconds, on Feb 8th, 2012 at 12:49 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 8th, 2012 at 1:49 pm UTC -->
