<?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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>random($foo)</title>
	
	<link>http://randomfoo.net</link>
	<description>blog blog blog</description>
	<lastBuildDate>Fri, 17 May 2013 18:09:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/randomfoo" /><feedburner:info uri="randomfoo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.74873</geo:lat><geo:long>-122.415457</geo:long><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item>
		<title>Benign Dystopia</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/UORkXB71klI/benign-dystopia</link>
		<comments>http://randomfoo.net/2013/05/17/benign-dystopia#comments</comments>
		<pubDate>Fri, 17 May 2013 18:09:29 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6104</guid>
		<description>From a comment on Nick&amp;#8217;s report from Google I/O: The scene of strangers winking at each other along a row of urinals, wearing photo-taking, internet-enabled glasses, is probably the most benign dystopian future I have ever heard of. Definitely less asinine than Larry&amp;#8217;s thinking on medical privacy.</description>
				<content:encoded><![CDATA[<p>From <a href="http://bits.blogs.nytimes.com/2013/05/17/at-google-conference-even-cameras-in-the-bathroom/?comments#permid=1">a comment</a> on Nick&#8217;s <a href="http://bits.blogs.nytimes.com/2013/05/17/at-google-conference-even-cameras-in-the-bathroom/">report from Google I/O</a>:</p>
<blockquote><p>The scene of strangers winking at each other along a row of urinals, wearing photo-taking, internet-enabled glasses, is probably the most benign dystopian future I have ever heard of.</p></blockquote>
<p>Definitely less asinine than Larry&#8217;s <a href="http://science.slashdot.org/story/13/05/17/0027246/larry-page-you-worry-too-much-about-medical-privacy">thinking on medical privacy</a>.</p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/UORkXB71klI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/05/17/benign-dystopia/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/05/17/benign-dystopia</feedburner:origLink></item>
		<item>
		<title>Basis Watch Report</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/F_23EXrj9J0/basis-watch-report</link>
		<comments>http://randomfoo.net/2013/05/12/basis-watch-report#comments</comments>
		<pubDate>Sun, 12 May 2013 19:07:38 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6061</guid>
		<description>Next in my gadget backlog series&amp;#8230; I had preordered a Basis B1 Watch a long while ago and promptly forgotten about it, so it was a bit of a surprise to find one sitting on my desk after SXSW (which has turned into this amazing construct of pure marketing &amp;#8211; good for business though, I [...]</description>
				<content:encoded><![CDATA[<p>Next in my gadget backlog series&#8230;</p>
<p><img src="http://farm8.staticflickr.com/7113/8732581678_fb8c28d399_m.jpg" alt="Basis B1 Watch" style="float: left; margin-right: 10px" />I had preordered a <a href="http://www.mybasis.com/">Basis B1 Watch</a> a long while ago and promptly forgotten about it, so it was a bit of a surprise to find one sitting on my desk after SXSW (which has turned into this amazing construct of pure marketing &#8211; good for business though, I guess).</p>
<p>Since then, I&#8217;ve worn it almost every day (about a month-and-a-half). I figured I&#8217;d give a report after living with it for a while since Basis is now apparently starting to sell them for real (after being back-ordered for a while).</p>
<p>While I have had reservations on the watch form-factor after getting a <a href="http://www.metawatch.org/">MetaWatch</a> and realizing in the intervening decade since I regularly wore one that I now couldn&#8217;t stand wearing watches, I&#8217;ve mostly re-adjusted, and the data the Basis collects has been worth overcoming the annoyance factor.</p>
<p>There have been a couple reviews (<a href="http://www.theverge.com/2013/2/12/3977328/basis-b1-fitness-band-review">the Verge one isn&#8217;t a bad summary</a>), but here&#8217;s the basic rundown of what you need to know:</p>
<ul>
<li>Price is $199. It comes exquisitely packaged in a die/laser-cut box and overall all the industrial and product design is quite nice (package, device, site/app). The watch is less bulky than the typical smart watch and is pretty inconspicuous. The capacitive touch buttons work well and the display is simple but more than adequate.</li>
<li>Unlike almost all devices currently on the market (besides the <a href="http://www.bodymedia.com/">BodyMedia</a> devices), the Basis is a multi-modal sensor device that&#8217;s more than just a glorified pedometer.  <a href="http://www.mybasis.com/basis-healthy-habits-technology/">Sensors include</a>:
<ul>
<li>Heart-rate via green-laser optical flow-based sensor (I assume using something similar to the <a href="http://newscenter.ti.com/2013-01-07-TI-introduces-the-first-integrated-analog-front-end-for-photometry-and-showcases-HealthTech-at-CES-2013">TI AFE44xx</a> but sadly, there&#8217;s no current support for SpO2 or glucose measurements); An important note is unlike the similarly kitted <a href="http://alphaheartrate.com/#">MIO Alpha</a>, Basis specifically notes that heart rate measurements are not suitable for exercise monitoring</li>
<li>Skin Temperature (accurate to the tenth of a degree) &#8211; mine seems to be about 92-94 degrees fahrenheit when I&#8217;m up and a few degrees lower when I&#8217;m asleep</li>
<li>Perspiration specified by μS/cm, so it looks like it&#8217;s using galvanic response to calculate? The Basis itself seems to be fairly well waterproofed, and I&#8217;ve used it in the shower w/o issues (although usually not, because <a href="https://plus.google.com/+Scobleizer/posts/TcaqNeYJWXo">that&#8217;s weird</a>, right?)</li>
<li>Pedometer and sleep tracking via a 3-axis accelerometer</li>
<li><a href="http://support.mybasis.com/entries/20526026-How-does-Basis-calculate-my-daily-calories-burned-">Calories burned are derived</a> from <a href="http://www.ncbi.nlm.nih.gov/pubmed/16277825">BMR via Oxford equations</a> multiplied against a &#8220;physical activity level value&#8221; that&#8217;s presumably derived from the sensor data collected. Note, if you have a better BMR value (ie, I have an RMR estimate from my lean body mass from my <a href="http://www.cosmed.com/index.php?option=com_content&#038;view=article&#038;id=1364&#038;Itemid=420">Bod Pod</a> measurements, you can presumably use <a href="http://www.fao.org/docrep/007/y5686e/y5686e07.htm">Table 5.2</a> to reverse calculate what weight to enter to get more accurate estimates)</li>
</ul>
</li>
<li>Battery life is good for a few days (3-5?) and you need to use a custom charger to recharge. This is a bit of a pain actually, especially if you&#8217;re traveling &#8211; the charger is a plastic band that hasn&#8217;t broken yet, but is just begging to be and will soon enough, I&#8217;m sure.</li>
<li>This charger also syncs data from your device.  This is <b>a really important point</b>. While the Basis has Bluetooth (2.1 eww) built-in, it <b>doesn&#8217;t work yet</b> and the USB sync is the <b>only way</b> to get your data. Also, there are mobile apps (<a href="http://support.mybasis.com/entries/23315503-Bluetooth-">Android first, then iOS?</a>) on the way, but again, these aren&#8217;t available yet. Personally, I wouldn&#8217;t recommend this to most end-users until this gets sorted out.</li>
</ul>
<p>The web interface and the graphs that it gives you is actually quite nice. For me, the actual (almost) dealbreaker wasn&#8217;t the lack of wireless/mobile syncing (wireless power and data sync is definitely very high on my list for want-to-haves, personally), but rather that while there&#8217;s been <a href="http://support.mybasis.com/entries/23422963-Any-word-on-export-api-">the promise of an API/export</a> for quite a while, there&#8217;s actually nothing (and no roadmap!) yet.</p>
<p>Paul Miller wrote <a href="http://www.theverge.com/2013/1/11/3866228/body-request-give-me-back-my-data">a great piece on this</a> earlier in the year about this, which I vigorously agree with and I won&#8217;t buy or support any self-instrumentation device that doesn&#8217;t give me full access to my own fucking biometric data.</p>
<p>Now, if you&#8217;ve read the last two paragraphs and are scratching your head on how/why I still have my Basis watch, well, that&#8217;s simple: there <em>is</em> an API, it&#8217;s just not publicly documented.  If you&#8217;re an end-user looking for export, yes you are SOL and should send your Basis back and demand a refund if it&#8217;s important to you (and it should be!).</p>
<p>If you are a developer, simply pop up your Javascript console and look at the XHR calls to /api/v1 for nicely formatted JSON.  Note: these calls are actually totally unauthenticated.  That&#8217;s bad.  However, since the tradeoff is easy access to my data w/ low likelihood of accidental leakage (data URLs have hashed unique identifiers), I&#8217;m ok with that for now.</p>
<p>Overall I like my Basis although I have an <a href="http://amiigo.co/">Amiigo</a> on the way that, if it functions as promised, should be better than the Basis in pretty much every single way (sans telling time/wrist display &#8211; but that&#8217;s not so necessary anyway w/ a proper mobile app). It&#8217;s also half the price.  For developers and data geeks, the Amiigo also promises to have a full SDK and actual developer support (although I hope they have their data as nicely formatted as the Basis data &#8211; it&#8217;s totally sweet).</p>
<p>However, the Basis is well designed, and if you&#8217;re absolutely buying something today, the Basis is by far and away the best device for those looking for serious self-instrumentation (ie not Fuel Points).  The habit system is also on the right track, as well, in terms of general usefulness. However, as outlined, the B1 is also a seriously unfinished product at the moment and anyone expecting basic fitness-tracking functionality (like a mobile app/wireless syncing) will be disappointed. Early adopter caveats definitely apply.</p>
<p>It&#8217;s a pretty interesting time for fitness/activity trackers &#8211; I think we&#8217;ll soon be reaching a point where the sensor-suite will be more than good enough (as mentioned earlier, photometric glucose measurements and SpO2 should be possible w/ the existing sensor packages, and having wireless charging would be the last really nice bit), and the real value will be integrating with other data to create <a href="http://howto.cnet.com/8301-11310_39-57583975-285/get-automatic-lifelogging-with-saga-for-android/">an integrated picture</a> and assisting in behavioral modification/self-improvement.  It&#8217;s also interesting seing some of the vertical applications as well. The <a href="http://www.indiegogo.com/projects/lit-an-activity-tracker-ready-for-action">LIT</a> for example looks pretty neat.</p>
<p>UPDATE: Looks like a <a href="http://www.quantifiedbob.com/2013/04/liberating-your-data-from-the-basis-b1-band.html">QS guy also reviewed the Basis</a> and also spotted the JSON feed, and better yet, <a href="https://github.com/btroia/basis-data-export">published some instructions and some code on Github</a> for people.</p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/F_23EXrj9J0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/05/12/basis-watch-report/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/05/12/basis-watch-report</feedburner:origLink></item>
		<item>
		<title>Hacking the Ouya</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/EemNe-r1c1Q/hacking-the-ouya</link>
		<comments>http://randomfoo.net/2013/05/10/hacking-the-ouya#comments</comments>
		<pubDate>Fri, 10 May 2013 20:50:36 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[MakeItBetter]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6079</guid>
		<description>I&amp;#8217;ve made a public Hackpad (I like it and have been using it more and more, although not without reservations) to gather some notes/docs on getting Linux to run on Ouya. I&amp;#8217;m a fan and hope they succeed as an additional channel for indie gaming, but the short of it is that despite some previous [...]</description>
				<content:encoded><![CDATA[<p>I&#8217;ve made a public Hackpad (I like it and have been using it more and more, although <a href="https://randomfoo.hackpad.com/Hackpad-MakeItBetter-iCqxb8wOe5U">not without reservations</a>) to gather some notes/docs on getting Linux to run on Ouya.</p>
<p>I&#8217;m a fan and hope they succeed as an additional channel for indie gaming, but the short of it is that despite some previous claims/hopes, the Ouya is completely hacker unfriendly (bootloader locked, GPL-violating lack of Linux kernel sources, no one at the company answering their emails).</p>
<p>If you&#8217;re looking for anything besides playing Android games, you should look elsewhere (there are many alternatives).</p>
<p>So it&#8217;s off to the land of misfit gadgets for mine (aka the pile on my workbench) or to gather dust w/ my XBox, but was fun to d/l Gordon&#8217;s <a href="http://www.beastboxing.com/">Beast Boxing Turbo</a> demo and play it on the 70&#8243; screen in the office.</p>
<p><script src="https://randomfoo.hackpad.com/seqz2sKJfDR.js"></script><br />
<noscript>
<div>View <a href="https://randomfoo.hackpad.com/seqz2sKJfDR">Ouya Hacking</a> on Hackpad.</div>
</noscript>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/EemNe-r1c1Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/05/10/hacking-the-ouya/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/05/10/hacking-the-ouya</feedburner:origLink></item>
		<item>
		<title>Dirty Hack of the Day: Python DNS Edition</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/0FQilNt_J0s/dirty-hack-of-the-day-python-dns-edition</link>
		<comments>http://randomfoo.net/2013/05/07/dirty-hack-of-the-day-python-dns-edition#comments</comments>
		<pubDate>Wed, 08 May 2013 05:11:19 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6075</guid>
		<description>In Python, you can set most request timeouts w/ socket.setdefaulttimeout(). In recent versions, urllib2 has also added a timeout field to urllib2.urlopen(). So far so good, right? Unfortunately, while these work fine when looking up IPs or domains in /etc/hosts, this fails miserable when querying a FQDN as you&amp;#8217;re at the mercy of socket.gethostbyname() and [...]</description>
				<content:encoded><![CDATA[<p>In Python, you can set most request timeouts w/ <code>socket.setdefaulttimeout()</code>.  In recent versions, <code>urllib2</code> has also added a timeout field to <code>urllib2.urlopen()</code>.  So far so good, right?</p>
<p>Unfortunately, while these work fine when looking up IPs or domains in /etc/hosts, this fails miserable when querying a FQDN as you&#8217;re at the mercy of <code>socket.gethostbyname()</code> and your DNS resolver which does not let you adjust the timeout. On my Mac this defaults to 30 seconds. It&#8217;ll ruin your day, really. (<a href="http://stackoverflow.com/questions/14127115/python-2-6-urlib2-timeout-issue">A good recent thread</a>, <a href="http://unix.derkeiler.com/Newsgroups/comp.unix.programmer/2007-02/msg00007.html">old summary</a>)</p>
<p>This is a somewhat common problem and you can see a lot of <a href="http://www.gossamer-threads.com/lists/python/python/790534">various workarounds</a> (<a href="http://code.activestate.com/lists/python-list/177673/">using signals</a> didn&#8217;t work for me).  The proper modern way is to probably using <a href="http://docs.python.org/2/library/multiprocessing.html">multiprocessing</a> with a <a href="http://docs.python.org/2/library/multiprocessing.html#multiprocessing.Process.join">join(timeout)</a> (<a href="http://stackoverflow.com/a/14924210/763682">sample</a>) but that seemed awfully wordy, so here&#8217;s my simple one-line hack that I ended up with instead:</p>
<blockquote><p><code>subprocess.check_call(['/sbin/ping','-t','1','FQDN'])</code></p></blockquote>
<p>Just set 1 to the timeout you want. It&#8217;s hacky, but it works and it&#8217;s much easier and shorter &#8211; a one liner in a try block without any other libraries.  Another advantage this has is that it works as it should both with DNS and mDNS (zeroconf) without any additional lookups. I&#8217;m using this for finding local machines so this is quite useful.</p>
<p>Some extra references:</p>
<ul>
<li><a href="https://code.google.com/p/pybonjour/">pybonjour</a>, <a href="https://github.com/boisgera/zeroconf">zeroconf</a> &#8211; a couple zeroconf libs that are way overkill for what I wanted to do</li>
<li><a href="http://stackoverflow.com/questions/2236498/tell-urllib2-to-use-custom-dns">monkeypatch/custom dns</a> &#8211; creative way to solve this</li>
<li><a href="http://stackoverflow.com/a/14145915/763682">another monkeypatch example</a></li>
<li><a href="http://www.dnspython.org/">dnspython</a> &#8211; for custom resolver</li>
<li><a href="http://stackoverflow.com/questions/1191374/subprocess-with-timeout">timeout w/ subprocess</a> &#8211; you&#8217;ll need the subprocess32 backport if you need this</li>
<li><a href="https://github.com/eklitzke/tornado-dns">tornado-dns</a> &#8211; async dns w/ Tornado</a> (fyi Tornado <a href="http://blog.perplexedlabs.com/2010/11/01/asynchronous-dns-resolution-in-tornados-asynchttpclient-curl-multi-c-ares/">blocks on DNS for async_http calls by default</a> &#8211; still as of <a href="https://groups.google.com/forum/#!msg/python-tornado/MxYpqA0d5Xc/4sW1pCFq8SoJ">late 2012</a>)</li>
</ul>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/0FQilNt_J0s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/05/07/dirty-hack-of-the-day-python-dns-edition/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/05/07/dirty-hack-of-the-day-python-dns-edition</feedburner:origLink></item>
		<item>
		<title>Late Night Reading</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/Cd8BrMWYjjk/late-night-reading</link>
		<comments>http://randomfoo.net/2013/04/19/late-night-reading#comments</comments>
		<pubDate>Fri, 19 Apr 2013 07:47:11 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6070</guid>
		<description>Transcript of secret meeting between Julian Assange and Google CEO Eric Schmidt And I wanted there to be more just acts, and fewer unjust acts. And one can sort of say, well what are your philosophical axioms for this? And I say I do not need to consider them. This is simply my temperament. And [...]</description>
				<content:encoded><![CDATA[<p><a href="http://wikileaks.org/Transcript-Meeting-Assange-Schmidt">Transcript of secret meeting between Julian Assange and Google CEO Eric Schmidt</a></p>
<blockquote><p>And I wanted there to be more just acts, and fewer unjust acts. And one can sort of say, well what are your philosophical axioms for this? And I say I do not need to consider them. This is simply my temperament. And it is an axiom because it is that way. And so that avoids, then, getting into further unhelpful discussions about why you want to do something. It is enough that I do. So in considering how unjust acts are caused and what tends to promote them and what promotes just acts I saw that human beings are basically invariant. That is that their inclinations and biological temperament haven&#8217;t changed much over thousands of years and so therefore the only playing field left is: what do they have? And what do they know? And &#8220;have&#8221; is something that is fairly hard to influence, so that is what resources do they have at their disposal? And how much energy they can harness, and what are the supplies and so on. But what they know can be affected in a nonlnear way because when one person conveys information to another they can convey on to another and another and so on in a way that nonlinear and so you can affect a lot of people with a small amount of information. And therefore you can change the behaviour of many people with a small amount of information. So the question then arises as to what kinds of information will produce behaviour which is just? And disincentivise behaviour which is unjust?</p></blockquote>
<p>Thinking about this in context of the events unfolding in Boston, and the crowdsourced attention happening among other things.</p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/Cd8BrMWYjjk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/04/19/late-night-reading/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/04/19/late-night-reading</feedburner:origLink></item>
		<item>
		<title>Some Notes on Labor, Technology and Economics</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/cA5DC6MbdVM/some-notes-on-labor-technology-and-economics</link>
		<comments>http://randomfoo.net/2013/03/26/some-notes-on-labor-technology-and-economics#comments</comments>
		<pubDate>Tue, 26 Mar 2013 07:50:17 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6063</guid>
		<description>I think that we are all aware that advanced capitalism is leading us down a road that as a society, we may not want to travel &amp;#8211; constant crisis due to increasingly advanced, complex, and unstable financialization, an increasingly vicious trend toward plutocracy and plutonomy that has obliterated socioeconomic mobility via massively increasing inequality, and [...]</description>
				<content:encoded><![CDATA[<p>I think that we are all aware that <a href="http://en.wikipedia.org/wiki/Advanced_capitalism">advanced capitalism</a> is leading us down a road that as a society, we may not want to travel &#8211; constant crisis due to increasingly advanced, complex, and unstable <a href="https://www.google.com/search?q=financialization">financialization</a>, an increasingly vicious trend toward <a href="http://politicalgates.blogspot.com/2011/12/citigroup-plutonomy-memos-two-bombshell.html">plutocracy and plutonomy</a> that has <a href="http://www.ibtimes.com/us-social-mobility-casualty-income-inequality-922041">obliterated socioeconomic mobility</a> via <a href="http://www.motherjones.com/politics/2011/02/income-inequality-in-america-chart-graph">massively increasing inequality</a>, and of course, as an engine of unsustainability, where environmental, health, and social costs are <a href="http://en.wikipedia.org/wiki/Externality">externalized</a> and reality is subsumed via a twisted economic logic.</p>
<p>All these things really should be teased out into much larger discussions, but a few recently related links/discussions I want to make note of (I&#8217;m slowly moving some things back out of Evernote into a way that can be narratized):</p>
<ul>
<li><a href="https://news.ycombinator.com/item?id=5359458">HN: Confessions of a Job Destroyer</a> &#8211; a good essay that highlights what technological &#8220;disruption&#8221; really means; relevant to software, robotics and all sorts of enabling technologies</li>
<li><a href="https://news.ycombinator.com/item?id=5424241">HN: Unfit for work (npr.org)</a> &#8211; NPR is doing a weeklong series on how the disability program is hiding massive collapses in the workforce</li>
</ul>
<p>Also, this image <a href="https://twitter.com/KevinMarshall1/status/314148703898308608">popped up in my Twitter stream</a> recently&#8230;<br />
<img src="https://pbs.twimg.com/media/BFwUlO7CEAED2jk.jpg:large"></p>
<p>A quick Google search shows that it&#8217;s been floating around for at least a year, and the bottom text references <a href="http://en.wikipedia.org/wiki/New_American_Movement">an organization that ceased to exist in 1982</a> so it is probably quite old, but still resonates as much (if not more) today. Here&#8217;s the text transcribed (<a href="http://shirari.com/2012/08/ifyoure-unemployed/">via</a>)</p>
<blockquote><p><b>If you’re <u>unemployed</u> it’s not because there isn’t any <u>work</u></b></p>
<p>Just look around: A housing shortage, crime, pollution; we need better schools and parks. Whatever our needs, they all require work. And as long as we have unsatisfied needs, there’s work to be done.</p>
<p>So ask yourself, what kind of world has work but no jobs. It’s a world where work is not related to satisfying our needs, a world where work is only related to satisfying the profit needs of business.</p>
<p>This country was not built by the huge corporations or government bureaucracies. It was built by people who work. And, it is working people who should control the work to be done. Yet, as long as employment is tied to somebody else’s profits, the work won’t get done.<br />
<br />- <a href="http://en.wikipedia.org/wiki/New_American_Movement">The New American Movement (NAM)</a>
</p></blockquote>
<p>Searching for this led to this interesting article:</p>
<ul>
<li><a href="http://www.elsua.net/2012/08/29/business-cant-succeed-in-a-world-thats-failing/">Business Can’t Succeed in a World That’s Failing</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/cA5DC6MbdVM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/03/26/some-notes-on-labor-technology-and-economics/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/03/26/some-notes-on-labor-technology-and-economics</feedburner:origLink></item>
		<item>
		<title>Summary Mode</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/sExJXTnn-FE/summary-mode</link>
		<comments>http://randomfoo.net/2013/03/21/summary-mode#comments</comments>
		<pubDate>Fri, 22 Mar 2013 03:11:00 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6056</guid>
		<description>While there are public tools like Storify that do an OK job for tweets, and I personally end up using Evernote or for most of my (private) tracking of topics, it&amp;#8217;d be useful if there was a good tool for collecting/collating and snapshotting primary sources and making notes/comments on any particular topic (and groups of [...]</description>
				<content:encoded><![CDATA[<p>While there are public tools like Storify that do an OK job for tweets, and I personally end up using Evernote or for most of my (private) tracking of topics, it&#8217;d be useful if there was a good tool for collecting/collating and snapshotting primary sources and making notes/comments on any particular topic (and groups of topics). Useful things would include seen-on and publish dates (a la Zotero etc). And being able to contextualize/parse interesting pieces (Evernote and Clipmarks do a pretty good job with this)</p>
<p>For example, for the controversy of the past few days on the whole PyCon fiasco:</p>
<p>* Summary: <a href="http://arstechnica.com/tech-policy/2013/03/how-dongle-jokes-got-two-people-fired-and-led-to-ddos-attacks/"> How “dongle” jokes got two people fired—and led to DDoS attacks</a></p>
<p>A series of discussions on Hacker News related to the topic:<br />
* 2013-03-17 <a href="https://news.ycombinator.com/item?id=5391667">Inappropriate comments at pycon 2013 called out</a><br />
* 2013-03-20 <a href="https://news.ycombinator.com/item?id=5410515">The PyCon Incident</a><br />
* 2013-03-21 <a href="https://news.ycombinator.com/item?id=5415256">PyCon Code of Conduct changed to avoid public shaming</a><br />
* 2013-03-21 <a href="https://news.ycombinator.com/item?id=5417736">SendGrid Fires Company Evangelist After Twitter Fracas</a><br />
* 2013-03-21 <a href="https://news.ycombinator.com/item?id=5419071">Adria Richards, PyCon, and How We All Lost</a><br />
* 2013-03-21 <a href="https://news.ycombinator.com/item?id=5419610">A Difficult Situation</a></p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/sExJXTnn-FE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/03/21/summary-mode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/03/21/summary-mode</feedburner:origLink></item>
		<item>
		<title>Performance Comparison of Image Libraries Revisited</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/lh10e9blFY8/performance-comparison-of-image-libraries-revisited</link>
		<comments>http://randomfoo.net/2013/02/24/performance-comparison-of-image-libraries-revisited#comments</comments>
		<pubDate>Mon, 25 Feb 2013 00:09:03 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6054</guid>
		<description>A few years ago, I wrote up a brief comparison of various image libraries running a series of operations (image compositing and resizing) that we use for Lensley on an OS X + Python setup. Just recently, I started doing work with Ruby + RMagick, however I ran into some issues doing basic operations (PNG [...]</description>
				<content:encoded><![CDATA[<p>A few years ago, I <a href="http://randomfoo.net/2010/07/09/performance-comparison-of-image-libraries">wrote up a brief comparison</a> of various image libraries running a series of operations (image compositing and resizing) that we use for <a href="http://lensley.com/">Lensley</a> on an OS X + Python setup.</p>
<p>Just recently, I <a href="http://randomfoo.net/2013/02/21/python-and-imagemagick">started doing work with Ruby + RMagick</a>, however I ran into some issues doing basic operations (PNG resizing on a set of images) that was just incredibly slow.</p>
<pre>
ruby 1.9.3p385 (rvm) + RMagick 2.13.2 (ImageMagick 6.8.0-7 2013-02-19 Q16)
real	9m37.735s
user	4m11.995s
sys	3m16.644s
</pre>
<p>What&#8217;s going on here? Looking more closely, Ruby started out maxing out the CPU but this actually declined as the script ran, and memory steadily climbed, reaching 6GB by the end (which took about 30s after processing just to release). Obviously a GC issue, and sure enough, <a href="http://rubyforge.org/forum/forum.php?thread_id=1374&#038;forum_id=1618">there was a thread about it</a>. Adding a couple <code>destroy!</code> calls at the end seemed to fix things nicely:</p>
<pre>
real	3m49.132s
user	3m44.673s
sys	0m3.150s
</pre>
<p>Now, how did that compare with running convert via Python, I wondered?</p>
<pre>
Python 2.7.3 + envoy + convert (ImageMagick 6.8.0-7 2013-02-19 Q16)
real	4m58.882s
user	4m40.536s
sys	0m15.840s
</pre>
<p>Seems about right (one interesting thing to note is that the processing was actually shorter than Activity Monitor&#8217;s refresh so it never showed maxed CPU usage). Now how about running ImageMagick directly?</p>
<pre>
time mogrify -path test-seq3 -scale 800x450  test-in/*.png
real	3m17.050s
user	3m14.937s
sys	0m1.879s
</pre>
<p>OK, and since we&#8217;re just doing simple manipulation, lets see how it does against <a href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/sips.1.html">sips</a>.</p>
<pre>
real	0m56.272s
user	0m51.000s
sys	0m5.150s
</pre>
<p>Well now, that&#8217;s a bit embarrassing isn&#8217;t it?  Still, one thing with all of these so far was that only a single processor was being maxed out.</p>
<p>I decided to try multiprocessing (this was easier for me in Python) to see how fast I could really process these images. I used multiprocessing + Queue w/ 8 processes for my cores (<a href="http://jeetworks.org/node/81">similar to this example</a>).</p>
<pre>
Python MP + envoy + convert (ImageMagick 6.8.0-7 2013-02-19 Q16)
real	0m51.472s
user	4m44.998s
sys	0m19.737s

Python MP + PIL 1.1.7
real	0m18.123s
user	2m5.540s
sys	0m2.721s

Python MP + Wand (ImageMagick 6.8.0-7 2013-02-19 Q16)
real	0m39.012s
user	4m39.162s
sys	0m4.145s

Python MP + pgmagick (GraphicsMagick 1.3.17 2012-10-13 Q8)
real	0m17.148s
user	1m47.560s
sys	0m1.593s

Python MP + envoy + sips
real	0m52.984s
user	0m58.504s
sys	0m13.715s
</pre>
<p>The biggest surprise was that sips had virtually no gain and no effect on the actual processing. I wonder if there&#8217;s some pipelining going on or what the loss in subprocesses was&#8230;  PIL and GraphicsMagick beat the pants of ImageMagick, both being over twice as fast in processor and wall time.</p>
<p>I would have liked to have tried comparing to <a href="http://freeimage.sourceforge.net/">freeimage</a>, but alas couldn&#8217;t get wrappers to work.  <a href="https://pypi.python.org/pypi/smc.freeimage">smc.freeimage</a> and <a href="http://freeimagepy.sourceforge.net/">FreeImagePy</a> had problems talking to  the dylib, and I was able to get <a href="http://luispedro.org/software/mahotas">mhotas</a>&#8216; freeimage wrapper mostly working but it was giving me fits on resizing.  Maybe next time.</p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/lh10e9blFY8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/02/24/performance-comparison-of-image-libraries-revisited/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/02/24/performance-comparison-of-image-libraries-revisited</feedburner:origLink></item>
		<item>
		<title>Python and ImageMagick</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/MzTsJ_CRO84/python-and-imagemagick</link>
		<comments>http://randomfoo.net/2013/02/21/python-and-imagemagick#comments</comments>
		<pubDate>Fri, 22 Feb 2013 06:50:41 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6046</guid>
		<description>I&amp;#8217;m a big Python fan and it&amp;#8217;s my preferred language these days, but sometimes you just have to shake your head and give up. One area where Python falls down is in its ImageMagick bindings. You can read more about the history of some of the libs here. Here&amp;#8217;s my experiences on OS X (10.6, [...]</description>
				<content:encoded><![CDATA[<p>I&#8217;m a big Python fan and it&#8217;s my preferred language these days, but sometimes you just have to shake your head and give up.  One area where Python falls down is in its <a href="http://imagemagick.org/">ImageMagick</a> bindings. You can read more about <a href="https://github.com/gopher/python-magickwand#graphicsmagick">the history of some of the libs here</a>.</p>
<p>Here&#8217;s my experiences on OS X (10.6, 10.8) and MacPorts that hopefully will save some people time:</p>
<ul>
<li><a href="http://www.imagemagick.org/download/python/">PythonMagick</a> (BROKEN) &#8211; the official bindings, and somewhat up-to-date (last update 2012-09-19), I could get it to compile, but it threw TypeErrors when trying to run.  You can compile it like so:<br />
<blockquote><p><code>./configure --prefix=/opt/local CPPFLAGS="-I/opt/local/include -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7" LDFLAGS=-L/opt/local/lib</code></p></blockquote>
</li>
<li><a href="https://www.assembla.com/wiki/show/pythonmagickwand">pythonmagickwand</a> (BROKEN) &#8211; this shows up in searches, but it hasn&#8217;t been updated in 5 years.  It&#8217;s as you can imagine, broken.</li>
<li><a href="https://github.com/gopher/python-magickwand">python-magickwand</a> (BROKEN) &#8211; last updated 2012-01-22, it includes a nice README (w/ the aforementioned history) and examples and I wanted it to work, alas, I couldn&#8217;t get it to.</li>
<li><a href="http://docs.wand-py.org/">Wand</a> (WORKS!) &#8211; Wand is under active development (<a href="https://github.com/dahlia/wand">last commit 2013-01-31</a>), is Pythonic, has community contributions, and works!  Sounds perfect, right?  Alas, it doesn&#8217;t support many features currently (layers, effects, animation etc) although it&#8217;s <a href="http://docs.wand-py.org/en/0.2-maintenance/roadmap.html">on the roadmap</a>.</li>
<li><a href="https://pypi.python.org/pypi/pgmagick/">pgmagick</a> (WORKS!) &#8211; This lib was the closest to doing what I needed. It&#8217;s very active (last commit <a href="https://bitbucket.org/hhatto/pgmagick">2013-02-10</a>) and is much more comprehensive than Wand.. however, while supposedly working for ImageMagick, I could only get it working w/ GraphicsMagick, which in my case, was missing features that I needed. There are <a href="http://pythonhosted.org/pgmagick/">decent docs</a> but very little real code out there. Here btw, is how I got it running (it has some <a href="http://rohanradio.com/blog/2011/12/02/installing-pgmagick-on-os-x/">boost issues</a>; also, pip doesn&#8217;t work):<br />
<blockquote><p><code>sudo port install boost<br />
cd /opt/local/lib<br />
sudo ln -s libboost_python-mt.a libboost_python.a<br />
sudo ln -s libboost_python-mt.dylib libboost_python.dylib<br />
sudo easy_install pgmagick<br />
</code></p></blockquote>
<p>After wrestling for quite a while, I threw in the towel and rewrote my code in Ruby w/ <a href="https://github.com/rmagick/rmagick">RMagick</a>, which is well maintained and up-to-date, has <a href="http://www.imagemagick.org/RMagick/doc/">comprehensive documentation</a>, and lots of example code floating around the web.</p>
<p>If you&#8217;re tied to Python, using PIL or subprocess/envoy to call convert/mogrify directly is probably your best bet, but if you are doing anything substantially complex, calling out to an RMagick script will probably save yourself a lot of pain.</p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/MzTsJ_CRO84" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/02/21/python-and-imagemagick/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/02/21/python-and-imagemagick</feedburner:origLink></item>
		<item>
		<title>RIP Aaron Swartz</title>
		<link>http://feedproxy.google.com/~r/randomfoo/~3/-tU-HwuTt0s/rip-aaron-swartz</link>
		<comments>http://randomfoo.net/2013/01/12/rip-aaron-swartz#comments</comments>
		<pubDate>Sun, 13 Jan 2013 07:30:49 +0000</pubDate>
		<dc:creator>lhl</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://randomfoo.net/?p=6020</guid>
		<description>I was first introduced to Aaron (impossibly young), over a decade ago at a tech conference (OSCON?). And, while we were never close, we often floated in the same circles (tech, activism, civic and political tech) and over the years our paths crossed many times, in emails, projects, at conferences or meetups. The last time [...]</description>
				<content:encoded><![CDATA[<p>I was first introduced to Aaron (impossibly young), over a decade ago at a tech conference (OSCON?). And, while we were never close, we often floated in the same circles (tech, activism, civic and political tech) and over the years our paths crossed many times, in emails, projects, at conferences or meetups. The last time I saw him was in Boston, June 2010. We met up outside a food court in Cambridge and caught up on the projects we were starting/wrapping up and swapped some thoughts on civic and campaign tech.</p>
<p>More than a friend, Aaron Swartz was a fellow traveler. He was one of us. In many ways, the best of us. It was a punch in the gut when I read the headline last night. He dedicated much of his life and his many talents in fighting injustice and trying to make a difference.</p>
<p>And beyond the sense of loss, there&#8217;s a bitter taste that injustice and indifference has won the day.</p>
<p>Rest in peace Aaron Swartz.</p>
<ul>
<li><a href="https://news.ycombinator.com/">Hacker News</a> &#8211; today&#8217;s top headlines almost all articles related to Aaron&#8217;s suicide. <a href="https://news.ycombinator.com/item?id=5046845">First article</a></a></li>
<li><a href="http://rememberaaronsw.tumblr.com/">Remember Aaron Swartz</a></li>
<li><a href="http://rememberaaronsw.tumblr.com/post/40372208044/official-statement-from-the-family-and-partner-of-aaron">Official Statement from the family and partner of Aaron Swartz</a></li>
<li><a href="http://www.quinnnorton.com/said/?p=644'>My Aaron Swartz, whom I loved.</a> &#8211; Quinn Norton on Aaron</li>
<li><a href="http://boingboing.net/2013/01/12/rip-aaron-swartz.html">Cory Doctorow remembers Aaron</a></li>
<li><a href="http://lessig.tumblr.com/post/40347463044/prosecutor-as-bully'>Prosecutor as bully</a> &#8211; Larry Lessig on Aaron</li>
<li><a href="http://lists.w3.org/Archives/Public/www-tag/2013Jan/0017.html">tbl on www-tag</a></li>
<li><a href="http://www.guardian.co.uk/commentisfree/2013/jan/12/aaron-swartz-heroism-suicide1">The inspiring heroism of Aaron Swartz</a> &#8211; Glenn Greenwald writes a long piece</a></li>
<li><a href="http://unhandled.com/2013/01/12/the-truth-about-aaron-swartzs-crime/'>The Truth about Aaron Swartz’s “Crime”</a> &#8211; expert witness on the facts of JSTOR case (<a href="https://news.ycombinator.com/item?id=5048820">HN discussion</a>)</li>
<li><a href="http://news.ycombinator.com/item?id=5048418">Philip Greenspun: Aaron Swartz</a></li>
<li><a href="https://blog.wikimedia.org/2013/01/12/remembering-aaron-swartz-1986-2013/">Remembering Aaron Swartz (1986-2013)</a> &#8211; Wikimedia remembers Aaron</a></li>
<li><a href="http://blog.archive.org/2013/01/12/aaron-swartz-hero-of-the-open-world-rip/">Aaron Swartz, hero of the open world, dies</a> &#8211; Brewster Kahle remembers Aaron</li>
<li><a href="http://www.wired.com/threatlevel/2013/01/aaron-swartz/">Wired Threat Level: Aaron Swartz, Coder and Activist, Dead at 26</a><br />
<blockquote><p>We often say, upon the passing of a friend or loved one, that the world is a poorer place for the loss. But with the untimely death of programmer and activist Aaron Swartz, this isn’t just a sentiment; it’s literally true. Worthy, important causes will surface without a champion equal to their measure. Technological problems will go unsolved, or be solved a little less brilliantly than they might have been. And that’s just what we know. The world is robbed of a half-century of all the things we can’t even imagine Aaron would have accomplished with the remainder of his life.</p></blockquote>
</li>
<li><a href="http://www.metafilter.com/123777/Open-access-open-internet-closed-book">Open access, open internet, closed book</a> &#8211; mefi obit thread</li>
<li><a href="http://dangillmor.com/2013/01/12/remember-aaron-swartz-by-working-for-open-society-and-against-government-abuses/">Remember Aaron Swartz by working for open society and against government abuses</a> &#8211; Dan Gillmor on anger and activism</li>
<li><a href="http://www.zephoria.org/thoughts/archives/2013/01/13/aaron-swartz.html">processing the loss of Aaron Swartz</a> &#8211; danah writes a fantastic piece that captures both what it was like to know him and explores what he got caught up in (and why we&#8217;re angry)</li>
<li><a href="http://online.wsj.com/article/SB10001424127887324581504578238692048200404.html">Legal Case Strained Troubled Web Activist</a> &#8211; WSJ covers Aaron&#8217;s last days</li>
<li><a href="http://thinkprogress.org/justice/2013/01/14/1441211/killers-slavers-and-bank-robbers-all-face-less-severe-prison-terms-than-aaron-swartz-did/?mobile=nc">Aaron Swartz Faced A More Severe Prison Term Than Killers, Slave Dealers And Bank Robbers</a> &#8211; see the EFF on <a href="https://www.eff.org/deeplinks/2013/01/aaron-swartz-fix-draconian-computer-crime-law">how broken CFAA is</a></li>
<li><a href="http://www.huffingtonpost.com/2013/01/14/aaron-swartz-stephen-heymann_n_2473278.html">Aaron Swartz&#8217;s Lawyer: Prosecutor Stephen Heymann Wanted &#8216;Juicy&#8217; Case For Publicity</a> &#8211; eat a bag of dicks Stephen P Heymann. Hope it was worth it.</li>
<li><a href="http://www.bostonglobe.com/metro/2013/01/15/humanity-deficit/bj8oThPDwzgxBSHQt3tyKI/story.html?s_campaign=sm_tw">On humanity, a big failure in Aaron Swartz case</a> &#8211; oh yeah, you too MIT.<br />
<blockquote><p>Marty Weinberg, who took the case over from Good, said he nearly negotiated a plea bargain in which Swartz would not serve any time. He said JSTOR signed off on it, but MIT would not.</p></blockquote>
</li>
<li><a href="http://news.ycombinator.com/item?id=5056279">Aaron Swartz, Asking For Help, 119 Days Ago</a> &#8211; sigh, sadness</li>
<li><a href="http://www.latimes.com/news/nation/nationnow/la-na-nn-aaron-swartz-funeral-eulogy-father-20130115,0,648108.story">Aaron Swartz was &#8216;killed by the government,&#8217; father tells mourners</a><br />
<blockquote><p>“Steve Heymann had shown no interest in justice,” Swartz’s girlfriend, Taren Stinebrickner-Kauffman, 31, told the Los Angeles Times on Monday. “His only interest was  a notch on his belt, another young kid he could claim to put away. But I think as the case wore on, as it became clearer how weak his case was, he became more and more of a bully.”</p></blockquote>
</li>
<li><a href="http://thehill.com/blogs/hillicon-valley/technology/277353-lawmakers-blast-trumped-up-doj-prosecution-of-internet-activist">Lawmakers slam DOJ prosecution of Swartz as &#8216;ridiculous, absurd&#8217;</a></li>
<li><a href="http://www.reddit.com/r/technology/comments/16njr9/im_rep_zoe_lofgren_im_introducing_aarons_law_to/">I&#8217;m Rep Zoe Lofgren &#038; I&#8217;m introducing &#8220;Aaron&#8217;s Law&#8221; to change the Computer Fraud and Abuse Act (CFAA)</a></li>
<li><a href="http://www.volokh.com/2013/01/16/the-criminal-charges-against-aaron-swartz-part-2-prosecutorial-discretion/">The Criminal Charges Against Aaron Swartz – Part 2: Prosecutorial Discretion</a> &#8211; Orin Kerr has an interesting writeup and the comments on the post and the <a href="http://news.ycombinator.com/item?id=5071001">HN discussion</a> are both worth reading and thinking about. I do think the key is the systemic issues raised: the much more heinous crimes that aren&#8217;t prosecuted (HSBC), the de facto policy making that happens from prosecutorial discretion, the de facto punishment for indictment (either plea bargain or spend millions at trial and face a <a href="http://open.salon.com/blog/barry60x/2012/07/24/john_edwards_roger_clemens_and_americas_other_one_percent">99%+ conviction rate</a>).  While Aaron civil disobedience might have been aimed towards open access, instead what he really shone a light on (and what chewed him up) was the maw of our &#8220;justice&#8221; system.  Also, I think Kerr&#8217;s analysis highlights at least two glaring contradictionss. Kerr repeatedly argues that his values are not neutral but judged against &#8220;Democracy&#8221; (more accurately, Legalism; which at this point is barely/vaguely democratic), however by that rubric, any/all civil disobedience/injustice (from the Civil Rights movement, etc) should be 1) punished fully against the letter of the law, even if it&#8217;s wrong/ridiculous, etc and 2) that the rubric for prosecution/punishment should be based on what would be necessary for &#8220;special deterrence&#8221; &#8211; as mentioned by a commenter, by that rubric, federal prosecutors would be morally justified in arresting and holding in detention indefinitely (or, presumably killing) political dissidents. Taking a step back, to something (slightly) less absurd, as put by gnosis:<br />
<blockquote><blockquote>&#8220;What punishment was the minimum necessary to deter Swartz from continuing to try to use unlawful means to achieve his reform goals?&#8221;</p></blockquote>
<p>Let&#8217;s say no punishment would deter Swartz. Would that justify a sentence of life in prison?</p></blockquote>
</li>
<li><a href="http://www.forbes.com/sites/timothylee/2013/01/17/aaron-swartz-and-the-corrupt-practice-of-plea-bargaining/">Aaron Swartz and the Corrupt Practice of Plea Bargaining</a></li>
<li><a href="http://www.bizjournals.com/boston/blog/startups/2013/01/us-attorney-aaron-swartz-statement.html?page=all">U.S. Attorney breaks silence, defends prosecution of Aaron Swartz</a> &#8211; they&#8217;ll do it again (and again) and there&#8217;s nothing you can do to stop it. I think it behooves everyone to fully take into account what American Justice means.</li>
<li><a href="http://www.thepublicdomain.org/2013/01/18/the-prosecution-of-aaron-a-response-to-orin-kerr/">The Prosecution of Aaron: A Response to Orin Kerr</a> &#8211; in-depth response to Kerr&#8217;s analysis that I find a lot to agree with</li>
<li><a href="http://www.theverge.com/2013/1/18/3888528/after-aaron-swartz-how-antiquated-computer-laws-enable-the">After Aaron: how an antiquated law enables the government&#8217;s war on hackers, activists, and you</a> &#8211; if you&#8217;re online and reading this, it&#8217;s unlikely you&#8217;ve never committed a felony under the CFAA. You just haven&#8217;t been charged (yet). If you read the comments, ignore the troll Modred189, who apparently has nothing better to do in life than argue for the prosecution on all the Verge&#8217;s articles on the topic.</li>
<li><a href="https://public.resource.org/aaron/army/">Aaron&#8217;s Army</a> &#8211; Carl Malamud&#8217;s fiery call to action at Aaron&#8217;s SF memorial service.</li>
<li><a href="http://news.cnet.com/8301-13578_3-57565927-38/swartz-didnt-face-prison-until-feds-took-over-case-report-says/">Swartz didn&#8217;t face prison until feds took over case, report says</a></li>
</ul>
<p><a href="http://www.aaronsw.com/weblog/rawnerve">Raw Nerve</a> &#8211; some of Aaron&#8217;s best writing.</p>
<p>F2C2012: Aaron Swartz keynote &#8211; &#8220;How we stopped SOPA&#8221;<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/Fgh2dFngFsg?rel=0" frameborder="0" allowfullscreen></iframe></p>
<img src="http://feeds.feedburner.com/~r/randomfoo/~4/-tU-HwuTt0s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://randomfoo.net/2013/01/12/rip-aaron-swartz/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://randomfoo.net/2013/01/12/rip-aaron-swartz</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 2/15 queries in 0.029 seconds using apc
Object Caching 624/646 objects using apc

 Served from: randomfoo.net @ 2013-05-17 11:09:48 by W3 Total Cache -->
